# Mario Lurig > Slowpreneur. Agile Coach. Author. --- ## Pages - [Projects](https://mariolurig.com/projects/): I don't limit myself to websites, but sometimes I also venture into physical items that people can use and enjoy.... - [MASHD](https://mariolurig.com/mashd/): DreamHost Active System Monitor Download MASHD (6. 73KB) MASHD graphically displays the Memory and CPU usage of your Linux based... - [Contact](https://mariolurig.com/contact-me/): Google Voice (phone/sms): 720. 310. 5687 Email: mariolurig@gmail. com - [Books](https://mariolurig.com/books/): Pokémon Go for Business: A Guide to Capturing New Customers (August 2016 e-book) https://www. amazon. com/Pok%C3%A9mon-Go-Business-Capturing-Customers-ebook/dp/B01JIGLPLY Pokémon Go for Business... - [About Me](https://mariolurig.com/about-me/): I'm a resident of Colorado, localized in the Denver/Boulder area, and I believe that while you should love what you... ## Posts - [Levels of AI Interaction](https://mariolurig.com/coding/machine-learning/levels-of-ai-interaction/): Interacting with AI requires you to consider what role it should play, because the end goal is HUMAN betterment. This... - [TRMNL is an E-Ink Screen for Improving Your Habits](https://mariolurig.com/coding/trmnl-e-ink-screen-improving-habits/): I fell for TRMNL on June 2, 2025. It felt fun to transform data with some easy coding and see... - [Recovering Hard Drive Space from Ubuntu in Windows WSL2](https://mariolurig.com/coding/recovering-hard-drive-space-ubuntu-windows-wsl2/): I use Docker Desktop on Windows to run local AI, such as Ollama, Open-WebUI, Portainer, and even SwarmUi and Comfy-UI.... - [Connecting Local Open WebUI to Together.ai Models](https://mariolurig.com/coding/machine-learning/connecting-local-open-webui-together-ai-models/): I wanted to learn more about running Open WebUI locally through Docker while also testing out the new Llama 3.... - [A Simple Test: Reinforcing Listening and Kindness with a Child](https://mariolurig.com/parenting/simple-test-reinforcing-listening-kindness-child/): "I need you to listen the first time. " | "Be nice to your brother! " | "If you can't... - [Lorcana Unofficial Brand Style Guide](https://mariolurig.com/misc/lorcana-unofficial-brand-style-guide/): Disney's Lorcana by Ravensburger is a popular, though hard to find, Trading Card Game (TCG) that launched in September of... - [Piwigo: Configure Custom SMTP on Dreamhost](https://mariolurig.com/coding/piwigo-configure-custom-smtp-dreamhost/): Piwigo is open-source software for sharing image galleries easily. Installing it on Dreamhost (I'm using a VPS but any type... - [Installing Castopod on Shared Hosting](https://mariolurig.com/coding/install-castopod-shared-hosting/): Castopod is podcast hosting software that allows you to easily serve your podcast(s) from your own server rather than through... - [Fixing Yarn ESOCKETTIMEDOUT Error During Discourse Setup](https://mariolurig.com/coding/fixing-yarn-esockettimedout-error-discourse-setup/): While installing Discourse on a free tier instance in a Google Cloud Compute Instance, I was following this discourse install... - [Solving "No Supported Authentication Methods" for PyCharm and GitHub on Windows](https://mariolurig.com/misc/no-supported-authentication-methods-pycharm-github-windows/): Fatal Error: Disconnected: No supported authentication methods available. I lost so many hours to that little error. Here was the... - [Template file for Creating PDFs for the ReMarkable 2 Paper Tablet](https://mariolurig.com/business/template-create-pdf-remarkable-2-paper-tablet/): I recently received the reMarkable 2 paper tablet and it is everything it promised. I'm excited to use it for... - [Adventures in Podcasting](https://mariolurig.com/web/adventures-in-podcasting/): So I created a ton of podcasts. Well, I created a ton of trailers technically. Oh, and websites. And 1... - [Installing Discourse with Amazon EC2 t2.micro Instance and SparkPost](https://mariolurig.com/coding/installing-discourse-amazon-ec2-t2-micro-instance-sparkpost/): This is more notes and reference than an in-depth tutorial, but after spending a few hours trying different things, here's... - [Testing Dropout Rates for Machine Learning with FastAI](https://mariolurig.com/coding/machine-learning/testing-dropout-rates-machine-learning-fastai/): As I continue my adventures in machine learning through the FastAI courses, I wanted to explore the concept of dropout... - [Machine Learning Install on Windows with Fast.ai](https://mariolurig.com/coding/machine-learning-install-windows-fast-ai/): When getting started exploring machine learning, you will likely come across the free lessons at Fast. ai. These lessons require... - [Replacing a Fanatic Windsurfing U Shaped Pin](https://mariolurig.com/misc/replacing-fanatic-windsurfing-u-shaped-mast-pin/): After recently acquiring some older windsurfing gear, I was introduced to a lot of old parts and connector systems. Namely,... - [Planning and Organizing your Improvised Theatre Production](https://mariolurig.com/improv/planning-organizing-improvised-theatre-production/): This is Part 4 of a series documenting my process during creation and execution of improvised theater. For the director... - [Guide to Producing an Improvised Show | Rehearsals](https://mariolurig.com/improv/guide-to-producing-an-improvised-show-rehearsals/): This is Part 3 of a series documenting and analyzing the process of producing an original improvised theatre performance. Rehearsals... - [Adding Video Presets for Adobe Premiere Elements 14 and 15](https://mariolurig.com/misc/adding-video-presets-adobe-premiere-elements-14-15/): This tutorial will help you create new video presets by editing existing presets. It also includes some additional presets you... - [How to Produce an Improv Show | Auditions](https://mariolurig.com/improv/how-to-produce-an-improv-show-auditions/): This is Part 2 of a series documenting and analyzing the steps to producing an original improvised comedy show. The... - [Guide to Producing an Improv Show - Concept](https://mariolurig.com/improv/guide-produce-improv-show-concept/): This is Part 1 of a series documenting and analyzing the steps to producing an original improvised comedy show. Start... - [The Finalists of Denver's Next Improv Star - Season 8](https://mariolurig.com/misc/the-finalists-of-denvers-next-improv-star-season-8/): Labeling Denver's Next Improv Star as a competition is a bit disingenuous. A live, improvised show at the Bovine Metropolis... - [Designing a Better Flyer for Starfest: Fold Your Own Adventure](https://mariolurig.com/marketing/starfest-flyer-fold-your-own-adventure/): Let's be honest: Flyers in convention bags are ignorable. When I got the opportunity to include 1000-2000 flyers in the... - [Open Legend RPG: Redesigning the Data](https://mariolurig.com/web/open-legend-rpg-redesigning-data/): Recently I stumbled upon a Kickstarter project called Open Legend RPG, an open source roleplaying game. The system is a... - [Camera Ratio Reference Images for Social Media Sharing](https://mariolurig.com/marketing/camera-ratio-reference-images-social-media/): When you're planning a shot, specifically in the case of food photography, framing is very important. However, usage is just... - [The Startup Guarantee - 3+ Years in Business](https://mariolurig.com/business/startup-guarantee/): The Startup Guarantee We guarantee that our service will be operational for 3+ years, starting from the day that you... - [Free eBay Template Built with Bootstrap](https://mariolurig.com/forsale/free-ebay-template-bootstrap/): Special Thanks to Phil Cryer for the initial idea and code. This no longer works on eBay due to conflicting... - [How to Stop Email Spoofing in G Suite](https://mariolurig.com/business/how-to-stop-email-spoofing-in-g-suite/): G Suite, formerly Google Apps, offers many tools, but most importantly it offers branded Gmail for your domain; critical for... - [Selectize.js ComboBox: Cloning and Destroying](https://mariolurig.com/coding/selectize-js-combobox-cloning-destroying/): Selectize. js is a javascript library that allows you to offer more complex HTML select boxes, such as combining a... - [Pokémon Go for Business: A Guide to Capturing New Customers (Kindle)](https://mariolurig.com/books/pokemon-go-business-guide-new-customers-kindle/): "Pokémon Go for Business" is a new ebook dedicated to helping every consumer facing business attract new customers. Well researched... - [PHP Alternatives for Nested IF Statements](https://mariolurig.com/coding/php-alternatives-nested-if-statements/): We've all done it. It starts as a single IF statement: if (empty($var)){ // does it exist? $error = 'No... - [Install Apache, MySQL, PHP5, and PHPMyAdmin on Debian "Jessie"](https://mariolurig.com/coding/install-lamp-debian-jessie-apache-mysql-php5-phpmyadmin/): This is a quick guide to getting an Amazon EC2 server up and running with LAMP and PHPMyAdmin based on... - [Change the Legal Name of Your S-Corporation in 5 Steps | USA, Colorado](https://mariolurig.com/business/change-name-s-corp-usa-colorado/): After recently selling all of the assets of Dice Candies, it was time to change the name of my umbrella... - [Picky Mat - Make Your Own Cat Food Dish Liner](https://mariolurig.com/business/picky-mat-make-cat-food-dish-liner/): While I'm sad that the Kickstarter project failed for Picky Mat, I know the product works and I know it... - [Encode WebM Video Files on Windows for HTML5 with FFmpeg](https://mariolurig.com/coding/encode-webm-video-windows-html5-ffmpeg/): If you want to put video on the web, you'll probably just going to upload it to YouTube and use... - [Export All Your Facebook Events to Google Calendar](https://mariolurig.com/misc/export-facebook-events-google-calendar/): Facebook has offered an easy way to add individual events to your calendar, however it's less obvious how to automatically... - [Zubits vs Klöts: Say Goodbye to Tying Your Shoelaces](https://mariolurig.com/review/zubits-vs-klots-tying-your-shoelaces/): I'll be honest, I don't like tying or untying my shoelaces. Typically, I would just leave them tied relatively loose... - [Options for a Failing Honda Insight IMA Battery](https://mariolurig.com/misc/failing-honda-insight-ima-battery-disable/): My Honda Insight hybrid is a 2002 model and has already had its battery pack replaced in 2008. Well, in... - [Mobile-Friendly Redesign: You're Already Late](https://mariolurig.com/web/mobile-friendly-redesign-youre-already-late/): On April 21, 2015, Google started demoting search rankings for websites that were not mobile-friendly. Prior to that date, I... - [11 Things Denver Comic Con Should Improve (But Probably Won't)](https://mariolurig.com/misc/11-things-denver-comic-con-should-improve/): Who am I to criticize Denver Comic Con? The organization has changed a lot in the 4 years from inception,... - [Landing Page Improvement from KickOffLabs](https://mariolurig.com/marketing/landing-page-improvement-kickofflabs/): I recently learned about KickOffLabs and their live Google Hangout landing page review sessions. I decided to check it and... - [Tutorial: Exporting Messages from WhatsApp and Graphing with R](https://mariolurig.com/coding/tutorial-exporting-messages-whatsapp-graphing-r/): This tutorial is posted with permission by Prometheus09 on Reddit. It was originally posted as an album on Imgur. So... - [Connecting Remotely to MySQL Database on an Amazon EC2 Server](https://mariolurig.com/coding/connect-remotely-mysql-database-amazon-ec2-server/): While this was tested using a TurnKey LAMP Server build (Debian Linux), it applies to any Debian/Ubuntu server with MySQL.... - [Perfecting Prints with a Printrbot Simple Metal](https://mariolurig.com/3d-printing/perfecting-prints-with-a-printrbot-simple-metal/): The Printrbot Simple Metal can be purchased (assembled) for as little as $599 making it a remarkable unit for even... - [Setup OctoPi (US Edition) - OctoPrint on a Raspberry Pi](https://mariolurig.com/3d-printing/setup-octopi-octoprint-on-raspberry-pi/): First and foremost, OctoPi is a fantastic pre-built image for a Raspberry Pi (Model A, B, or B+) that is... - [jQuery Mobile Filterable Collapsible Listview with Smart Expansion](https://mariolurig.com/coding/jquery-mobile-filterable-collapsible-listview-with-smart-expansion/): Wow, that's a mouthful. Basically, I wanted to make use of the data-filter option to search a listview, but instead... - [Using AutoHotKey and Ditto with PHP](https://mariolurig.com/coding/using-autohotkey-and-ditto-with-php/): I'm a purist I suppose. I write PHP, Javascript, CSS, and HTML in Notepad++. I don't use an IDE (such... - [Mysqli and BLOB binary database fields](https://mariolurig.com/coding/mysqli-and-blob-binary-database-fields/): This post exists to save you hours of research on the web. The following things may be true about you:... - [mysqli_result() function to match mysql_result()](https://mariolurig.com/coding/mysqli_result-function-to-match-mysql_result/): This code is licensed under Creative Commons 0 (Public Domain) As of PHP 5. 5, the MySQL functions are deprecated... - [Regular Expression Crossword - Fun Practice with RegEx](https://mariolurig.com/misc/regular-expression-crossword-fun-practice-with-regex/): After seeing the post on Slashdot about the Regular Expressions crossword, I was inspired. I also wanted a puzzle that... - [jQuery Mobile 1.3 Swipe to Reveal Panel with Demo](https://mariolurig.com/coding/jquery-mobile-1-3-swipe-to-reveal-panel-with-demo/): I wanted to make use of the new jQuery Mobile 1. 3. 0-beta1 feature called Panels, allowing you to overlay,... - [HTML5 and jQuery Mobile Shortcut and Tip Sheet](https://mariolurig.com/coding/html5-and-jquery-mobile-shortcut-and-tip-sheet/): I've been exploring jQuery Mobile lately and consequently, HTML5 and mobile HTML design. What I've come to realize is that... - [Quick RSS Feed Access with Browser Bar Icon](https://mariolurig.com/misc/quick-rss-feed-access-with-browser-bar-icon/): Back in early versions of Firefox, a small icon was visible on the browser bar if the webpage you visited... - [Slowpreneur: The Patient Startup Idea](https://mariolurig.com/business/slowpreneur-patient-startup-idea/): Slowpreneur : A person who organizes and operates a new business or businesses with a patient approach to profits and... - [HTML Headers for Social Media - Meta Information](https://mariolurig.com/coding/html-headers-for-social-media-meta-information/): It seems that markup is getting more and more important on the web today, especially if you want your pages... - [Facebook Promoted Posts: A Casual Study and Review](https://mariolurig.com/marketing/facebook-promoted-posts-study-review/): Facebook now offers the ability to promote a post on a Facebook page to your audience for either $5 or... - [Faking a SmartPhone: iPod Touch, MiFi, and Virgin Mobile](https://mariolurig.com/misc/faking-a-smartphone-ipod-touch-mifi-and-virgin-mobile/): Maybe I'm cheap or maybe I'm frugal, but either way, I've found unique ways to keep my world connected for... - [Impressions of London - February 2004](https://mariolurig.com/travel/impressions-of-london-february-2004/): From February 18 through February 23 2004 I had the opportunity to visit London, England through a 3-day British Airways... - [Why the Kickstarter Project "Clang" Should Fail](https://mariolurig.com/business/why-kickstarter-project-clang-should-fail/): As of this writing, the Kickstarter project "Clang" has 10 days left to raise another $153,817 to succeed and take... - [Priorities Change: Embrace Them](https://mariolurig.com/misc/priorities-change-embrace-them/): Sometimes life is a balancing act with your priorities and your schedule. It's funny, people are always saying, "I don't... - [Forget the Rules (ThreeMinuteFiction)](https://mariolurig.com/short-story/forget-the-rules-threeminutefiction/): This story was my submission to Round 8 of ThreeMinuteFiction on NPR. The first sentence was given to the writers,... - [Flirting with the Night [NSFW]](https://mariolurig.com/short-story/flirting-with-the-night-nsfw/): The following short story contains adult themes and suggestive writing, though it does not contain sexual intercourse. The story is... - [South by Southwest 2012 Part 3: Personal](https://mariolurig.com/misc/my-personal-sxsw-2012-experience/): This article is part of a 3-part series recapping my experience at South by Southwest (SXSW) Interactive 2012. It is... - [South by Southwest 2012 Part 2: Parties](https://mariolurig.com/misc/sxsw-2012-parties-lounges-review/): This article is part of a 3-part series recapping my experience at South by Southwest (SXSW) Interactive 2012. It is... - [South by Southwest 2012 Part 1: Panels](https://mariolurig.com/misc/south-by-southwest-2012-sxsw-panels/): This article is part of a 3-part series recapping my experience at South by Southwest (SXSW) Interactive 2012. It is... - [The Life and Times of a Viral Internet Website: DefendRush.org](https://mariolurig.com/web/life-and-times-viral-internet-website-defendrush-org/): Over 400,000 individuals have seen the website; the one-liner website that makes you laugh when it presents the unexpected. I'm... - [Until You Ask For Money, You Don't Know How Serious They Are](https://mariolurig.com/business/until-you-ask-for-money-you-dont-know-how-serious-they-are/): The title of this post is from a conversation this week at a Reddit Denver Business Owners meetup/meeting. When I... - [My Words, My Voice: Gourmet Magazine and the Pingdom Podcast](https://mariolurig.com/misc/my-words-my-voice-gourmet-magazine-and-the-pingdom-podcast/): I've been pretty lucky lately. I spent an hour in January speaking to a writer for Gourmet magazine about my... - [Successful CrowdFunding Venture through Kickstarter - Dice Candies](https://mariolurig.com/forsale/successful-crowd-funding-venture-through-kickstarter-dice-candies/): First and foremost, in the month of December I went to the crowdfunding website Kickstarter. com and launched a project... - [Short Stories While Brushing Your Teeth](https://mariolurig.com/books/short-stories-while-brushing-your-teeth/): Hot off the heels of my 30 day short-story-a-day challenge, I've compiled all of them into a book called, "Short... - [Bonus Short Stories - Em D's Eyes & My Wings II](https://mariolurig.com/books/bonus-short-stories-em-ds-eyes-my-wings-ii/): These two stories were written for artists on DeviantArt, as a personal challenge to create a story for their favorite... - [Christmas Morning (Day 30)](https://mariolurig.com/short-story-a-day/christmas-morning/): The window fogged up slowly, the haze growing with each breathe as Sansa stared out into the yard. She shifted... - [Bad Listener (Day 29)](https://mariolurig.com/short-story-a-day/bad-listener/): Buck paced back and forth on the white tile, moving between the living room and the dining room at an... - [Revenge (Day 28)](https://mariolurig.com/short-story-a-day/revenge/): Marcy had always loved the movie Home Alone, where a young boy, abandoned by his family when they left on... - [Coma Patient (Day 27)](https://mariolurig.com/short-story-a-day/coma-patient/): The stark white room was filled with the beep of the heart monitor and six people all holding their breath:... - [Initiation (Day 26)](https://mariolurig.com/short-story-a-day/initiation/): The buses idled along the curb as they wrapped the length of the roundabout as students loaded their bags into... - [Breakfast of Champions (Day 25)](https://mariolurig.com/short-story-a-day/breakfast-of-champions/): The line at the door wrapped back and forth three times between velvet ropes outside of Hillary's favorite breakfast bar.... - [Madison's First Boyfriend (Day 24)](https://mariolurig.com/short-story-a-day/madisons-first-boyfriend/): The doorbell rang loudly, followed by a knock at the door a second later. "He's here! I'm not ready," yelled... - [Karma Collector (Day 23)](https://mariolurig.com/short-story-a-day/karma-collector/): "Did you say, one penny? " The woman stood dumbfounded, looking directly at the counter clerk. "Yes ma'am, that's the... - [The Gamer (Day 22)](https://mariolurig.com/short-story-a-day/the-gamer/): "Triple kill baby! Suck that you bastards," yelled Theo into the microphone dangling in front of his mouth. The sound... - [The Treasure Map (Day 21)](https://mariolurig.com/short-story-a-day/the-treasure-map/): Tara poured over all of the details of the map, one inch at a time. The light from the flashlight... - [The Perfect Dress (Day 20)](https://mariolurig.com/short-story-a-day/the-perfect-dress/): Penny threw another shirt onto the pile on the bed. She was pacing back and forth between the bathroom and... - [Brown Bar-ba-loots (Day 19)](https://mariolurig.com/short-story-a-day/brown-bar-ba-loots/): "But Dad, I'm tired! Can we stop, please? " "No honey, we are still on the Lorax's property. We will... - [300 Seconds (Day 18)](https://mariolurig.com/short-story-a-day/300-seconds/): Jack glanced down at the timer wrapped around his wrist: 4:59 and dropping fast. "Shit. " He was in a... - [Manic Pixie Dream Girl (Day 17)](https://mariolurig.com/short-story-a-day/manic-pixie-dream-girl/): Natalie sneaked up behind Matthew and wrapped her hands gently around his head, covering his eyes. "Guess who," she said... - [After Work Drinks (Day 16)](https://mariolurig.com/short-story-a-day/after-work-drinks/): "And then he says to me, so when do you want to go out again? " The table exploded in... - [The Shortcut Home (Day 15)](https://mariolurig.com/short-story-a-day/the-shortcut-home/): The night air was cool, flowing gently around Julie's bare legs as she strolled down the narrow side street. The... - [Pocket Aces (Day 14)](https://mariolurig.com/short-story-a-day/pocket-aces/): Daniel gently lifted the edge and took a peek at the markings on the face of the cards. Pocket Aces,... - [Slumber Party (Day 13)](https://mariolurig.com/short-story-a-day/slumber-party/): Meghan and Jessica jumped up and down on the pair of twin beds, feathers flying everywhere on each impact. "Go... - [Parkour (Day 12)](https://mariolurig.com/short-story-a-day/parkour/): David's heart beat at a constant 144 bpm as he leapt over a set of stairs, his hands acting as... - [Winter's Kiss (Day 11)](https://mariolurig.com/short-story-a-day/winters-kiss/): The fog was heavy in the woods this morning as Vixelyn, or Vix as her friends called her, walked slowly... - [Coverage in the Boulder Daily Camera](https://mariolurig.com/marketing/coverage-in-the-boulder-daily-camera/): My first print coverage (online and video too) for my latest book, My Zombie Body, was just published in the... - [Tuthic and the Boar (Day 10)](https://mariolurig.com/short-story-a-day/tuthic-and-the-boar/): "It's not a pig, it's a boar," Tuthic explained as the color began rising up his face. "You best keep... - [The Value of Talent (Day 9)](https://mariolurig.com/short-story-a-day/value-of-talent/): It started small: a piece of candy from the open bin in the grocery store, a pen from the teacher's... - [Unexpected Hero (Day 8)](https://mariolurig.com/short-story-a-day/unexpected-hero/): The world was a large place, and he should know, spending the last few days covering every inch of it.... - [Sweet Halloween Dreams (Day 7)](https://mariolurig.com/short-story-a-day/sweet-halloween-dreams/): Teddy paced slowly back-and-forth above the pillow, his wooden sword gripped firmly in his right paw. The child was sleeping... - [The Rope Swing (Day 6)](https://mariolurig.com/short-story-a-day/the-rope-swing/): "Whee," exclaimed Tony as he landed with a loud splash, tucking into a tight ball before slamming into the water.... - [Job Interview (Day 5)](https://mariolurig.com/short-story-a-day/job-interview/): "So it says here on your résumé that you use to 'Manage Cash Flow' for a local business, but you... - [The Pickup Artist (Day 4)](https://mariolurig.com/short-story-a-day/the-pickup-artist/): "You have a slight accent, and I can't put my finger on it. Where are you from? " Luke averted... - [A Faire Romance (Day 3)](https://mariolurig.com/short-story-a-day/a-faire-romance/): He couldn't help himself. He glanced down at the sunburned cleavage pushing out of the top of her corset as... --- # Detailed Content ## Pages ### Projects - Published: 2011-12-10 - Modified: 2024-10-18 - URL: https://mariolurig.com/projects/ I don't limit myself to websites, but sometimes I also venture into physical items that people can use and enjoy. Sometimes, when you live on the internet, it is good to ground yourself in the physical world. Websites HeroMuster. com (2018) - Bringing together roleplayers and the best Game Masters in the world. Comparable sites: LinkedIn & Yelp (connect with others and get feedback on player/GM quality). In the future it will also include some event management features. Existing competition: Warhorn. net, tabletop. events, findgamers. us, lookingforgm. com. A Dungeon Master tool for managing encounters quickly and easily across any RPG system. A collection of tools specific to Open Legend RPG already built. An online route sharer for the print and play game Voyages. Slowpreneur. com (March 2014) - Slowpreneur Creed: I want my business to grow within its means. I will learn every day. I will continue to live my life. I will succeed. Coming Soon Retired Projects PHPcodeChecker. com (April 2011-2024) - Analyzes PHP code for common errors and mistakes. The service is completely free, used at Iowa State for a beginner PHP course, and was originally used to market my PHP book and increase book sales. Purchased by BairesDev in 2024. NovelRank. com (October 2009 - August 2018) - Amazon sales rank tracking for books Wildly successful as a service, a resource (see the blog), and a learning experience. It continues to improve to this day. Retired the sister sites: MusicSalesTracker and DVDSalesTracker; replaced with NREE (below). Redesigned Sep 1, 2015 to be fully responsive and mobile friendly. Enterprise Sales Rank Software (Nov 2011) - NovelRank Enterprise Edition (NREE) is tracking software for enterprise customers to install and use on their own servers. Supports all product categories (not limited to books) and includes a completely redesigned backend logic as well as frontend user experience. Amazon Buy Box Research Tool (Feb 2013) - An inexpensive ($0. 003/code) service for validating, evaluating, and tracking the seller, pricing, and popularity of individual products sold on Amazon sites worldwide. Users provide an ASIN, UPC, or EAN/ISBN and it returns a spreadsheet with all the facts necessary for Amazon Sellers to make decisions on products to sell. ReadySum. com (February 2014 - June 2020) - Simple small business inventory management software (hosted solution), designed using jQuery Mobile framework to ensure the design is not only functional through a full-size browser, but looks and functions fantastically on smartphones and tablets. Three key features: Add/View Inventory, Customers, and Orders. Retired due to failed ability to attract users. DiceCandies. com (December 2011 - April 2016) - D4, D6, D8, D10, D12, and D20... Dice in chocolate or poured sugar A full set, a perfect gift for a table top gamer (think Dungeons & Dragons, Warhammer, Rifts, Pathfinder, etc). After many revisions, I finally launched it on KickStarter. com for funding this venture and selling the product wholesale to game stores across the USA. In April 2016 the company was sold to Front Range Chocolate Inc. I lost the passion, and they found it, so it seemed like the obvious next step. DefendRush. org (March 2012 -March 2013) - Viral website that generated a burst of over half-a-million visitors in the first 3 days and even generated an interview on The Atlantic magazine's website. It was simply a reactionary one-liner against Rush Limbaugh. Meta Description read: Defend Rush Limbaugh is a fan site for supporters of Rush's opinions about Sandra Fluke and other matters. FlyTimeNotify. com (May 2011 -January 2013) - Airline schedule horizon notifications. The service was simple: You picked a date and your airlines, and when those airlines unlocked those dates for travel, you got an email or sms/text message notification that you could book your flight. Thus, you got the best flights at the best price when traveling for events and holidays, where prices only go up. Also, if you liked to use mileage rewards, this allowed you to use those passes before other passengers, because you were first to book. BicycleTogether. com (August 2011 - March 2012) - A free and easy way to find open group rides for cyclists. Great for training for rides such as RideTheRockies, BikeMS, and more. Included custom stylesheet and experience for mobile devices (smartphones and tablets), integration with OpenStreetMap, and used the SimpleGeo geolocation service. When SimpleGeo was acquired and then closed, it caused me to close this site due to a lack of time to develop the integration all over again on a different platform. To date, I still thing it's a great idea, clean execution, and valuable service, but as a labor of love it lost out (time cost) to financially beneficial projects. MadeItBetter. com (July 2011) - A print advertising campaign for M&M's candies; M&M's® Made it Better. All photos, concept, and web-design by me. Some post-processing to clean up the backgrounds done by David Espinosa and Michelle Burdis. SurvivalGiftShop. com (Jan-Dec 2011) - "Kits for surviving the real world" First an e-commerce website that included kits for bandcamp, bachelorette parties, first hostel stay, and more. Then, a placeholder (no e-commerce). It was also linked to a future non-profit endeavor: GapYearFund. org (also retired). It never really took off and after a year of zero uptake after medium marketing, it was retired to concentrate in other areas. DenverPriceConsultant. com & BestPriceConsulting. com - Domains acting as single landing pages for consulting services. A test run to see what kind of traffic it would generate and to play with some CSS design work. Retired the domain names after 2 years. KeepOrToss. org - Helping packrats decide whether they should keep or toss an item. Included images, descriptions, up/down votes, and comments. As a learning experience it was really successful for 2 years, but as a sustainable website, it failed. Like any good entrepreneur, I learned, I loved, and I let it go when it couldn’t return the favor. SpeakITplain. com - IT Consulting landing page and blog platform. One of my first Wordpress installs, and relevant in 2008 when I first started consulting, it languished and no longer provided value once this site was built. Migrated the most relevant posts to MarioLurig. com and setup 301 redirects until the SpeakITplain. com domain registration expired. To date, this is one of the most creative domain names I ever used. --- ### MASHD - Published: 2011-08-20 - Modified: 2024-06-01 - URL: https://mariolurig.com/mashd/ DreamHost Active System Monitor Download MASHD (6. 73KB) MASHD graphically displays the Memory and CPU usage of your Linux based web server using existing PHP and Linux tools without root access or additional configuration. MASHD is a single PHP file that can run on any Linux based VPS or Dedicated web server that supports PHP and the exec function. The zip file includes a tester script, if you wish to confirm that it will work with your website before 'installing' MASHD. MASHD is a simple page layout that has a liquid CSS design, allowing wide viewing or narrow viewing, depending on your preference. It also will display well on mobile devices (may want to turn it horizontally). Support If you have questions, contact me. If you like it and use it, consider helping me out with my VPS bill by making a donation through Dreamhost. License GNU GPL3 http://www. gnu. org/licenses/gpl. html (translation: free to use, edit, modify, distribute under the same license) Files Included Download MASHD (6. 73KB) README. txt Contains everything found on this page. mashd-tester. php Simple file to see if your web server will support MASHD. Should display two arrays, with no errors. mashd. php Install/Operation file for MASHD. Summary MASHD is an active monitoring program, in that it will only work when the webpage is open. The name is the inverse acronym of the descriptive title: DreamHost System Active Monitor. It was originally designed for use on a Dreamhost VPS, but is flexible enough for any Linux based system that allows the PHP function exec to be used. Installation If you wish test your system, FTP mashd-tester. php to your web server and access it via web browser. It should return two arrays of data, without errors. If so, you can use MASHD. To install MASHD, FTP mashd. php over to your web server and access it via web browser. That's it. Background When you access mashd. php, it will automatically create mashd_process. php, which in turn will also create mashd_history_cpu. txt and mashd_history_mem. txt files. MASHD itself uses jQuery and the Google Charts API to generate the visual results, all loaded and hosted by Google (read: very fast). There is no daily limit to calls to this service per day (< 250,000/day). More Tips for Dreamhost VPS Dreamhost VPS Root Access System Monitoring. Download MASHD (6. 73KB) --- ### Contact - Published: 2011-04-29 - Modified: 2015-03-24 - URL: https://mariolurig.com/contact-me/ Google Voice (phone/sms): 720. 310. 5687 Email: mariolurig@gmail. com --- ### Books - Published: 2011-04-28 - Modified: 2020-08-03 - URL: https://mariolurig.com/books/ Pokémon Go for Business: A Guide to Capturing New Customers (August 2016 e-book) https://www. amazon. com/Pok%C3%A9mon-Go-Business-Capturing-Customers-ebook/dp/B01JIGLPLY Pokémon Go for Business is a straightforward guide that requires no previous knowledge of the game, nor does it waste your time with unnecessary descriptions of every nuance of playing the game. Every marketing idea is justified, many with real-world examples and images are used liberally to ensure 100% comprehension for the enterprise or small business customer. Unlocking Kickstarter Secrets: Crowdfunding Tips and Tricks (July 2012 e-book) http://mariolurig. com/kickstarter/ Learn the ins and outs of running a successful Kickstarter campaign through the combined knowledge about the platform, the community, behavioral economics, price strategies, and good old fashioned marketing. Every project can be successful if you know what the Kickstarter audience is looking for from your project page. Short Stories While Brushing Your Teeth (Dec 2011 e-book) A free download compilation of 33 short stories, all 2-3 minutes in length. Also available on Kindle for $0. 99. My Zombie Body (Oct/Nov 2011 e-book/paperback) http://mariolurig. com/myzombiebody/ A first-person story from the zombie's perspective. What is life like as a zombie? Do you feel? Do you have regrets? Can you control anything? Enjoy this undead novella for yourself or the zombie lover in your life. 50% of author royalties will be donated to Child's Play Charity. 50 Conversation Starters for the Modern Age (2010 e-book) http://mariolurig. com/50conversationstarters/ What is your favorite color is NOT a good conversation starter. This e-book provides fifty real-world tested and panel approved conversation starters that will get the conversation flowing quickly with one of the carefully crafted questions. Whether you are flirting, networking at a corporate event, or making a splash at your next dinner party, with a few of the questions found within this book you will be the life of the party! These questions were designed and tested for the 21st century, to remain timely and interesting with any audience. PHP Reference: Beginning to Intermediate PHP5 (2008 print and e-book) http://www. phpreferencebook. com/ A collection of over 250 PHP functions with clear explanations in language anyone can understand, followed with as many examples as it takes to understand what the function does and how it works. One of the best PHP books to keep around as a PHP reference. This PHP reference includes numerous additional tips, the basics of PHP, MySQL query examples, regular expressions syntax, and two indexes to help you find information faster: a common language index and a function index. When the internet is not around or you want a simpler explanation along with all the technical details, this PHP book has all that and more. --- ### About Me - Published: 2011-04-28 - Modified: 2015-03-24 - URL: https://mariolurig.com/about-me/ I'm a resident of Colorado, localized in the Denver/Boulder area, and I believe that while you should love what you do for work, you should spend more time in your life loving the many things you do when you are not working. I'm regularly involved with charity organizations that I not only care about, but also include people who are amazing to spend time around. I prefer to volunteer and meet people. I wrote my first book in 2008, after I couldn't find a book that I preferred, a chance encounter with a stranger who was looking for the same thing, and some free time. It was written in 1 month, and edited in the next, releasing afterwards. Like everything else, writing is fun, but I could never do it 'full time' for the rest of my life. I also don't believe in fans, because I never write in the same genre twice. I taught myself web-design in 1998, PHP in 2007, Search Engine Optimization (SEO) in 2008, and I continue to learn everyday. I've built websites for years, but I've built tools and interactive sites other people would use starting in 2008. I design by the adage, "Find something that sucks, and make it not suck. " I usually try and go a bit farther than 'not suck', however I try and find the pain points for people and build a website or service that meets that need. Finally, I'm an avid cyclist with a gorgeous Colorado view everyday. It is what keeps me healthy and happy (when the bike wheels don't fail). Find me Online No matter if it is on twitter, flickr, delicious, digg, reddit... anywhere, you'll find me under the tag/username: ucffool --- ## Posts ### Levels of AI Interaction - Published: 2025-06-22 - Modified: 2025-06-22 - URL: https://mariolurig.com/coding/machine-learning/levels-of-ai-interaction/ - Categories: Machine Learning - Tags: AI, LLM Interacting with AI requires you to consider what role it should play, because the end goal is HUMAN betterment. This can also be viewed as, "does the human or the AI decide when it's a good answer? " Anyway, here are the four layers of AI interaction that we use with every interaction (and may be on different levels for different interactions). Level 1: Answer "I want AI to... give me the answer. " Passive use, transactional. Low effort, low ownership. Level 2: Inform "I want AI to... help me understand with relevant context. " Supportive role; enriches decision-making or learning. Human starts reasserting ownership. Level 3: Co-Create "I want AI to... work with me to figure things out. " Iterative collaboration, breaking loops, co-solving. Human + AI in dynamic interplay of evaluation. Level 4: Design "I want AI to... help me design tools, systems, or learning experiences. " AI becomes scaffolding for deeper cognitive work. Highest level of human ownership. --- ### TRMNL is an E-Ink Screen for Improving Your Habits - Published: 2025-06-21 - Modified: 2025-06-22 - URL: https://mariolurig.com/coding/trmnl-e-ink-screen-improving-habits/ - Categories: Coding - Tags: e-ink, TRMNL I fell for TRMNL on June 2, 2025. It felt fun to transform data with some easy coding and see it appear on a screen beautifully. The dopamine loop was short and the possibilities started flooding my brain. However, before I go too far, let's get two somethings out of the way first. My Biases I have owned 4 variations of e-ink screens (Nook Touch 1st Gen, Waveshare NFC screens, reMarkarkable 2 tablet, and now a TRMNL). I do not hide how much of a joy it is to read, especially as my vision has, um, deteriorated after 40. Like life, the solution to readability is to add light; natural light when possible. I am a fanboy of e-ink technology itself. E-Ink also doesn't require power management at the scale of most modern devices. Plugging it in is a thing you forget to do because it's so infrequent. It also feels like a trick because the last arrangement of pixels never fades, warps, or changes, instead enduring like a Roman aqueduct or a tombstone (in the case of my Nook Touch). I have two children 5 and under and they are living in that gap where they are curious about the world, but are unable to be self-reliant on gathering that information because of learning limitations (reading words, understanding clocks, etc). Giving them independent opportunities to learn and grow requires different approaches, and this lens is constantly looking at my world and searching for new opportunities. A $10 Off Coupon Get $10 off a TRMNL device with the code: mario10 Full disclosure: I'll also get $10... to buy more TRMNLs. What Can It Do? You don't have to know how to code to own or use a TRMNL. There are dozens of official plugins and multiples more "private" plugins that users create for anyone to use. I've even made quite a few! There are also lots of great articles and videos about TRMNL so I won't waste your time giving you the basics, but instead I want to highlight the key reasons why you should consider one and who would be most excited to try it. You Want to Consume "X" Without Being Distracted by It This is one of the core inspirations for the TRMNL device. The act of consuming information on the internet has become a competition for your ongoing attention. It's not enough to consume, you now need to doom-scroll and your brain is rewarded for doing so. Yet when you finally stop you can't recall what you have consumed. TRMNL gives you what you want: inspiration, laughs, information, etc. What it doesn't do is give you a button or an action to take. It takes your attention for only the time needed to consume what is valuable to you. I wish I could have screen When the battery can last 30, 90, or 365 days, then it's no big deal to just hang it on a nail in your drywall wherever you want. Kid height? Sure. Bathroom? Ok. Garage? Fridge? absolutely (people have designed some awesome 3d printed mounts). You can get an email when it needs a charge, because you'll forget you ever needed to. If you want to take one screen with you, that's fine as well, just re-enter WiFi pairing mode and give it a new network to connect to and it can travel with you. The People Perfect for TRMNL The Tinkerer You get inspired by trying things; poking and prodding bring out your creativity and imagination. You may have used code examples to adapt a webpage into your own thing, but you are more excited by the result than the process. You could be a lurker or participant at reddit. com/r/selfhosted. The Parent Increase your child's independence with plugins that use images and iconography. I built one to show what's for lunch in the cafeteria today! Put it on the fridge and connect to your family calendar, so everyone knows you're juggling 3 events back-to-back Wednesday night. Get daily recipe inspiration with a scannable QR code if you want to give it a try. The Social Deserter You scroll social media and hate how you feel after wasting so much time, yet you don't want to be completely disconnected. Your daily does of inspiration is a famous quote, a cute cat, or from skeletor and is a core part of how you manage your mood. A TRMNL isn't for everyone, like any product, but if its for you it is very much worthy of falling in love with. The ecosystem is also improving daily, lead by a company and a team that deeply cares about what's best for the user, even at the cost of revenue. --- ### Recovering Hard Drive Space from Ubuntu in Windows WSL2 - Published: 2025-06-21 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/recovering-hard-drive-space-ubuntu-windows-wsl2/ - Categories: Coding - Tags: linux, Ubuntu, wsl2 I use Docker Desktop on Windows to run local AI, such as Ollama, Open-WebUI, Portainer, and even SwarmUi and Comfy-UI. Because of that, I'm regularly growing and shrinking the number of AI models on my drive and that's a lot of GB of storage! Recently I noticed less than 15% storage remaining on my SSD and thanks to SequoiaView, I realized it was because Ubuntu was getting huge! So here's how I solved the problem. Manual Cleanup First, delete the things that you don't use any more. If you have models you haven't run in a good long while, delete them. If you have Docker volumes, images, or containers that are unused, remove them. Clean up your (digital) room! Empty the Recycling Bin, Linux Style Courtesy of this AskUbuntu post, in the Ubuntu terminal you can run the command: rm -rf ~/. local/share/Trash/* However, later in that same post there is also a quick program to install that makes this easier: sudo apt install trash-cli trash-empty Compress Ubuntu WSL2 is designed to grow, not shrink, so there are extra steps involved. First and foremost, you will be opening Windows Powershell instead of the Ubuntu terminal. Shutdown WSL: wsl --shutdown Use File Explorer to find the exact path to your distribution: \Users\\AppData\Local\Packages\\LocalState\ext4. vhdx. and will be unique to your PC, but the will look something like this: CanonicalGroupLimited. Ubuntu_79rhkp1f. Right-click on the ext4. vhdxfile, choose Properties, and then copy the full path to the file. Finally, go to your windows Powershell and run each line of the following commands separately: diskpart select vdisk file="C:\\ext4. vhdx" compact vdisk It should start compressing immediately with updates on its progress (this took ~ 1 minute for me). Restart WSL2 Time to start WSL back up and bask in your newly recovered free space. wsl -d Ubuntu Sources Figured this out thanks to the following posts: https://askubuntu. com/questions/468721/how-can-i-empty-the-trash-using-terminal (empty the trash) https://superuser. com/a/1823153 (compact Ubuntu) --- ### Connecting Local Open WebUI to Together.ai Models - Published: 2024-10-27 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/machine-learning/connecting-local-open-webui-together-ai-models/ - Categories: Machine Learning - Tags: AI, LLM, open-webui I wanted to learn more about running Open WebUI locally through Docker while also testing out the new Llama 3. 2 Vision models (11B and 90B), but my system with a 6GB VRAM video card wasn't going to be able to run the inference model locally, so I needed a free or inexpensive option; enter together. ai. Their free account offers the 11B model at no charge while also having easy access to the 90B model. So, I downloaded Docker Desktop as the getting started docs suggested and then my inexperience hit a roadblock: How to run a docker terminal command and what command to run? I already had my API key from together. ai, but I didn't know how to use it. I knew that I was going to use together. ai API endpoints and that those were modeled off of OpenAI, so what I needed was to alter the environmental variables being set for WebUI and being passed in the docker run command. Here is the command I used: docker run -d -p 3000:8080 -e OPENAI_API_BASE_URL=https://api. together. xyz/v1 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr. io/open-webui/open-webui:main I replaced "your_secret_key" with my actual together. ai API key. Also, if you also have never used Docker Desktop before, the >_ Terminal button is in the bottom-right of the window. That's it! Now, once WebUI container is up and running, you'll be able to select from all of Together. ai's models. Just make sure you set the model default to Meta Llama Vision Free! --- ### A Simple Test: Reinforcing Listening and Kindness with a Child - Published: 2024-06-10 - Modified: 2024-06-10 - URL: https://mariolurig.com/parenting/simple-test-reinforcing-listening-kindness-child/ - Categories: Parenting - Tags: kindness, listening "I need you to listen the first time. " | "Be nice to your brother! " | "If you can't follow directions, we can't go. " | "Can you hear my voice? " Any of those phrases sound familiar? Knowing that children respond to games as a way to reinforce behaviors, I came up with an idea recently that was very successful with our 4 year old. Using this test is a good idea sparingly; don't use it every time you are about to do something fun. Novelty goes a long way with most humans, but when you're at your wits end and you are trying to engage them in a fun activity (e. g. going to a community event), then say it is time do a quick test to make sure your child can follow directions, listen, and be kind. As their parent, it's your job to evaluate how well they do on the score; remember, you want to take them to this fun thing, so your goals is to set them up for success and evaluate them as passing. Test 1: Following Directions Make sure you have your child's full attention and start with something similar to, "Okay NAME, test number one is to see how well you can follow directions. Are you ready? " Here are some examples: Take two steps forward, then jump as high as you can. Sit on the floor in criss-cross-apple-sauce and put your hands on your head. I want you to run and touch that wall, then stop and say "Freeze! " Don't be afraid to repeat yourself. You are not testing their memory, but their ability to follow directions that contain at least 2 distinct steps. Tell them if that they passed and why, briefly, before moving on to test number two. Test 2: Listening You want to have them repeat a phrase using simple language they know. Start with, "Please repeat this sentence... " Don't be afraid to be a little silly! Some examples again: I love SIBLING'S NAME very much. Ice cream is my favorite treat. Daddy is taller than a mountain! You can increase complexity based on your child's personal language development, but remember, we want them to succeed and success isn't perfection. Test 3: Being Kind Making good choices and being kind is something very important that most parents want to instill in their kids once basic needs are met. Therefore, we want to convert the sometimes combative relationship we have with our children over listening into a positive reinforcement for our love. Examples: Do something kind for mommy. Show me how to give a really great hug. What is the last nice thing mommy or I did for you? They may have an idea, "is a hug kind? " and it's okay to say yes. You want the thought and action, even if they need a nudge on the way there. Test Passed Congratulate them on passing the test (two out of three, heck, one out of three, whatever you need to reshape that negative behavior) and say they are ready to go do FUN THING. Be excited, show them some love, and try your darnedest to not change the vibe for the next few minutes, else risk losing all that work. Good job parent! This can apply to most children that can communicate with language, I just happened to come up with this when my child was 4 years old --- ### Lorcana Unofficial Brand Style Guide - Published: 2023-09-13 - Modified: 2023-11-27 - URL: https://mariolurig.com/misc/lorcana-unofficial-brand-style-guide/ - Categories: Miscellaneous - Tags: disney, lorcana, ravensburger Disney's Lorcana by Ravensburger is a popular, though hard to find, Trading Card Game (TCG) that launched in September of 2023. I couldn't find any brand or style guide found the official brand guide, but I couldn't find the hex colors for the different card colors, so I'll start with those and expand this post as needed. Hexadecimal colors for Lorcana cards: Amber: #F5B202 Amethyst: #81377B Emerald: #2A8934 Ruby: #D3082F Sapphire: #0189C4 Steel: #9FA8B4 --- ### Piwigo: Configure Custom SMTP on Dreamhost - Published: 2023-07-20 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/piwigo-configure-custom-smtp-dreamhost/ - Categories: Coding - Tags: Dreamhost, Piwigo, SMTP Piwigo is open-source software for sharing image galleries easily. Installing it on Dreamhost (I'm using a VPS but any type of hosting works) was super easy, but by default any emails sent would have Mail System Delivery Failure due to email security problems. Luckily, the solution was to create an email account in Dreamhost and configure SMTP in Piwigo. Here are the steps in a new installation: Create an email address in the Dreamhost panel, such as admin@yourdomain. tld Open notepad or another basic text editor and create a new file called config. inc. php Add the below code inside that new file: Edit the admin@yourdomain. tld with your email address in two places and edit YourPassword with the password you created in Dreamhost. Save the file and upload it to your site under the /local/config/ folder To test it, you can use the Forgot Password feature on the Login screen to get a quick email sent. I verified this works on Piwigo v13. 8. 0. The following resources were used to piece together these up-to-date instructions: Dreamhost SMTP port and protocol info in Step 3 A collection of forum posts about a non-existent plugin. The piwigo source code for mail configuration options. --- ### Installing Castopod on Shared Hosting - Published: 2023-02-18 - Modified: 2023-02-18 - URL: https://mariolurig.com/coding/install-castopod-shared-hosting/ - Categories: Coding - Tags: castopod, open source, podcast Castopod is podcast hosting software that allows you to easily serve your podcast(s) from your own server rather than through a secondary service like anchor. fm, blubrry, and libsyn. While I personally use anchor. fm for some podcasts which I wanted to easily monetize, for a new podcast, Story Suggest, I had no desire for it to get monetized by me or anyone else. Furthermore, I also wanted to dip my toe into integration with the fediverse. Don't worry if you don't know what that is, it's not critical to any of this. Either way, while the installation documentation for castopod is relatively clear, I felt like there were a few quick notes/tips I could add for those installing on a shared host like Dreamhost. While I maintain a VPS at Dreamhost, the functionality and installation is the same. Below I've highlighted some clarifying points to help others quickly get setup with Castopod. Installation Requirements Just know that Dreamhost, by default, has you covered. Everything described is already enabled in PHP 8. 1+. When the requirements refer to libcurl, this shows up in your phpinfo output as just curl. I did not enable email or video during my install, so take this advice for anyone looking for an audio podcasting solution. Database Also ready to go here. Just head to the MySQL Database page in Dreamhost. Remember that database names must be unique across Dreamhost, and castopod is already taken, so consider hyphenation or other variations. Unzipping and Uploading The extracted files are in a castopod folder. You will want to upload the entire contents of that folder into the root for the domain you have setup. The installation instructions make it seem like you only need the /public sub-folder, but that's incorrect. You need it all, but we have to make a change to our Dreamhost configuration regarding the /public folder. Web Server Document Root (Web Directory) In Dreamhost, go to Hosted Domains and click the Edit button under the web hosting column. This is assuming you've already created the fully hosted site because, well, I just had you upload the files so they had to go somewhere. :) Anyway, under Users, Files, and Paths and Web Directory, you want to append /public to the existing path. This is telling Dreamhost that is the root for public access. The index. php file in that directory does a lot of heavy lifting. Save and done! Wrapping up You should now be able to use the built-in installer at /cp-install in your web browser to set things up. If you're wondering about the Cron Jobs, in Dreamhost the path to PHP 8. 1 is: /usr/local/php81/bin/php so you can create a cronjob similar to the installation instructions (just delete the **** beginning which is specific to an actual cron file on a server); Dreamhost just wants the command as it would be typed into a terminal. --- ### Fixing Yarn ESOCKETTIMEDOUT Error During Discourse Setup - Published: 2021-11-07 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/fixing-yarn-esockettimedout-error-discourse-setup/ - Categories: Coding - Tags: Cloud, Discourse, Docker, e2.micro, Google, yarn While installing Discourse on a free tier instance in a Google Cloud Compute Instance, I was following this discourse install tutorial with only minor adjustments: Used Ubuntu 20. 04 LTS minimal Standard Disk (default is Balanced) e2. micro instance However, when I was waiting for Step 9 to complete (after running . /discourse-setup) and everything being built, it would fail with an ESOCKETTIMEDOUT error related to yarn. The last message that tries to run is || su discourse -c 'yarn install --production && yarn cache clean'. Here's what is going wrong. Yarn has a default timeout that is fine if you are using the minimum recommended for Discourse, but with a micro instance, it takes too long. To fix this, you have to manually edit one of the install scripts that runs for the new Docker container Discourse is building. The Fix You need to install an editor; I prefer nano so apt-get install nano does the trick. Then go to /var/discourse/templates and run: nano web. template. yml. For comparison, here is the file you cloned from github and the area of interest is around line 159. Look familiar? It's the same command noted above before it failed. We need to add a new section above this line to increase the timeout. - exec: cd: $home cmd: - "su discourse -c 'yarn config set network-timeout 600000 -g'" Save this change then rerun . /discourse-setup and viola, completion! It will definitely take a while, especially the brotli compression step, but it will finish. --- ### Solving "No Supported Authentication Methods" for PyCharm and GitHub on Windows - Published: 2021-01-04 - Modified: 2021-01-27 - URL: https://mariolurig.com/misc/no-supported-authentication-methods-pycharm-github-windows/ - Categories: Miscellaneous Fatal Error: Disconnected: No supported authentication methods available. I lost so many hours to that little error. Here was the problem: I followed the steps in this lovely PyCharm tutorial which walks you through creating your ssh key, saving it to a profile, and applying it to your GitHub account. This was successful in getting the terminal working. However, the error noted above was happening when I tried to use PyCharm's Git integration and pull or push with the GitHub repository. Inside the Git console of PyCharm the error would appear and I spent hours trying everything, from changing the GIT_SSH environmental variable to setting that same variable inside PyCharm's environmental variables... because I knew Git and git-bash could do this and worked fine. Turns out, the problem was PuTTY, which I had installed long before PyCharm. More specifically, an SSH authentication agent called Pageant. The process involved using this SuperUser Tutorial from Mr. Polywhirl. It outlined how to use PuTTYgen to extract my existing keys to a . ppk, save it, apply it to Pageant, then test it with PuTTY before it worked perfectly in PyCharm. Update: January 27, 2021 Pageant doesn't like to remember keys or startup on boot, so I had to create a shortcut in Windows Startup folder with the key passed to the tool. Now, on boot, Pageant is loaded as well as the key necessary to push to GitHub. Anyway, I hope this helps you as well (or future me, if you're reading this, you're welcome). --- ### Template file for Creating PDFs for the ReMarkable 2 Paper Tablet - Published: 2020-11-08 - Modified: 2024-06-01 - URL: https://mariolurig.com/business/template-create-pdf-remarkable-2-paper-tablet/ - Categories: Business - Tags: e-ink, libreoffice, openoffice, remarkable, tablet, template I recently received the reMarkable 2 paper tablet and it is everything it promised. I'm excited to use it for work and personal adventures, but for work I wanted to create a document template that would allow me to always make content that is pixel perfect for the tablet. This way there is no scaling necessary and I can even leave in margins for the menu options to stay visible. So, here it is: reMarkable 2 OTT Template This was designed for OpenOffice or LibreOffice, but since it is an open format, I'm sure it can be opened by Microsoft and other document programs. Once you open the file, you can save it as a template using the File menu. After that, it's simply a matter of selecting File > New > Template and selecting reMarkable 2 from the available templates! When you're done, Export to PDF and transfer to your reMarkarable using their convenient applications. --- ### Adventures in Podcasting - Published: 2019-12-01 - Modified: 2019-12-01 - URL: https://mariolurig.com/web/adventures-in-podcasting/ - Categories: Websites - Tags: audio, podcast So I created a ton of podcasts. Well, I created a ton of trailers technically. Oh, and websites. And 1 episode. Anyway, here are all of the show pages: Food Bites Daughter of Cuba Did it Work? Profound Pets --- ### Installing Discourse with Amazon EC2 t2.micro Instance and SparkPost - Published: 2019-02-23 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/installing-discourse-amazon-ec2-t2-micro-instance-sparkpost/ - Categories: Coding - Tags: Discourse, EC2, SparkPost This is more notes and reference than an in-depth tutorial, but after spending a few hours trying different things, here's how to get it all set up. Remember, just as Discourse recommends, a t2. micro instance only has 1GB of memory, so if you intend to grow things to an Internet-wide audience, you should use a t2. small instance instead. First and foremost, you can use the free image provided by Intuz to launch the instance. Part of that page is also the instructions once you've completed setup in EC2 (I'll copy those a little lower). EC2 While the service guides you through your choices, after creating a new server, security group, and Virtual Private Cloud (VPC) I ran into issues because I didn't have a public IP or DNS listed with the server. Turns out that has to be enabled. Under VPC, Edit DNS hostnames and check Enable. Under VPC > Internet Gateways, create a new one then Attach it to your VPC Finally, go under VPC > Routing Tables, and Edit Routes. Click the Add route button, entering 0. 0. 0. 0/0 and then selecting Internet Gateway from the dropdown and selecting the one you just edited, finally saving. One quick note. Make sure that you edit your EC2 Security Group to Edit inbound rules and include HTTPS (port 443). You should now be able to stop/start your server and get a public IP address. SSH Next up are the provided instructions by Intuz: - ssh into the instances (using the username ubuntu) - Type cd /var/discourse/ - Now, type sudo . /launcher rebuild app You'll need to do sudo . /launcher rebuild app twice, once to update the files and once to build everything the first time. Sadly, you'll likely run it 1 more time after the next steps. Editing /var/discourse/containers/app. yml After the 2nd rebuild you will be able to access the Discourse server by the public IP, but while you will be able to log in using admin and the password your-instance-id-from-aws, it requires email verification and email is not set up! You can use all sorts of services, but this tutorial will reference SparkPost documentation to help you out which is applicable to SendGrid, MailGun, etc. Type sudo nano containers/app. yml to access the editor for the config file. In here, you will be uncommenting/changing the DISCOURSE_HOSTNAME to a valid DNS, possibly a domain you own, DISCOURSE_USE_HOSTNAME (uncomment), DISCOURSE _DEVELOPER_EMAILS, and all the DISCOURSE_SMTP_* fields. Please note that the password should not be in quotation marks. Here are your links for reference on making the changes: Using SparkPost with Discourse Troubleshooting email on a new Discourse install Discourse and MailGun While you're in here, you should probably setup Let's Encrypt (SSL) as well and luckily, that's just a matter of uncommenting lines as described in this tutorial. It's important to note that you don't need to pregister the email address with Let's Encrypt, just supply a valid one and Discourse does the rest. Use CTRL+X to exit, choosing to save your work. Make sure you didn't forget the note at the end of the SparkPost tutorial about the exec: rails r... line! Wrapping Up with a Rebuild Time for another rebuild with the new settings! sudo . /launcher rebuild app Once completed, you should now be able to get that verification email and complete setup through the web server directly. The final step if everything went well, including the SSL certificate, is to enable site-wide SSL in Admin > Settings > Security > force https. You're all set! --- ### Testing Dropout Rates for Machine Learning with FastAI - Published: 2018-07-12 - Modified: 2018-07-12 - URL: https://mariolurig.com/coding/machine-learning/testing-dropout-rates-machine-learning-fastai/ - Categories: Machine Learning - Tags: deep learning, dropout, fastai, machine learning As I continue my adventures in machine learning through the FastAI courses, I wanted to explore the concept of dropout rate. If you would like to see the Jupyter Notebook used for these tests, including full annotations about what/why, check out my machine learning github project. Specifically the Testing Dropout Rates (small images). ipynb. Really quickly, dropout rate is a method in Convolutional Neural Networks (CNNs) of removing neurons (e. g. in the first layer of an image this would be individual pixels) to prevent overfitting (i. e. doing notably better on the training set than on the validation set) and thus increase the general applicability of the model. In other words, block a percentage of the material to force it to not become to overdependent on repeating patterns that lead it astray. These tests were setup to isolate dropout rate as much as possible. Also, while this test was using ResNet50, results may differ using a different model. Okay, enough jibber-jabber, let's jump right to the conclusions, shall we? Learning Rate The best learning rate needs to be smaller when the dropout rate increases. However, the effect is quite minor and playing it safe with a smaller learning rate goes a long way. Image Sizes For speed purposes, the smaller the better. I compared 64×64 scaled images to 224×224 scaled images (from the same data set) with appropriate batch sizes and learning rates and found the results were the same, but the place to look for the results changed. For larger images, the clearest differences between dropout rates were in the loss function. For smaller images, accuracy was the best differentiator. Those outputs are the recommended way to distinguish the best dropout rate. Here's a collection of images to help make the point clear. Note that bigger is better for accuracy, while smaller is better for loss. Accuracy Loss Data Sets are Unique For my data sets, dogs vs cats, there are only two possibilities. And specific to this set, an overall dropout rate of 0. 2 was the sweet spot. That will vary, so it's a great idea to set up a test like my notebook to help determine the best one for your data set. If there are 100 categories, or if it's a non-vision data set, maybe 0. 5 is better. We don't know until we test, so use the fastest methods possible and see what's right for you. Dropouts in Specific Layers I also have a notebook available to test differences for dropout rates in specific layers. The data here is even more nuanced, but there are a few conclusions I can draw from this one test. Using larger dropout rates in early layers will cripple your accuracy. A quick rule-of-thumb in 2 layers of dropouts (ResNet) is to use 1/2 the dropout rate for the first layer than you use for the second layer (e. g. or ) --- ### Machine Learning Install on Windows with Fast.ai - Published: 2018-06-04 - Modified: 2024-06-01 - URL: https://mariolurig.com/coding/machine-learning-install-windows-fast-ai/ - Categories: Coding When getting started exploring machine learning, you will likely come across the free lessons at Fast. ai. These lessons require a few gigabytes worth of programs and algorithms as well as access to a powerful GPU from Nvidia (e. g. GTX 1060). The first lesson even walks you through setting up a cloud server for just that purpose, but what if your PC already has a powerful Nividia graphics card? What if you use Windows? No problem. This quick guide walks you through the process of setting up a local environment for machine learning, starting with the Fast. ai tutorial series. It's designed for Windows PCs with an Nvidia graphics card. Alright, let's get started with a few quick downloads. Download the following programs and install them: CUDA (Nvidia): The workhorse code that makes machine learning on an Nvidia GPU work Anaconda (Mini): This is the environment that gives you a Linux style command line and handles package management. GitHub Desktop (optional, recommended): You can download the repository without it, but it's much easier to update later if you install and then use the clone feature. Installation Notes CUDA: Expand the CUDA install section and uncheck the Visual Studio plugin option unless you actually have Visual Studio installed. Github Desktop: Once installed, under File > Clone Repository enter in the fastai repo address: https://github. com/fastai/fastai. git. Make sure you set the local path to something easy, such as a Github folder on your C: drive. Getting the Environment Ready Side note: Some of these tips were taken from this helpful forum post. There are only a few more steps till you are ready to go. First, you need to run Anaconda from your Start Menu. Using this command prompt, navigate to your Guthub directory where fastai was cloned. For instance, mine is on my secondary hard drive so it is D:\Github\fastai. Use the command cd xxxx to change directory. Once there, run the command conda env update This will take a while as it downloads about 2GB worth of programs, algorithms, and more necessary for the lessons. Once complete however, enter activate fastai then enter jupyter nbextension enable --py widgetsnbextension --sys-prefix Finally, deactivate fastai. Head back into the Start Menu and this time, right-click on Anaconda Prompt and choose More > Run as Administrator. Navigate again to the fastai directory and this time run the following commands: cd courses\dl1 del fastai mklink /d fastai . . \. . \fastai cd . . \. . You can now close the administrator level window because you're all set! Now when you want to run the lesson you open Anaconda, navigate to your fastai directory, activate fastai then follow the lesson as needed, most likely typing jupyter notebook. One quick note: In lesson 1 (and other lessons) you need to download data sets. The cats and dogs data set, as specified in lesson 1's notebook. Since you're on Windows, instead of using wget (which isn't available), just download the file in your browser then, inside courses\dl1 create a data folder and extract the data set's zip file into that folder (in the case of lesson 1 that extracts a folder called dogscats. Final final note If you ever update the Github repo, you will need to repeat the above Administrator level Anaconda section (del, mklink, etc). --- ### Replacing a Fanatic Windsurfing U Shaped Pin - Published: 2017-09-13 - Modified: 2017-09-13 - URL: https://mariolurig.com/misc/replacing-fanatic-windsurfing-u-shaped-mast-pin/ - Categories: Miscellaneous After recently acquiring some older windsurfing gear, I was introduced to a lot of old parts and connector systems. Namely, rather than the modern connection systems, a 1990's era Fanatic board use a U shaped pin to secure the windsurfing board's female end with the mast's male end. A stainless steel pin is then slid through existing holes to trap the mast from pulling out. The downside to this system, at least for me, was that the pin was lost while not in use as it's not permanently attached to either the board or the mast extension. So I built a DIY pin. It's a very hard part to find, but as as temporary fix I went to my local Home Depot (hardware store) and found 3. 5" (3 1/2) common nails, the size also referred to as 16d. These were bright with a smooth shank. At that length and with the bright coating, these are the perfect snug fit into the Fanatic board's connector. I then tied some rope (in my case, I had some paracord) between the two ends with a single knot and viola, a makeshift pin! After taking it out for a few hours on the water, the pin didn't move at all! The box of nails cost me around $4, while a replacement pin from a windsurfing shop with lots of old parts cost me $10. Needless to say, it's a great fix and the box of nails makes 20+! --- ### Planning and Organizing your Improvised Theatre Production - Published: 2017-07-29 - Modified: 2017-07-29 - URL: https://mariolurig.com/improv/planning-organizing-improvised-theatre-production/ - Categories: Improv - Tags: improv, project management, Trello This is Part 4 of a series documenting my process during creation and execution of improvised theater. For the director and producer of a show, work doesn't start at the beginning of rehearsal, but rather hours, days, or weeks before. The tool you use is less important than making sure you use it. The free tool pictured above is called Trello, which is a digital version of index cards organized in columns on a pin board (in its simplest form). Whatever you use, these are the columns, or categories, I used for organizing my show: Photography and Videography Public Relations and Marketing Rehearsals Show Production Show Elements Before diving into each category, I want to address timing. While some elements of the board have fixed timing (e. g. rehearsals), others are completely flexible at first glance. However, especially in the category of promotion (e. g. butts in seats), starting as soon as possible will pay off in reduced stress and hopefully increased attendance. This is especially true if you are reaching out to specific groups or individuals. It may take multiple touch points (number of times you contact them) before you are acknowledged or engaged, so building in extra time for those steps is critical early on. Photography and Videography First and foremost, you need to decide on a style or theme for your show. Dark and moody? Bubbly and fantastical? Silly? Whatever it is, determining the type of show you want to communicate will help you make consistent and quick decisions as you add cards to your to-do list. Once your style is set, start planning time to capture your performers faces and likeness in that style. Your performers are as much an asset to your production as the show's concept. An audience is drawn to a person before an idea, so use that to your advantage. You don't need a professional photo session (but do one if you can), but remember good lighting (natural light is best), the rule of thirds, and shooting with a point of view. Secondly, shoot a larger image than you think, because you can crop it to reframe the image afterwards, especially because you will want to get maximum value out of each image by utilizing it for the show's website, possibly the poster or flyer, and through social media. As an example, when you show is about to premiere, create profile images (square ratio) for each cast member to use as their profile photo. Facebook is more likely to show their friends when a profile image is changed compared to a simply posting a photo. PR and Marketing I'm not going to pretend to be an expert in Public Relations, but like any and all marketing, if you want to stand out in a crowd, do something everyone else is not doing. A great example is a hand-written letter mailed to the newsroom and specific reporters of news organizations you wish to have in attendance at your show. When was the last time you got a hand-written note from someone that wasn't a birthday card? No matter how long ago it was, I'm sure you remember it. Secondly, find your audience from outside the theater world. If you followed the advice in part 1, you have a unique show with a specific audience in mind. Now it's time to find that audience and find a way to speak to them about your show in their language (literally and figuratively). This may be a matter of targeting online ads, reaching out to Meetup coordinators, or joining Facebook groups, but either way your audience is out there and finding them is going to be your biggest challenge. Use your board to organize not only who to contact and what social media platforms to target, but also to set deadlines for completing tasks. It's easy to get overwhelmed, so creating a schedule will help keep you sane. I recommend your marketing efforts begin no later than 1 month out from your opening night. Make sure you have a web presence for your show so you always have a Call-to-Action available when talking about your show. Rehearsals Break each rehearsal into its own card on your board, then make sure to include all the details about what you will do as well as what you want out of that rehearsal. Are you working form? Do you have any guests to help you coach? What warm-up games will your cast play? What elements of the show still need to be tested and what are the variations? The one benefit of using Trello is the ability to create checklists on the card and most importantly, create checklists on a card that are a copy of a previous checklist (from a previous rehearsal for instance). It's a time saver. Show Production Props, costumes, audio, video, lighting... all of these elements are part of the show production and need to be planned. At the very least, it's a place to store ideas that come to you throughout the rehearsal process so you don't forget them later when you start setting the stage. When it comes to production, I strongly encourage you to think back to the feel you are trying to invoke with your show and make sure the production reflects that. From the moment your audience steps into the theater they should be entering the world you will be creating on stage. Create something special, something for your audience to talk about and look at before the show even begins. You want to set the mood, even if it's just through the choice of pre-show music. I need to address one more important detail: copyright. Just because it exists on YouTube or online doesn't mean you can steal it for your show. Not cool. There is a license called Creative Commons that many creators use to share their work. That includes some work that uses CC0 which puts work into the Public Domain (no attribution required). You can get images from Unsplash or Flickr, video clips from Pexels and YouTube (via search filters), sound effects from FreeSound, and music for CCMixter. The content is there for you to use, legally, just review the CC license and proceed to create something amazing. Show Elements This is a breakdown of your form, including any fixed elements such as games, opening acts, getting suggestions, etc. Placing each thing as a separate card allows you to easily reorder the show or add/remove elements as needed as your show evolves. --- ### Guide to Producing an Improvised Show | Rehearsals - Published: 2017-07-28 - Modified: 2017-07-28 - URL: https://mariolurig.com/improv/guide-to-producing-an-improvised-show-rehearsals/ - Categories: Improv - Tags: improv, producing, rehearsals, theatre This is Part 3 of a series documenting and analyzing the process of producing an original improvised theatre performance. Rehearsals are ruined by indecision and inaction. Try it, decide, move on. Rehearsal schedules vary depending on the cast, familiarity with the form or structure, and cast size. This article focuses on an 8, 2-hour rehearsal sessions of a brand new show with a fresh cast. To that end, the rehearsal schedule should be broken into three main phases: Discover and finalize the structural elements of the form from beginning to end. Practice the form with direct, immediate feedback on the improvisation itself. Polish the overall feel of the show as all elements come together. The length of each phase varies based mostly on the length of time #1 takes, but it's important to make time to accomplish all three parts of the show. What happens too often is that the final phase, #3, is left until the final dress rehearsal or even the first public show. This is a mistake that can lead to frustration for a new director. If you've figured out what you want aesthetically in the show, that has to be part of it the whole way. Lucky Johnston, Director, "Isn't It Too Dreamy" The cast, regardless of their experience, are looking to you for the final decision. That doesn't mean you need to be closed to ideas; you can encourage the cast during the first phase to speak up if they have an idea about something that would look/feel/be better than what you had been doing. The best response to that is, "Let's try it. " It costs only a few minutes, but the easiest way to know if something works or doesn't is to see it play out and the answer will usually be pretty clear to you and your cast. If it is not clear, make the decision. Don't waste rehearsal time debating; if you can't make the decision now, take a note for yourself and move forward in rehearsal. Time has value. Don't Be Afraid to Ask for Help Like many first time directors, you will likely seek outside advice on struggles you are having or advice on planning the show (that's why I assume you're reading this article). Be aware that you don't have to limit your ask to simple advice. The strength of any great leader, whether a director, general, or CEO is the ability to surround yourself with people who can be experts in areas where you are weak or less experienced. For Three Minute Fiction I recruited the assistance of two other improvisers whom I and others I had played with respected for their ability to coach improvisers in a direct and helpful way. Each guest coach was given a full rehearsal to dive into the choices and scenes my cast was making with such expertise that I could match it with twice the time. Side Note: Say thank you to those whom you reach out to, commiserate with the ask. In my case, the guest coaches were treated to the beverage of their choice at the start of rehearsal. Small gesture, but full of gratitude. Doing a lot more side coaching, being a lot more direct with notes... improving my communication is something I would keep in mind. Lucky Johnston, Director, "Isn't It Too Dreamy" Two final pieces of advice for the rehearsal: plan and inform. The former will be the next post in this series. The latter, inform, is a reminder to share with your cast prior to rehearsal any notes, goals, or other information that is simple one-way communication. This saves you from eating up valuable rehearsal time. Whether that be done through email, group SMS, or a private Facebook group, have your cast buy-in to the communication method early and use it to keep them informed about what to expect and what you expect from them. Featured Image: keystone kops by James Drury (CC-BY-ND) --- ### Adding Video Presets for Adobe Premiere Elements 14 and 15 - Published: 2017-07-04 - Modified: 2025-06-30 - URL: https://mariolurig.com/misc/adding-video-presets-adobe-premiere-elements-14-15/ - Categories: Miscellaneous - Tags: Adobe, Facebook, Instagram, Premiere Elements 14, Premiere Elements 15, video This tutorial will help you create new video presets by editing existing presets. It also includes some additional presets you can copy/paste and use right away. You can find the existing presets for Adobe Premiere Elements 14 or 15 a few different ways. First, you can search for files with the extension . sqpreset which is short for SequencePresets. On Windows, you will most likely find the files under: C: > Program Files > Adobe > Adobe Premiere Elements 14 > Settings > SequencePresets > NTSC > AVCHD OR C: > Program Files > Adobe > Adobe Premiere Elements 15 > Settings > SequencePresets > NTSC > AVCHD I've chosen this location because the default preset for Elements is called Full HD 1080i 30. sqpreset and located in this folder. You will want to save a copy of that default file, choosing a new, appropriate name for your preset, then edit that file in a plain text editor such as Notepad, Notepad++, or TextEdit. What you'll see is called XML. You are interested in the following sections: (see the section for your language, e. g. en_US) Editing both DescriptionItem's field should be self-explanatory, same with NameItem's field. For VideoFrameSize, it should be in the format 0,0,horizontal,vertical So that a Full HD horizontal video would be 0,0,1920,1080 and a vertical video would be 0,0,1080,1920. Once the file editing is complete, save it, then open a new project in Adobe Premiere Elements and select your new preset! Save time by downloading the presets I've included below. Social Presets for Download Right-click and Save Link As... Save them to your Adobe Premiere Elements folder under > Settings > SequencePresets > NTSC > AVCHD Instagram Square (1080x1080) Facebook Vertical (1920x1080) Facebook Cover Video (820x312) --- ### How to Produce an Improv Show | Auditions - Published: 2017-06-26 - Modified: 2017-07-21 - URL: https://mariolurig.com/improv/how-to-produce-an-improv-show-auditions/ - Categories: Improv - Tags: 3MF, auditions, improv This is Part 2 of a series documenting and analyzing the steps to producing an original improvised comedy show. The more relaxed your actors are, the better their auditions will be. I know it's tempting to go down the tough director route, not showing emotion and being cold and calculating, but remember, these are people you will be working with in the future and you want to see their best in the few minutes you have to evaluate them. You'll likely have to make some tough choices regarding who you will take and the differences are going to reveal themselves when the actors are at their best. Greet them warmly, be clear on your instructions (if there are rules to the games, make them available prior to the audition for actors to review), and ask them if they have any questions before starting a scene (clarity = quality). There's a reason that you do it in a collaborative way. You get a much richer result than if you were some kind of weird dictator. Lucky Johnston, Director, "Isn't It Too Dreamy" Your auditions should be in groups of 3-4 improvisers and include 2-3 different games that highlight aspects of your core show including: mood/feel, improv skills (edits, characters, objects, etc), show mechanics. You should also have a timer to keep you on schedule during the rehearsal. Just assume 20% more time than allotted. For instance, if you have two games that will be 9 minutes each (18 total) out of a 20 minute time slot, thus allotting yourself 2 minutes for explanations, you're likely to go over a 20-minute audition block by 4-5 minutes. It's best to plan your timing for 20% less than the allotted time slot. So, using the previous example, this would mean reducing the games to 7 minutes each (14 total plus 2 minutes instruction). Scoring and Rating your Improvisers I'm sure there are a ton of different methods for doing this, but I'll introduce you to two. The first one is to take notes, positive and negative, about what the improvisers are doing on-stage during the audition. Then, at the end of the audition block, rate them on a 5 or 10 point scale based on your notes. This may include bonus points if two improvisers have an existing history working together as that familiarity may add to the overall quality. The second method, which is what I used during my auditions, was to use +1/-1 (heavier on the plus marks) tick marks for each performer. I was looking for different improv skills being used (+1), such as strong characters, edits, and object work. I would only give 1 point for that skill, i. e. if it was used again they would not get an additional point. I would also give points for playing by the rules of the game. In my auditions, that meant keeping within a particular book title, genre, and setting. Finally, additional points for following the goals of the show. In my case, this was if they were building on a story from scene to scene and there was a clear thread connecting those scenes. For Lucky Johnston, he assigned value to dynamically different characters. Do what is right for your show. I was stingy about reducing points (-1), limiting it to behaviours that make the scenes more difficult for themselves and the other performers on stage. When the auditions were over, I then looked at the total number of points they had earned as well as the percentage of points they earned out of the total points given out in their audition block. Here's a quick example: Audition One Bobby - 13 points (50%) Jane - 9 points (35%) Marc - 4 points (15%) TOTAL: 26 points Audition Two Sarah - 10 points (37%) Lyon - 9 points (33%) Francis - 8 points (30%) TOTAL: 27 points In the above example, it's clear that Bobby is a strong choice for the show. Comparing both audition groups, the total points awarded were similar so you could say that the the overall skill for the set was equal. In that regard, looking at just points we can't decide between Jane and Lyon. Looking at percentages however, Jane moves slightly ahead which, if we're honest, is the margins we use when selecting one cast member over another. That's why I use this system, but it's analytics heavy, which is not for everyone. In the next part of the series I will cover the rehearsal process: planning, structure, and staying connected to your cast. Featured Image: Audition Workshop by Nick Ansell (CC-BY-SA) --- ### Guide to Producing an Improv Show - Concept - Published: 2017-06-02 - Modified: 2017-06-02 - URL: https://mariolurig.com/improv/guide-produce-improv-show-concept/ - Categories: Improv - Tags: 3MF, improv This is Part 1 of a series documenting and analyzing the steps to producing an original improvised comedy show. Start with the target audience, then build your show; otherwise, be prepared for an uphill battle. Sometimes you're inspired by a thought, a scene, or maybe it was a dream about a bunny with a stethoscope. Whatever the idea, you thought to yourself, "That would be a really fun show. " Now ask yourself one question first and foremost, "for whom? " If you had to think about it or you answered yourself, then you need to step back for a moment. Think of improvised theater as "Theater, improvised. " Pop quiz: Which show are audiences more likely to attend: Hamilton or Anton in Show Business? Both are great shows, but you've probably never heard of the latter (and it definitely is less likely to draw ticket buyers). Here are a few ways to source a theme for your show: Current Events Fads Movies/Books Reality TV Consider a show I'm currently a part of: Isn't it Too Dreamy, a Twin Peaks parody and homage. Twin Peaks and its creator David Lynch has a cult following, and with a new season releasing 25 years after the show went off the air, there is a dedicated and specific audience to target for the show. That doesn't mean marketing is easy (how do you find them? ), but it does mean it is easier. Structure I may never be qualified enough to tell what would make a good show structure, but once you have an audience and a theme, it's time to get a general idea of what, if any, structure your show will have. For instance, if your source material is another work of fiction, your show will most likely work best with a 3 or 5 act structure. Some established forms, such as the Harold, lend well to this structure. Remember, the first thought is understanding what the audience would expect, then using that as a starting point. Remember, you can still surprise them. For my show Three Minute Fiction, the theme is basing an entire night on a well-known fiction book, drawing on an audience of book lovers and specifically those who enjoy the world or setting for a particular book. Secondly, the structure flips an improvisers biggest tool, a hard sweep, by delivering it into the hands of the audience. Every three minutes, a timer (i. e. structure) goes off and the audience's applause will determine whether the scene they see on stage continues or whether it should change (i. e. sweep). Most importantly, each new scene is started with a line from the book itself, provided by the audience before the show (and supplemented by me, the producer, to ensure there are enough). Including audience participation before and during the show can dramatically improve their engagement and investment in the show. How excited would you be when a scene starts with your favorite line from a book you love? Originally, the timer would require the audience to provide a negative reinforcement (buzzer sound) to change the scene, but this was altered for one key reason: Don't encourage your audience to be negative or feel uncomfortable with your request. Also, it takes them out of the show/moment they are in by having to remember what they need to do. By simplifying it to applause (positive action) and nothing (inaction), it doesn't burden the audience with instructions beyond what comes naturally: applause. That's enough for now. In part 2 we'll talk about the audition process. Featured Image: Lost in Thought by Marina del Castell (CC-A) --- ### The Finalists of Denver's Next Improv Star - Season 8 - Published: 2017-05-19 - Modified: 2024-06-01 - URL: https://mariolurig.com/misc/the-finalists-of-denvers-next-improv-star-season-8/ - Categories: Miscellaneous - Tags: Bovine Metropolis, DNIS, improv Labeling Denver's Next Improv Star as a competition is a bit disingenuous. A live, improvised show at the Bovine Metropolis theater in Denver, CO challenges its contestants cast by working together in groups for 14 weeks in a series of surprise challenges, culminating in the finale with 2017's four finalists: Brittany Lee, Dre Ford, Elizabeth Komos, and Luke Biedscheid. This is the eighth season of DNIS, and through each week's challenges, each player must help and elevate their competition to succeed themselves. As soon as opening night happened, it felt like we're totally here to support each other... putting on a good show and doing good improv. Elizabeth Komos Every improv scene is built by the choices of each of the players and their combined choices create something new and unexpected for the audience and the players themselves. Improvisers will use terms like gifts, elevate, heighten, "Yes, And", all defining different methods of working with your other players to create together. This level of collaboration isn't just unique to an improv competition, but it's also critical. Brittany put it best, "I don't really feel like I walked into it feeling that competitive angst. I don't know what their strengths and skills are, but they all have something to offer and help me grow, just like I have a lot to offer them. " The coaches and judges reinforced this idea during their rehearsals and the finalists found focusing on the performance was the largest contributor to their success. Out of the four finalists, Luke Biedscheid experienced things quite differently. Eliminated part way through the competition, he was relieved at the time to step away from the show. "I started getting into a state of mind where I was really unhappy with the way I performed every night. The shows started getting worse... I couldn't trust myself in shows and if I couldn't trust myself I couldn't trust other people either. " Other finalists expressed some of the same difficulties with getting in their head and that having a negative effect on their performances. For Luke, the break from the show was met with a personal tragedy that reset his focus. When given the opportunity to get back onto the show with the elimination challenge, he realized, "This is a thing I love. I'm going to get back to making giggles! " That drive has brought him to the finale and has been reflected in every scene since his return. One weekend in March I ran a half-marathon on a Sunday in New York. I had to do the show, take a red-eye flight, literally land, then go run the half-marathon. Brittany Lee The 4 month DNIS season was a large commitment for every one of the finalists. "There were times were I'd have OTS rehearsal and then run DNIS that night. The commitment wasn't too much... once the show started and that adrenaline kicked in, didn't matter," said Dre. While they didn't know how long they would be part of the show, each finalist was also part of other shows or rehearsals. Brittany's involvement in other shows was viewed as a benefit; it gave her an opportunity to keep her skills fresh. For Elizabeth, DNIS was her first improv audition. "I was feeling really excited when I was cast, but also slightly terrified. " She had auditioned specifically to get over a fear of auditioning, but suddenly found herself in a new situation. "I was shocked and then really excited, then super scared and intimidated, knowing that there were other people doing the show that had more experience than I did. Then I ended on excitement again. " I reached out to fellow improvisers. It was a lot of self-reflection. How do you take that feedback and make yourself a better improviser. Dre Ford With each week passing, the cast began to dwindle as more individuals exited the show. While this meant each of our finalists were moving on, it also meant that they were watching friends be eliminated. "You never want to see anyone go home or have that rough scene," said Dre. The cast has actually been doing a ritual before each show while the video introducing the entire cast is played for the audience. Dre explained, "We have a little toast and we pour out some of the invisible alcohol for all of our fallen improvisers. " Our first scene together, just stomped out in the middle of the stage and she gave me this death stare. Oh God, I've got to go in there. For the rest of the show she was the very powerful wife of mine and I cowered before her. Luke Biedscheid With the sold out finale, the improvisers were sad to know the show was coming to an end, but happy to continue doing what they love. Each of them is continuing the tradition of putting on great shows through Bovine house teams. Finally, when asked about their own strengths on the stage, each finalist found it a challenge to answer. After all, they spend their time focusing on their other performers. Luke put it best: "It's kind of hard to think what my strengths are. I'm going to say my beard. " Photography by Eric Farone Bonus Video During the interviews, I asked all 4 finalists, "What do you love about each of your other improvisers? " These were their replies, using their own voices. --- ### Designing a Better Flyer for Starfest: Fold Your Own Adventure - Published: 2017-04-20 - Modified: 2017-04-20 - URL: https://mariolurig.com/marketing/starfest-flyer-fold-your-own-adventure/ - Categories: Marketing - Tags: Fold Your Own Adventure, HeroMuster, StarFest Let's be honest: Flyers in convention bags are ignorable. When I got the opportunity to include 1000-2000 flyers in the bags of convention goers at the 2017 StarFest convention in Denver, I knew I had to do something different, else I'd be throwing away $200 worth of printing and paper. I decided to set out some guidelines: Flyer must provide entertainment for the reader. Flyer should not require any additional tools not easily accessible (e. g. writing utensil is okay, dice are not). Flyer should be rated PG and be fun regardless of attendee's pop culture knowledge. Flyer should encourage real-world sharing and interacting with other attendees. Notice a key focus: Entertain first, advertise second. I'm a big fan of reciprocity in marketing, because it creates a stronger connection between a brand and a consumer, which in turn improves word-of-mouth advertising. I reached out to a local group of con-goers and game masters to get some ideas: Trading cards One-page RPG (e. g. Honey Heist) Choose Your Own Adventure™ variant QR code scavenger hunt Origami, specifically nostalgia driven Word search or maze I loved quite a few of these ideas and decided to try and combine two of them: Origami and CYOA. This involved a multitude of steps including: graph paper folding, inking, and scanning; digitally re-inking and fixing lines; generating reference images for folding, placing text, labeling lines, and writing text; mapping the flowchart of possible choices; and finally writing three distinct stories. It took a week's worth of work to complete everything but the stories, and then it was stories, play testing, edits, changes, and story completion. Honestly, it became a much bigger project than I originally intended, but as I'm writing this (2 days before the event) I am hopeful that all of the effort will be worth it. The entire project would drive readers to HeroMuster. com through on-page branding, where they can enter their email address (Call-to-Action) and be able to download all three stories, just in case they couldn't find someone at the convention. Finally, a hashtag #FoldAdventure was added to the page that has never been used before on Twitter, so attendees could use social media effectively to find others that have a different story (each story is on a different color paper to make this easy). I'm super thankful to all the play testers who took a good idea and made it great by letting me watch how they interacted with the adventures. If they struggled, I made a change. There are 1500 flyers going out at StarFest, and I would estimate less than 15 people (1%) would normally visit the website for a basic flyer, so we'll see what happens. Till then, there is a special Fold Your Own Adventure page on HeroMuster for non-convention attendees to find and try. --- ### Open Legend RPG: Redesigning the Data - Published: 2016-12-10 - Modified: 2017-01-20 - URL: https://mariolurig.com/web/open-legend-rpg-redesigning-data/ - Categories: Websites - Tags: Bootstrap, HeroMuster, open legend, roleplaying, rpg Recently I stumbled upon a Kickstarter project called Open Legend RPG, an open source roleplaying game. The system is a labor of love that has been built over the last 4 years and was now ready to bring to a larger audience. The creators were raising money for printed additions, additional rulesets , and pre-made adventures, but the beauty of the system was that all the rules were online already; anyone could play it without spending a dime. The spirit of open source is: Denoting software for which the original source code is made freely available and may be redistributed and modified. While this isn't accurate in the truest sense for Open Legend, they provide an incredibly wide commercial and non-commercial license (currently under revision for clarity and more openness) so many parts can be reprinted and recreated. Years ago I contributed some effort to the now defunct open source project, Software for Starving Students. Since then my open source contributions have been limited, but Open Legend offered a new opportunity. I re-imagined and redesigned the layout for 3 core game elements: banes, boons, and feats. I then launched a micro-site under the HeroMuster domain where I can host the Open Legend RPG Toolkit. Responses have been favorable so far from the community, and with that encouragement I intend to build more tools that I could never create (and publicly release) for other systems (like Dungeons & Dragons). I'm happy with the work and the core ideals of this system, so feel free to check out the tools if you're at all interested in Open Legend! Sidenote: The image above is a mashup of the Open Legend logo and the HeroMuster logo, which works incredibly well. Update: January 20, 2017 The site now includes a character creator for people to use, but to make it as widely available as possible, I've also created an Open Legend Character Sheet PDF and Open Legend Character Sheet JPG. --- ### Camera Ratio Reference Images for Social Media Sharing - Published: 2016-11-25 - Modified: 2024-06-01 - URL: https://mariolurig.com/marketing/camera-ratio-reference-images-social-media/ - Categories: Business, Marketing When you're planning a shot, specifically in the case of food photography, framing is very important. However, usage is just as important of a consideration, because images can be used for print ads (portrait layout), social media (landscape and square), menus or websites (varies). Once you are aware of how the images will be used, the next step is figuring out how to frame your shots to accommodate not only cropping, but space for additional graphic design work (ads). To that end, it's important to know how common social media sizes relate to your camera's natural ratio. Below you'll find two options, for both a 4:3 ratio common with point-and-shoot cameras (like my Canon Powershot S95) and a 3:2 ratio common with DSLR cameras, cropped and full frame (e. g. Canon EOS 5DS or Nikon D7200). You can download them as a PSD (photoshop) file or a PDN (Paint. Net) file. All boxes and text are separated into layers for easily hiding what you don't need. Remember, these aren't absolute crop guides, they are meant as a visual aid to memorize or print so you can better frame your photos. 4:3 Ratio (Point and Shoot) Landscape Mode: PSD | PDN Portrait Mode: PSD | PDN 3:2 Ratio (DSLR) Landscape Mode: PSD | PDN | JPG Portrait Mode: PSD | PDN If you are looking for resources to the actual sizes for social media sharing, here are some additional links that will help: Infographic: Numerous social websites and their reference sizes (note: Facebook Cover Image size incorrect) | Image Mirror Up-to-date Facebook sizes (Facebook Page) Bonus: Facebook grid template to stay within the 20% text rule (if you are creating ads) --- ### The Startup Guarantee - 3+ Years in Business - Published: 2016-11-03 - Modified: 2016-11-03 - URL: https://mariolurig.com/business/startup-guarantee/ - Categories: Business The Startup Guarantee We guarantee that our service will be operational for 3+ years, starting from the day that you signed up for an account. We stand behind this with a money back promise, for up to 1 year of service, if we violate this guarantee. Why Offer a Guarantee? Online services, especially for businesses, require more commitment and trust between the customer and the service. To that end, one of the top concerns of a potential customer is simply, "If I invest my time and money with you, will you still be here in 6 months? " This guarantee is about promising that the service will continue to run, but placing stakes on that promise, in the form of a refund for services paid for if the guarantee is broken. If you'd like to use the guarantee for your online service (SaaS — Software as a Service), here are a few tools for you. Startup Guarantee Images Right-click and Save As... Link back to this page so your customers understand the pledge. SVG Vector File (4KB) PNG Transparent Background (9KB) JPG White Background (14KB) --- ### Free eBay Template Built with Bootstrap - Published: 2016-10-26 - Modified: 2024-06-01 - URL: https://mariolurig.com/forsale/free-ebay-template-bootstrap/ - Categories: For Sale - Tags: Bootstrap, eBay Special Thanks to Phil Cryer for the initial idea and code. This no longer works on eBay due to conflicting CSS with Bootstrap 3 There are two types of listings on eBay you see the most: Casual sellers using the simple text editor for their description, and power sellers using outdated non-responsive templates that are distracting and dated. Here comes Bootstrap to save the day for either one of those customers. First off, if you want to see the template (as used), there is a demo page available. Please note that the demo uses . container to better simulate the look within an eBay listing, while the code below uses the . container-wide class, which fits better when within the built-in eBay description container. Since the current design trend is towards cards, I adjusted the original to fit this type of layout, also dropping labels for buttons for better responsive rendering. There is also the use of . clearfix to fix breakpoints from the cards not clearing properly at the . col-md size. Just like the original creator, this is under the CC0 license (do whatever you want with it), so make your auctions shine! OverviewContents: 20000mAh Power Bank 2. 1A & 1A Dual Charging Type-A to Micro-B USB Charging Cable, 1 ft length (no wall adapter provided) ShuoGe 24W Car Charger 2. 1A & 1A Dual Charging Black Drawstring Carry Bag Compatible Devices: iPhone 4/5/6/7 (Plus) iPad (all, Pro, Mini) iPad Air 1/2 iPod Touch (all) Samsung Galaxy S/J (all) Galaxy Grand (all) Galaxy Note (all) Nexus 5/6/5X/6P Google PixelCondition: New Quality Tested No PackagingBenefits: Save 25% off retail Supports faster charging via 2. 1A output Slim 6" x 3" x 0. 5" battery size 25/50/75/100% charge indicators Aluminum power bank Recharge phone ~5 times Recharge tablet ~3 times Built-In LED flashlight (depress button for 1 second) Quality Control Testing All electronic devices are thoroughly tested for the following before sale: Verify USB ports charge individually Verify USB ports charge simultaneously (see photo above) Verify power banks recharge Verify power banks hold/retain recharge Verify voltage above 1A from 2. 1A port Quality control is completed at the Slowpreneur Inc offices in Erie, Colorado, USA. Packaging Height Packaging < 1 inch Bubble Mailer > 1 inch Cardboard Box Shipments Handling We will ship all orders within 1 business day of payment. Delivery Shipping is included for free with your purchase: Weight Shipper Service Delivery Time than 13 ounces USPS Priority Mail 1-3 business days* *Delivery times are after handling. Times determined by carrier and are subject to change. Payment We accept PayPal. Return Policy All of our items are backed by eBay's 14-day return policy. Buyer is responsible for return shipping. Feedback We take our reputation seriously. If you are unsatisfied by your order, please contact us and we will work with you to resolve it to your satisfaction. --- ### How to Stop Email Spoofing in G Suite - Published: 2016-10-05 - Modified: 2016-10-05 - URL: https://mariolurig.com/business/how-to-stop-email-spoofing-in-g-suite/ - Categories: Business G Suite, formerly Google Apps, offers many tools, but most importantly it offers branded Gmail for your domain; critical for any real business. However, if you've had an established domain for a long time, it's likely you have started to see bounces or spam responses with FROM addresses @yourdomain. com. However, the first part of the email is gibberish and not a real email address from your account. This behaviour is called email spoofing and can be harmful to your brand and your email deliverability. However, removing this is relatively simple. It needs to be completed in 3 steps. Login to the admin console got G Suite and adjust the following settings: Disable outbound gateways (Settings for Gmail > Advanced settings) Discard the email; Catch-all address (Settings for Gmail > Advances settings) Authenticate email with DKIM (Settings for Gmail > Authenticate Email) Tip: Use the search bar to quickly access Settings for Gmail. The DKIM setup is more involved, but Google's help can assist you with those changes which need to be done with your domain name hosting company. --- ### Selectize.js ComboBox: Cloning and Destroying - Published: 2016-08-08 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/selectize-js-combobox-cloning-destroying/ - Categories: Coding - Tags: Bootstrap, jQuery Selectize. js is a javascript library that allows you to offer more complex HTML select boxes, such as combining a select and an input box, commonly known as an autocomplete combobox. Most importantly, they have a built-in stylesheet for Bootstrap 3. However, I discovered a problem when you are trying to add another form field dynamically, specifically using jQuery's . clone function. However, selectize does not clone well... it breaks horribly. The key you must . destroy the selectize prior to cloning. Of course, another problem occurs then: The select element, upon selectize. destroy, will reset the value to the last option. Solution? Store the value, destroy, then set the value. // When add button is clicked $('#add'). on('click',function{ $('. combobox'). each(function{ // do this for every select with the 'combobox' class if ($(this). selectize) { // requires to select the proper object var value = $(this). val; // store the current value of the select/input $(this). selectize. destroy; // destroys selectize $(this). val(value); // set back the value of the select/input } }); $('#monsters . form-group:first') . clone // copy . insertAfter('#monsters . form-group:last'); // where selectizeme; // reinitialize selectize on all . combobox }); Here's a working demo of the functionality. --- ### Pokémon Go for Business: A Guide to Capturing New Customers (Kindle) - Published: 2016-08-06 - Modified: 2024-06-01 - URL: https://mariolurig.com/books/pokemon-go-business-guide-new-customers-kindle/ - Categories: Books - Tags: e-book, marketing, Pokémon Go "Pokémon Go for Business" is a new ebook dedicated to helping every consumer facing business attract new customers. Well researched and full of specific, qualified ideas, the book helps explain the mobile game obsession to those who may never have heard of Pokémon before. Most importantly, it breaks down marketing ideas based on specific criteria, such as: Lure Modules, Gyms, and five distinct business types (e. g. Active Shopper, such as a retail store). Available now on Amazon sites worldwide. Included with this book are free Pokéstop icon templates (external download) and an employee handout (external download); the resources you need to get started DOING, not just thinking. The first layer of the table of contents is listed below for your convenience: Introduction to Pokémon Go Lure Modules: Who, When, and How Often Marketing Toward Pokémon Go Players Without Lure Modules Category Specific Marketing Promotional/Guerrilla Marketing Future Pokémon Go Features Pokémon Go Quick Player Guide --- ### PHP Alternatives for Nested IF Statements - Published: 2016-08-05 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/php-alternatives-nested-if-statements/ - Categories: Coding - Tags: PHP We've all done it. It starts as a single IF statement: if (empty($var)){ // does it exist? $error = 'No username entered'; return $error; } // everything is OK Then we decide, we need to check something else, so we just add in one more IF statement: if (empty($var)){ // does it exist? $error = 'No username entered'; return $error; if (strlen($var) > 20){ // Is it too long? return 'Invalid username'; } } // everything is OK Suddenly, after some more additions and validation, you're suddenly stuck with 4 nested IF statements and it's starting to get messy. if (empty($var)){ // does it exist? $error = 'No username entered'; return $error; if (strlen($var) > 20){ // Is it too long? return 'Invalid username length (20 character max)'; // Uses an imaginary function called valid_characters if (! valid_characters($var)){ return 'Invalid characters used (letters, numbers, underscore only)'; // Check database for existing username using imaginary function db_username_exists if (db_username_exists($var)){ return 'Username already exists (try again)'; } } } } // everything is OK Let's explore two methods of improving this (Hint: The last one is my recommendation). Bitwise Assignment Operators &= and |= An exceptionally clear example on php. net explains: $a &= $b is equivalent to $a = $a & $b Bitwise And $a |= $b is equivalent to $a = $a | $b Bitwise Or Let's look at this in terms of our previous example: $valid = true; // Set the expectation $valid = ! empty($var); // does it exist? $valid &= ! (strlen($var) > 20); // Is it too long? if ($valid){ // everything is OK } This example can also be displayed as: $valid = true; // Set the expectation // Valid only if it exists and it's not too long $valid = ! empty($var) && ! (strlen($var) > 20); if ($valid){ // everything is OK } However, now we have a problem. We've lost the individualized error messages. Sure, you can have code comments, but let's look at another solution. Using a Do-While Loop A do-while loop executes prior to the evaluation. More importantly, you can break out of it, so no need to nest; stack instead! $error = false; do { // Did they enter anything? if (empty($var)){ $error = 'No username entered'; break; } // Is it too long? if (strlen($var) > 20){ $error = 'Invalid username length (20 character max)'; break; } // Uses an imaginary function called valid_characters if (! valid_characters($var)){ $error = 'Invalid characters used (letters, numbers, underscore only)'; break; } // Check database for existing username using imaginary function db_username_exists if (db_username_exists($var)){ $error = 'Username already exists (try again)'; break; } // everything is OK } while(false); if ($error){ return $error; } One of the great uses, as demonstrated above, is providing error responses that increase in specificity. More importantly, the least complex evaluations require less work by PHP to process, so running them first then breaking out is a great way to make sure your code isn't working too hard. Most importantly, your code, comments, and overall flow is much cleaner and easier to review later. --- ### Install Apache, MySQL, PHP5, and PHPMyAdmin on Debian "Jessie" - Published: 2016-07-04 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/install-lamp-debian-jessie-apache-mysql-php5-phpmyadmin/ - Categories: Coding - Tags: apache, debian, jessie, lamp, MySQL, PHP, PHPMyAdmin This is a quick guide to getting an Amazon EC2 server up and running with LAMP and PHPMyAdmin based on the LTS (Long Term Support) Debian version 8. 5 "Jessie". This guide was written using the Community AMI image debian-jessie-amd64-hvm-2016-04-03-ebs for Debian "Jessie" and assumes you are able to launch the server and connect via SSH. Amazon assumes an EBS volume of 8GB (t2. nano) or 10GB (t2. micro), but if the server will be storing very little, the real minimum size of the EBS can be calculated safely as: 1. 5GB + (RAM x 2) That is roughly 3GB EBS for t2. nano, and 4GB EBS for t2. micro. Update Package Info sudo apt-get update Install LAMP Packages sudo apt-get install apache2 apache2-utils mysql-server php5 php5-mysql php5-curl php5-cli libapache2-mod-php5 * Choose a root password for MySQL Enable Useful Apache Modules sudo a2enmod headers sudo a2enmod rewrite Edit Apache Config for . htaccess Usage sudo nano /etc/apache2/apache2. conf Change AllowOveride under from None to All Options Indexes FollowSymLinks AllowOverride All Require all granted Change Server Timezone sudo dpkg-reconfigure tzdata Restart Apache & MySQL sudo service apache2 restart sudo service mysql restart Adjust User/Group and Read/Write/Execute on Web Folder sudo chown -R www-data:www-data /var/www/html sudo chmod -R 775 /var/www/html Also add the admin user to www-data group sudo usermod -aG www-data admin Install PHPMyAdmin (Answer YES to use DBconfig) sudo apt-get install phpmyadmin * Make sure you set a password for the phpmyadmin user Add PHPMyAdmin to Apache2 Config sudo nano /etc/apache2/apache2. conf ADD TO FILE: Include /etc/phpmyadmin/apache. conf Tip: How to Workaround No Password Set for User sudo nano /etc/phpmyadmin/config. inc. php UNCOMMENT IN FILE: $cfg = true; Restart Apache, then you will able to login without a password at /phpmyadmin/ (NOT RECOMMENDED). --- ### Change the Legal Name of Your S-Corporation in 5 Steps | USA, Colorado - Published: 2016-06-23 - Modified: 2024-06-01 - URL: https://mariolurig.com/business/change-name-s-corp-usa-colorado/ - Categories: Business After recently selling all of the assets of Dice Candies, it was time to change the name of my umbrella S-corporation from Dice Candies Inc to Slowpreneur Inc. These steps are here to help ensure you don't miss a step. One quick note: While many of the links are specific to the state of Colorado, the steps are the same anywhere in the United States. 1) Articles of Amendment The Articles of Amendment are an official document submitted to the Secretary of State's office, where the corporation is registered, declaring the name change. Usually there is a small fee involved ($25 for Colorado). This first step is critical because the document is later used as proof for all other agencies and companies. 2) IRS: Internal Revenue Service The IRS offers a quick guide on updating your company name, with their primary suggestion being to use a particular Line/Box on your annual tax form. However, if you would rather get it done immediately (or you have already filed your taxes for this year), you can submit a letter to them. The IRS mailing address changes depending on your state, but for Colorado it is Department of the Treasury, Internal Revenue Service, Ogden, UT 84201-0013. I've created a template letter for you to download (. docx) which has numerous comments to guide you through the changes, though they may seem obvious. Most likely your EIN number will not change, but this will be confirmed in the reply letter you receive from the IRS. 3) Department of Labor and Unemployment It's likely that you are filing quarterly documents regarding employee compensation and paying the appropriate taxes, and you need to notify this department separately (they don't just pick up the Articles of Amendment filed with the state). There is no fee in Colorado, but there is a web portal or a mail-in fillable form that requires you include the Articles of Amendment. 4) Banking Institutions If you will be receiving payments, they will now need to be to your new corporation name. Thus, you need to update the record for any invoicing tools you use and most importantly, bring the Articles of Amendment with you to your local bank teller; they can update your company record (as long as the government issued EIN number is unchanged). 5) Miscellaneous Logos, letterhead, website... all the little things need to be updated. Don't forget your company voicemail and email signature! --- ### Picky Mat - Make Your Own Cat Food Dish Liner - Published: 2015-12-30 - Modified: 2024-06-02 - URL: https://mariolurig.com/business/picky-mat-make-cat-food-dish-liner/ - Categories: Business - Tags: kickstarter, picky mat While I'm sad that the Kickstarter project failed for Picky Mat, I know the product works and I know it solves a real problem: cats who complain when they eat their dry food and suddenly see the bottom of the dish and consider their dish empty. Picky Mat solves this by removing the discouragement and in some cases retrains the cat to eat more of their food even after the mat is removed. All that being said, I didn't want that work to go to waste, so here is a quick tutorial in making your own DIY Picky Mat. Items Needed 3M Scotch Self-Sealing 4x6 laminating pouches (Amazon add-on $3, Walmart in-store $5. 50) 4" x 6" photo print of the Picky Mat image, right-click Save Image As (Walgreens and Walmart in-store for less than $0. 30) Scissors Steps Get the image printed at home or at a local photo kiosk (Walgreens, RiteAid, CVS, Walmart) for a few cents. The image is a perfect 300DPI image for a 4"x6" photo. The self-sealing pouches come in a 5-pack, so don't worry if you make a mistake. First and foremost however, you need to use the scissors to cut down the photo to fit in the bottom of your cat food dish. You actually want it slightly smaller, because once in the pouch you need some space for the two-sides of the pouch to seal together. Once you have cut down the photo to size, follow the instructions to slip it into the pouch. One important change: The image should face the bottom (thinner plastic) of the pouch. The reason is I called 3M and found out that the top is made of polyester, while the bottom is made of polypropylene (which is food-safe). Once sealed in the pouch, cut around the photo, leaving a little space of clear plastic all the way around so it stays stuck together. Congratulations! You now have your own Picky Mat! It is not near as fancy, inexpensive, or durable as I would have produced with the Kickstarter funding, but it most definitely will do the job for you and your cat. PS If you want to use one of the other images taken (needs to be cropped to the the size of the photo you print, 300 DPI), I have the full set as a Flickr set. --- ### Encode WebM Video Files on Windows for HTML5 with FFmpeg - Published: 2015-11-25 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/encode-webm-video-windows-html5-ffmpeg/ - Categories: Coding - Tags: ffmpeg, video, webm If you want to put video on the web, you'll probably just going to upload it to YouTube and use their embed code. However, if you want to embed video on your own site without YouTube you want to make use of HTML5's video element. To do that, you'll want to make two encodings of your videos: WebM (Google backed) and H. 264 (current standard). H. 264 is easy because it's been a standard for a long time (I personally use HandBrake), but WebM is quite a bit more difficult. There hasn't be a defacto winner when it comes to encoding, though Miro Converter has come close. However, the core of Miro and many others is the open encoder FFmpeg so we're just going to setup an easy way to use that in this tutorial. Here are our goals: Install FFmpeg on Windows Create a Batch file (. bat) that we can drag-and-drop video files on to create WebM video Write the HTML5 code to allow for maximum speed and compatibility Install FFmpeg on Windows Grab the STATIC Windows download (most likely 64-bit). You'll need 7-zip to unpack the file. Extract the included folder into C:\Program Files\ and then navigate to that location and rename the folder to simply "ffmpeg". Create a Windows Batch File Open up a plain text editor (Notepad is fine) and copy in the following text: REM webm (VP9 / Vorbis) "c:\program files\ffmpeg\bin\ffmpeg. exe" -i %1 -c:v libvpx-vp9 -crf 20 -b:v 0 -c:a libvorbis "%~n1. webm" REM jpeg (screenshots taken at different intervals scaled if necessary to 720px height) "c:\program files\ffmpeg\bin\ffmpeg. exe" -y -i %1 -ss 1 -vframes 1 -r 1 -vf scale=trunc(oh*a/2)*2:720 -f image2 "%~n1-01. jpg" "c:\program files\ffmpeg\bin\ffmpeg. exe" -y -i %1 -ss 5 -vframes 1 -r 1 -vf scale=trunc(oh*a/2)*2:720 -f image2 "%~n1-05. jpg" "c:\program files\ffmpeg\bin\ffmpeg. exe" -y -i %1 -ss 10 -vframes 1 -r 1 -vf scale=trunc(oh*a/2)*2:720 -f image2 "%~n1-10. jpg" "c:\program files\ffmpeg\bin\ffmpeg. exe" -y -i %1 -ss 30 -vframes 1 -r 1 -vf scale=trunc(oh*a/2)*2:720 -f image2 "%~n1-30. jpg" "c:\program files\ffmpeg\bin\ffmpeg. exe" -y -i %1 -ss 60 -vframes 1 -r 1 -vf scale=trunc(oh*a/2)*2:720 -f image2 "%~n1-60. jpg" Save this file as a . bat file (for instance WEBMconverter. bat) to somewhere easy to access, like your desktop. You can then drag-and-drop a video file onto this batch file to start processing. Note: This idea was inspired by a separate post by John Dyer. The lines that start with REM are simply REMarks or comments. The second line is the one that is doing the video work. It converts the file, using the original filename, to a Constant bitrate of 20 WebM file using VP9/Vorbis encoding. The file is then saved in the same location and using the same file name, except with the . webm extension. The remaining lines are an extra feature that you can choose not to use if you wish (just remove the lines from the file). These lines are going to get screen captures (images) at 1, 5, 10, 30, and 60 seconds of your video (if applicable) and save them as JPEG files with -## appended (representing the number of seconds into the video). This is a great way to get a still image from the video to use in step 3. Write the HTML5 Code Here's my sample code: To break things down: controls: Show playback controls. (optional): Set the size of the video container for your page. poster="kickum. jpg" (optional): This replaces the default image for your video (prior to PLAY) with an image of your choice (e. g. one of the screencaps generated by the batch file in step 2). source: Specify a video available. The browser will go through list until it finds one it can play. WebM first is a good choice due to its smaller size (25% smaller in my example). I know the type section of the source tag may be confusing, but just understand that these are basic copy/paste if you are using the batch file in step 2 and you are using a standard h. 264 encoded video with ACC audio (like what Handbrake does). Having both the . webm and the . mp4 files allows the video to work on all browsers, including mobile browsers. Here's what the video looks like: Here is what it looks like with style and poster removed: Bonus: Trimming a File If you have a video that just needs to be trimmed down from 00:00:00 (H:M:S) to 00:55:00, use this command manually: ffmpeg -ss 00:00:00 -i filename. flv -t 00:55:00 -c copy newfile. flv --- ### Export All Your Facebook Events to Google Calendar - Published: 2015-10-24 - Modified: 2015-10-24 - URL: https://mariolurig.com/misc/export-facebook-events-google-calendar/ - Categories: Miscellaneous Facebook has offered an easy way to add individual events to your calendar, however it's less obvious how to automatically make this happen. Luckily, it's relatively simple using Facebook's own help pages as a starting point. Copying the URL from Facebook Login to the desktop version of Facebook and head to the Upcoming Events page. In the bottom-right (current location as of October 24, 2015) of the page, find the link labeled Upcoming Events, below the Events Happening This Week box. Right-click on this link and select Copy Link Location/Address. Add to Google Calendar Open up Google Calendar and look on the bottom left-side for the Other Calendars section. Click on the down caret icon and select Add by URL from the options listed. This brings up an overlay where you will want to Paste in the link you copied from Facebook just moments ago. IMPORTANT: Don't click Add Calendar just yet! We need to alter the link you get from Facebook ever so slightly. This is an example of what you just pasted into the box: webcal://www. facebook. com/ical/u. php? uid=12345&key=ABC123 You need to remove webcal and replace it with http: http://www. facebook. com/ical/u. php? uid=12345&key=ABC123 Now you're ready to click Add Calendar! Final Notes When you join a new event on Facebook, they update that calendar link instantly. However, Google Calendar will only recheck for changes approximately once every 24 hours, so don't stress if a new Facebook event isn't showing up immediately... it will soon. Also, one last tip. I like to have a default notification for a 4-hour email prior to an event, so you can setup a default notification for the Facebook event calendar by hovering your mouse over the newly listed calendar, clicking on the down caret icon, and selecting Edit Notifications. Make your changes at the top where it lists Event Notifications. Final last tip: Make sure, if you have an Android device, to go into settings of the Calendar app and enable the new calendar in your view. All set! --- ### Zubits vs Klöts: Say Goodbye to Tying Your Shoelaces - Published: 2015-09-22 - Modified: 2015-09-22 - URL: https://mariolurig.com/review/zubits-vs-klots-tying-your-shoelaces/ - Categories: Reviews - Tags: 3d printing, Klöts, products, shoes, Zubits I'll be honest, I don't like tying or untying my shoelaces. Typically, I would just leave them tied relatively loose and them over time abuse the shoe by getting in and out of it without touching the laces. Why? This may be too honest, but frankly, at the time of this post I'm overweight and my gut gets in the way and it's not at all comfortable. There has to be an easier way, right? Turns out there is, and the answer is in a custom closure. Sure, you could get some Velcro closed sneakers, but what if you want to try and maintain the sneaker look and snugness and get the ease of getting in and out of them without touching a shoelace? What if it is not a sneaker at all? Enter two options I'm going to quickly compare: Zubits and Klöts. Now, I'll clarify immediately two important details: Zubits is a commercial product you can buy and get shipped right to your door, while Klöts is a model that requires 3d printing. Furthermore, here are a few key comparison points: ZubitsKlöts Price$20. 99Free* Wait for Product3 days35 minutes* Ease of ClosingSuperOkay Ease of OpeningSuperTough LifespanYearsTBD Chance of FailureLowLow Colors640+ Sizes^33 * Assumes you have a 3d printer already ^ Overall product size is smaller for Zubits compared to Klöts, but both offer 3 product sizes to match the approximate shoe size Final Summary Listen, if you have a 3d printer, there is almost no cost in giving Klöts and the world of shoelace closures a try. However, if you want to be able to just step out of the shoe to open the closure, a smaller product, and an overall better user experience, then buy yourself some Zubits and enjoy. Either way, both of these designs give you a great hold and you won't find yourself retying your shoe in the middle of a run, hike, or stroll to your local bakery. --- ### Options for a Failing Honda Insight IMA Battery - Published: 2015-09-15 - Modified: 2024-06-01 - URL: https://mariolurig.com/misc/failing-honda-insight-ima-battery-disable/ - Categories: Miscellaneous - Tags: battery, Honda, IMA, Insight My Honda Insight hybrid is a 2002 model and has already had its battery pack replaced in 2008. Well, in its 13th year (7 years on the new pack), the pack started reporting degradation of the battery requiring some decisions. Considering the value of a car with 165,000 miles and 13 years on it, replacing the pack (even with a refurbished/reconditioned battery) would constitute over 50% of the value of the vehicle, so it's not a good idea at this point IMHO. That leaves two options, but if you found this article then I need you to learn from my mistakes: Keep driving, ignoring the lights, with IMA going in and out Disable and bypass the hybrid battery The Honda Insight, at its core, is a 3-cylinder 67-hp engine and can function without the battery with the loss of auto-stop, regenerative braking, and some MPG. However, depending on when your pack was made, the decision above will be made for you. To explain, I'll briefly tell you my experience and logic. My Big Oops The big concern, with the failing battery pack (ODB codes P1447 and P1449), is that it will not be able to transfer power to the 12v battery under the hood (it acts like an alternator with its DC-to-DC converter) and eventually you will be stranded and unable to start the car. When you Google around, you eventually find the article linked above and some forum conversations about needing to bypass the hybrid battery to make this work. So that's what I did. Some sockets, Torx T30 bit, and about an hour and I could easily disable the hybrid battery pack and unplug the Battery Control Module (BCM). However, when I started the car up again, it had a very difficult time starting. I immediately believed it was my small under-the-hood battery and went to my local auto parts store for a free test. The battery was good, but needed a recharge. So, I went for a drive on the highway for an hour, at 2500 RPMs. One important weird behaviour happened: Exceeding 4000 RPM trigged the battery and brake lights to come on, but dropping below 3k for about 1 minute would make the lights go out again. This should have been my first clue. When I tested the battery again, it had improved, but not enough, and it would no longer start on its own. I had to push-start it (I drive a manual transmission) to get going again. Shortening the story, it was time for a multimeter and some testing and the end result was a loss of charging when idle, and a gain at higher RPMs, but a complete inability to start the car. After speaking with my Honda Dealership rep and a 3rd party hybrid specialist, we had come to a few conclusions: Some Honda Insights will continue to work for a long time (lights on/off, charge/assist working and not) without bypassing the hybrid battery It's no longer recommended to do the bypass because it may or may not work Based on my research, the reason it may or may not work is because the trick is necessary for original IMA systems. However, remember, my pack was replaced in 2008 (there was no sticker on the BCM when I opened things up; my second clue). Honda updated the BCM with the pack, and thus they made the trick unnecessary. So, the decision is made for you: if you have an original pack, the bypass will be necessary. If it's been replaced (I'm guessing that covers 99% of Honda Insights due to the 10 year warranty), then it's not necessary. Of course, if you need to pass an emissions test, you'll need a replacement battery pack, because you'll have that Check Engine Light. :( For me, I'll be retiring my Insight 3 months shy of its 15th birthday. It was a good run. Update: June 2016 It's hard to say why, but I went into the dealership to have any error codes cleared and suddenly everything that was working fine (no large battery) went to hell. Long story short, I was dead in the water. The vehicle would no longer function disconnected from the system as a DC-DC converter and thus I had to either sell a dead car or replace the pack. I replaced the pack for ~$2500 (not at the dealership). It's running great now, back with a battery, now that its life has been extended. It seems 15 years was just not enough in its heart, so we keep going. --- ### Mobile-Friendly Redesign: You're Already Late - Published: 2015-09-15 - Modified: 2015-11-03 - URL: https://mariolurig.com/web/mobile-friendly-redesign-youre-already-late/ - Categories: Websites - Tags: Google, mobile On April 21, 2015, Google started demoting search rankings for websites that were not mobile-friendly. Prior to that date, I updated 11 of 12 websites I run. The big one, NovelRank, was going to take much longer and be much more complicated, so it missed the deadline. Well, on September 1st, the redesign was completed and released. However, as you can see in the image above, the story still isn't over. Even though it's been 2 weeks since the redesign, Google took ~7 days to update to the new link structure (dropped . php) in search results. It also has only identified 15% of pages that previously had mobile errors as fixed. Needless to say, it's going to be a few more weeks until the benefits (or rather, the removal of penalties) are actually reflected across the entire website in the eyes of the major search engines. So be warned, that delay means that when you think you're done, the search engines of the world may not see it that way for weeks after. You're already behind, so don't delay on getting your sites mobile-friendly. I personally love Bootstrap, if you want a recommendation for a responsive design framework. Update: Sept 21, 2015 Mobile errors dropped dramatically, down to 89 total (8% of the original). So, after 3 weeks the vast majority of the mobile-friendly redesign was absorbed into Google's knowledge of the site. I expect that by the end of the month the number will be zero or a single digit total. Update: November 3, 2015 After seeing 5 pages with mobility issues for lingering pages not rechecked by Google's crawler for the last month, the number is finally 0. For most sites it would have been done by the 1 month mark, but for a larger site (thousands or tens-of-thousands of pages like mine) it took 2 months to get a 100% seal of mobile approval. --- ### 11 Things Denver Comic Con Should Improve (But Probably Won't) - Published: 2015-05-25 - Modified: 2024-06-01 - URL: https://mariolurig.com/misc/11-things-denver-comic-con-should-improve/ - Categories: Miscellaneous - Tags: Comic Con, DCC, Denver Who am I to criticize Denver Comic Con? The organization has changed a lot in the 4 years from inception, including removing founders, hiring and firing executive directors, and so much more. More importantly, I've played many roles inside and out of the convention since it's inception. I started with a press pass in year 1, then I was media as one of the official photographers in year 2. By year 3 I was on staff in charge of the official media team (photographers/videographers) and also part of the overall communications team. Due to various reasons, I chose not to continue as a volunteer for DCC in year 4 and purchased a 3-day pass and was an attendee like any other, without any special privileges. Hopefully that's enough to convince you that I have some credibility in regards to the following critique. Now, I think there are some things that DCC is doing right (e. g. kid's corral and educator day), but after this year the excuse of "still learning" is no longer viable and lessons should be learned before the general public loses faith in the event. Be Proactive with Live Streams This year they finally added 2 monitors and some speakers to the Main Events Queue room so that those waiting in line for the next event wouldn't miss out completely on the event they felt they had to skip (happening behind the shared wall) just so they could attend the next event. However, I don't remember them being there on day 1, arriving on day 2, and intermittently working throughout the event (mostly audio failures). There also was no such solution for the overflow queue upstairs. Work with the convention center and get this solved; people deserve to see things in real-time, even if the room is full. Don't Allow Substandard Audio/Lighting in Main Events I get it, the convention center and their union run all of those services. However, two important events this weekend made we wonder why the hell someone wasn't up their butt about getting shit done right instead of just sitting on their hands. Situation 1) Manu Bennett wanted to see his fans and talk to them personally, so he used THE ENTIRE STAGE to stand in front of people who asked questions. He was in darkness for the first 20 minutes because nobody bothered to turn on the stage left lights. Finally they did, but he moved to stage right and was in darkness for another 20 minutes before the moderator had to ask him politely to stay in the light (this should never happen). Situation 2) Sean Astin had to ask twice in the first 10 minutes for them to turn off the spotlights so he could see while not interfering with the cameras. DCC Staff should be monitoring quality. Vacuum Between Queues People walk/talk/eat in the queue room for up to 75 minute waiting to get into their preferred panel. That means that they sit down. By the middle of the first day that carpet was not looking good. There are a few minutes between that room being cleared and people filling it again, so pay up and get someone to vacuum it clean in those 10 minutes in-between those moments. Rooms are Full from Fire Code, not Laziness At SXSW, when a room is full, a small queue is allowed to form outside (with a video/audio presentation outside the doors) so that when individuals leave the room, others may enter and fill their seats. It has no impact on the presenters (see #2 about them not being able to see), yet DCC decided that once a session started, regardless of room status, that nobody new was allowed in. This is ridiculous, rude, and left a bad taste in the mouths of a lot of attendees. It's not the volunteer's fault, they are just doing what they are told; DCC needs to own up to this poor decision and allow rooms to fill after panels have started. Gaming (or E. D. G. E. ) Needs a Room, not an Open Hall People running games were going hoarse trying to communicate with the players. More importantly, those game creators that were trying to teach games are suffering from the effects of noise on learning. Pop Culture Classroom can't be ignorant on this fact (that would be more problematic) so I can only assume DCC is cheap and doesn't care about attendee experience, only their monetary contribution to PCC. Secure a gaming room for the event to better facilitate learning and fun. Don't Hide Guest Cancellations I didn't find out about Karen Gillan's panel being canceled till I arrived late Saturday morning. I actually just scrolled back through Facebook posts and couldn't find the announcement. I know the panel was still scheduled when I downloaded guidebook the evening before. From year 3 I learned that sometimes DCC knows about cancellations prior to them releasing that information, strictly because they don't want to hurt sales or whatever other horrible excuse they have for a lack of transparency. Just stop this. I've seen numerous examples of this lack of transparency and shady bullshit to turn me off from the organization, but this is such an easy thing to fix... assuming those in charge actually want to do so (I'm doubtful). Attendees are adults (and parents) and deserve to know upfront about cancellations, scheduling changes, and more as soon as possible. Treat them like adults and they'll trust you more. Stop Taking Advantage of Your Volunteers Most nonprofits have annual Galas as the major fundraising event each year, but the gross revenue generated is a single digit percentage of what DCC generates for PCC. Yet these one-evening events feed real meals to their volunteers, sometimes more than one. Some even make parking arrangements. Either way, DCC needs to have more than bananas and potato chips for their volunteers who are donating so much time and energy to the event. Furthermore, previous years overspend on hotels was too much, but this year's spend on practically nothing is worse. The city of Denver and RTD would love to have a bulk purchase of fare passes, not only to offer a steep discount to DCC, but also to alleviate the strain on traffic in downtown. Volunteers should be granted these RTD passes so they can use public transportation to travel to the con. Don't make volunteers pay in time and money. Furthermore, your high-skilled volunteers (official media) deserve better than the downgrade they received this year. Their services are worth hundred's of dollars a day, yet they were given no extra perks (and had to beg for an extra 3-day pass) and DCC failed to budget anything to make their lives easier and improve the turnaround for photo and video during the con. (I could spend a long time on this topic, but I'll move on). Renaming Things Doesn't Change Them Four years running and I feel like there is little new to see. It's all been done before. The newest attraction was the iron throne from Game of Thrones/A Song of Ice and Fire which had a massive queue... it was plastic, so get 3 of them and some backdrops so people could do their photo-ops without losing so much of their time. The amazing effort and work of the 501st, Lego folks, Umbrella, and so many more make the event special, but adding things like WETA last year gave repeat attendees something new to look at during the con. Cosplay is an Attraction, so Give Cosplayers Something For cosplayers, the act is pure joy for them. For others, it's advertising. For non-cosplaying attendees, these individuals are attractions and a major part of what makes the event feel special. I would guess that for many people, photographing and interacting with cosplayers is a net amount of time equal to or greater than their time attending panels. Encourage it! Offer drink coupons or con bucks to those that show up in cosplay. Does this add some cost and logistics? Sure, but would the weekend be as special if they weren't there? Two Days and Less Holidays Main Events had doubled-up guests on different days. That's some serious lack of diversity and frankly, day 3 attendance is always lower, especially when you are competing with a national holiday and the Bolder Boulder. If DCC wants to raise more money for PCC, then trim it to 2-days (Sat/Sun) and increase the single-day ticket price (maintain the 3-day/2-day pricing). There are numerous weekends that don't conflict with a holiday that can be arranged with the convention center since DCC is a highly preferred event by the convention center and the city of Denver, so choose the weekend more wisely and drop that third day. 600 Hours of Bad Programming Sucks The programming team works super hard, but more times than not, I find that attendees of the numerous panels walk out feeling unsatisfied with the competency level of panelists. People deserve better and there should always be less panels than there were applications for panels (this may be the case already, but if so, not enough of a difference). This puts even more work on the programming team (I'm sorry), but it's important that people feel like they are getting real value. Soliciting feedback about panelist and panels after they are completed is a critical first step in capturing information about the panels and panelists DCC deserves and those that shouldn't be presenting. --- ### Landing Page Improvement from KickOffLabs - Published: 2015-05-21 - Modified: 2024-06-01 - URL: https://mariolurig.com/marketing/landing-page-improvement-kickofflabs/ - Categories: Marketing - Tags: KickOffLabs, landing pages, seo I recently learned about KickOffLabs and their live Google Hangout landing page review sessions. I decided to check it and toss in my recently redesigned NovelRank Buy Box tool and more specifically, the trial landing page I built for advertising traffic. For the purposes of this post, I've saved the page as it existed at the time of the review. Here is a summary of the feedback I received from KickOffLabs: Remove Testimonials call-to-action button confusion and migrate the testimonials higher in the page. Update the testimonial images to be real-people faces. Remove the 'My Test Batch' naming field (this was a UX (User eXperience) revelation from them using it) as unnecessary. Make the call-to-action lower in the page focus on the form. "Speak to me like I'm a golden retriever. " Update the language to better answer the question, "Who is this for and what does it give me? " Provide social sharing after submitting the trial batch and an incentive for doing so. Don't auto-redirect users on the trial completion page. As a developer and theme designer, this was all work I would do. For most people, templates that accomplish all this already are very desirable and that's where KickOffLabs' services come into play, so definitely check them out. I took the advice to heart and have redesigned the page a little. You can look at all of the improvements right now: https://web. archive. org/web/20170727094931/https://buybox. novelrank. com/trial. Any further feedback is welcome in the comments below! Update: May 28, 2015 Some additional feedback that has also been addressed: Increase font-size of the primary use case for the site Change 'Start Batch' to something friendlier Ensure the batch is delivered quickly, regardless of the current system usage --- ### Tutorial: Exporting Messages from WhatsApp and Graphing with R - Published: 2015-05-19 - Modified: 2024-06-01 - URL: https://mariolurig.com/coding/tutorial-exporting-messages-whatsapp-graphing-r/ - Categories: Coding - Tags: R, WhatsApp This tutorial is posted with permission by Prometheus09 on Reddit. It was originally posted as an album on Imgur. So here is a quick tutorial on how to construct the graph shown above, showing the distribution of messages over a given time period. First of all we must obtain the dataset we are going to use, which for this tutorial is the chat history obtained from WhatsApp. This can be obtained following these instructions or for iMessages or FaceTime data you can use this (paid) software. Importing the Message into Excel After exporting the chat history from WhatsApp you will have a basic text file. Open the file with excel so that you can save the messages as a . csv file (this is what is imported into R). Opening the text file in excel will bring up the Text Import Wizard. Choose the options: Delimited > Next > Space > Next > General > Finish. This will put characters between each space in the text file into a separate cell in the . csv file. More importantly, it will put all the dates, the times, sender and messages in their own columns. Unfortunately this will break the words of each message into separate columns. Cleaning the Message Data To clean up the csv, remove all of the columns that contain data from the messages and put a column name at the top of the remaining columns (e. g. date, time, morning, sender). In the morning and sender columns we also want to replace (ctrl + H) the colons ':' with an empty space so they are removed from the . csv file. We will be left with the image below. One thing to be aware of is that messages that were split across multiple paragraphs in WhatsApp (i. e. a return was used to split the message) will be split across multiple rows in the . csv file. It's best to just to delete these extra rows. They are easy to identify if you just sort the document by the date column (either ascending or descending) which will bring them to the top/bottom of the document. Working with R Now that we have a nice clean . csv file, let's save it as messages. csv and import it into R (download from R-Project). You can also learn more about R with the Cookbook-R introduction. In R, use the read . csv function and assign the . csv file to a data frame in R. dat --- ### Connecting Remotely to MySQL Database on an Amazon EC2 Server - Published: 2015-04-28 - Modified: 2024-06-02 - URL: https://mariolurig.com/coding/connect-remotely-mysql-database-amazon-ec2-server/ - Categories: Coding - Tags: Amazon, EC2, MySQL While this was tested using a TurnKey LAMP Server build (Debian Linux), it applies to any Debian/Ubuntu server with MySQL. Top-Level View of Tutorial Enable MySQL access through server's firewall (Amazon AWS-EC2 Security Groups) Create non-root MySQL user with % (any) Host permissions Alter the bind-address in the MySQL configuration file (my. cnf) file Restart MySQL Amazon AWS Security Groups for your EC2 Server Hop into Amazon AWS and select Security Groups on the left side. Select your server in the top box, then you can click on the INBOUND, then you can EDIT the list. On the new page, you can select MySQL from the left drop-down box, which automatically sets it to TCP and port 3306. The final choice is the SOURCE needs to be set to Anywhere to allow you access it from any IP address. Click SAVE and you're all done with Amazon AWS. Create MySQL User with Remote Access Permissions Note: This step makes use of PHPMyAdmin, though the step can be recreated with a simple SQL query as well. If you want to give remote access to only a single database, it's best to first select that database on the left-side of PHPMyAdmin. You can then select the PRIVILEGES tab and click Add New User near the bottom. You can use whatever username you wish, but the important detail is to set the Host to Use Text Field and then set the text field to %. This allows access from any IP address. The remaining fields should be straight-forward (you can also use the image as a reference). Hit Go on the bottom-right to save your new user and wrap up your work in this section. Alter MySQL Configuration (my. cnf) The following step requires either the ROOT user or use of the sudo command. You'll need to access the command line for your server, most likely via SSH. The commands below assume you are the root user. The file you are looking for is located in /etc/mysql/ and is called my. cnf. You can edit it with your favorite editor, such as Vi or NANO. NANO is the most user-friendly on first-use, so you can edit the file with: nano my. cnf Find the line that looks like this: bind-address = 127. 0. 0. 1 Alter it as such: bind-address = 0. 0. 0. 0 Save your changes (in NANO press CTRL+X and follow the prompts to finish saving the file and exit). Restart MySQL The final step is to restart MySQL. The following command gets it done: /etc/init. d/mysql restart Takes a few seconds, but then you're all set! You can now access the MySQL database via the new user you created from any external IP address! --- ### Perfecting Prints with a Printrbot Simple Metal - Published: 2015-02-28 - Modified: 2024-06-01 - URL: https://mariolurig.com/3d-printing/perfecting-prints-with-a-printrbot-simple-metal/ - Categories: 3D Printing - Tags: 3d printing, printrbot The Printrbot Simple Metal can be purchased (assembled) for as little as $599 making it a remarkable unit for even the most timid maker. I've had my PSM for almost a year now and printed 2kg worth of PLA on it in that time, so I've got a bit of experience under my belt. This was also my very first 3d printer, and I've used it for my business making custom chocolates. In that time I've learned that, out-of-the-box, the PSM needs a few additional items to really make great prints. To that end, I wanted to write this post to help other owners get the most out of their little printer. Alas, currently a faulty wire for the auto-level probe (induction sensor) has also given me a little spare time before dealing with that repair (not uncommon unfortunately). There are 3 categories for this guide: Printed add-ons, temperature and curling, and software settings. Printed Add-Ons Filament Guides Make sure your filament is going into the hotend easily (scale 0. 95 for better fit). Filament Spool HolderNote my comment: adjust the OpenSCAD setting IWinches to 3. 30 for the monoprice filament mentioned below Cable Strain ReliefThis helps keep those cables in good shape and not get caught on the bed or between the bed and the stepper motor. Improved Fan Duct Also I'll include a recommendation for MonoPrice. com PLA 1. 75 filament over the Printrbot stuff. I used 1kg of Printrbot red and had so many issues with print quality and clogs. The MonoPrice filament has performed exceptionally. Temperature and Curling Got a large print with a flat bottom? I do it all the time, and curling was a real issue. The causes for curling are basically uneven cooling of the plastic and temperatures that are too cold. To resolve this, you could opt for Printrbot's Heated Bed option, or you could just warm up the bed before the print and then trap that heat inside. To address warming up the bed, I picked up some reusable hand warmers on Amazon. Place them on the bed for 2 minutes, remove, then start your print. Once the auto-leveling is completed and while the hotend is warming up, put it back on the bed until printer starts. It's best if it is placed on top of where you are going to print. Once the print begins, then you need to add the enclosure. I had a spare cardboard box around and built an enclosure for the printer. For mine, the outer walls are 426mm wide (X axis) on the front and 260mm deep (Y axis each side). In the back, each end comes in 165mm so it touches the printer sides. The height of all outer walls is 190mm. Once those are built, I placed cardboard closing the top (165mm x 260mm) on each side of the printer. These leaves the middle (printhead) exposed and moving freely. As an added bonus, I added flaps (taping them to the top pieces only with 5-10mm space between them) so that low prints would trap more heat, but as the Z axis rose, the flaps would part like a drawbridge. It's all about stopping drafts and trapping heat. Another possible problem is the print is not sticking to the tape. I tried a LOT of tape. Finally, I went to an ACE Hardware and picked up their 2" blue tape and it's finally the perfect tape. I had to readjust my calibration settings a little to compensate for its extra thickness, but it's fantastic and I haven't had a print come up since. Software Settings Finding the right settings is hard, and sometimes you want speed over quality. Well, I can't say may settings are perfect, but I've provided them here. These are for Repetier-Host v1. 06 and are for Slic3r and Cura, both great slicing programs (though Cura is winning more of my prints lately). Slic3r Bundle Config Cura Config and Cura Filament Config I almost exclusively print at 200 microns or 0. 2mm layer thickness (this is labeled as 2mm in the configs). It's the perfect balance of smoothness and speed. Please note that for Cura, I set the Speed to Slow and the Infill Density to 20%. I hope this helps someone else enjoy their printer and get better prints. --- ### Setup OctoPi (US Edition) - OctoPrint on a Raspberry Pi - Published: 2014-12-27 - Modified: 2024-06-01 - URL: https://mariolurig.com/3d-printing/setup-octopi-octoprint-on-raspberry-pi/ - Categories: 3D Printing - Tags: 3d printing, octopi, octoprint, printrbot, raspberry pi First and foremost, OctoPi is a fantastic pre-built image for a Raspberry Pi (Model A, B, or B+) that is designed to connect to your 3d printer and provide a web interface to interacting with your printer, all using the simple and powerful OctoPrint software. In my case, I'm connecting it to my Printrbot Simple Metal. OctoPrint is incredibly powerful: you can connect a Raspberry Pi camera, print out a camera mount to attach it to your bed and actually watch your printer through the OctoPrint webpage (or record video, if that's your thing). You could even do it in complete darkness (with IR LEDs). I have my printer in the same room, but it's good to dream. Getting Started OctoPi requires at least a 4GB SD card (microSD for Raspberry Pi B+). You download the image file and write it to your SD card. You can now do your first boot of the Raspberry Pi (keyboard required during this phase, but it can be input-less once done). The best getting started guide is a video by Thomas Sanladerer (embedded below). I've queued the video up to the first-boot section where he explains expanding to fill your full SD card and network configuration options. The thing about OctoPi is it is maintained by a gentleman in the UK, and when using a mini keyboard for the US, typing certain characters can be... frustrating or impossible. So, there are two additional adjustments I recommend once you've booted up your new OctoPi. Reminder: Default login is username pi and password raspberry. NOTE: You can accomplish the below keyboard adjustments from the initial setup menu using Option 3: Localization. The below commands are only necessary to launch these localisation scripts if you have exited the initial configuration mentioned in the video above. Change the Keyboard to US Standard From the command line, run: sudo dpkg-reconfigure locales You want to use the menus to adjust the locale to en_US. UTF-8. Then run: sudo dpkg-reconfigure keyboard-configuration This is a huge list, but find the Generic 101-key PC and select it. Setup Auto-Login Once those are changed it's time to auto-login your Raspberry Pi. The below instructions assume the default user 'pi'. These instructions are from OpenTechGuides. Type: sudo nano /etc/inittab Navigate to the following line in inittab 1:2345:respawn:/sbin/getty 115200 tty1 And add a # at the beginning of the line to comment it out #1:2345:respawn:/sbin/getty 115200 tty1 Add the following line just below the line you just edited: 1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1 Press Ctrl+X to exit nano editor, Y to save the file, and Enter to confirm the filename. Wrapping Up Congratulations, you're all set to plug your 3d printer into your Raspberry Pi! Just plug it in, restart the Pi (sudo reboot), unplug your keyboard, and head over to your main computer. Note: Before disconnecting the keyboard, you may want to check the IP address of your OctoPi. Use the command ifconfig to display it. If you're on Windows like I am, you need to install the Bonjour service if you want to use http://octopi. local as the address. If you don't care, you can just go directly to the IP address of your OctoPi. One last note for PrintrBot Simple Metal folks: Make sure that when connecting, you use the serial port labeled /dev/ttyACM0, otherwise it will not fully connect. That's it! You can now not only use your printer remotely, but you can use SSH to connect to the Pi directly if you want to shut it down when it won't be in use for a while. --- ### jQuery Mobile Filterable Collapsible Listview with Smart Expansion - Published: 2014-02-12 - Modified: 2014-02-13 - URL: https://mariolurig.com/coding/jquery-mobile-filterable-collapsible-listview-with-smart-expansion/ - Categories: Coding - Tags: collapsible, filter, jQuery, jQuery Mobile, listview Wow, that's a mouthful. Basically, I wanted to make use of the data-filter option to search a listview, but instead of a listview, I wanted it to be a collection of collapsible elements. Do accomplish this I needed some custom CSS to make it look right. Here is the example code with the ID iamalist. The page's content section ID is iama, which is used in the CSS. Title Answer. Title Answer. Title Answer. Title Answer. Title Answer. #iama . ui-listview>. ui-li-static { padding: 0em 1em ! important; margin: -. 5em 0em ! important; } #iama . ui-listview>li h1, . ui-listview>li h2, . ui-listview>li h3, . ui-listview>li h4, . ui-listview>li h5, . ui-listview>li h6 { margin: 0 0 . 3em 0 ! important; } #iama . ui-listview>li p { overflow: visible ! important; white-space: normal ! important; margin-top: 0 ! important; } #iama . ui-listview>. ui-li-static. ui-last-child, . ui-listview>. ui-li-divider. ui-last-child, . ui-listview>li. ui-last-child>a. ui-btn { border-bottom-width: 0; } Now that the styling is done, I wanted to add one more feature. When the filter starts working (if 10 items, then when filter reduces that to < 10), I wanted to automatically expand the collapsible content. This is done through the following javascript, which refers to the list's ID iamalist. $(document). on('pageinit',function{ $("#iamalist"). on('updatelayout',function{ if (($('#iamalist li'). length - $('#iamalist . ui-screen-hidden'). length) < $('#iamalist li'). length){ $('#iamalist li'). each(function{ $(this). find('. ui-collapsible-content'). removeClass('ui-collapsible-content-collapsed'); $(this). find('. ui-icon-plus'). addClass('ui-icon-minus'); $(this). find('. ui-icon-plus'). removeClass('ui-icon-plus'); }); } }); }); The magic here is using the . on('updatelayout') to detect when the list changes. Originally, I was using the . on('keyup') of the input, but that was causing strange results. The proper way is to use the . on('updatelayout') hook provided by the jQueryMobile API. You can see this live here: http://readysum. com/#iama --- ### Using AutoHotKey and Ditto with PHP - Published: 2014-01-28 - Modified: 2024-06-01 - URL: https://mariolurig.com/coding/using-autohotkey-and-ditto-with-php/ - Categories: Coding - Tags: AutoHotKey, Ditto, JumpCut, PHP I'm a purist I suppose. I write PHP, Javascript, CSS, and HTML in Notepad++. I don't use an IDE (such as NetBeans), but I do have some shortcuts to make things go faster for me. The first one, Ditto, is a clipboard program that remembers the last 10 things put into the clipboard. This means you don't have to worry about losing that copy/paste because it was overwritten. It's simple, open, and a no-brainer addition. For those on OSX, Jumpcut is a great option. The second one is AutoHotKey, which is crazy powerful, but for this example, I'm using its simple text replacement features. For instance, when I type qwhi, it is replaced with this: while ($row = mysqli_fetch_assoc($result)){ }mysqli_free_result($result); You can imagine how handy this can be. Below are some of the shortcodes I use in my AutoHotKey file. Enjoy. ; ### MySQLi Shortcuts ### :*:qms::$result = mysqli_query($mysqli,$query) or die(mysqli_error($mysqli)){;} :*:qwhi::while ($row = mysqli_fetch_assoc($result)){{}`n`n{}}mysqli_free_result($result);{Left 29}{up 1}`t :*:qnum::if (mysqli_num_rows($result){{}`n`n{}}{up 1}`t :*:qres::mysqli_result($result); ; ### PHP Shortcuts ### :*:pphp::{left 3} :*:pswi::switch {{}`n`n`n`n`n`n{}}{up 1}`t{up 4}`tcase 'string':{down 3}`tdefault:{up 1}`t`tbreak{;}{up 1}`t`t{up 2} :*:pfor::for ($x=0;$x --- ### Mysqli and BLOB binary database fields - Published: 2014-01-27 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/mysqli-and-blob-binary-database-fields/ - Categories: Coding - Tags: BLOB, MySQL, mysqli, PHP, prepared statements This post exists to save you hours of research on the web. The following things may be true about you: You recently transitioned from mysql PHP functions to mysqli functions (staying current) You prefer procedural PHP over object-oriented PHP (functions and arrays are cooler than classes) You are storing some data in a MySQL BLOB, MEDIUMBLOB, or LONGBLOB field, which is Binary Now, the only advice I found involved storing a file that is already binary. Fine for them, but what if the binary data is PHP created? I use the following functions to store Arrays in MySQL BLOB fields by converting them to JSON, then using gzcompress to shrink the data down as well as speed up the transfer time and reduce disk I/O. NOTE: The gzcompress function returns binary data. function array_encode($array,$mysqli){ // Convert Array for DB storage json compressed in BLOB $result = gzcompress(json_encode($array)); if ($mysqli){ mysqli_real_escape_string($mysqli,$result); } return $result; } function array_decode($blob){ // Convert into Array from json compressed BLOB in DB return json_decode(gzuncompress($blob),true); } I'm not going to get into the discussion of when this may or may not be appropriate for you to use, but I will discuss the problem you run into when doing this in mysqli compared to mysql. Simply put, you can't just send binary data normally. It requires a prepared statement. Since I prefer procedural code, I've put together a simple example below that creates an empty array. $arr = ; // empty array for BLOB $data = array_encode($arr,$mysqli); // json, compress; now binary // ? is used in prepared statements as the input that will be replaced later $query = "INSERT INTO (`data`) VALUES (? )"; $stmt = mysqli_stmt_init($mysqli); // initialize a prepared statement object mysqli_stmt_prepare($stmt, $query); // prepare the query $null = NULL; // because you can't pass NULL directly into the next line mysqli_stmt_bind_param($stmt, "b",$null); // You could replace $null with $data here and it also works mysqli_stmt_send_long_data($stmt,0,$data); // the magic. sending the binary data $result = mysqli_stmt_execute($stmt) or die(mysqli_stmt_error($stmt)); mysqli_stmt_close($stmt); While I recommend reading the documentation on mysqli_stmt_bind_param function, the basics is that you are passing over the prepared statement object ($stmt), then declaring the type of value it should expect (b = binary), and then giving it that value (we're using $null temporarily). The following line mysqli_stmt_send_long_data is what actually switches it to your binary data and makes it all work. The second passed value (0 in the above example) represents the position (order of the ? like a numerically indexed array) in the prepared statement. Below you'll find an example where this will be clearer. Let's look at a more complicated function that uses two prepared variables. function update_blob($mysqli,$table,$primarykey,$array=){ $data = array_encode($array,$mysqli); // uses the function at the beginning // The query works like an upsert, adding it or updating it depending on if it exists $query = "INSERT INTO `$table` (`primarykey`,`data`) VALUES (? ,? ) ON DUPLICATE KEY UPDATE `data`=VALUES(`data`)"; $stmt = mysqli_stmt_init($mysqli); mysqli_stmt_prepare($stmt,$query); $null = NULL; mysqli_stmt_bind_param($stmt,"ib",$primarykey,$null); // ib = integer first, binary second mysqli_stmt_send_long_data($stmt,1,$data); // note the 1. 0 would be the integer and incorrect $result = mysqli_stmt_execute($stmt) or die(mysqli_stmt_error($stmt)); mysqli_stmt_close($stmt); return $result; } I hope the above example makes sense to you and helps you moving forward. Please note that retrieving the BLOB from the database requires no additional complication and can be accomplished via your normal mysqli functions. --- ### mysqli_result() function to match mysql_result() - Published: 2014-01-08 - Modified: 2025-06-30 - URL: https://mariolurig.com/coding/mysqli_result-function-to-match-mysql_result/ - Categories: Coding - Tags: mysqli_result, mysql_result, PHP This code is licensed under Creative Commons 0 (Public Domain) As of PHP 5. 5, the MySQL functions are deprecated and are removed in PHP 7. The recommendation is to switch to MySQLi functions, which conveniently offer both a procedural (my preference) and an object-oriented structure. Luckily, it's a rather easy transition to MySQLi as functions names and functions are nearly identical (just change mysql_ to mysqli_). The only exception to this is the mysql_result function, which has no analog. Quick review: mysql_result is used to write less code when your database query is returning only a single row (LIMIT 1) and/or a single column. $output = mysql_result($result,0); Pretty simple and straightforward. To replicate this in MySQLi, the following function can be used: function mysqli_result($res,$row=0,$col=0){ $numrows = mysqli_num_rows($res); if ($numrows && $row =0){ mysqli_data_seek($res,$row); $resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res); if (isset($resrow)){ return $resrow; } } return false; } It has one improvement over mysql_result, which is you can choose to only include the resource and no row and/or column. It will just assume mysqli_result($resource,0,0). EDITED Dec 19, 2014 Function updated to allow for the column to be referenced by field name as well as numerical offset. --- ### Regular Expression Crossword - Fun Practice with RegEx - Published: 2013-02-16 - Modified: 2013-03-27 - URL: https://mariolurig.com/misc/regular-expression-crossword-fun-practice-with-regex/ - Categories: Coding, Miscellaneous - Tags: RegEx After seeing the post on Slashdot about the Regular Expressions crossword, I was inspired. I also wanted a puzzle that was easier and more approachable for the beginners or intermittent RegEx users. So, I found a great base puzzle generator (javascript) and after a few hours, some graph paper, and some tweaks to the code, I created a RegEx crossword puzzle for others to check out. If people enjoy it, let me know in the comments. I'm thinking of putting out a physical workbook of these for fun. --- ### jQuery Mobile 1.3 Swipe to Reveal Panel with Demo - Published: 2013-02-01 - Modified: 2013-02-02 - URL: https://mariolurig.com/coding/jquery-mobile-1-3-swipe-to-reveal-panel-with-demo/ - Categories: Coding - Tags: jQuery, jQuery Mobile I wanted to make use of the new jQuery Mobile 1. 3. 0-beta1 feature called Panels, allowing you to overlay, push, or reveal a hidden panel of content on the left or right of the main window. This is most commonly used to provide extra navigation options. In my case, I wanted to show static content that is hyper relevant, but without crowding up the main window. However, the docs recommend and demonstrate how to use a hyperlink to activate the panel, which is great in a header, footer, or in a button, but it seemed more natural to allow the user to swipe the screen either left or right to show the panel. Thus, I need to add the following code to the bottom of the page: Note that, as recommended by jQuery Mobile, I am not using $(document). ready, but rather $(document). on('pageinit'). The simple JavaScript code identifies when the user swipes anywhere in the main content area and reveals the appropriate panel. Here is the simplified code used in the demo: jQuery Mobile 1. 3 | Swipe to Reveal Panel Demo Swipe for Panel DemoIf you swipe left-right If you swipe right-leftThis page uses jQuery Mobile 1. 3. 0-beta 1 Listview Item A24 What are you looking for? You should be aware that since it is based on the "#content" section, any short pages that don't have content completely down the screen will have areas where the user cannot swipe. You should not attach it to the page as the page includes the panels, so very strange things start happening. Also note that an ID was added to the content div for easy addressing in the jQuery selector. --- ### HTML5 and jQuery Mobile Shortcut and Tip Sheet - Published: 2013-01-19 - Modified: 2024-06-01 - URL: https://mariolurig.com/coding/html5-and-jquery-mobile-shortcut-and-tip-sheet/ - Categories: Coding - Tags: html5, jQuery, jQuery Mobile, mobile I've been exploring jQuery Mobile lately and consequently, HTML5 and mobile HTML design. What I've come to realize is that the framework is incredibly powerful and looks fantastic! I first looked at it almost 2 years ago and was overwhelmed, so either it has gotten that much better, or I have. Either way, I'm incredibly satisfied. While developing an inventory management system for wholesalers (including myself and Dice Candies), I also decided to build a web-app for NovelRank's Pro accounts. Through all of this development I made some notes about the most common HTML5 code I used that saved me a lot of time from going back to the documentation. This also included the headers I use specifically for mobile design. Without further adieu, here are my shortcut tips for jQuery Mobile and HTML5: TEXTTEXT Back TEXTVALUEGOESHERE Inventory TEXT TEXT TEXT TEXT TEXT --- ### Quick RSS Feed Access with Browser Bar Icon - Published: 2013-01-07 - Modified: 2024-06-01 - URL: https://mariolurig.com/misc/quick-rss-feed-access-with-browser-bar-icon/ - Categories: Miscellaneous - Tags: plugin Back in early versions of Firefox, a small icon was visible on the browser bar if the webpage you visited listed available RSS feeds in the source HTML: Some time in the last few years, this has disappeared. Luckily, with the assistance of extension and add-on developers, this option is available for both Firefox and Chrome! Firefox Livemarks Add-On Chrome RSS Subscription Extension After installing either browser plugin, an icon will appear if the webpage includes HTML like the following: You can test it out by visiting this website after installing the extension/add-on. --- ### Slowpreneur: The Patient Startup Idea - Published: 2012-08-31 - Modified: 2014-04-12 - URL: https://mariolurig.com/business/slowpreneur-patient-startup-idea/ - Categories: Business - Tags: entrepreneur, slowpreneur Slowpreneur : A person who organizes and operates a new business or businesses with a patient approach to profits and growth while taking a measured financial risk. A person who begins a new business or businesses as a side project until it becomes established, thus before operating the business in a full time capacity. I stumbled upon this word by accident. I was sitting on the plane from Charlotte, NC to Orlando, FL and found myself sitting next to a psychologist, Tracy, reading some startup book on her tablet. We had been talking for the first third of the flight, but were currently on a break to do some reading. She nudges me and points to a word in the book: solopreneur. She says, "Ha, slowpreneur, that's kind of like you! " I smile, read the word on the digital page, and reply kindly, "That says solopreneur. " Her embarrassment was palpable, so I quickly interjected, "But I do like the idea of a slowpreneur! I'm writing it down. " I checked Google when we landed and, as of writing this article, when you search for slowpreneur Google suggests (and displays) the results for solopreneur. If you force it to use slowpreneur, there are a total of 3 results! Mind. Blown. Is this really a phrase I could coin? Alright, I'm doing it (I've already bought the domain)! In this startup world of big money, explosive growth, the quick buck, and the desire to make a million dollars in a year (165,000,000 results), I want to do something different. Slowpreneur Creed I want to be patient. I want to grow within my means. I don't want to incur debt. I will hold back the charging bull. I will continue to live my life. I will learn every day. I will let go of the reins when it's ready. I will not be greedy. I will succeed. So here's to the slowpreneurs , who adventure into business with a slower pace, a balanced life, and the patience to see it through. Cheers. --- ### HTML Headers for Social Media - Meta Information - Published: 2012-08-30 - Modified: 2015-07-19 - URL: https://mariolurig.com/coding/html-headers-for-social-media-meta-information/ - Categories: Coding - Tags: Facebook, Google, HTML It seems that markup is getting more and more important on the web today, especially if you want your pages to show up just right when your visitors click that magical share button. To that end, here is a quick sample of what I stick at the top of every HTML page before I ever get to the body tag. PAGE NAME | SITE NAME The very first line is for IE9 compatibility, forcing it to display things properly (I believe any doctype declaration will work). The remaining lines are self-explanatory with one exception: the viewport option decides how your page will look in a mobile browser upon first load. You can double-check what Facebook sees (or refresh the cache) using their debug tool. --- ### Facebook Promoted Posts: A Casual Study and Review - Published: 2012-07-03 - Modified: 2012-07-03 - URL: https://mariolurig.com/marketing/facebook-promoted-posts-study-review/ - Categories: Marketing - Tags: advertising, Facebook, promoted posts Facebook now offers the ability to promote a post on a Facebook page to your audience for either $5 or $10. The main idea is to pay to increase exposure to the post. This is done by making sure it shows up in the news feed of individuals who 'Like' your page as well as increase exposure to their friends if they interact with your post. Pay a little, get a little more exposure to your existing fan base. Here's what happened for me. I ran two promoted posts with the exact same content on two pages I run: NovelRank and Dice Candies. They have 900+ and 400+ Likes, respectively. The latter has a very regular amount of user engagement and thus has a much higher exposure and interaction rate for posts. That being said, here were the results. Since promoted posts are live for up to 72 hours and this was tested starting early Saturday morning, the promoted post was able to get the attention of a weekend Facebook audience, which is typically less active than during the week. NovelRank had 32% of individuals interact with the posts through the promotion, making up 71% of the total exposure of 45%. This resulted in 13 Likes and 2 comments on the post itself, where typically I would have no comments and 1 or 2 Likes. To put it another way, because of the promoted post payment, it increased exposure to the audience by 248%! Dice Candies had 24% of individuals interact with the post through promotion, making up 40% of the total exposure to 60% of the audience. This resulted in 12 Likes and 2 comments which is roughly a two-fold increase on interactivity for this type of post, especially on a weekend. The effect was to increase exposure by 140%, a much lower impact than with NovelRank. Analysis Did it help? Yes. Is it worth $5? The bigger your audience, the easier it is to say yes. If you are a major brand with 10,000+ page Likes, then increasing exposure is well worth the $5 (or $10) investment, especially on a weekend post. The key differentiator is to determine what benefit you are gaining for promoting this post. If there is a special promotion to sell products, a single extra sale would more than make up the difference in cost. However, the costs can vary up to $300 depending on your audience size, so this requires individual testing. In my test, I was promoting a brand message: We do good things for charity. Was it worth the $10 to bring that brand message forward? Yes for NovelRank, no for Dice Candies. Did it result in any donations to that charity? No. So here in lies the rub. While exposure and engagement increased, it doesn't always mean that you will garner more interaction outside of Facebook, which is the problem I have with Facebook Ads in the first place. Promoted posts are great at brand awareness and engagement within the platform, but not a great opportunity for external interaction; further testing is required. Finally, if you have an active Facebook page with a large amount of interaction and a steady stream of useful posts to engage your users, then promoted posts will have diminishing returns. After all, you are paying someone in time and/or money to build up an attentive audience, so a promoted post is more effective on a page where you do not have a strong presence. The site HasOffers did a write-up of their experience with Facebook promoted posts and compared it to an standard Facebook ad, just in case you want some more opinions. --- ### Faking a SmartPhone: iPod Touch, MiFi, and Virgin Mobile - Published: 2012-07-02 - Modified: 2014-04-25 - URL: https://mariolurig.com/misc/faking-a-smartphone-ipod-touch-mifi-and-virgin-mobile/ - Categories: Miscellaneous - Tags: ipod, smartphone, virgin mobile Maybe I'm cheap or maybe I'm frugal, but either way, I've found unique ways to keep my world connected for a lot less than most people pay for a monthly smartphone data plan. Granted, it usually involves me carrying more than one device and thus I lose convenience for monetary savings, but the numbers add up enough that it's worth it. So, without further adieu, I give you the magical formula I use to save money and still stay connected on the go. Let me be clear: this isn't for everyone. There are a ton of valid arguments for why having an iPhone or Android smartphone and $60+/month plan is the right fit for you. However, judging by the popularity of Pay-As-You-Go plans, this may fit the bill for those sometimes techies. Talk Time The majority of my talk time is spent on a Vonage VoIP phone with 300 minutes for $11. 99/month (after fees this is closer to $16). The call quality is better than cellular service, more comfortable, and is also where my Google Voice line (business number) rings. With that in mind, I use my cellular phone for phone calls every once in a while, but mostly I use it for text messaging as that is the preferred method of communication by those in their 20's and 30's. iPod Touch - Apple The iPod Touch has access to almost every app that can be used on an iPhone, and with a little searching, you can even find high quality apps that are designed to be incredibly useful without an internet connection. My favorite is an app called Calendars which syncs with your Google calendar to keep you abreast of what is happening and where. You can also load up Google Maps directions when you have wifi, zoom to your preferred level of detail, and then move around the entire route. All of those maps are stored on the device and are accessible even after you lose connectivity! All that being said, the iPod Touch is your smartphone fake, and everyone will say to you, "Wow, your phone is so thin! " You get the cool apps, the web browser, and so much more. What you lack is true GPS, a high quality camera, and of course the cell service. Fine, time to solve that problem. Cellular Phone - Virgin Mobile Virgin uses the Sprint network for coverage, so if you are in Wyoming or the Dakotas, this isn't a good option. Otherwise, it's perfectly fine. With Virgin I choose to go with the ever-so-cheap PayLo plans. I'm on a legacy plan that requires I add $15 to the account every 3 months and I can pay $5/month for 200 text messages or $10/month for 1000 text messages. I also pay $0. 18/minute for phone calls and that comes out of my prepaid amount. If you want to make use of Virgin Mobile, we can both get 60 free minutes if you use the Kickback code csdL5d7p when you activate your device. Current PayLo plans are less flexible, but still are no-contract. Either way, the plans are cheaper than plans from major carriers and have a great selection of phones (I use a basic flip phone that cost me $20). Internet Everywhere with MiFi - TruConnect I learned of this deal today through a CNET article that even provides a promo code for 25% off (CNET2012 till 7/6/2012). That means for $79. 99 (shipped), you get a small, rechargeable MiFi card that is no-contract access to 3G internet (up to 1. 4MB speeds) anywhere. Even more exciting is that it works like a router, allowing you to connect your iPod Touch, laptop, or any other device (or friend's device) to it! I've used these before and it's very convenient for those emergency situations where you really want internet access and you can't find free WiFi when stuck in traffic or the coffee shop's wifi is down. Either way, the service is $4. 99/month when active and then is $0. 039 for each MB of traffic. If you're just checking email, updating maps, etc. this is really inexpensive. According to the CNET article, an average user spends $12/month on data (308MB for those doing the math). I'm taking a trip soon and this will be very handy, but then after the trip I can stop the monthly service ($4. 99/month if you're keeping up) until I need it again. Summing Things Up A summary of monthly fees based on my actual usage when possible. $12 - Vonage home phone $10 - Virgin Mobile cellular service and text messaging $0 - iPod Touch is a one-time purchase for the device, no recurring charges $10 - TruConnect monthly fee and 128MB data usage Please note that for fairness, I'm excluding extra fees that are related to all phone or cellular service from this comparison as they are ever-changing and no service is without them. Total: $32/month. Compare that to the least expensive monthly plan from Virgin Mobile at $35/month for 300 minutes, unlimited texting, and unlimited data, and we're at least on par with the best possible pricing out there. However, I could stop using the TruConnect service and save $10 a month when I don't need it. I could also ditch Vonage if I used the phone less and save $12/month while spending more on the per minute usage on the cell phone. I use 200 minutes of talk time on Vonage, so this isn't a smart option for me as it would cost $36/month at 18 cents a minute. Compare this to the cheapest Sprint plan (unlimited text and data with 450 talk minutes is $80/month and you realize that by doing things à la carte there is a lot of room for spending less money for services you are not currently using. --- ### Impressions of London - February 2004 - Published: 2012-06-29 - Modified: 2012-06-29 - URL: https://mariolurig.com/travel/impressions-of-london-february-2004/ - Categories: Travel - Tags: London, travel From February 18 through February 23 2004 I had the opportunity to visit London, England through a 3-day British Airways sale: $100 each way in honor of the Wright Brothers. Today, I found a . doc file that I had written and forgotten about for the past 8 years. It was a recap of the trip, the laughs, and the adventure. Below is that text, unedited. London & Cambridge – U. K. This is an effort to record my experiences and impressions on the short trip to England. This is just some basic memories to be recorded, followed by a more in-depth look at what I learned in the process. See, whut had happen’d wuz... We got upgraded to 1st class on the way out thanks to my brother getting the ‘hook-up’... I guess being a firefighter has its privileges. There was more space definitely, and a few more freebies (open bar, warm towel, full gift toiletries bag), but the movie selection was the same, and the amount of food was the same, just a little ‘fancier’. I’m not much for lobster, so that didn’t matter... of course, I wouldn’t know, I fell into a cold sweat after the appetizers and had to force myself to sleep and miss out on the rest of the meals... better idea than staring down a toilet for 6 of the 8 hours. In King’s Cross National Rail Station, between platforms 9 & 10, the Brits added 9 ¾ platform... an arch and a brick wall... a clear homage to the success of the Harry Potter books/movies. Neat. Speaking of things that move me: At the back of St. Paul’s Cathedral, behind the choral area there was, emblazoned upon a scroll on the floor, a dedication to the Americans who gave their lives in WWII. A large book with names (encased in glass) was also present. I was touched that England would put such a dedication in a location as important to Britain as the White House is to the U. S. Service in England is everything people say: lousy. I take that back. See, if its service where you order at the bar, someone brings out the food, and then someone else picks up the empty plates, it works perfectly. But if it’s a full service restaurant, forget about it. More on that later though. The tube, otherwise known as the Underground, rocks. Mind the Gap. It makes it so easy to get around; it’s just brilliant (Brits love that word, as well as Fantastic). We won’t mention the price because we were at a bit of a disadvantage (we being Myself, Alex, and his buddy Mickey). The dollar and the pound were at a 2 to 1 conversion rate... that’s right, for every $2 you got £1. That sucked. Space. No, not the kind with stars and planets, but space as in how much space you take up. Face it, the U. S. is a HUGE amount of land, and we have no problems making use of it all. If the U. S. used space like the English, we wouldn’t need anything past the Mason-Dixon line. We stayed in a hotel that was £135 a night (we got it for £78), three beds, and about the size of my current room... maybe 14x10. The bathtub was funny, and a source of complaint, since you couldn’t stand in it without the sides curving up... you had to stand sideways just to get your feet flat. That damn curtain too... c'est la vie. Drunk people in the U. S. barely get themselves to a bathroom, and they wouldn’t survive in London, where in one restaurant, the bathroom was through 2 doors, up stairs, turn corner through another door, up more stairs, another door, a hallway, then 2 more doors. The wind of the river Thames is crazy... ok, I’ll say it: it was off the chain. It may have been 40° out, but that wind chill was nuts. By the way, convert C° to F° by multiplying by 9, dividing by 5, and then adding 32. Figuring that back out took me the better part of a day... it shouldn’t have, but it did. It snowed too, as we got off the train in Cambridge on Sunday night. It was a seemingly magical end to it all, not counting the craziness that ensued at 1:30am. We went to a club Saturday night, but because it was half-term, and Cambridge is a college town, the place wasn’t as hopping as we thought, and at midnight, when we arrived and checked the 3 clubs, most were stopped at the door, with a line, and doing 1-1... 1 in, 1 out. The 3rd club we got in, but after paying £8 for cover, £1 for coat check, we discovered why, on this night, no one was there. 3 floors of music, 4 floors total, and it was awful. As Danielle put it, this was not typical for this place, but all we could think of is “Why us? ” Techno, 80’s, and just crap was the selection. Being a server now, I developed an interesting viewpoint on the whole thing, more so when I returned to work at Toojay’s Tuesday. Customers in the U. S. are arrogant, demanding, and definitely take things for granted. I probably have done so as well a little, and it is a comparison of best to worst, but still. I am starting to understand more and more why my father talks about Americans attitude and behaviour the way he does, especially in comparison to Europe. It’s pretty disgusting in a way. Escalators: Love it in London. If you were standing on it, then you stood on the right, so those who wanted to walk on it could pass on the left. Roads: on the ground it was written: Look Left or Look Right. Quite useful in a town of one-way streets and everyone driving on the opposite side than I was use to. I had a great trip, with lots of laughs. Mickey was endless analogies, and all of us were endless laughter. Would I go back? Of course... but I think I’d go with someone that I could enjoy a night’s walk on the river with... --- ### Why the Kickstarter Project "Clang" Should Fail - Published: 2012-06-28 - Modified: 2024-06-01 - URL: https://mariolurig.com/business/why-kickstarter-project-clang-should-fail/ - Categories: Business - Tags: kickstarter As of this writing, the Kickstarter project "Clang" has 10 days left to raise another $153,817 to succeed and take everyone's money. I hope it never gets there. The project has a big name backer in prolific author Neal Stephenson who, to his credit, has been very supportive about the ongoing debate within his Kickstarter comments section regarding the scope and feasibility of what he is trying to create: a true-to-form swordfighting game. Also, the ever growing FAQ for the project has attempted to address many of the concerns and questions by visitors, backers, and doubters. The most recent salvo is over the Kinect Disconnect, which is described in video form through this Penny Arcade video. From almost every standpoint, this project is doing everything right. The project has a well-known individual standing behind a high dollar value goal, they are responsive to questions from the public, transparency about limitations based upon the financial scope is prolific, and the project consistently maintains its character in the face of opponents. It's respectable, intelligent, and upfront... and you still shouldn't give them your money. It's funny about the project's lofty goals being compared to the robotics hypothesis of the uncanny valley, because the more involved in reading and learning about what they are trying to accomplish, the more I feel repelled by the idea of giving money to the project. They have gusto, I'll give them that, but what they lack is the ability to deliver. See, Neal Stephenson is an author with an interest, and he's explored this interest to a large degree in the real world. However, him and his team wish to take that knowledge and magically transform it into a deliciously accurate video game using existing hardware developed by others. I realize the use of magically in the previous sentence may seem condescending, and that's for good reason, but it's not towards the spirit or the people, but rather their lack of realizing how very large the gap is between their dreams and the reality. If you've seen Indiana Jones and the Last Crusade, there is a point where Indy is standing on a precipice, and as the camera pans out you see that what seemed reasonable at first glance is actually a very large gap that no man could cross in a single leap. It's startling, but it's a realization that causes the main character to reconsider the solution to the problem. It ends up be a leap of faith as he steps forward into nothingness landing on a nearly invisible walkway, ala Criss Angel walking on water. What the project is asking from its backers is to take that leap of faith with them, as all project creators do. However, I'm sorry to say that I can't. I don't believe that there is enough substance there for this goal to succeed, given the time, money, and scope allocated to the endeavor. So here we come to my point. Kickstarter has been flooded lately by big names with big monetary goals, and usually this faith is warranted. These projects have raised many multiples of their original goal because people believed they were capable of delivering on their promises and beyond. The doubts I've expressed are reflected in the current state of the Clang project's funding, and as much as it hurts me to wish ill-will on someone, especially a Kickstarter project, I really hope it fails. The project is not good enough, and as Kickstarter is leaving puberty and entering its college years, it needs to take responsibility as a community able to determine the difference between a notable project creator and a worthy project. In essence, crowdfunding has to mature, and in this case, at the expense of a project I really wish I could believe in. Photo credit: Alaskan Dude, Flickr: CC-Attribution --- ### Priorities Change: Embrace Them - Published: 2012-06-15 - Modified: 2012-06-15 - URL: https://mariolurig.com/misc/priorities-change-embrace-them/ - Categories: Miscellaneous Sometimes life is a balancing act with your priorities and your schedule. It's funny, people are always saying, "I don't have enough time to do... " A blogger keyed me in on the idea that it wasn't about time, but rather about priorities. What we're really saying is, I don't think that is important enough to make part of my day. Imagine it as a list of priorities, and when a friend asks you to go vote for their nonprofit to win a contest (in just a few clicks! ), you want to help, but maybe you find it more valuable to finish reading that article on female tropes in video games. For the record, I did both. Maybe you never get to helping your friend, because something else comes up as a good option and inserts itself above the task in your priorities list. The problem that occurs is guilt. When you want to do something, say ironing, and you have it staring you in the face for a month, taking up space in your bedroom so that you can't avoid the shame of not doing it, I'm you're placing unnecessary stress and blame on yourself. It's not your fault, you just have other priorities that are more important to your overall well-being. You'll get to it when it's a more important or pressing issue. Don't stress about it; you are simply finding the best way to live your life at that exact moment. I should be writing my book rather than writing this blog post right now, but to be able to focus on a book I needed to focus on getting this idea out of my head and into the written word; it was just a higher priority. Right now, my priorities are my health (exercise, eating well), making my home not feel like a storage room, connecting and helping other entrepreneurs, writing my Kickstarter book, and then dating. There are a ton of other things on my priorities list, but they are all in a clump below these items, and as I remember that it helps me focus and enjoy the time I'm spending each day on the things that not only bring me the most joy, but also hold the largest value for me right now. Maybe it's short-sighted, but I like to think of it as an opportunity I'm seizing every day. What are your priorities? --- ### Forget the Rules (ThreeMinuteFiction) - Published: 2012-05-20 - Modified: 2012-05-20 - URL: https://mariolurig.com/short-story/forget-the-rules-threeminutefiction/ - Categories: Short Story - Tags: 3MF, Short Story This story was my submission to Round 8 of ThreeMinuteFiction on NPR. The first sentence was given to the writers, and the rest was up to us. Enjoy. She closed the book, placed it on the table, and finally, decided to walk through the door. The flashbulbs exploded immediately as she crossed the threshold, blinding her eyes to the assembled mob. “Over here,” shouted the crowd, echoing off of the red brick facade of her home. She carefully took a step back, questioning her decision to abandon the memoir, but she had not seen the sun up close since yesterday morning, and she was beginning to feel restless. A French voice cut through the chorus,“Ms. Reynolds, do you really believe you can compete? ” The tension drained from around her eyes and her posture straightened as she searched for the source of the question. She found the small man right up front and just a few steps off from center, so close she could have reached out and strangled him without taking a single step forward. Her answer was as sharp as her pronunciation, the final words sending laughter across the field of gathered reporters; they had not expected her answer to be delivered in fluent French. “What did she say,” asked one American to the lanky reporter next to him, desperate to get in on the joke. Ignoring the question posed, the reporter turned to face her and loosed a second question. “There has been much speculation that your participation is only due to a loophole, left in the rulebooks only as an oversight of the committee. Do you believe you are going against the spirit of the race? ” Bridgett's eyes scanned the crowd in front of her. There was not a single female anywhere in sight. “Typical,” she thought. The corners of her mouth pinched as her teeth gripped tightly together behind her thin lips. “I think you are asking the wrong question,” Bridgett said accusingly, “because what you really want to know is if the spirit of the race means to include women. ” The photographer's fingers froze in place, hovering above the trigger as their hearts jumped into their throats. “The spirit of the Tour De France is to find the best cyclist in the world, and while some have argued that women may be at a physical disadvantage, the only disadvantage I see is a lack of opportunity. ” “Your team is compiled completely of men, with you being the only exception. Why should they support your quest to wear the maillot jaune after 3 weeks of racing? ” The tone was condescending, and she knew it. Everyone knew it. She paused, and a second question began from the back of the pack, “Ms. Reynolds, how will your training differ in the coming weeks? ” The crowd turned on their heels, searching for the higher pitch of a female voice. The men parted slightly, allowing the brunette's eyes to peek out of the crowd and meet Bridgett's gaze. Bridgett smiled, her shoulders relaxing at the sight of her old friend. “Well Marilyn, you're welcome to join me in the mountain passes any time you wish to get a closer look. ” She raised her arm and scanned the crowd, “and that goes for the rest of you as well. ” She waved her hand and set into her stride quickly, pushing her way through the crowd, ignoring any further questions. The lanky reporter tapped his associate on the shoulder as they watched her quickly drive away. The American looked at him queerly, almost forgetting that he had first posed the request for a translation. “She said, 'Monsieur, when you raced you tried to compete, but for me, I aim to win. '” --- ### Flirting with the Night [NSFW] - Published: 2012-04-30 - Modified: 2012-04-30 - URL: https://mariolurig.com/short-story/flirting-with-the-night-nsfw/ - Categories: Short Story - Tags: NSFW, Short Story The following short story contains adult themes and suggestive writing, though it does not contain sexual intercourse. The story is not recommended for individuals who are not aware or comfortable with the topics of sex, seduction, or intimacy. She slipped her driver's license into the slim pocket of her purse, zipping it closed quickly before following the rest of the girls into the club. A few heads turned to stare at the small group as the lights danced across their white dresses. They headed towards the bar to order a new round of drinks, but by the time Meredith joined the group, the predictable batch of guys were already swarming, their wallets open on the counter. "Hey baby, what can I get you? " Meredith smiled politely and pushed her gentle curls behind her ears. "A cape cod, please. " "Right away sweetheart. " Her smile dropped away as soon as his gaze turned towards the bar. She hated it when the creeps called her cute nicknames. She already had a name that she liked; why couldn't they just call her that? "Thank you," she said as she grabbed the clear plastic cup from his hand. His lips flexed as he formed a thought, but she spoke again before the sound could escape his lips. "We're going to go dance. We'll see you later. " Meredith's smile grew large as she moved past him and scooped her arm under Sarah's. The group fell into step behind them, leaving the boys at the bar, unable to decide on their next course of action. The song changed to a mashup of the Jackson 5's ABC and a not yet identified Black Eyed Peas track as they reached a small section at the edge of the dance floor. The group was all smiles and giggles, the alcohol in their system just enough to relax them and increase their dancing confidence. A new mix of guys was beginning to gather near the group in a semi-circle, debating the best way to proceed. Meredith was flinging her hair left and right wildly to the beat when she lost her balance and stumbled slightly, stepping backwards as her back collided with another body. "I'm sorry," the male voice said as she looked toward his curly black hair and into his hazel eyes. "It's okay, my mistake. " She paused for a moment as she scanned his sharp jawline dotted with day-old stubble. "Hello again daisy girl. " In an instant, an echo rang out from the group of girls dancing nearby, "Daisy girls! Woo! " They chuckled together and Meredith acted quickly, grabbing his arm and wrapping it around her waist, tucking her body against his. She tilted her face towards him, her lips only inches away from his startled expression. As Meredith let a smile play wide across her lips, she could feel the tension dissipate as his fingers relaxed, pressing against her skin through the fabric of her blouse. She let out a short breath of air and leaned into the chest of this stranger as she turned her head away from him again. Meredith had flirted with strangers before, and maybe it was the alcohol easing her mind, but she felt incredibly comfortable in his arms. She placed her arm over the one wrapped around her mid section and pressed tightly as she took a step toward a small table and set the remainder of her drink down. She could feel his arm releasing her as she stretched out of his grasp, but she held it tight to her body, always holding his hand against her. She quickly stepped back into his arms again, pulling him tighter around her. The lights splashed around the dance floor with each pulse of the bass, but Meredith found the details of the music escaping her, replaced only by the constant beat and the arm wrapped around her. She kept her gaze ahead at her group of friends, dancing the night away, oblivious to her escapades. She flexed her hand and squeezed his hand with hers, awaiting the same response from him. Neither said a word, but Meredith could feel his breath deepening. She suddenly had an idea that manifested before she could second-guess it. She took a deep breath, the pounding of the speakers echoing in her chest, as she pushed her fingers between his and took control of his hand. She slowly began sliding it down her abdomen, sliding it to the elastic edge of her loose white skirt. She teased his fingers carefully along the inside of the elastic, as hers curled and pressed, pulling the bottom of the blouse up and away from her skin. A chill flowed across her neck as she felt him take a deep breath in at the feeling of her soft flesh on his fingertips. She could feel him resisting her urgings; good she thought, he's not over anxious or expecting anything. Meredith looked down at his fingers, separating the fabric from the skin with the space of their hands, then looked back up at her friends as they continued their carefree dancing. She didn't know what exactly was making her heart pound deeper in her chest with each passing moment, but the excitement was building at a fevered pace. Meredith slowly separated her fingers from his, careful not to pull them away. She held her hand against her navel, awaiting his next maneuver. The wait was short and satisfying, as his fingers slowly danced along her waistline, sliding gently between fabric and skin. It was Meredith who took the next deep breath, bringing her arm up over and behind her head, slipping her fingers through his hair and to the back of his neck, her head tilting back to rest on his shoulder. His breath rushed out of him quickly, the warm arm racing down her shoulder and into the top of her blouse. She could feel the bumps form on the skin of her cleavage as the tiny beads of sweat grew cold in the rushing air. Meredith closed her eyes for a moment as the second idea flashed in her mind. Meredith lifted her head and reached her arm back around again, taking his hand in hers as she stepped toward the outer walls of the club, pulling him along behind her. As she reached the wall she turned her body back toward him with a coy smile, pulling him around her body again as she had done before, but this time she leaned into him deeper, until she felt his body relax against the wall that pinned him. She moved his hands back into place on the edges of her skirt and let out an inaudible moan as his skin touched hers once again. Upon contact, she withdrew her hand and placed it against his soft blue jeans. She quickly found his thigh and caressed it gently, matching the tempo of his fingers against her. She could feel his hesitation, so she squeezed the inside of his thigh each time his finger slipped slightly lower until he got the hint. As his fingers slipped deeper and reached the edge of her panties, Meredith brought her hand behind her back, caressing the outside of his fly with determined pressure. She could feel him ever so slightly as she moved up and down the seams, the realization only quickening her heart rate even further. Meredith felt like this stranger was instead a lifelong lover, his every touch a memory of all the good times they had spent together. She had felt these moments before, on rare occasions, and could only describe them as bliss. The club and her friends didn't matter in those moments, only the two of them and their dirty little game. "Alright alright everybody, give it up for the DJ," a voice came piercing through the speakers, invading her world like a hammer to a snow globe. Her hands quickly pulled out from behind her back as she spun around to face him. His look was full of awe and a moment of disappointment at the abrupt interruption. Meredith reached into his front pockets with each hand and quickly pulled out his iPhone. Pushing the button and sliding to unlock the screen, she added her name and number to his contacts as he stared at her in bewilderment. When she finished, she placed the phone in both of his hands, leaned forward, and gave him a quick kiss on the cheek before pulling away with a smile and rejoining her friends on the dance floor. He stood there, watching for what seemed an eternity, before he looked down at the phone in his hand. He pushed the power button and slid his finger across the screen, unlocking it again. The contact name quickly filled up most of the screen: "Daisy Girl. " --- ### South by Southwest 2012 Part 3: Personal - Published: 2012-03-21 - Modified: 2012-04-12 - URL: https://mariolurig.com/misc/my-personal-sxsw-2012-experience/ - Categories: Miscellaneous - Tags: SXSW This article is part of a 3-part series recapping my experience at South by Southwest (SXSW) Interactive 2012. It is split into the following sections: Panels, Parties, and Personal. As a reminder, everyone has a different goal and thus a different experience with SXSW. This is one extrovert's take on 2012's conference. Quick Note: This is going to be personal. Unlike parts 1 and 2, this is a more intimate look into me and my experience. For some background, I attended as a single, 32 year old male extrovert without anything to pitch and no goals other than to have a good time and try and learn something new. Thank You South by Southwest 2012 would not have been what it was (in a good way) without some fantastic people who added to my experience in one way or another: Rose Mary - My host; It's her world, I just visited for a while and tried and keep up. Shelby - My party buddy. Another local Austin resident, I simply pointed her in the right direction at her first SXSW and she rocked all on her own. Jacqueline & Dana - Hosts at the SapientNitro party, consummate people watchers, and seekers of 2am street food. Oh, and an incredibly smart and talented Art Director and Copywriter, respectively. SouthByFreeNOMS - Never met him/her in person, but without them, I would have been very very hungry (or actually had to pay money for food). There were a few other awesome folks I met, including the JavaScript rockstar Carey, salesman extraordinaire and VP at CM4 Matt, men's fashion consultant with the cool business card Dash, and the infamous dating coach Charlie Nox. You know, just in case you needed someone else interesting to stalk follow. Overall, I had a better time in 2011 than in 2012, and I've been thinking a lot about why that is. In 2011, the stories and pluses just kept increasing as the days went on, leaving me with a linear improvement day-by-day for the entire trip. Moreover, it was my first year doing SXSW the way I wanted to do it, and that made a world of difference. This year, 2012, I started off with a bang (viral website), had two nights of great parties (Saturday/Sunday) meeting some cool people, and then had some really big swings in the other direction by the time Monday came around. I never thought I would spend some of my time sleeping in a pool chair, but it happened. I think one of the posts I put out at the end of SXSW said it best: My last memory of SXSW 2012 was not a cute face, an awesome band, or the smile of a new friend. Instead, it was a man with two chipped teeth and blood streaming down his face as officers tended to his wounds. Though, through it all, I really tried to let the bad stuff roll off my shoulder. I just realized that getting angry, upset, frustrated, or any other number of negative emotional words wouldn't do me any good. Forgive, forget, and move on. Maybe I just internalized it all more, but I think it was the right decision in the long run. Digging deeper, I realized a few things about being me. Being an extrovert, I really needed to not only meet people and engage folks, but I wanted them to like me. If I wasn't anyone worth spending time with beyond a quick hello and, "What do you do? " then I took it personally. No, it's not healthy and no, it isn't a good idea, but that's what happened. I also had a goal this year: Rather than just meeting a lot of people superficially, I wanted to really connect with a very small handful of people that I could call friends throughout the next year (at least). I see that as much more valuable, and the only way I could see that as a possibility was to spend time with people on more than one occasion. Sure, I spent countless hours in a row with folks, but I have this fear instilled in me from years ago courtesy of the words of an old friend. This friend, Erik, once described knowing me as, "A bubble that is amazing when you are around him, but once you step away from that bubble you are no longer under his spell. " I'm paraphrasing here for brevity, but I've held on to that for almost 15 years now, and while I've been described as charming, I always worry that it can't last past the moment, and that's what I desperately want. So a few of my negative mood swings this year were driven by that. Thankfully, I did snap out of the funk eventually and fed off of the strangers around me with conversation starters like, "Did you know that 87. 32% of people prefer Q-Tips over the generic brand? " Yes, I was amazed too that this generated so much laughter; it must be in the delivery. When I returned to SXSW, I was called-out by my best friend on the fact that I kept saying, "I kept meeting locals," and my tone was making that sound like a bad thing. I pondered on that a bit and realized it was based upon an interaction Saturday night where a local, upon learning (again) that I was not from Austin, completely changed moods and got cold towards me. A fellow SXSWi attendee would never have that reaction, and so I think I feared that happening every time I met someone who was from Austin as opposed to simply visiting for the conference. To be honest, the locals were some of the coolest folks (especially since they didn't want to pitch me their app or website), and I was unfairly projecting my fears onto them. Everyone still has things they need to work on, and these are apparently mine. Final Thoughts On Austin: Lively nightlife, great music, cool people, and decent weather considering it's in Texas. For 20 and 30 somethings, Austin is a fantastic place to consider if you need a town to call home. On Being Single at SXSW: The ratio is heavily skewed male during Interactive, so it's best to focus your energy elsewhere. On Alcohol: Anyone who knows me, even a little, knows I barely drink since I don't like the effects or the taste. At SXSW, social drinking really has a notable effect on your interactions. So, I drink more in 5 days than I do the rest of the year. Luckily, I'm 6'3", 250 lbs, and drink a ton of water, so I can get away with it. On SXSW 2013: Will I go back next year? Yeah, probably. I'll try again this year to put together a panel, which will nab me a free pass (saving me $600+), but of all the conferences out there, I still think there is value to be had from SXSW. Besides, I need an excuse to see all my local Austin friends again. :) If you've read this far, I'd love to hear your thoughts on Part 3 or any of the posts in this series. Thanks, and stay in touch. Cheers, Mario --- ### South by Southwest 2012 Part 2: Parties - Published: 2012-03-20 - Modified: 2012-03-19 - URL: https://mariolurig.com/misc/sxsw-2012-parties-lounges-review/ - Categories: Miscellaneous - Tags: SXSW This article is part of a 3-part series recapping my experience at South by Southwest (SXSW) Interactive 2012. It is split into the following sections: Panels, Parties, and Personal. As a reminder, everyone has a different goal and thus a different experience with SXSW. This is one extrovert's take on 2012's conference. "I'm hungry. " "I need a drink. " "How's the line? " These are just some of the questions you'll hear at SXSW 2012, and in all of the cases, you probably are going to get an answer that involves a party or a lounge (micro parties). Before I tackle the larger party scene, I'm going to talk a bit about lounges. Scattered throughout the conference campuses and in the parking lots and restaurants of Austin, TX there are lounges. Sponsored by companies looking to promote their brands, even if just for a single morning, these are your go-to locations for a quick drink,bite to eat, or just get away from the crowds for a little while. In-between the panels there is a 30 minute window to transition between the locations, so if you can steal a few minutes of free time before getting to your panel, you will be visiting a lounge to try and score something to eat or a little hair-of-the-dog. In general, these places are pretty damn fantastic and are always conveniently located. My personal favorites were the Alcatel-Lucent Lounge on the 4th floor of the Hilton, The Taco Tent and Registrant's Lounge setup next to the Hilton and the ACC, and Mashable's Circus Mashimus inside the ACC. These were my locations to always score a beverage and some munchies without wandering too far; you just need to know what time to go by the lounge. These are also great spots for networking, since people are usually recharging their devices and happy to have a reduction in the ambient volume of the room, so chatting someone up is pretty easy and strongly encouraged. If you don't have anything to pitch (like so many people at the event), then just listen. Trust me, 99 out of 100 times the other person in the room has something they really want to share with you. As a courtesy, don't tell them their product sucks to their face or suggest a better marketing strategy, just smile and encourage them. Who knows, you may be wrong. Maybe. Lounges offer micro-environments which are really conducive to building a longer, more valuable relationship with another person at SXSW. Out of that stack of business cards you are collecting, very few (if any) of them will be a valuable connection for you if you don't spend more time and develop a deeper relationship with them. That's why so many people speak about meeting their next business partner or investor not at a huge party, but at an intimate get-together back at a hotel room or in a small unofficial after-party. I've never been invited to those places, so I'll just take their word for it. P-A-R-T-Y So much partying, so much alcohol, so much free schwag. At SXSW, if you are paying for food or drinks, you're doing it wrong. The parties (official and unofficial) are the end-all-be-all of SXSW. Sure, it's a conference, but there are people who simply come for the parties. The official parties require a badge, but so many of the unofficial parties simply require an RSVP and a photo id. Weeks before SXSW begins, scouring EventBrite is a great way to get those RSVPs in. RSVP to everything, regardless if you think you will attend. Oh, and ignore that part about printing your ticket; besides the EventBrite app, I never once was asked to show a ticket, because they have a printed list of all the RSVPs (if at all). There are a few core rules for attending parties at SXSW: The official parties will have lines, so get there early if you want to get in and be ready to queue up. Is your party kicking ass? Then stay; leaving a great party for another awesome party will usually not work out due to capacity issues (1-in-1-out). Tip the bartenders, especially if it is an open bar. They will make your night that much better. Go ahead, pull out that $5 bill; it's worth it. Don't fear the locals: They know the best venues, bands, and probably can be a great connection for you as the week progresses. Get a buddy you can meet up with, especially if you are an introvert. It's less exhausting and easier to meet others (and ditch the creepy people) when you have a party buddy. LADIES: This is your playground. If you talk tech, the men of SXSW are yours to command. GUYS: If possible, get a female buddy; It will make party hopping, meeting people, and even getting past RSVP lists you are not on possible: A guy/girl duo is the most powerful social force in the SXSW party galaxy. If you can manage it, getting 6 hours of sleep and drinking more water will allow you to rinse-and-repeat the panel/party endurance race that is SXSW for all 5 days. If you really want to get the most value out of your experience, there is a lot of free food and lack of lines before those 9:30am panels. Okay, I tried, that was my best shot at convincing you not to sleep in. See you at 11. Maybe. Best Parties for Me Mashable through a fantastic party, taking over a venue that had 3 different floors that included games, multiple open bars, and a dance floor with fantastic DJs A Plus D. Tip: A shitty DJ will kill any party, so beware. I also had a great time at Six Lounge (the female bartender's name is Lauren, FYI), especially when their Saturday house DJ MightyMike was spinning the best of 90's dance and pop with contemporary hits. Final Thoughts There were so many parties, nobody could possibly attend them all, but Twitter proves to be an invaluable resource, with the likes of a few special accounts: SouthByFreeNOMS - Free food SXSWfreeDrinks - Free drinks FreeSXSW - Parties and Events Since SXSW Music starts at the end of Interactive, there are also a ton of bands that flood Austin, TX (already a huge music city), so good music is easy to find. I didn't imbibe in new bands due to queues, but I did discover Free Energy, and they rocked the Nokia Lab tent. Here is one of their newest tracks: The party never stops, so if you can keep up your energy, there is always somewhere to be and people to socialize with at SXSW. Party hard, party long, and repeat till you fly home. --- ### South by Southwest 2012 Part 1: Panels - Published: 2012-03-19 - Modified: 2014-04-25 - URL: https://mariolurig.com/misc/south-by-southwest-2012-sxsw-panels/ - Categories: Miscellaneous - Tags: SXSW This article is part of a 3-part series recapping my experience at South by Southwest (SXSW) Interactive 2012. It is split into the following sections: Panels, Parties, and Personal. As a reminder, everyone has a different goal and thus a different experience with SXSW. This is one extrovert's take on 2012's conference. SXSW is full of panels. From 9:30am till 7:30pm for 5 days straight, you can gorge yourself on information across 15 different campuses, with a metric ****ton of content. I categorize all of the panels up into three categories: Learn, Interact, and Entertain. You can think of it like a Venn Diagram: Some panels are strong in just one category, but the best panels are a mix of all three (varying degrees). Of course, it also depends on your mood. See, sometimes I just wanted to be entertained after being disappointed by panels (more on this later). That is how I found myself at Anthony Bourdain's panel; looking for entertainment and still managing to learn something. This year, I found only 1 great panel each day, 1 good panel, and 3 really bad panels. That is not a good ratio, especially considering that only 1-in-6 panel submissions in the Fall get selected for the next year's conference. I asked around, and with a few exceptions, most people were having the same experience as I was with the panels in 2012. However, this year one concept was reinforced: Get out of the popular panels and your comfort zone, and you may find some gems. More importantly, the more popular the panel, the more likely that a video or audio recording will be posted online in the future, and there is probably a great visual noteboard covering the topics of the panel by OgilvyNotes. The best panels I found were off the beaten path, with the best one being "How We Do It in Brazil" which not only entertained, but also was well organized, had a ton of information, and flowed well with audience questions. It was an example, in my mind, of a perfect panel. Another good one was Sex Nets: Pickup Artists vs Feminists. Note: At the bottom of this post will be a collection of notes from panels that I either took or exchange with another person for them. Enjoy. A Quick Word about Campuses Beyond the Austin Convention Center (ACC) As mentioned before, there were 15 campuses used to house all of the content that SXSW was offering, including the ScreenBurn Arcade, Trade Show, panels, core conversations, keynotes, and more. Some of them were convenient and within a block or two of the ACC, but some of them were very much not nearby. That meant you could either: grab a shuttle, snag a ride with Chevy vehicles (one of the best sponsorship/service hybrids), walk a while, or (new for this year) borrow a bicycle courtesy of the SXcycles program. Or, you could just not go. Guess what was the most popular option in the rain? In the sunshine? Here is a hint: the answer is the same. SXSW needs to shrink, because if you were brave enough to head out to a remote campus, you would be able to arrive at the next panel within the 30 minute travel window between panels, but returning back to the ACC in that same window, let alone being able to get into your preferred panel, would be a lost cause and source of frustration. Sure, each location has a theme, and you may find that a few of the panels that are relevant to you are in the same location, but the value of SXSW is the variety (see the 'Brazil' note above), and this doesn't encourage people to branch out and actually get a broader range of information from their SXSW conference experience. Verdict So, on panels alone, I would give SXSW 2012 a 4 out of 10, with a bonus point given because of the phenomenal job the volunteers did directing traffic flow to the broadest points for transitioning between the various floors in the MC Escher designed Austin Convention Center. I didn't experience the traffic blockages that plagued 2011's conference. There was a lot of 'repeat' content panels, as well as panels that didn't present what their descriptions promised. Maybe it is a penalty of attending multiple years in a row, which is why so many repeat attendees skip the panels completely and just go to parties, lounges, and network. Their loss however, as there are some gems, but like any good mine, you need to dig a little deeper. Notes Food Trucks & Social Media (courtesy of Daniel Lafrenière) - food truck = startup culture Social medias - tell people where you're gonna be - post pictures of the menu, of the produce, the farmers, the crew - tell our story, the process to share successes and failures - how foods are prepped, stored on the truck - let people see inside our business to gain trust (montrer processus de Richard sur FB) - brand, personality of your business, tone, consistency of your voice - talk to your customers on a daily basis, listen to what they have to say Building brand using social medias - all about honesty : we want our customers to feel how we feel in our business - did a lipdub (! ) (idée : a day in the life video) - show people having fun at what they are doing - show behind the scenes - offering give-aways - going on other's social medias : yelp! , etc. - retweet, repost, etc. Twitters, FB, Yelp! ... differences? - Yelp! is the most powerful tool - bad comment : apologize, how can we make things right ? (livre) - post a lot of pictures on FB - just do a little very well - news ways to engage more people and start a dialog, an opportunity to start a dialog - 0$ on marketing dollar ... just social medias Loyalty - go the extra mile before the conversation start - thank you them before - remembering their names (Daniel Shemtob, Lime Truck) - everyone feels a regular - to create bond Mistakes - doing politics - no drinking and tweeting ;-) - grammatical/spelling/ auto-correct errors - not engaging the customers (livre) Use - what do you want on the menu this week? - where should we stop the trucks? - ask your customers what they want and give it to them (livre) Scalability Tips (Growing Fast) Cassandra? Do 5+ nodes or just 1 Automation early Abstract hotspots to dif maps opt-in feature lets you do live load testing Get good graphs/metrics XHP for security Grow a P2P Market (e. g. AirBnB) Don't be afraid to grow only one side, the one you get the most. Load up either supply or demand, don't try and do all. Example: sports equipment, do supply but go after one sport but leave it open for others to also sign-up Do things that don't scale to grow your audience, because it will get you where you need to go in the future when you don't need to do them. Women CEOs The people you hire for early on are not always a right fit later on. Skills or culture? Hire only if they are a fit for both CHECK OUT: Learnvest for negotiating for salary CHECK OUT: Mind flash marketplace BOOK: The power of unpopular BOOK: Five dysfunctions of a team How We Do It in Brazil (slides) Not a huge middle class Most money in S/SW Everyone is going mobile 30 mil Brazilian government can't be avoided expensive for everyone Valentines day is in June and no cards, but gifts. Vestibular is school test Bank strikes regularly Orkut still doing well vs FB Prepare to be ORKUTIZATED! Web portals are strong Don't use google translate Major click through differences in word choices across Latin America countries 95% google share Bing highest click through rate Use bing to get to google 84% research online before buying --- ### The Life and Times of a Viral Internet Website: DefendRush.org - Published: 2012-03-18 - Modified: 2024-06-01 - URL: https://mariolurig.com/web/life-and-times-viral-internet-website-defendrush-org/ - Categories: Websites - Tags: viral Over 400,000 individuals have seen the website; the one-liner website that makes you laugh when it presents the unexpected. I'm talking about DefendRush. org, a website I built in a stroke of genius frustration. There is a much more eloquent write-up of my reasoning for creating the website on The Atlantic, if you're interested. As the Executive Producer of The Daily Show, Rory Albanese, said during the Political Humor 2. 0 panel, sometimes what amuses the audience the most is as simple as a poop joke. DefendRush. org was my poop joke. What I wanted to add to the discussion was the background metrics and traffic trends that occurred for the website in the 7 days from creation on March 7th through the peak of its traffic 48 hours later. Hey look, a graph! The site started as a submission to Reddit. com's subreddit /r/funny, where it slowly climbed to the top 27 of that subreddit, just shy of its front page. In terms of Reddit overall, this put it in the top 125 submissions ~9 hours after it was first submitted. The traffic grew to 3 visitors per second from that traffic alone and became my most upvoted submission ever. In retrospect, I could have probably hit the front page if the title was, "DefendRush. org brings up some great points" but alas, hindsight. However, the magic of the website was as a link on Facebook, and that's where the next wave took off. I should say, at this point, it was 24 hours after the initial submission, and I decided to add a 'Created by' link to the page. This was probably the best decision I made through this entire event, as it lead to the email, phone call, and subsequent article in The Atlantic (linked above) that was incredibly flattering. The traffic was now driven by Facebook Likes and Twitter Tweets, and it was gaining steam for the second day. By the time I found myself in the badge pickup line at South by Southwest (SXSW), the site was getting 5-6 new visitors every second. It even had a resurgence on Reddit through another submission, though this time to the subreddit /r/WTF. It all combined into a perfect storm of traffic. Sidebar Speaking of traffic, the website was a simple HTML page, with the only image on the page being served by Amazon's Cloudfront service, keeping the page very fast and keeping the load off of my web server. See, while it was great to get all of the traffic, what wouldn't have been great is if it brought down my server, since it powers all of my other website projects that actually generate income for me. Luckily, it seems, I thought of everything. The rest of the week was a slow decline of traffic and a slew of emails to my public email address, the majority of them positive. I did reply to all of them, even if it was simply a polite thank you. You see, since Rush Limbaugh and politics is a polarizing issue, I saw no need to instigate more people. It fell into line with my motto last week, "It's not worth it to be mad or upset. Move forward and be happy. " So what's the takeaway from this minor moment in internet history? The domain cost me $10 to register, the Amazon hosting fees for the image was about $1. 50, and about $5 in cell phone charges ($0. 18/minute for my Virgin Mobile pay-as-you-go plan). So, for $16. 50, I got to laugh along with 400,000 strangers and got an interview with a notable publication (Jen Doll, the author, was also fantastic to talk to for the 30 minutes we spent on the phone). Worth it? Damn right. By April it will disappear into the ether that is the internet, but for one week, I was responsible for a viral website that made a lot of people literally laugh out loud. I can be proud of that. --- ### Until You Ask For Money, You Don't Know How Serious They Are - Published: 2012-02-25 - Modified: 2024-06-01 - URL: https://mariolurig.com/business/until-you-ask-for-money-you-dont-know-how-serious-they-are/ - Categories: Business - Tags: business, entrepreneur, failure The title of this post is from a conversation this week at a Reddit Denver Business Owners meetup/meeting. When I first heard it, I nodded my head in agreement, but today when I was speaking with my accountant about my failed business, Survival Gift Shop, she said, "Did you make any money from it? " The sad answer to that was no. I'm not terribly proud of this fact, especially since I sunk $700 in product, fees (PayPal and Shopify), and advertising, not even counting my time (because really, what startup actually places a price on their time in the beginning). Results? Not a single person clicked BUY over the 6 month period where it was heavily marketed and even got some organic search traffic. At the very end, I even tried unloading them at cost on ebay and still no takers over two 7 day auctions. Now I grant you, a wise woman who loved the idea and built a Lady's Personal Survival Kit of her own once exclaimed that it was more of an impulse buy, so the method of delivery was possibly wrong (not the idea), but I didn't have the capital or the faith to try it again. I wrote it off as a 100% failure. I want you to read that again. 100% failure. Zero profit. An utterly inconsequential business. And yet, to this day, when I mention or show someone one of the kits, they love the idea and want one. This is of course, when I am giving it to them for free. Hey look, we've circled back around to the top, "Until You Ask For Money, You Don't Know How Serious They Are. " This is why I waved goodbye to an idea after one year and moved on. I had better things to do, where people had already spoken with their wallets and I was listening (intently). So what's the point? An idea is just an idea until someone literally pays for it, then you have a chance at a business. It's an obvious lesson that's repeated every day by an entrepreneur somewhere in the world, and the best ones know how to let go, move on, and drive on until they succeed. --- ### My Words, My Voice: Gourmet Magazine and the Pingdom Podcast - Published: 2012-02-02 - Modified: 2024-06-01 - URL: https://mariolurig.com/misc/my-words-my-voice-gourmet-magazine-and-the-pingdom-podcast/ - Categories: Miscellaneous - Tags: dice candies, Pingdom, SEOMoz I've been pretty lucky lately. I spent an hour in January speaking to a writer for Gourmet magazine about my experience with Kickstarter. He then wrote a fantastic article about crowdfunding food items through Kickstarter, where I was proud to end-cap the article. The same day that the article was released, I recorded a guest spot on the Pingdom podcast (episode #5), talking about an article I published on SEOMoz regarding page speed improvements. We talked about a few other things (okay, I talked a lot). Pingdom #5 by Pingdom I don't know what February will bring, but I was glad to be a small part of both the article and the podcast. Not that I love to talk or anything... --- ### Successful CrowdFunding Venture through Kickstarter - Dice Candies - Published: 2012-01-26 - Modified: 2024-06-01 - URL: https://mariolurig.com/forsale/successful-crowd-funding-venture-through-kickstarter-dice-candies/ - Categories: For Sale - Tags: dice candies, kickstarter First and foremost, in the month of December I went to the crowdfunding website Kickstarter. com and launched a project entitled, "Gaming Dice in Chocolate and Sugar". I asked for a modest $950 to fund the project, thinking it would just be another small part of the bigger income picture of my life. Well, to my surprise, the project went viral within the gaming community, and in the end it was funded over 1700%, raising over $16,000 (before fees). Wow. So, gears shifted, new plans were made, advice was sought out, and Dice Candies was born. My apartment is currently a workstation and storage facility for Lego blocks, mold material, vacuum chamber and pump, and a collection of pots and thermometers. Needless to say, I'm doing a decent job of maintaining a normal living environment, save the loss of a kitchen table. Even with all of the problems and all of the work preparing to make 1800+ sets of dice (11,000 individual dice), it's a good problem to have. Pictured to the right is an image of the process of building a single mold (this was version #6). It takes 4 days, a strong wrist, and some sore fingertips. However, it's moving forward, which is always a critical part of the venture. It's an adventure to say the least, but I did get to add a new title to my business cards. Mario Lurig — Author. Web Developer. Chocolatier. --- ### Short Stories While Brushing Your Teeth - Published: 2011-12-28 - Modified: 2024-06-01 - URL: https://mariolurig.com/books/short-stories-while-brushing-your-teeth/ - Categories: Books - Tags: e-book, short-story-a-day Hot off the heels of my 30 day short-story-a-day challenge, I've compiled all of them into a book called, "Short Stories While Brushing Your Teeth". You can download the ePub file completely for free right here: Download "Short Stories While Brushing Your Teeth" I'm also releasing it at as a Kindle Lending Library exclusive for a few months, so you can get it for your Kindle through Amazon (free for Prime members, otherwise $0. 99). As a reminder, every other e-reader, tablet, phone, or e-book reader software is designed to work with ePub formatted books, so grab the download from the link above as soon as possible! --- ### Bonus Short Stories - Em D's Eyes & My Wings II - Published: 2011-12-25 - Modified: 2024-06-01 - URL: https://mariolurig.com/books/bonus-short-stories-em-ds-eyes-my-wings-ii/ - Categories: Books - Tags: Short Story These two stories were written for artists on DeviantArt, as a personal challenge to create a story for their favorite piece of art. They are both shorter (~250 words), but just as wonderful. Em D's Eyes She was use to long days and strange outfits, but Emily could not have imagined today's gig. She had been modeling all over New York for a few months now, and when her agency said that there was a photo shoot just off of Times Square, she knew it was going to be big. When she walked into the studio, the large windows overlooking the square had the drapes pulled back completely, letting the room fill with the light of all the electronic billboards. The room had mirrors, prisms, and all sorts of colored glass dangling in front of the window. She was handed a vibrant pink coat with small mirrors covering it and instructed to put it on while they, "finished setting up the room". When she walked out again, the room was awash with every color of the rainbow. "Just stand on the X over there and let's get started," said the photographer. Emily moved from the darkened hallway to the spot, and immediately her outfit exploded with color. I'm a professional. I can make this work. She tried to ignore everything and focus on just the camera man, moving in and out of the shadows with every click. She grabbed a bit of her sleeve and put it between her teeth and stared at him, the blue of her eyes resisting the room's fragmented colors. The camera clicked three times in rapid succession, and in that set of pictures, Emily had moved from struggling model to Em D, supermodel. My Wings II The apartment tiles were small on the patio, leaving marks on his heels as he pressed his weight against them. It had been 6 years since he had been back at his parent's place, and it brought back ill memories. He stood on the other side of the railing, his toes dangling over the edge. As he glanced down at the world below, he could see the courtyard was empty, save a few trees and many more stark white tiles. His hands were gripping the railing behind him as he leaned forward, shifting his weight out into the open air. He thought it would make him nervous, but instead he was content. It was 6 years ago that he stood at this exact same spot and thought about ending his life. Today wasn't going to be the same. Some words a friend shared with him that day had brought him inside, and today he wanted to come back to the same place where so much pain had gathered and let it free. He could feel the weight of it lifting away from his body, guilty wings soaring into the open air. He tightened his muscles and pulled his body back toward the railing, his heels bearing his full weight on the edge. "When you can't run, you crawl, and when you can't crawl, you find someone to carry you," he said to himself as he looked out on the sunset falling behind the opposite building. He had found someone to carry him for a while, and now he could run again. --- ### Christmas Morning (Day 30) - Published: 2011-12-24 - Modified: 2011-12-24 - URL: https://mariolurig.com/short-story-a-day/christmas-morning/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The window fogged up slowly, the haze growing with each breathe as Sansa stared out into the yard. She shifted her weight onto her right arm, lifting her left sleeve up to the window, giving it a vigorous rub. The snow had stopped falling early in the morning, but the tree branches and bushes still had a dusting of snow covering their tops. Sansa swore that this year would be different; she would stay awake all night if the need arose. She stared out the window, anxiously awaiting any sign of movement. A small rabbit turned its head toward the window, its eyes reflecting the glow of the small solar lights lining the pathway. Sansa's heart skipped a beat as she pressed her nose against the glass, trying to look closer. "Stupid rabbit," she sighed and sunk back onto her pillow. Ellen rolled over in bed and looked at her little sister. "Go to bed Sansa! " Her eyes wore the exhaustion of a night with her extended family, and her little sister's squirming was making it hard to stay asleep; she had always been a light sleeper. "I don't want to miss Santa this year! Last year he ate all of my cookies without a sound, so I made an extra large batch this year to slow him down. " Ellen smiled sleepily at her sister's quick wit. "I won't miss him again. " "You tell him I said hello then," said Ellen as she rolled back towards the wall, pulling the blankets up over her head. It took only a few moments before her slow breaths whistled softly as the air passed through her nose. Sansa hadn't noticed, her attention focused back on the cold night outside her bedroom window. Her eyes began to droop, with each blink taking slightly longer than the last. When Ellen would snort, Sansa would snap awake for a moment, the window completely fogged up in her view. A few flakes of snow blew off of the roof and fell gently down to the ground. Sansa was mesmerized, and it took only a few more minutes before the winter wonderland conquered her willpower, sending Sansa into dream land. The bedroom door closed quietly, the head peeking in disappearing from view. The sun had barely crested over the horizon when the light landed on Sansa's eyes, stirring her awake. "Oh no," she exclaimed loudly, "I fell asleep! " She launched out of bed, her feet fumbling to find their way into the fuzzy slippers. Ellen simply rolled in her bed, groaning, as Sansa dashed out of the bedroom and down the stairs. Her eyes focused on the empty plate of cookies sitting on the table at the base of the stairs. "He came! " She turned the corner and slid onto her knees and into the pile of presents stacked below the tree. The sounds of presents shaking brought her parents down the stairs. Dad was first down the stairs, groaning with each step. Mom looked at him queerly before realizing, "You didn't eat them all, did you? " He didn't need to respond, his wincing giving her the answer she needed. She smiled and caught up to him at the bottom of the stairs, pushing her head under his arm and pulling his weight over her shoulder before standing upright again. Sansa's eyes glowed as she watched them creep slowly toward her. Mom smiled at her patient little girl and spoke through a smile, "Go ahead. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Bad Listener (Day 29) - Published: 2011-12-23 - Modified: 2011-12-24 - URL: https://mariolurig.com/short-story-a-day/bad-listener/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Buck paced back and forth on the white tile, moving between the living room and the dining room at an accelerated pace. He was nervous, because he was told to just chill out and behave himself. It wasn't often that he was left alone in the house, but if it was longer than a casual nap, he usually got antsy and needed to entertain himself. This entertainment usually lasted until something laid shattered in a million pieces, and today was no exception. He avoided eye contact with the victim as much as possible: a small glass vase that had shattered on contact with the kitchen floor, spilling flesh flowers and water everywhere, including the mat that lay in front of the sink. He wasn't sure how it happened, but he did know that with nobody else around he would be taking the full blame for it. So typical he thought, blaming him when something went wrong. It wasn't always his fault, he was sure of it, but somehow he always got the scolding. Every time. Buck suddenly had an idea: If he simply went to his bed and laid down, maybe he would either wake up and none of this would have really happened, or when the damage was discovered, they wouldn't suspect him at all since he was sleeping so peacefully. It would be his ticket out of a bad situation. He turned quickly and headed towards the far bedroom, but as he entered the hallway he could hear the jingle of keys outside the door as Mary and Paul set upon reentering their home. He quickly rushed to his bed, curling up into a tight ball, hoping to deflect any suspicion. They would simply think he was cute, sleeping peacefully, and all would be right in the world. With his eyes shut tightly, Buck heard the misses walk in first, her heels ringing loudly. He couldn't count the number of steps specifically, but it wasn't long before some curse words began their journey out of the kitchen, down the hall, and into Buck's ears. The heels clicked quickly now, the volume increasing with each step. Mary's shoes fell silent on the carpeting as she entered the room, approaching Buck's bed with long, determined strides. "You! " Don't you play possum; I know you're not sleeping. " Mary grabbed Buck by the scruff of his neck, yanking him up out of bed and carrying him back to the kitchen. His eyes were wide open and he knew his rouse had failed to convince her. Now he was dangling in her grasp, feeling the burden of his misdeeds. "You see here," she said angrily, "you see what you did? " "Damn cat, what the hell am I going to do with you? " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Revenge (Day 28) - Published: 2011-12-22 - Modified: 2011-12-22 - URL: https://mariolurig.com/short-story-a-day/revenge/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Marcy had always loved the movie Home Alone, where a young boy, abandoned by his family when they left on vacation, holds off a pair of dimwitted robbers who break into his house. Hijinks ensues. It use to be a simple source of enjoyment, but in the last month it has shifted to being a source of inspiration. Ever since she found out that her husband had a mistress, she had secretly been planning her revenge. She spent the first few nights crying, wondering what she did wrong that lead her man astray. She still kissed him on the cheek when he left after dinner to, "head back to the office and wrap up a few things. " After feeling sorry for herself, something snapped on the inside and she began plotting. Luckily, Brad had never wanted children, so there were no distractions when she starting setting her traps. The garage door opened slowly, and as soon as there was enough clearance for his Miata to clear the door, he nudged the car forward. As soon as he crossed the sensor, the door started closing again. The crunch of metal nails scraping the hood made Brad wince, but he could only see the large metal frame pressing down on his precious car. The motor of the garage door opener strained against the thick chain until a large snap sent the chain flying through the air. Brad cursed loudly and got out of the trapped car, heading towards the front door as he fumbled with his keys. The doormat was damp as his loafers squished into the thick weave. As he slid the first key into the deadbolt, it acted as a conduit for the electrical current running through the 5th pin of the cylinder. A slight zap could be heard for the door just before Brad screamed out. His muscles seized and his grip tightening on the key until the surge stopped, the hairs on the back of his neck prickly as they pointed toward the night sky. He struggled to take a breath and keep his footing, but he fell down to the ground, his briefcase spilling its contents onto the shrubbery. He looked around him in time to see the skunk lifting it's tail, covering his face and filling his mouth with its spray. His face contorted as he twisted his body, throwing up over the edge of the pavement. Thirty seconds passed before he pulled himself back up again, approaching the door with caution. The key wouldn't budge and the door was still locked, so he tried ringing the doorbell, carefully. Ding dong. Nothing. He rang it again. Ding dong. He resorted to knocking on the door before pushing the button for a third time, but instead of a sound, the button depressed an inch into the wall before popping out and revealing a small note tucked into a compartment. He pulled out the note which contained only a single word: Mailbox. Confused, Brad lifted the lid and pulled out the manila envelope. He unwrapped the string and opened the flap, pulling out a bundle of papers. Paperclipped to the front was a black and white photo of him and his mistress in the heat of passion. He yanked the photo away and read the heading of the first page: Summons for Divorce. He read the attached Post-it note written in his wife's hand, "All of your stuff was donated to charity under the name, Cheating Husband. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Coma Patient (Day 27) - Published: 2011-12-21 - Modified: 2011-12-21 - URL: https://mariolurig.com/short-story-a-day/coma-patient/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The stark white room was filled with the beep of the heart monitor and six people all holding their breath: 1 doctor, 2 nurses, his parents, and his wife. Xavier opened his eyes slowly, letting in only the slightest bit of light to his underused retinas. One of the nurses moved back from the bed and flipped one of the two light switches on the wall, dimming the room. Xavier opened his eyes a little bit wider and tried to focus on the smiley face stuck to the ceiling above his bed. He groaned and tried to lift his head, but his body was weak from inactivity. "Try to relax Xavier," said the nurse still at his bedside. His wife's eyes were red and puffy as the tears welled up inside them. His mother's hands were wrapped around her husband's arm, but she managed to hold back tears as she gripped him tighter. Xavier tilted his head towards the woman speaking with a relaxing tone. His mouth opened and a cough escaped, "Where am I," he asked with a scratchy voice. The doctor stepped up closer to the bed and pulled out a penlight, scanning it back and forth between his eyes. "Xavier, you're in the hospital. You were in an accident. I'm Dr. McDonald. " He continued to wave the light back and forth as Xavier's eyes shifted to avoid gazing directly into it. The doctor turned to the nearby nurse, "push 25 more cc's. " Xavier coughed again and titled his head to the other side, slowly focusing on everyone else in the room. When his eyes met with his wife's gaze, her look bore directly into his soul as a pained smile joined the tears. Her hands were shaking when she reached out and grabbed his hand in both of hers, squeezing tightly. "Who are you? " Everyone in the room could hear her heart hit the floor on his words. The crying became heavier still as she began to hyperventilate. One of the nurses moved over to the other side of the bed and set her hands on the wife's shoulders, trying to calm her down to no avail. The wife was nearly hysterical when she was escorted out of the room, sobbing uncontrollably. Xavier was confused and didn't understand the reaction. Looking at her face he could tell that she knew him, somehow, but her face was completely unknown to him. He heard the doctor call his name again, but it felt uneasy to hear it, because he knew the doctor was talking to him, but to him Xavier was someone else. His mother excused herself to join his wife in the waiting room, leaving only three strangers in the room with Xavier. "Xavier, do you know your last name? " He thought hard about the question, but his memory was a clean slate. He replied slowly, "My name is Xavier? " He looked directly into the eyes of the doctor, but was lost inside his own head. The doctor turned toward the father and said, "Mr. Lee, I think it's best if we spoke outside for a minute. " The remaining nurse grabbed a second pillow from the chair beside the bed and helped Xavier prop himself up. He watched the two men leave the room, but he barely understood what was going on. He felt weak, alone, and scared. The nurse smiled at him as she adjusted the pillows. "Don't worry Xavier, it'll be okay. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Initiation (Day 26) - Published: 2011-12-20 - Modified: 2011-12-20 - URL: https://mariolurig.com/short-story-a-day/initiation/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The buses idled along the curb as they wrapped the length of the roundabout as students loaded their bags into the large compartments under each bus. A few small groups were gathered outside of the buses, laughing and joking with their friends who were riding separate buses. Derek had already loaded up his gear onto bus number four, but he was stalling boarding until the very last moment. While the field trip involved the entire junior and senior classes, the popular kids always rode bus number four and wrote all of the rules of the bus. The stories that survived each class were legendary: Kim and Tammy making out for 30 minutes, smoking electronic cigarettes without the chaperons knowing, and the ecstasy party. Those were only the good stories though, the ones that made every junior want to get onto the bus. The trouble was, you could only be invited onto that bus, and when you arrived, you had to succumb to the initiation. "Load up everyone, it's time to go," called out Mr. Parker who was the headmaster for the school. "That means you too Mr. Matthewson. " He looked directly towards Derek with his usual authoritative stare. Derek obliged and headed towards the fourth bus, stepping inside quickly and grabbing the seat farthest toward the front. The doors closed and within a few minutes, the buses headed out of the parking lot and set out on the highway. The lights stayed on in the cabin of the bus until they reached cruising speeds, and the student banter was typical. Derek thought he had slipped by without noticing, but as soon as the lights went off, he felt a tap as a folded piece of notebook paper pinched between two fingers rested on his shoulder. He grabbed it quickly, receiving a shove from the idle hand before it withdrew. He opened the note and read it quickly. Derek rose from his seat and walked towards the very back of the bus, where the guys lined the isle seats and the women sat against the windows. There was a determined look on all of the boy's faces as they started pulling the calf-high socks out from their hiding places and swinging them around in a circle. Their leader spoke with a loud whisper, "You better not make a sound or you're off. " He took the first swing as Derek winced and gritted his teeth so he wouldn't make a sound, raising his arms to protect his face only to be hit in the side with the bulbous end of the socks flying from all sides. He let out a soft groan as one landed below the belt, which luckily went unnoticed by the boys. The girls waited their turn patiently, some averting their eyes from the violence. Samantha spoke up and suggested it was their turn, and the beating ceased. The girls instructed Derek to strip down to his underwear and imitate many embarrassing sexual acts for their amusement. Derek played along, thinking only about the good times he would have once he was accepted. Naked, with only his hand cupped around his private parts, the girls finally announced they were satisfied. This was it; he'd made it. His body ached all over and he felt ashamed over the acts he had just performed, but as he dressed himself again, Jade slid over to the window seat and made room for him to sit down. This would be a trip to remember, and the best part was when he got to do this next year on some other wannabe; He would make it worse. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Breakfast of Champions (Day 25) - Published: 2011-12-19 - Modified: 2011-12-19 - URL: https://mariolurig.com/short-story-a-day/breakfast-of-champions/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The line at the door wrapped back and forth three times between velvet ropes outside of Hillary's favorite breakfast bar. She walked directly up to the bouncer and spoke, "Hey Lenny. " She smiled brightly as Lenny stepped to the side and let her walk through without hesitation. The bar was full of laughter and upbeat music, packed to the gills as usual for a Saturday morning. She slipped off her thin coat to reveal a red dress that barely reached to her mid-thigh, cinched by a rich brown leather belt. She noticed her friends standing at the end of the bar and made a beeline for their location. The top of the bar in front of her friends had a small appetizer plate of breakfast burritos and a pitcher of orange juice; they had started without her. Hillary was feeling amazing, "Last night was totally worth it. " Her friend Tom responded first, "What was your poison? Rum? Tequila? " "Dirty martinis while watching a romantic comedy over streaming. It didn't help; I just wanted to curl up and die on the couch, but I kept drinking. " The memory wrote the pain over her face as she recapped the tale. "It took forever to fall asleep, but I woke up feeling absolutely amazing! " "Cheers to that," said Tiffany as she handed a glass of juice to Hillary and raised her own glass in the air to toast. The gentlemen quickly grabbed their glasses and they all held them up high in the air, matching Tiffany's hand height. "To amazing hangovers! " The glasses clinked loudly as they met in the air, though the sound was drowned out by the heavy beats of a hip-hop track. "This place is always packed on Saturday mornings... " "Because it's the best," exclaimed Hillary, ending the negative line of dialog. "Besides, this is where all the cute boys are, so this is where I'm going to be. " Tom threw his shoulders back and stood up a little taller. "Damn right. " It was all Tiffany and Hillary could do to not laugh at Tom's bravado. The ladies scanned the room and Hillary first spotted the two well-dressed men wandering around, looking for a table. "Delicious. " Tiffany followed her eye line to the targets and nodded approvingly, grabbing her purse off of the bar stool. "Let's do it. " Marc finally spoke up, "Oh come on, you just got here! " Hillary looked back at Marc, "Sorry boys, but it's time to find someone to take home before this hangover wears off. I'm feeling... frisky! " Hillary grabbed Tiffany's hand and they sashayed over to the young men, leaving Marc and Tom alone with their burritos. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Madison's First Boyfriend (Day 24) - Published: 2011-12-18 - Modified: 2011-12-18 - URL: https://mariolurig.com/short-story-a-day/madisons-first-boyfriend/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The doorbell rang loudly, followed by a knock at the door a second later. "He's here! I'm not ready," yelled Madison as her bedroom door slammed shut. The squeak of the dining room chair being pushed back answered the doorbell's chime as Sean stood up and headed towards the front door. Sean had picked out his favorite "Semper Fi" shirt so he could make his presence that much more impactful when he met this boyfriend his daughter was having over. He casually strolled up towards the front door, but as he was within arms reach of the deadbolt, Stephanie's voice rang out from upstairs. "Sean, can you get the door? " "Yes dear. " Sean unlocked the door and pulled it open wide to find a young man with curly brown hair that lay just over the tops of his ears. His mother's car was still running as she waved at him from inside the car. Sean gave her a polite wave and stepped to the side. "Greg? Please, come in. " "Thank you sir," Greg's voice cracking slightly. He stepped into the house quickly and stopped in the middle of the foyer, awaiting the next set of instructions. Sean closed the door and walked past Greg without a glance until a few feet had gapped between them. He looked over his shoulder, noticing Greg was not following, and turned his head forward again as he headed toward the table in the kitchen. He spoke loud enough for the words to echo back to Greg. "So Greg, take a seat. " Greg quickly fell into step and hurried to catch up to Sean before finding a chair across from him at the table. Sean waited until the boy was sitting before he pulled back the chair and sat down himself. The stairs up to the second floor announced a new entrant into the conversation as Stephanie walked into the kitchen. "Hi Greg, nice to meet you," extending her hand out towards him. Greg stood quickly, the back of the chair almost hitting the sliding glass door as he rose to shake her hand. "Hello Mrs. Osmond, so nice to meet you. " "Sean, have you offered him a drink? " Sean had specifically skipped that formality, but Steph was ruining everything. "I was just about to do so. " Stephanie sighed and continued in perfect hostess mode, grabbing a paper cup from the water cooler and pouring it full of water before handing it to Greg, who looked parched and terrified. "Here you are. " Stephanie gave a disapproving look towards Sean before she sat down at the table herself. They alternated questions back and forth for 15 minutes, with Sean dropping subtle hints about weapons, human psychology, and emphasizing that Madison was his first daughter. Stephanie was much more cordial in her questions, but it was clear that she wasn't thrilled with the idea of Madison having a boyfriend. Greg was sweating in the air conditioned room, his nerves getting the better of him. He was finally relieved from his anxiety as Madison came downstairs and walked into the room. "Hi Greg! " Madison walked over towards Greg to give him a hug, but when Greg glanced across the table at Sean's stoic face he dared not get up. Madison caught on and stopped near her mother, reconsidering the maneuver. "So Dad, we'll be upstairs watching a movie. " It was Stephanie who responded for them both, "Okay, let us know if you need anything. " The young couple quickly disappeared upstairs as Sean and Stephanie shared a quiet conversation. "You left my laptop up there, right," said Sean. Stephanie replied quickly, "Give them a few minutes before you retrieve it. " "I'll drop your craft box off next to the couch when I go. " "Perfect. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Karma Collector (Day 23) - Published: 2011-12-17 - Modified: 2011-12-17 - URL: https://mariolurig.com/short-story-a-day/karma-collector/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "Did you say, one penny? " The woman stood dumbfounded, looking directly at the counter clerk. "Yes ma'am, that's the remaining balance on your layaway," replied the clerk politely. The woman's eyes quickly welled up and tears began flowing down her cheeks. She stumbled out a few words, "How did this happen? " To that question the clerk smiled. "An anonymous donor wanted to wish you a Merry Christmas and covered most of the remaining balance," she paused, "except one penny. " The tears were flowing heavily now and the sobbing became audible as the woman braced herself on the counter, overwhelmed by the facts laid before her. Chloe stood 20 feet away at the edge of the aisle, watching with a heartfelt smile upon her face. She opened her small Moleskine journal and noted the date and place before checking the column for positive and placing a score of 8 in the final column. She snapped it shut and clipped the mechanical pencil onto the binding as she casually strolled out of the store. Chloe unlocked the car and slid into the seat, pulling the journal out once again for review. She flipped to the last page where only two sets of numbers were written. The first was a date, tomorrow, and the second was preceded with a plus sign and then followed with the number 410. She looked around the pristine interior of the car and down at her designer clothes and second guessed herself for a moment. She had spent the last 3 years doing good deeds wherever she went, and had noted each one down in the journal. If she did something negative, she would note that as well, but judging by her current tally, her behaviour had been mostly positive. She had also reaped the benefits of those good deeds, and gave herself a negative score in a separate section to represent the spent Karma. Tomorrow however, the experiment was about to change drastically. When this all began, she was in a rough patch and had little to show for her life, materially and emotionally. Chloe had read a book called "365 Thank Yous" that she found at the local library and decided that she would adapt it to use good deeds to change her life around, and by all measures it had worked. She had however made a promise to herself: After 3 years she would reverse the trend and do negative things that were selfish in nature and see if her life would continue forward. After all, in both cases she was helping herself, just that the former method was also helping others in hopes of a Karmic boost. She slipped the pencil from the journal and clicked it twice, thrusting the lead out one centimeter. She turned to a fresh page and wrote at the top, "Dirty Deeds - 410. " She worried it would take a while to whittle that number down, but it was going to be fun to do. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Gamer (Day 22) - Published: 2011-12-16 - Modified: 2011-12-28 - URL: https://mariolurig.com/short-story-a-day/the-gamer/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "Triple kill baby! Suck that you bastards," yelled Theo into the microphone dangling in front of his mouth. The sound of gun fire and recorded voices spilled out from the headset and into the rest of the room. Kaylee was pouring over some calculus homework at the kitchen table, her books and papers spread out and covering 90% of the available surface area. She looked up with an apprehensive look at the coach where Theo was sitting. "Boom, got another one! " Kaylee's face crinkled, the anger lines forming at the center of her forehead as she listened to the sound of button presses and explosions. She looked up at the television, the full view filled with a digital scope as Theo was aiming his sniper rifle down a dusty road in the middle of who knows where. She played games herself sometimes, but none of these first person shooters or whatever it was Theo called them. The pace was too rushed for her; she enjoyed games that gave her a little more time to act. She shook her head and looked down again at her notebook, attempting to concentrate on the complex proof filling the page. "Frack! Screw you man; lucky shot! I'll find you, don't you worry. " Theo was oblivious to the sound of pencil and hand smashing hard against the table, and unaware as Kaylee stormed out of the room and disappeared into the bedroom. She was gone for a few minutes before reentering the room and strolling out into the direct line of sight between Theo and the television. Theo inhaled deeply and was about to contest until his mind finally processed what he was seeing. There was his girlfriend Kaylee, standing in front of him in just her underwear. Instead of her regular cotton ensemble, it was an outfit he had not seen since Valentine's Day, thigh high stockings included. He froze like a deer in headlights, oblivious to the sights and sounds escaping from the television and headset. He slowly slid the headset off and tossed it to the floor. "Oh, do I have your attention now," Kaylee said in a slightly bitter tone. "Good. I'm trying to study. " She pulled her hand from her hip and motioned toward the kitchen table. Theo followed the invisible line and looked at the pile of papers and books on the table for a second before turning back towards her. He wanted to look her up and down, but he was transfixed on her face as she was talking. "And your hollering is not doing me any good, so here's the deal. I'm going to go back to studying, and you're going to keep it down. " Theo wasn't sure if it was appropriate, but he spoke up anyway. "Are you going to study in," he scanned up and down her body with the motion of his arm, "that outfit? " She smiled at him. "Yes, and depending on how well you handle this little compromise, you might see it up close. " Her smile had stretched across the full width of her face, her white teeth peeking out from between her painted lips. "Enjoy your game. " Kaylee went back to the table and as promised, did not change her attire. Theo's eyes were fixed on her for a full minute before he turned back around at the game in progress. He powered off the headset and tried to concentrate on the game in silence, but over the next hour, he managed very little progress knowing the state of things behind him. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Treasure Map (Day 21) - Published: 2011-12-15 - Modified: 2011-12-15 - URL: https://mariolurig.com/short-story-a-day/the-treasure-map/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Tara poured over all of the details of the map, one inch at a time. The light from the flashlight gripped in her teeth gave off a focused cone of light, shedding very little extraneous light. The sound of moving water was echoing through the chamber around her. Tara grabbed the flashlight out of her teeth, swallowed, and looked up at the ceiling above. The glowworms brought the stars indoors with their shimmer. After traveling from the Isle of Man to Machu Picchu, she had stopped briefly at Cape Horn before realizing she was at the wrong location and catching the next flight to the Cape of Good Hope in South Africa. Even after all of that traveling, she hadn't bother to look up at the night sky in the last few weeks. Now she was in the heart of New Zealand's north island, at the Waitomo Caves looking at the larvae's version of the night sky. She flipped up her flashlight, pointing it towards the ceiling. The light was strong enough to counteract the bioluminescence of the larvae and illuminate the long silk strands of mucus dangling in the dark below the insect. Tara stared at the strands, baffled that she managed to miss it beforehand. She would have never noticed them if she didn't bother to take a look with her own light source. Tara's eyes got wide, "That's it! " She flipped the light back over, flattening the creases in the map against the wall of the cave before holding it up in front of her own face with one hand and moving the flashlight behind the map, shining the light into her eyes. She could see small spots of light coming through in a specific pattern, glinting with each swipe of the flashlight. She put her map hand over the lens and twisted it, moving the lens closer to the light source and refracting the light in a wider spread. She held up the map again and began to see the pattern start to emerge. Tara shifted her feet carefully, leaning against the rocks and putting the light at her chest, holding the map out as far as she could, the writing facing the opposite wall. As soon as the map reached two feet away, the light was covering the entire surface of the paper. Tara looked over the edge of the paper on the rock wall on the opposite side. "X marks the spot! " The light escaping through the one-way light holes in the map were shining a dot matrix map of the underground water system, with a double-dotted X marked in the passage just behind her present location. Tara put the light back between her teeth and tucked the map into the water-tight pouch on her hip. She used her hands to brace herself against the walls from the uneven terrain as she moved through the caves, squeezing through a two foot high gap between the ceiling and the water and rocks below. The passage opened into a quiet cavern which lacked any glowworms, bats, or signs of previous spelunkers. She scanned the walls quickly, and in a few seconds she discovered the small carving of a stick figure man next to a crack in the wall stuffed with small pebbles. Tara pulled out her Leatherman knife and forced out the rocks, revealing the small tube buried behind it. Pulling out the tube, Tara carefully unrolled it to find another map, with the Roman numerals XIII in the top-right corner. This was the last piece of the puzzle, and wherever in the world it would take her, she would find it. She smiled and headed out on the final part of her adventure. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Perfect Dress (Day 20) - Published: 2011-12-14 - Modified: 2011-12-15 - URL: https://mariolurig.com/short-story-a-day/the-perfect-dress/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Penny threw another shirt onto the pile on the bed. She was pacing back and forth between the bathroom and closet mirrors like a squirrel collecting nuts. She curled out her bottom lip and exhaled quickly, sending her bangs into the air for a moment. She looked into her full walk-in closet, "There is nothing to wear! " Penny grabbed a navy blue dress with medium white polka dots all over and pulled it off of the rack, laying it flat against the rest of the hanging clothes. "Too flirty. " She tossed it toward the bed and pulled out another dress for scrutiny. "Too shiny. " She selected and then disregarded another 5 dresses before returning to her pacing. The decision was tricky; she didn't want to seem to anxious, but also wanted to still draw some of his attention. If it was just a normal date, she would have chosen the polka dot dress and known that she would have had his full attention. The trouble was, this wasn't a normal date, it was an invitation to a group outing. She wasn't sure how many people would be attending, but she still wanted to get his attention. After all, she was sure that she wanted him. "There you are," said Penny as she dug through the back corner of the closet, pulling out a gray cotton dress and wide leather belt, holding it up against her body as she strolled out to the nearest mirror. "Needs a splash of color. I know," she reached up onto the top shelf and pulled out a thin yet vibrant red scarf. She held the whole outfit up, dangling the scarf between her chin and neck. "I can work with this. " She undid the belt and tossed it and the scarf onto the bed before stripping the dress of its hanger and pulling it over her head. The dress easily slipped over her matching black bra and underwear. She grabbed the belt and strapped it around her waist, fitting it loose so it rested on her hips to accentuate her figure. She gave the dress a few quick tugs on the hem to straighten out the fabric and then reached for the scarf. She walked over to the bathroom mirror before double-wrapping the scarf around her neck. She created a loop with one end and slipped the other end through it, pulling it through with little effort so it would bunch loosely. Her makeup was subtle, but an extra touch of blush highlighted her cheekbones over the scarf's color. She puckered her lips with an audible pop, and smiled wide. She would have to be subtle, but if she played her cards right, by the end of the night he would be hers. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Brown Bar-ba-loots (Day 19) - Published: 2011-12-13 - Modified: 2011-12-13 - URL: https://mariolurig.com/short-story-a-day/brown-bar-ba-loots/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "But Dad, I'm tired! Can we stop, please? " "No honey, we are still on the Lorax's property. We will be able to stop soon enough. " It wasn't a lie, but he had left off some very important details. When the Lorax had sent the Brown clan of Bar-ba-loots away, it wasn't an act of compassion; it was a threat. The Lorax was a slave driver, and while he made no requirements of the Bar-ba-loots to pick a certain amount of fruit per day, it was clear that if they didn't deliver enough bounty, his punishment would be swift and violent. After all, everyone knew about his temper, but he was very passive aggressive when delivering a scolding to his workers. It was no wonder he got so upset when the Once-ler moved in and started mining the resources for his own benefit, cutting the Lorax out of the profits. The Lorax hid his own greed well, making sure everything was in balance and everyone was happy. However, he just wanted to maintain his lifestyle and lead everyone to believe it was better for them this way. The older Bar-ba-loots of the clan couldn't even remember a time when there was no Lorax. Sure, there were stories of a time before the Lorax, but it was always spun as a world of mistrust, crime, and constant fights between the species. The Swomee-Swans dive-bombing everyone as they crossed the open fields between the Truffula trees and the Humming Fish spraying water in your face as you tried to drink from their ponds. The Lorax brought order to chaos, or so the stories said. He looked over his shoulder at the long line of Bar-ba-loots stretched out over bare hills without Truffula tufts to shade them as they walked. Without any fruit, they couldn't make a living picking the fruit for the Lorax, so he had sent them away to fend for themselves. He looked to the sky and saw the Swomee-Swans flying East. "Good, at least they aren't following us. " He wasn't sure if the stories were true, but he didn't want his empty stomach to compete for any food they may find. Maybe the Once-ler did them a favor by moving in on the Lorax's territory and forcing them to find a better life; he wasn't sure. "Are we there yet, daddy? " "Soon," he said aloud before whispering under his breath, "I hope. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### 300 Seconds (Day 18) - Published: 2011-12-12 - Modified: 2011-12-13 - URL: https://mariolurig.com/short-story-a-day/300-seconds/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Jack glanced down at the timer wrapped around his wrist: 4:59 and dropping fast. "Shit. " He was in a full on sprint down the trail, leaping from rock to rock while bracing against the scattered trees along the sides of the path. His hands were covered in sap and dirt and a few small cuts from the dried bark of the trees, but Jack was ignoring the pain and focusing on staying upright as he descended. The changing light as he transitioned from the canopy of leaves into the open sunlight made his vision wash out for a moment, enough for him to lose his footing and crash onto the rough dirt below. He slammed into the ground, shoulder first, unable to get his hands in front of him in time. His shoulder hit the ground and slowed his body before his right cheek met with with the dirt. Jack cursed under his breath, groaning as he stood back up again. He glanced back at his wrist only to find a dirty bloody mess. He could only read the last digit: 8. As long as it didn't hit zero and stay there, he could still make it. Jack got to his feet and started to run again, but his knee had landed on a sharp rock opening a gash that made it hard to bare much of his weight on that side. His run turned into a jog with a clear limp, as he continued charging down the path. Once Jack got out of the park, he knew that his rented apartment was only a block and a half away, but without the timer, he had no idea how close he was to succeeding; or worse, failing. He checked his wrist again as he reached the street: 4. He looked left to check for cars and seeing none, stepped into the road before he switched his gaze to the right. A car was coming down the road, but it was still far enough away that Jack didn't hesitate to continue forward. He limped and skipped across the road, reaching the sidewalk only two seconds before the car came whizzing past him. He let out a deep breath and inhaled again before he started running again, ignoring the pain in his knee. Jack arrived at the front door in record time, despite the injury. He turned the knob and pushed open the unlocked door as he looked at his wrist one more time: 0. Just then, the repetitive beeping of the oven timer rang loudly throughout the apartment. He moved to the kitchen, grabbed the pot holders, and yanked out the ramekins of crème brûlée, baked to perfection. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Manic Pixie Dream Girl (Day 17) - Published: 2011-12-11 - Modified: 2011-12-18 - URL: https://mariolurig.com/short-story-a-day/manic-pixie-dream-girl/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Natalie sneaked up behind Matthew and wrapped her hands gently around his head, covering his eyes. "Guess who," she said with a flirtation tone as she pressed her body against his back. A smile crept along Matthew's lips, "I don't know, but I'm going to call the police and report you for assault. " Natalie pulled her hands away and slid her body around him, looking up into his eyes with a demure look. "You wouldn't do that... would you? " She raised her hands to his chest as she spoke, walking her fingers up towards his face slowly with each word. Matthew looked at her, trying to stay serious as Natalie's fingers bopped him on the tip of his nose. She giggled and shied her eyes away as she spun away from him, her skirt spreading the fabric in a wide circle. Matthew couldn't hold out any longer and chased after her, wrapping his arms around her waist, lifting her in the air and spinning her in the opposite direction. Her laughter increased as he squeezed her tightly; a low belly chuckle rising from Matthew. Matthew set Natalie down, grabbing her left hand with his as he slipped his arms away from her belly. Natalie responded by raising her hand above her head and pivoting under his grip, spinning to face him again, a smile stretching from ear-to-ear. "You know, if I didn't know any better, I'd say you were almost having fun. I thought that you didn't have any time for that silly stuff," challenged Natalie. Matthew pulled their joined hands behind her back, tucking her arm into the small of her back and pulling her in closer to him. Matthew retorted, "It's not my fault; I've been coerced. " He pulled her in tighter, wrapping his strong arms around her and commanding her attention. "Frankly, it's your fault. " "Well then, what's the punishment for such dastardly deeds? " Matthew relaxed his neck and leaned in closer, but in the distance he could hear a fire alarm going off, immediately capturing his attention. Natalie noticed the change in behaviour, but was held fast by his embrace. The tone got louder and louder, his grip relaxing as it increased. Matthew inhaled quickly, springing up from the pillow. It took a second for him to get his bearings, but instinct swung out his left arm and slammed down on the snooze button; another day of boring and unfulfilling work. He rubbed his eyes and gave out a large yawn. "Fuck. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### After Work Drinks (Day 16) - Published: 2011-12-10 - Modified: 2011-12-10 - URL: https://mariolurig.com/short-story-a-day/after-work-drinks/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "And then he says to me, so when do you want to go out again? " The table exploded in laughter, with Fiona doubling over, arms clutched around her stomach, her face turning a bright shade of red. Shayna continued as her eyes welled up, "I must have had the biggest shock on my face, because he immediately looked like a puppy that I had just scolded. " She could barely hold in her laughter, but reached for her glass of red wine to attempt to wash it down her throat. After a few seconds, Marcy looked up at Shayna with a dead serious look and said, "So did you go out with him again? " Wine splattered over the entire table as Shayna lost control and joined the rest of the ladies in their laughter. Other tables at the restaurant were starting to turn and stare, but none of the women noticed or cared. The volume of laughter only increased as everyone except Fiona tried to dab up some of the wine with their white cloth napkins. Shayna's hand was shaking so hard from the laughter that she almost tilted the glass over as she tried to place it down safely on the table. The waitress came over with a towel and made quick work of the cleanup, picking up the small side plates and the soiled napkins before wiping down the lacquered wood surface. Fiona tried to say thank you, but she was completely out of breath from all the laughing and no words had escaped. Marcy was first to speak up again when the group settled down. "I can't believe he would even ask that after what he did. I thought my story was bad! " She smiled and poured the last of the Pinot Noir into Shayna's glass as a reward for a story well told. Setting the bottle down, Marcy flipped over her cell phone and brought the screen to life to check the time. She had set the phone on the table when they first arrived, but this was the first time she had looked at it in two hours. "Ladies, I think it's pumpkin time for me," said Marcy, gathering up her personal effects and slipping off of the tall chair to grab her coat off of the back. The ladies looked around and joined in the routine, dressing for the cooler temperatures outside. "I suppose I'll see all of you on Monday. " Nods from everyone confirmed the sentiment. As they walked out of the restaurant together they knew that tonight's conversation was out of bounds for work, but they enjoyed forgetting that, even if it was only for two hours. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Shortcut Home (Day 15) - Published: 2011-12-09 - Modified: 2011-12-09 - URL: https://mariolurig.com/short-story-a-day/the-shortcut-home/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The night air was cool, flowing gently around Julie's bare legs as she strolled down the narrow side street. The sound of her heels echoed off the cobblestone street and brick walls as she kept a relaxed walking tempo. Her dress was loose and flowing from the waist down, the fabric moving with her shape and rising and falling from mid-thigh to her knees as her arms brushed along the fabric. Usually she would have walked down main street on her way back to her flat, but a rowdy group of boys were spilling out into the street in front of Lollipop night club, and she had no desire to deal with that lot. The street lights were mounted on the rooftops as opposed to independent poles, casting circles of light separated by 20 feet of darkness. Each light was placed on alternate sides of the street, creating a zig-zag pattern of light which Julie followed with her footsteps. Each time she stepped into the light from a dark spot, she hopped over the edge and directly into the light, making a loud clang with her shoes. "Excuse me! Miss," came a voice from behind her. Julie looked back and saw a man quickly approaching her at a jog. Her fear kicked in and she started to move faster, ignoring the request behind her. Her small frame disappeared between each light, her shadow stretching and compressing quickly as she increased her pace. "Miss, excuse me! " The man was wearing a leather coat and pair of Levi's straight-leg jeans, but the distance and lighting made it hard to tell his age. He was closing in on her, his shoes much more accommodating to the uneven surface than Julie's two-inch heels. She looked back over her left shoulder, and as her head turned forward again she caught a glimpse of two more men waiting in the shadows of an alley, watching her. Julie was in an all out sprint when she turned right down an alley, reaching her front door. She fumbled around for her keys, only realizing that her keys were in her purse, which was nowhere to be found. The man caught up with her, panting, "Miss, you forgot your purse at the bar," he said as he held out her red leather purse. Julie looked over his shoulder to see the men who were waiting in the alley disappear into the darkness. Embarrassed, she grabbed the purse hastily from the stranger. "Thank you. I'm, I'm sorry I... " He interrupted her mid-sentence, "No worries. You should be careful, there have been some incidents this week on that street. Have a good night Miss. " He smiled and turned away with an elongated stride, heading towards main street. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Pocket Aces (Day 14) - Published: 2011-12-08 - Modified: 2011-12-10 - URL: https://mariolurig.com/short-story-a-day/pocket-aces/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Daniel gently lifted the edge and took a peek at the markings on the face of the cards. Pocket Aces, he thought to himself. He knew this was the best possible starting hand in a game of Texas Hold 'em poker, but kept his face from giving any indication of his excitement. He repeated his usual routine, placing a stack of five $10 chips on top of his hole cards, before looking around at the rest of the table. Annie was sitting immediately to his left, short hair pulled back behind her ears. She never wore sunglasses, but her eyes were always cold and fixed on an invisible point beyond the dealer, unless she was placing a bet. When she was serious about placing her bet, she would look intently down at her chips, her eyes shifting between the stacks to get a rough count. Daniel had noticed that if she was bluffing, this procedure would take slightly less time: her tell. Daniel looked to his right and saw Gus sitting calmly, his dark sunglasses and baseball cap pulled tight on his head. If he showed any emotion, it was only after the hand was over. He didn't celebrate wins, but he clearly disliked getting beat. Gus would wince when he lost a hand, slamming a clenched fist down on the edge of the table. He played tight with his chips, but it had worked for him. This was the second tournament in 48 hours where he was at the final table. The last player was a newcomer, so Daniel didn't know his name or much about him. He was least concerned with him, but knew he would have to worry about him eventually. For now, he had to try and maximize the hand he had been dealt. He resisted the urge to check the cards again, knowing this would tell his opponents that he had a good hand, so he focused on shuffling some chips together, mixing the blue and white chips in alternating stacks. Gus bet first, moving aggressively. Daniel didn't hesitate, but only matched the bet. Annie folded, as did the new guy, leaving just Daniel and Gus to see the next three cards. The flop came King, King, Eight, a rainbow of suits. He now had two pair, with the highest possible value cards, but he was worried. If Gus had a King, a likely scenario, then Gus had him beat with three of a kind, and knowing Gus, Daniel would have to pay for the privilege of seeing the Turn and River cards. Gus moved in one third of his chips, raising Daniel quickly. Daniel looked down at his stack, knowing that it would cost him about the same amount of chips to stay in. He hesitated, a mistake, but decided to match the bet. He was playing scared. The Turn card came: 3 of diamonds; no help to anyone. He knew it was now or never for risking all of his chips on the strong starting Aces, hoping he either gets an Ace on the River for a full house, or that Gus didn't have a King. Gus put the decision to him immediately, going all-in with his chip stack. Daniel had time to think, and sat on the decision through 3 shuffles of the chips in his hand before he matched the bet and pushed in his stacks. Both players turned over their cards, and the worst was true: Ace King for Gus. Daniel was convinced he made the wrong decision, hanging on to a hand for too long. He swallowed hard, awaiting the last card. The dealer tapped the table twice, discarded the top card of the deck, and slowly flipped over the River card. Daniel stood up from the table and stared in disbelief at the final card. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Slumber Party (Day 13) - Published: 2011-12-07 - Modified: 2011-12-07 - URL: https://mariolurig.com/short-story-a-day/slumber-party/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Meghan and Jessica jumped up and down on the pair of twin beds, feathers flying everywhere on each impact. "Go Jessica," yelled one of the on-lookers as Jessica swung her pillow wide and caught Meghan off balance, sending her to the mattress, giggling. "Yeah! " Jessica stood proudly, still bouncing slightly on the bed and causing her chest to heave against the bra with each bounce. "Who's next? " Maggie quickly volunteered, grabbing the pillow from Meghan's hands and hopping up on the bed. She was wearing pink boy shorts and a tank top over an equally vibrant pink bra, visible through the thin cotton. "You're so going down," she said through a smile as she tossed the pillow over her shoulder, ready to strike. Meghan carelessly slid off of the bed, her underwear bunching up as she plopped onto the floor. She quickly rose, adjusting herself as she joined the cheering crowd. "Go Maggie! " The girls swung with more flair than force, making a great show of it as they laughed and played. More feathers escaped the pillow's clutches, covering more of the floor with each swing. Maggie made a valiant effort, but she was laughing so hard she knocked herself onto the bed, still laughing as Jessica raised her arms victoriously. All of the girls swarmed Jessica, toppling her over and covering her with their bodies while reaching out for her feet, underarms, and sides with their wiggling fingertips. Jessica giggled loudly, her mock protests for them to stop were ignored as they laughed, their bodies becoming a swirl of pink and purple undergarments, painted nails, and tanned summer skin. After a minute, the girls all stopped the tickle attack and collapsed where they lay, laughing and smiling. "Who wants to play Truth or Dare," said a voice in the pile. The chorus of approvals filled the room as the girls disconnected their bodies and reorganized in a circle on the floor. Jessica spoke up first, the prize she won for her pillow fighting victory. "Breana, truth or dare? " "Dare," she replied, with an excited look in her eyes. "I dare you to kiss Meghan," said Jessica coyly. Meghan and Breana locked stares and turned towards each other, leaning forward, their heads tilting slightly as their wet lips closed in on each other. "Tom? Tom! Did you hear me? " Tom blinked twice, focusing his eyes on Mark's gaze. "Um, sorry, Meghan said she was going to a sleepover with her girlfriends tonight. We all know what that means. " Tom and the other guys all looked at each other, smiled, and gave a slight nod of mutual understanding. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Parkour (Day 12) - Published: 2011-12-06 - Modified: 2011-12-07 - URL: https://mariolurig.com/short-story-a-day/parkour/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day David's heart beat at a constant 144 bpm as he leapt over a set of stairs, his hands acting as the fulcrum as he swung his legs up to the next landing. The movement flowed continuously, like water moving upstream. His feet landed firmly and his body seemed to roll through the move as he rotated his body around and looked up to find the railing of the stairway one floor above him. He jumped up and grabbed hold of the edge, pulling his full body's weight up until his feet could press against the concrete surface and send his body over the edge of the railing. The garage was long and empty, with only square columns made of concrete and rebar scattered throughout the structure. David chose his path and headed towards the first column, leaping toward it and running two steps along the wall before landing back on the ground, still sprinting towards the next target. At the next column he did a back-flip off of the wall, landing in a crouch with one knee to the ground and his hands at his side, fingers splayed out onto the pavement. His eyes shifted to the edge of the garage and sprinted forward. The wall that lined the edge of the garage was only 4 feet high and gave a wide 10 foot gap before the next floor, which David took at a stride as he gave a short push with his legs and sprung his body up onto the ledge, pushing off again and soaring into the open sky. He landed with a slight thump, rolling head-first with his momentum as he landed on the roof of the ticket taker building next to the garage. A woman had let out a scream upon seeing David's body fly out from the garage, only ceasing when she saw him swing off of the edge of the guard hut, in a mid-air cartwheel before landing on the blacktop. He glanced up at her face, frozen in fear, and gave her a quick smile as he moved away and over a chain link fence as fast as a cat. "I think you gave that lady a heart attack," said Josh as he saw David appear from in-between two buildings. "Yeah well, at least she'll have a story to tell her friends," David said with a grin upon his face. "Ready? " "Catch me if you can," said Josh as he took off towards a local park, David chasing close behind him. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Winter's Kiss (Day 11) - Published: 2011-12-05 - Modified: 2011-12-09 - URL: https://mariolurig.com/short-story-a-day/winters-kiss/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The fog was heavy in the woods this morning as Vixelyn, or Vix as her friends called her, walked slowly through the forest. The trees around her were leafless and eerie under the faint light that filtered through the fog. A slight snow was falling around her, but Vix was bundled in her favorite coat, it's shiny exterior leaving the snowflakes to slide off again on their journey to the forest floor. Vix came out here to clear her head, when the house got too noisy for her to even hear her own thoughts. It was the cold that drew her out; the chill that brought her body alive when a brisk breeze kissed her soft cheeks. She pulled her long hair over her shoulder and along the collar of the coat, insulating her pale skin. It wasn't worry that brought her out here this morning, but simply for some alone time. Her life in the city for the last few years had always been a rush, and a snow storm was always an inconvenience in that world. Out here though, snow was a wonder, a memory of a childhood spent laying on freshly fallen snow and tossing it in the air, only to see it fall down on top of her again. She inhaled and brought her legs shoulder-width apart, standing as still as an Aspen tree. Her eyes closed slowly and her neck relaxed, dropping her chin into the warm cluster of fabric and radiant red hair. She stood there for a long while, exhaling slowly, leaving only a trickle of water vapor streaming out of her mouth. With each breath you could see her body relaxing, only her hands clutched together in front of her stomach showed signs that she was still awake. As the snow continued to fall, a single snowflake drifted down towards her face, drawn to the gleam of her nose ring. It landed gently on the opposite side of the stud, a gentle kiss from the Winter than embraced her. Vix cracked a smile, her lips delicately parting; she had missed these moments, and vowed to herself that she wouldn't stay away so long next time. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Coverage in the Boulder Daily Camera - Published: 2011-12-05 - Modified: 2024-06-01 - URL: https://mariolurig.com/marketing/coverage-in-the-boulder-daily-camera/ - Categories: Marketing - Tags: newspaper My first print coverage (online and video too) for my latest book, My Zombie Body, was just published in the Boulder Daily Camera. I ran out and picked up a copy of the print edition as well on this very cold day, and I'm super thrilled with the result. There was a lot of information passed on to the writer, and I really like the direction he took with the overall article. Special thanks also to the photographer/videographer. Here's the article: Broomfield author takes zombie adventure to the streets --- ### Tuthic and the Boar (Day 10) - Published: 2011-12-04 - Modified: 2011-12-09 - URL: https://mariolurig.com/short-story-a-day/tuthic-and-the-boar/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "It's not a pig, it's a boar," Tuthic explained as the color began rising up his face. "You best keep your hands away from his snout or you'll be 2 less fingers and likely a bloody mess before you can scream. " A devilish smile fell upon his face as he pulled the leash taught to reinforce the suggestion. The other kids backed away slowly, pulling their pigs along with them. His older brother always told him that it was better to be feared than it was to be liked, at least in the world of competitive hog racing. Tuthic had fought with the committee that runs the annual fair since the first spring flowers, getting their approval for him to enter his boar into the contest. There was a lot of debate about whether it was fair to have another bread in the race, but after so many visits, letters, and general nagging, the committee had relinquished their position just to get some peace and quiet again. That is how Tuthic came to compete for the first time this year. He lead the boar to the starting paddock, talking to him with a gentle tone. "Alright, now today is the day you prove those sissies wrong. Today, you go out there and do what I taught you: charge, and keep charging until you hit something that will stop ya. " The boar snorted approval, and shook his body in a wave originating from the back of his neck and flowing down to his hind legs. "Shake off those nerves. You are the best boar a boy could have, and one day, I'm going to ride you. Until that day comes, you need to win. So win! " He pushed the boar into the cage, his small tusks clanging against the iron gate. Looking around at the group, the boar had at least 2 stone on all of the other swines, but he was full of muscle, not fat. Tuthic knew it was going to be entertaining. Tuthic and the other trainers cleared the area and hopped over the hedges, awaiting for the signal. The chief took out a large warhammer and a heavy shield, raising them high in the air before he handed the shield over to a servant. He put both hands on the warhammer and swung it true against the center of the shield, ringing loudly and sending the servant to the dirt below. The gates were up and the race was on! In truth, the race was quickly between two contestants: the boar and a spry pig who had the acceleration of lightning. The boar was in second place and closing fast, but it was running out of dirt before the finish line. At 30 meters from the finish line, the boar dropped his snout and charged toward his target. It happened in an instant, as the pig was impaled upon the little tusks and tossed aside like a rag doll as the boar crossed the finish line, alone. The crowd was in shock, but Tuthic didn't care; the boar had done everything he was trained to do. Tuthic ran up to the boar and wrapped his arms around his heaving belly. "That's my boy! You and me, we're going to do great things in the future. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Value of Talent (Day 9) - Published: 2011-12-03 - Modified: 2011-12-03 - URL: https://mariolurig.com/short-story-a-day/value-of-talent/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day It started small: a piece of candy from the open bin in the grocery store, a pen from the teacher's desk, or a dirty magazine from his father's secret stash. As he got older, the items that Daniel would steal increased in value and his schemes were more brazen. He enjoyed the challenge of thievery and considered it more of an art form rather than petty theft. Spending his teen years in a low-income neighborhood gave him ample opportunity to practice his craft. Now, for his 21st birthday, Daniel had decided to get himself something much more valuable. He had spent the last few days riding his bike through the neighborhood at various times, always passing by the house at 584 Sycamore Way. He knew that every day, between 4:30pm and 5:15pm, the house was completely empty of humans thanks to afternoon Taekwon-Do classes which pulled Mom and the kids away for a while before Dad got home from the office. He watched as the van pulled out of the driveway and headed down the street. He looked at his watch: 4:31pm. He pulled on his backpack and rode between the side of the house and the privacy fence till he reached the screened in pool area. He quickly lay his bike against the fence, opened the flimsy door, and headed towards the sliding glass doors that lead into the house. He slipped the gloves out of his back pocket and onto his hands before sliding open the door. "They never use that security bar," he remarked to himself. As he entered, he heard the barking as their medium sized Labrador mutt strode up to him. Daniel slid out of the left shoulder strap of his backpack, swinging it around to his side as he unzipped the top and pulled out a small steak, tossing it towards the kitchen area. The barking quickly ceased as the dog scurried over to the surprise treat. Daniel disappeared down the hallway, searching for the parent's bedroom. He found the door cracked and quickly pushed through, noting the position. 4:34pm. He headed to the dresser on the far side of the room, stepping over a pile of clothes destined for the laundry. He opened each drawer till he found the wife's lingerie drawer, pulling it open wide. It was a mess of garments, thrown in carelessly. He dug around with his gloved hands until he found the box in the back corner, extracting it from its hiding place. A crown with 5 points was embossed on the top of the box with the word "Rolex" printed below. He shoved it into his bag, closed the drawer, and headed out of the bedroom, pulling the door back to the same position he had found it. The dog was still finishing up his meal when Daniel exited the same way he came, getting back on his bicycle without removing his gloves and riding the 3 miles back to his apartment. He got home feeling incredibly satisfied with his diligence, and pulled his birthday present out from the bag. He opened the box to find the glorious Explorer II watch, the light from his kitchen window reflecting off of the polished silver finish. He removed it from the box and turned it over in his hand and noticed the engraving on the back. It read, "To my rock, my love, and my best friend. " He slipped it on his wrist with ease as he leaned against the counter. This was the good life. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Unexpected Hero (Day 8) - Published: 2011-12-02 - Modified: 2011-12-04 - URL: https://mariolurig.com/short-story-a-day/unexpected-hero/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day The world was a large place, and he should know, spending the last few days covering every inch of it. He had been forced to swim through underwater caverns, cross barren deserts, and even stumble his way through dark castles. And for what purpose? Love. Stupid, stupid love. His clothes were so tattered he had to scrounge together new outfits every day, usually something that would help him fit in with the locals. To that end, he usually found it best not to ask how they made it, but to just put it on and continue on his way. He was exhausted, but after some good advice and a lucky shortcut, he was now standing just outside an oversized set of wooden doors. Nay, more like a wooden gate. He had no idea how he would get it open as he looked all around the room for a button or a lever that would help. As he approached the doors they began to swing open, welcoming him inside. He was more than happy to oblige, especially with the constant threat of ghosts sneaking up behind him. He walked into the chamber to find himself standing on a rickety old bridge spanning the distance of the room. Below him, a pool of lava bubbling and churning, the heat causing the air in the room to shimmer. The bridge was narrow enough that he could reach out and touch both sides of the wooden planks. This could be a problem, considering the demon king was standing at the other side of the bridge, a litany of hammers at his waist, blocking the full width of the bridge with his large girth. He would only have one chance to get past the demon king, so he took off running straight towards him, ducking under a volley of hammers as he accelerated quickly. He leaped into the air with all of his might, clearing the king's massive head and landing on the ledge. There was a very large double-sided ax resting on the ground. Odd. He didn't care, he knew what had to be done. He grabbed the ax and took a wide swing, cutting both of the supporting ropes to the bridge with one swipe. The demon king had barely turned to face him when the bridge fell out from under him, sending him into the lava below. Mario turned away for the carnage, dropped the ax, and walked into the next room to find his princess waiting for him; she was finally safe. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Sweet Halloween Dreams (Day 7) - Published: 2011-12-01 - Modified: 2011-12-09 - URL: https://mariolurig.com/short-story-a-day/sweet-halloween-dreams/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day Teddy paced slowly back-and-forth above the pillow, his wooden sword gripped firmly in his right paw. The child was sleeping soundly, tucked in under the blankets with care. Teddy listened intently for sounds in the room, for the monster had promised he would return to claim the dreams of the child. Teddy wasn't going to let anything happen to his best friend; not tonight, and not any night. The floorboards creaked, immediately drawing Teddy's attention. He pulled his shield close to him and jumped up on top of the pillow as the monster slowly approached the bed. The monster's body was massive, with his hands alone larger than the child. His elongated mouth was filled with large teeth, sharp and threatening, as his body moved over the top of the bed. His voice was deep and it sounded like rocks rumbling down a mountain as he spoke, "Leave this place. The child is mine. " Teddy drew up his sword, pointing it at the monster's snout only inches away. "He is under my protection, and I will slay you where you stand if you do not retreat to the vile place from whence you came. " Teddy's feet anchored into the pillow firmly with his wide stance, yet barely made a dent in the pillow's surface. The laugh echoed around the room like a crashing wave, "Ha ha ha. You are nothing to me. " Teddy had loved this child since the day he arrived, and the child had shared the sentiments. Not a night had passed without Teddy curled under the child's arm or resting closely on the pillow. There was magic between then, and it was this magic that gave him courage and strength against this evil beast. Teddy pushed the point of the sword to within an inch of the creature's snout, leaning his weight towards the foe. "Begone with you! " The dull tip of the sword touched the creature, and a flash of light exploded from the point of contact, causing the monster to rear back, away from the bed. "You will not harm this child, nor any child. We will protect them, as we always have," he said with a confident but gentle tone. The creature's anger rumbled in a low growl as he retreated back into the darkness till he found a child that was not so well protected. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Rope Swing (Day 6) - Published: 2011-11-30 - Modified: 2011-12-01 - URL: https://mariolurig.com/short-story-a-day/the-rope-swing/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "Whee," exclaimed Tony as he landed with a loud splash, tucking into a tight ball before slamming into the water. The waves rippled in all directions, splashing the shore with a spray of cloudy water. All of the kids standing on the small island were laughing and screaming; all except Devon, quietly standing ten feet behind his friends. Tony popped his head above the water, a giant grin stretched across the width of his face. He charged through the water toward the shore, deftly pulling himself over the exposed tree roots and onto the wet dirt. He stood up quickly, with his board shorts draining onto the ground below. "That was awesome! Who's next? " Devon's eyes got wide and tried not to move, hoping that Tony wouldn't notice him. "Hey Devon, you haven't gone, why don't you go next," said Tony, staring directly towards Devon's thin, dry body. The call echoed through the group of boys like a human megaphone. "Yeah, Devon, you go! " "Devon, Devon, Devon! " This was his chance he thought, amid all of the cheering he could finally prove himself in front of Tony and the gang, and maybe they would stop picking on him. He thought this, but his body wasn't making any motions towards the large tree at the edge of the shore. Tony cut through the cheering with his confident tone, "You're not chicken, are ya? " Tony lead the band of merry boys with his taunting, and the human echo continued as the rest of the boys picked up the jeering. "Are you scared Devon? " "Scaredy Cat Devon. " "He's too chicken. " Devon started towards the rope that dangled from a large branch extended over the water. "He's really going to do it," exclaimed one of the boys as a hush came over most of the group; everyone but Tony. "Maybe the chicken shouldn't do it. He'll just hurt himself, and I don't want to have to carry his body back. " The cruel tone cut deep, quickening Devon's pace. Devon grabbed the rope with both hands, giving it a quick tug. He looked at the ripples still bouncing off of the shore from Tony's cannonball and took a deep breath. He grabbed on tightly, took two steps back as Tony had done, and jumped up in the air, pulling his legs up off the ground. He swung out towards the water quickly until he slowed at the edge of the arc under gravity's force. "Let go," came the screams from all the boys staring in awe at Devon hanging on for dear life at the end of the rope. Devon didn't hear them at first, as his body rotated as it swung back towards the shore and the rock and dirt covered ground. "Devon! " Devon swung his feet in the other direction, to try and get more momentum, barely missing the edge of a large rock with his feet as he swung to the other end of the arc, his back facing the water. As his body swung back the other direction and passed over the edge again, Devon dropped his legs quickly behind him, but the force was too much for his grip as he flipped his body head over heals as he let go of the rope. He did a full rotation before landing feet first into the water with a gentle splash. The shore was silent. Devon popped out, spitting out a mouthful of water as he emerged. The boys erupted with cheers as they rushed into the water to surround him. Only Tony was left on the shore, standing alone in disbelief. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### Job Interview (Day 5) - Published: 2011-11-29 - Modified: 2011-12-01 - URL: https://mariolurig.com/short-story-a-day/job-interview/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "So it says here on your résumé that you use to 'Manage Cash Flow' for a local business, but you didn't specify the name of the company," inquired the interviewer. Diana swallowed hard. She had included that only to fill the 9 month gap in her résumé, and was sure that it was the only reason she had managed to get an interview at all. She had hoped that he wouldn't notice. "Oh really, I'm sorry, I didn't mean to leave that off. Silly me. " She rushed to change the subject quickly, "I was the 1st assistant accountant in the billing department of Talon Electronics for 3 years prior, and received the employee of the month award twice during that time. " Her eyes shifted quickly, scanning his face. "Yes, you had mentioned that, but you don't have any other details here about your last job. Which company was it," he asked again. He wasn't going to let this go. The economy was rough, and unemployment checks weren't cutting it. A friend of hers asked if she could provide some assistance for a long weekend at her office, and without any consideration or questions asked, she had agreed to help out. She didn't know what the job was until she arrived, and had never expected to stay there after the weekend was over. After being paid, Diana knew she had few other options, so she decided she would continue working there until she found another job. "I was a contract worker, so I actually worked for my friend. She handled everything for me. " The interviewer persisted, "Fine, but then who did your friend work for? " The main entrance was flanked by two large men in tight white shirts which scared Diana the first time she arrived. Her friend assured her it would be okay, but even on her last day she walked quickly past the bouncers. This guy won't understand. "Oh, well she never told me. I guess that's why I didn't write it down. " Diana started to perspire, her hands moistening as each word escaped her lips. The interviewer leaned back and crossed his arms. "Listen lady, if you're not going to tell me, I don't think we can have you working here. Thank you for coming in. " Diana needed this job. "No, wait, I'll tell you. " She swallowed again, her eyes looking down at the ground as she spoke. "Sunflower Country Club. " The interviewer's look grew cold as he stared her down, "I don't think this is going to work out. Have a good day Ms. Lexington. " Diana quickly rose from her seat, scooping her purse in her hand and exiting through the rough wooden door. She quickly passed by the main stage, weaving through the small tables and half-naked waitresses as the DJ blasted Girls, Girls, Girls by Mötley Crüe over the sound system. She pushed through the curtains and out into the high afternoon sun; on the job hunt once again. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### The Pickup Artist (Day 4) - Published: 2011-11-28 - Modified: 2012-03-14 - URL: https://mariolurig.com/short-story-a-day/the-pickup-artist/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day "You have a slight accent, and I can't put my finger on it. Where are you from? " Luke averted his eyes and played coy, counting to two in his head before answering her. "Well, I don't like talking about it much. " "Oh come on, please? " She involuntarily moved her body in closer to him. "Well, only if you promise not to tell anyone. It will be our little secret. " Her eyes grew wider as the excitement filled her. "I swear, I won't tell a soul. " "Alright, but not here," he stated as he stood up taller, dropping his shoulders back. "I only live a few blocks away. Care to join me? " She hesitated for a moment, but Luke knew he had her hook, line, and sinker. "Okay, let's go. " Luke pulled two twenty dollar bills from his pocket and placed them on the bar, catching the bartender's eye. Luke called out, "Keep the change," as they strolled out into the brisk night air. He flagged down a cab and they quickly got inside, cuddling close. "So," she said, her voice lowered to a whisper, "are you going to tell me? " "Soon. We're almost there. " The cab ride was brief as they pulled up in front of his brownstone. He paid cash again for the ride and escorted her to the front door. He quickly unlocked the door and lead her into the foyer, closing the door behind him. "Would you like a glass of wine? " He asked her casually as he dropped the keys on the top of the short bookcase and reached into his pockets to empty out the rest of the contents. "You know exactly what I would like," she said with a sweet inflection in the middle. Luke couldn't hold in the haughty smirk that formed, but stretched it into a broad smile as he turned to face her. "Now that's not lady-like conversation at all. " "I mean the secret. " Luke knew she was lying, but he played along. "Okay okay, I'll tell you. My name is not Luke. " He paused, letting the words linger in the air briefly before continuing. "It's actually Jean-Luc, because I am French by birth. " With those words he forced out a stronger accent. "I knew there was something sexy about you. " Her eyes narrowed as she licked her lips and shifted her weight to the other side to accent her curves. "How about you get me that wine now, while I slip off this jacket and get a little more," she paused, "comfortable. " Luke held character and casually turned away from her, heading down the hall and around the corner, out of her sight. "You know I don't tell just anyone that you know. " He nonchalantly grabbed a bottle of white wine from the fridge, "I mean, that's why I had to bring you here. I feel safe here. " He opened the cabinet and grabbed two glasses from the shelf. "With you. " Luke opened the drawer to pull out the corkscrew, setting the glasses on the counter. "You're really an amazing woman, you know that. " He poured both glasses halfway, then topped off one of them an extra few ounces, recorking the bottle. "I really think we have a connection. " He grabbed the glasses and walked back towards the front door. "You know, you are the," he stopped mid-sentence as he found the foyer empty of her, her coat, and the items he had laid out on the bookcase. He quickly walked over to where his wallet had been to find an ebony business card laid gently on the bookcase. It was blank on the front, so he shuffled the glasses into one hand as he picked it up and flipped it over to find a handwritten note. "French my ass. Sincerely, Destiny. " This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. --- ### A Faire Romance (Day 3) - Published: 2011-11-27 - Modified: 2011-11-28 - URL: https://mariolurig.com/short-story-a-day/a-faire-romance/ - Categories: Short Story A Day - Tags: Short Story, short-story-a-day He couldn't help himself. He glanced down at the sunburned cleavage pushing out of the top of her corset as they walked down the main path. It was only a brief glance, but cumulatively he had been staring at her all day. They walked with arms wrapped together, his puffy sleeves covering her thin arm as it rested gently upon his forearm. They had spent every weekend together for the past four weeks, volunteering at the Renaissance Faire. She was assigned to work the food court, and he spent most of his day peddling masks. They both got a few hours each day to wander the grounds, and spent much of that time acting like royalty together as they strolled past patrons, actors, and other volunteers. They had done nothing more than hug and laugh together, but Sam was smitten with Mary Ann. He wanted something more, but had no idea how to tell her. They were heading towards the entrance to the volunteer tent so he could check-in his borrowed costume from the Faire library for the last time. Sam broke her hold on his arm to beat her to the doors. He grabbed the handle and held open the door for her. "M'lady. " Mary Ann giggled, "Thank you my liege. " She quickened her step as she passed through the door, Sam taking another peak as she passed by him. He followed her inside quickly, not falling more than a few steps behind. He grabbed her hand in his and wrapped it around his arm again, smiling broadly. He looked at her eyes this time, meeting her glance upward. "M'lady, I was wondering," he paused a moment as her gaze locked on his eyes, causing the thought to stutter. "I was wondering if, you know, if you," his voice trailed off as he felt himself leaning towards her slightly. Mary Ann's face relaxed, her bottom lip curling slightly inward, her gaze locked. He leaned in further, his mouth still cracked slightly from the last words he uttered. Mary Ann was frozen and did not flinch or close the distance; Sam would have to close the gap alone. He moved close enough to feel the warm air slowly escaping through her nose before closing his eyes. He pushed in closer, his lips pursed as they pressed against hers. It seemed like forever to him, with her wet lips touching his; he never imagined that kissing would be so uncomplicated. "Mary Ann and Sam, sitting in a tree, K-I-S-S-I-N-G! " The call came from across the room, startling the two apart in embarrassment. Mary Ann giggled and ran off towards her friends, leaving Sam alone with the hangers. He turned his gaze towards the girls just in time to see Mary Ann flash a smile back at him before disappearing behind the wall. This is part of a 30 day series of 2-3 minute short stories written for the 30 days between Thanksgiving and Christmas, 2011. You can view all the stories in the Short Story A Day category. ---