tag:blogger.com,1999:blog-44175413409398450972024-03-12T19:46:15.877-07:00Chaos ServerJordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comBlogger242125tag:blogger.com,1999:blog-4417541340939845097.post-51783685070146206572024-03-12T19:45:00.000-07:002024-03-12T19:45:38.857-07:00If You Build It, You Need to Send it Out<div class="quote"><q>I suggest you gentlemen invent a way to put a square peg in a round hole. Rapidly.</q> - <cite>Gene Kranz (Apollo 13)</cite></div>
<div>I have been a systems integrator for a quarter of a century. I spend my time staring at one product's square peg and another product's round hole and trying to decide what to do. There is the amazing scene in the movie Apollo 13 where the literally need to put a square CO2 scrubber into a round receptacle. I love the engineer, "we've got a find a way to make this, fit into the hole for this, using nothing but that." That, right there, that has been my career.</div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_RmazRqLviXUoLa8JgzRuaz0Do7SDmxNUm-18mWBBN0cUIor2PEa5UBnY8x-OIMgbh5rkuNss_1bCdcWBkW7jRqMqfh8dfH9VnE6jriQKUbGwRFMM_lMXfbM1U_032K75e9v4x67LYk5hg1vZ0aBQBfCHmXGH7QDeiqoDpy6twMvsNgbs2DDvW_NAiuk/s1128/SquarePeg-RoundHole.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="469" data-original-width="1128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_RmazRqLviXUoLa8JgzRuaz0Do7SDmxNUm-18mWBBN0cUIor2PEa5UBnY8x-OIMgbh5rkuNss_1bCdcWBkW7jRqMqfh8dfH9VnE6jriQKUbGwRFMM_lMXfbM1U_032K75e9v4x67LYk5hg1vZ0aBQBfCHmXGH7QDeiqoDpy6twMvsNgbs2DDvW_NAiuk/s320/SquarePeg-RoundHole.png"/></a></div>
<div>This week, sort of out of the blue, I realized that over that my twenty-five year career there has been a philosophy change in how systems integration should work. Protocol technology has marched forward from Remote Method Invocation (RMI) to SOAP to REST with JSON, but there has been a large philosophical difference. In the beginning of days of systems integration, the philosophy was "if I build it, they will come." Everyone believed that inter-operability meant that you needed a robust way for others to access you data. This might be an API to access your data or it might even be having reports available via an SFTP server. In the 2000s, your responsibility as a product company was to make your data available. The company that wanted your data? It was their responsibility to get it.</div>
<div>This was a lucrative time as a systems integrator. I can write a proposal to connect a square peg to a round hole, and write a batch job to make it happen. Maybe it was ETL. Maybe it was Java/SOAP. I've got your back, and I will move data from this system to that system.</div>
<div>Now, in the mid 21st century, having a robust polling API is legacy. Putting reports onto an SFTP server or S3 bucket for others to pickup, that's a dying philosophy. It's table stakes and it doesn't demonstrate a modern company. PointCast (deep cut) had it right in the mid-nineties. Modern system integration philosophy is about push. If your product generates the data, it's your products responsibility to push that data to other systems in the way they can receive it. This could be via a webhook through RESTful JSON or it may even being pushing a file over SFTP. But ultimately, he who generates the data MUST send it outward. The concept of "I have an API others can call into to get data" marks you as a legacy company with a legacy philosophy. The world has moved on.</div>
<div>This doesn't solve the square peg / round hole problem. If your software pushes out a webhook, what format is it? It's square. Almost certainly the company receiving it doesn't have a square hold to accept it. So now what? An industry has formed around this as a "customer data platform" whose business is to transform square JSON pegs into round JSON holes. Good for them.</div>
<div>The real concept different in the past two decades is that your product has to own pushing your data into the ecosystem. Tally-ho.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-56750531553241322782023-12-17T17:25:00.000-08:002023-12-17T17:25:22.339-08:00Artisanal Code by Software Artists<div class="quote"><q>The problem with schools are that they are run by people who <strong>WERE</strong> good at things.</q> - <cite>Alex Lindsay</cite></div>
<div>I'm in AI now. Aren't we all? If you're not, you should start using LLMs quickly, because someone who knows AI is going to be hired to the job you are slogging at. As part of my self-education processed in AI, I worked to developed a Python engine that could play cribbage. I wanted to put the engine into a re-enforced learning system.</div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoT3Lg1kT3JNp2AWcj0Hd9rzl4xbkpyGlTDdzU4bGAKuHbC46S5kGKab-QgbCv77ApCOCyS_ZfOpbrpvEvCwq_c8tlZyr_GZVJW6TgUcoj366Fwf_PQSlD_D4lqduVj-PLiOev8sZrEmMvi8KSBmePSkDZfl6CV116rHGTqVq4riHokAulUOO4An78IsQ/s1024/DALL%C2%B7E%202023-12-17%2017.19.48%20-%20robot%20painting%20a%20sign%20in%20the%20style%20of%20Pixar.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="DALL·E - robot painting a sign in the style of Pixar.png" border="0" width="320" data-original-height="1024" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoT3Lg1kT3JNp2AWcj0Hd9rzl4xbkpyGlTDdzU4bGAKuHbC46S5kGKab-QgbCv77ApCOCyS_ZfOpbrpvEvCwq_c8tlZyr_GZVJW6TgUcoj366Fwf_PQSlD_D4lqduVj-PLiOev8sZrEmMvi8KSBmePSkDZfl6CV116rHGTqVq4riHokAulUOO4An78IsQ/s320/DALL%C2%B7E%202023-12-17%2017.19.48%20-%20robot%20painting%20a%20sign%20in%20the%20style%20of%20Pixar.png"/></a></div>
<div>I tried the traditional way of writing Python, using Google and StackOverflow to search for the answers to my coding questions. Then the tipping point came for me when I hit a wall. I could not find examples in Google or StackOverflow of using OpenAI Gymnasium to do my simple problem. There were plenty of code examples for Gymnasium of landing spacecraft and controlling Atari games. There were no examples of my fairly simple problem. What if, what if, instead of using traditional tools to learn how to program AI, I used AI to learn how to program AI? What if I used ChatGPT and Github Co-Pilot? HOLY COW!</div>
<div>These tools wrote code. These tools wrote code that did what I wanted. These tools wrote code that solved the problem. Did the tools write good code? I honestly don't know. Did they write code that a seasons Python developer would approve of? I honestly don't know. What I do know is that they wrote code that solved the problem I had and I thought, "coder" as a job has a limited shelf-life.</div>
<div>In the late 90's I worked at a sign shop and about half the signs we made were hand-painted and the other half came off the vinyl printer. I wanted to learn to use the computer, not how to hand-paint signs. I watched a documentary this year called "Sign Painters" which is all about the art of hand-painted signs. The documentary is good, and in the documentary there are a lot of sign painters who are in the fifties and older talking about the "lost" art of sign painting. These days, the vast majority of signs are "printed" onto vinyl in a combination of ink and automatic cutting. The sign-making job is about peeling and sticking the vinyl onto the display material. Is a hand-painted sign better than a printed sign? If the sign artist is good, then 100% of the time the hand-painted sign is better. If the sign-artist is average, than maybe not. This pointless mediocre skillset is where the "coding" aspect of software development is going.</div>
<div>Will a highly experienced artisanal software developer, who crafts code typing letter-by-letter on the keyboard produce a better results the "printing" out code from LLM? Yeah, probably. Are the majority of people working today as "software developers" that person? No, absolutely not.</div>
<div>In the next decade the non-union job of laying down code each day is going to be replaced by a machine and I predict the title of "Software Artist" will replace the title "Software Developer" for the artisanal work that they do. Heck, I'm going to upload my employment profile right now...</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-35789987999904410712023-11-18T19:25:00.000-08:002023-11-18T19:25:50.173-08:00AI: The Mediocre Solution<div class="quote"><q>"Looks for what's there. Not what you want to be there. You will see the truth soon enough."
</q> - <cite>Sherlock Holmes (Enola Holmes)</cite></div>
<div>It’s decades ago, and young me is in a theology class where the teacher explained essay writing by saying, “your opening paragraph should contain your thesis statement. I have found a good way to do this is to say, ‘the thesis of this essay is…’” My heart sank. I wrote excellent essays in school. I honed my craft by reading exceptional essays, by reading about exceptional essays, and by asking exceptional people to review my essays. Including a sentence in your opening paragraph stating the thesis is not how an exceptional essay is written. If you do that, you have done something immensely gross and wrong. The thesis of this essay is to explain how AI writes truly unexceptional essays.</div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV3xyC11_IaiQJVfgnnFrL5urs-AGJOI1YPD-nWWyzsXUG2hKC2sSmn-mtAy_X5Fva11bVdG83e-mL19FvNS0y51uAfMWrxMcBTgkFEto4bGYjLPvIBN2Gb8ZpBPhX7xF0Q4QHhWvm0Y49W-uAAocW_DXkPrvVgk3nk61inWeOpkZOIwqWzR_8gxa0O6g/s1024/DALL%C2%B7E%202023-11-18%2019.23.28%20-%20Robot%20Writing%20a%20Resume%20at%20a%20computer%20in%20the%20style%20of%20Disney%20as%20pixel%20art.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="Robot Writing a Resume at a computer in the style of Disney as pixel art" border="0" width="320" data-original-height="1024" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV3xyC11_IaiQJVfgnnFrL5urs-AGJOI1YPD-nWWyzsXUG2hKC2sSmn-mtAy_X5Fva11bVdG83e-mL19FvNS0y51uAfMWrxMcBTgkFEto4bGYjLPvIBN2Gb8ZpBPhX7xF0Q4QHhWvm0Y49W-uAAocW_DXkPrvVgk3nk61inWeOpkZOIwqWzR_8gxa0O6g/s320/DALL%C2%B7E%202023-11-18%2019.23.28%20-%20Robot%20Writing%20a%20Resume%20at%20a%20computer%20in%20the%20style%20of%20Disney%20as%20pixel%20art.png"/></a></div>
<div>I was recently searching for work, finding openings, applying, and I used the experience as an opportunity to figure out how AI could help me along in this process. The first step to getting a job is the resume. I tried two AI approaches. First, I fed my resume into OpenAI and asked, “Make my resume more compelling.” Second, I fed my resume into a few of the dedicated resume AI tools. The result of both of these approached was the AI attempting to make my resume 10x more generic. AIs removed my voice and replaced it with generic resume BS. Of all the changes that it made, I incorporated about 10% of it back into the resume I was providing. Yet, here’s the thing. I’ve hired a lot of people. I have read A LOT of resumes. I have read A LOT of truly BAD resumes. If your resume presentation is bad, AI is going to make your resume mediocre. Maybe that’s what you need. Give it a shot and if you think, “wow, way better” than it probably is.</div>
<div>Next came the dreaded cover letters. Look, when I hire people, I don’t ask for a cover letter. Let your resume stand on its own and let your objective be your cover letter. If you say, “I am seeking a job where…” your objective is mediocre; punch it up. Or don’t, I’ve hired people with mediocre resumes. I’m not hiring people to write resumes, I accept that might not be their best skill set. I get 100+ resumes and I understand that I make horribly arbitrary and somewhat random decisions about which ten people I am going to phone screen. I miss good people. I may not hire the best person for the job. I’m sorry if you were one of those truly great people I failed to screen and hire, truly. I don’t put a lot of value in a cover letter, because I’m not hiring people to write cover letters, but a lot of job applications require them. What to do? Prompt ChatGPT, “create a cover letter for the BLAH position at the BLOOP company” and it will pump out a one page cover letter.</div>
<div>These cover letters are incredibly mediocre. Incredibly. “I am writing to express my enthusiastic interest in the [Role] at [Company], as advertised on [Where You Found the Job Posting].” I realize that 80% of cover letters start like this but please never start a cover letter like that. This is garbage text. I especially appreciated when the AI would “hallucinate” text, “with my distinguished history in medical regulatory policy…” I have no history in medicine in my resume, let alone a distinguished one, yet ChatGPT really wanted to let employers know that I had distinguished qualifications for jobs I had no business applying for.</div>
<div>For every job that required a cover letter, I had ChatGPT generate one, and then I would aggressively edit the result to include my personal style and to ensure it included basis in reality. This process was less stressful and less time consuming than writing all of them myself, so, win?</div>
<div>As I have learned is a good way to end an essay, I will now summarize a conclusion to my thesis that AI writes truly unexceptional essays. The resume updates from AI bleached my personality out of my resume into absolute generic boredom. The cover letters produced by AI were offensively generic and often hallucinated skills or history I didn’t have. YET, all in all, I think using AI cover letters made my life better allowing me to let go of artisinally crafting each letter and instead letting the starting template be crafted for me. I got very good at editing the cover letter and “punching it up” to be more inline with my brilliant and insightful writing. So give it go, why not?</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-63693288151095918982023-11-02T18:45:00.002-07:002023-11-02T18:45:41.421-07:00Cribbage and the Python<div class="quote"><q>You get beautiful designs when you build simple things that compose correctly.</q> - <cite>Chris Lattner</cite></div>
<p>I’ve been ramping on on writing software for AI, and Python is the language of AI. So I thought to myself, could I write a Cribbage Engine in Python, wrap it in Gymnasium and then use Stable Baselines to build an RL agent that could play cribbage well through re-enforced learning. Welp, I’m not there yet, because I built the cribbage engine and started doing some statistical analysis and have gone done the rabbit whole of programmatic cribbage and statistical regression.</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB-S9J438jGbHjA4XmXQSttGUpnPvosxpBlGlqKgzZ886GSlU38O2IXYhiGmpr7mWOfmbIxAzv_jbXJKsJJQnyHOEt63pA8IM9IB8OL5U8YGV6CX-nhIdBCROlDp4SCyxOacZRRWYdInYcHy5inpx3wC8Z1OEr-FpNe_e6Ko5enJKpRX2Stvocc1wuudI/s1024/DALL%C2%B7E%202023-11-02%2018.27.19%20-%20robot%20playing%20the%20card%20game%20cribbage.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="robot playing the card game cribbage" border="0" width="320" data-original-height="1024" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB-S9J438jGbHjA4XmXQSttGUpnPvosxpBlGlqKgzZ886GSlU38O2IXYhiGmpr7mWOfmbIxAzv_jbXJKsJJQnyHOEt63pA8IM9IB8OL5U8YGV6CX-nhIdBCROlDp4SCyxOacZRRWYdInYcHy5inpx3wC8Z1OEr-FpNe_e6Ko5enJKpRX2Stvocc1wuudI/s320/DALL%C2%B7E%202023-11-02%2018.27.19%20-%20robot%20playing%20the%20card%20game%20cribbage.png"/></a></div>
<p>Cribbage holds a special place in my heart. When I first met Mrs.Chaos somehow the topic of cribbage came up and we learned that both of us had played a lot of cribbage. It is not a popular card game. She beat me at cribbage... a lot. So, all that time ago, being the nerd I was (am?) I wrote a little engine in JavaScript where you put in the six cards in your hand and it would do a very basic calculation to tell what to discard. Running that PWA on my iPhone 3 took around 30 seconds to crunch, I wonder how fast it would go today? Sadly, the program is lost to the land of wind and ghosts.</p>
<p>This time, because I was trying to learn Python, I built the whole cribbage game as an engine with an agent that played randomly. I have <strong>THOUGHTS</strong> on Python for later. I kept running 100 games and player one would win 70/30 and I figured I must have a bug - and it was player one always had the first crib. So, if you have the first crib in the game, you have a significant advantage. Once I fixed this so that playing multiple games alternates the crib, the win rate balanced out to 50/50. Good! Seems solid.</p>
<p>There are a couple really difficult problems in scoring cribbage. When the run is occuring, a straight of 3-cards can occur out of order and then can be built on. So a run of (5,7,6) scores a run of three, for three. Then a (5,7,6,4) builds on that for a run of four. But a play of (5,7,4,6) does not count as a run of four and scores no points. In scoring a hand, it's important to score a complete run (4,5,6,7) for for points, but then DO NOT score the sub-runs (4,5,6 and 5,6,7) of three.</p>
<p>Then, rather than build the re-enforced learning agent, could I program a decent cribbage player? I find when I start to peel a game apart it makes me a better player. Play begins with six cards dealt to you, so how to decide what to discard? Oh, university combinatorics, how I miss you. <em>C(6,2)</em> (six choose two) and Python does have a nice helper for that: <code>list(combinations(player_hand, 2))</code></p>
<p>Now, once those two cards are “discarded” to the crib, run through ALL POSSIBLE forty-six cards left in the deck and if it were chosen as the run card, what is the hand worth? Get an average score for the possible hands. Then for the two cards into the crib for ALL POSSIBLE combinations of two from the forty-five cards C(45,2) what is the average value of the crib? If it’s your crib, add it and if it’s the opponents crib subtract it. Pick the highest score and go for it.</p>
<p>There are some missed optimizations here - because based on your opponent you might have different strategies. For a good opponent, the likelihood of any particular discard to the crib will not be random. ACTUALLY, this would be a fascinating statistic to look out. What are the most common discards for this particular agent over time and then use that to adjust the model from an even distribution. Put it on the W0511 list (<em>that's a pylint joke, hysterical</em>)!</p>
<p>After the discard, the other part of the game is what cards to play during the run portion of the game. So here was the strategy I programmed. First, for all the cards in your hand, if you played it, what is the amount of points you would get? Then I nudge this based on a few different strategies. 1) If the run total is going to be less than 5, nudge it up, because that means your opponent can’t get 15. 2) If the run total is going to be exactly 5 or 10, nudge it down, because that means your opponent may more likely get a 15. 3) If the run total was LESS than 15 and your card makes it MORE than 15, nudge up, because you blocked your opponent. 4) Finally, all other things being equal, play the biggest card you can because that helps towards you getting a “Go” for a point.</p>
<p>So that’s the engine. How do you think it does when the OptimizedPlayer goes against the random player? It wins 80/20. So, what I’m reading here is… if you are a really good cribbage player and your opponent is playing randomly, they still win one out of five times. How did Mrs.Chaos beat me so often? I will never know. Maybe I was sub-consciously letting her win.</p>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-87552784579655182572023-10-02T11:01:00.003-07:002023-10-02T11:01:50.801-07:00Don’t Say It Outloud—Augmented Reality<div>I was chatting with “the kids these days” about their use of TikTok instead of Google. Since the flags here are half mast, the kids (not my kids) showed me using TikTok to search for “did someone die?” Morbid, I know, but the search result was excellent content showing a ninety second video explaining who had passed with a bunch more followup videos of different people talking about the event, its historical importance, etc. How would I, the neanderthal, handle the situation? By using a web search for it, reading an article on CNN, and if I wanted to know more, I might click my way over to Wikipedia.</div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpXU95IEqTbgcORzSnXh9lHgMWNBlqFZcvIaZXNmKt_MI-kMP3cZMFM6ZO4BLWuqb4Ucq0VVgnV8qiFTO14dMJwMbKwizil7P8PYUlSUAVvZGVXGQ8HBxzmGjCdqtwV37dgDicdjG73ZvvANFVvRYhLc3tZFtu1Y0ZtTHwxKNEiRO-dgp-EISutRUUvNY/s1024/IMG_0468.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="DALLE - Kids Watching TikTok" border="0" width="320" data-original-height="1024" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpXU95IEqTbgcORzSnXh9lHgMWNBlqFZcvIaZXNmKt_MI-kMP3cZMFM6ZO4BLWuqb4Ucq0VVgnV8qiFTO14dMJwMbKwizil7P8PYUlSUAVvZGVXGQ8HBxzmGjCdqtwV37dgDicdjG73ZvvANFVvRYhLc3tZFtu1Y0ZtTHwxKNEiRO-dgp-EISutRUUvNY/s320/IMG_0468.png"/></a></div>
<div>Why are the kids using TikTok? I blame AirPods. If you grew up watching Star Trek: The Next Generation, you can probably picture scenes where LaForge or Data is having a dynamic conversation with the computer in engineering as they try to research or problem solve the way out of yet another conundrum. The moment another person enters the scene, they stop the conversation, and switch to using the LCARS touch interface instead. Why? They don’t wear AirPods. It would be untenable for everyone to have out loud conversations with the computer at the same time - this is a problem easily solved by personal in-ear communication system. Uhura had it right all along!</div>
<div>Someday, we’re likely going to be wearing augmented reality glasses or contacts, but today, I already see teenagers wearing augmented reality in the form of AirPods. I see them sitting around and interacting with one another in person, while also having an AirPod in one ear. The explanation given to me was audio alerts and voice assistants. When a new message comes in, it is read in their ear to them without the need to pull out the phone and look. This works very well with their parents around as well. If they want to respond, they can do it via audio without taking out there phone.</div>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB-Mu13GkWpjAnVYJDBkpJl5euQNK2D7XI5Wh77YWtY09U-5K7oxJSZWR10mFk_croBKXZmhuzYGWQVQu4dS_9RAVvE69yiTbjan96g_EKxaceiLtxn9lm3bcS2HXnGsBtteNI6n2tu_ssqaZKPIvncIVX0LG1SFSw9tPpnRGnb673DQrrylISWfkpLqA/s1024/IMG_0469.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="DALLE - Kids Talking While Wearing AirPods" border="0" width="320" data-original-height="1024" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjB-Mu13GkWpjAnVYJDBkpJl5euQNK2D7XI5Wh77YWtY09U-5K7oxJSZWR10mFk_croBKXZmhuzYGWQVQu4dS_9RAVvE69yiTbjan96g_EKxaceiLtxn9lm3bcS2HXnGsBtteNI6n2tu_ssqaZKPIvncIVX0LG1SFSw9tPpnRGnb673DQrrylISWfkpLqA/s320/IMG_0469.png"/></a></div>
<div>This past summer, Cornell University created glasses that use a combination of sensors to “read your lips” allow you to subvocalize verbal commands. This would be a major improvement to audio augmented reality. The next generation is already using audio augmented reality daily, and if subvocalization were added, it would be amazing. Couple this with new LLM AI chatbots and you have Jarvis in your ear.</div>
<div>Sure, we know the glasses are coming, eventually, but audio AR is here today.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-19677674822739913762023-09-13T09:01:00.006-07:002023-09-13T09:01:35.246-07:00AI Won’t Take Your Job; I Might<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmk14WEdCI0Bq5sQW9NdFFzpMagO8GrE1mSRdqHyrP1rConxyIUzk7vtO47QgioJ0fNAlDF1wsynwAc5I6X5dJQNCIw5RVqyDvNXkcVKrptaeb96hoFD9PO10qeD8pm-2W1nJiIEQ6dq1X74smusbjwpWQysnbtTWrT6AVcBY2GGkWn5lQzEdkms9rAdQ/s1024/DALL%C2%B7E%202023-09-13%2008.54.01%20-%20humans%20and%20robots%20working%20together.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="320" data-original-height="1024" data-original-width="1024" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmk14WEdCI0Bq5sQW9NdFFzpMagO8GrE1mSRdqHyrP1rConxyIUzk7vtO47QgioJ0fNAlDF1wsynwAc5I6X5dJQNCIw5RVqyDvNXkcVKrptaeb96hoFD9PO10qeD8pm-2W1nJiIEQ6dq1X74smusbjwpWQysnbtTWrT6AVcBY2GGkWn5lQzEdkms9rAdQ/s320/DALL%C2%B7E%202023-09-13%2008.54.01%20-%20humans%20and%20robots%20working%20together.png"/></a></div>
<div>Are you afraid of losing your job to automation and artificial intelligence? I get it. We often hear headlines proclaiming that AI will replace human workers across various industries. There is no denying that AI is reshaping the job market and we can’t predict where it will lead, but it's essential to understand a crucial distinction: AI won't take your job; someone who understands AI will take your job.</div>
<div>This isn’t the first time we’ve seen a disruptive shift in work. Calculations used to be done on paper in a room full of people with a slide rule. It’s one of my favorite scenes from the movie Apollo 13 when the computers double-check the match. People who used to do math by hand were replaced by people who could use technology to do it. People who used to manage finances in big notepads were replaced by people who could use spreadsheets. History has historically shown us a short-term disruption, followed by increased prosperity. AI is going to be the same.</div>
<div>Artificial intelligence and automation have made significant strides in recent years, automating routine tasks, optimizing processes, and augmenting human decision-making. Industries like manufacturing, customer service, finance, and healthcare have all witnessed the transformative power of AI. From self-checkout kiosks at grocery stores to chatbots providing customer support, AI has become an integral part of our daily lives.</div>
<div>AI is not the adversary of human workers; it's their ally. The most successful organizations recognize that AI and human intelligence are complementary forces. AI can handle repetitive and data-intensive tasks with speed and precision, allowing humans to focus on tasks that require creativity, critical thinking, emotional intelligence, and complex problem-solving.</div>
<div>While AI augments human capabilities, it also creates a growing demand for individuals who understand AI. In a job market increasingly influenced by AI technologies, those who possess AI literacy are better positioned for career growth and job security.</div>
<div>AI is not a threat to your job; rather, it's an opportunity. By developing AI literacy, you position yourself as a valuable asset in the job market, capable of harnessing AI's potential to drive innovation and solve complex problems. AI will undoubtedly continue to shape the workforce but remember: AI won't take your job, someone who understands AI will take your job. Embrace the opportunity to learn, adapt, and thrive in the age of artificial intelligence.</div>
<div>We may eventually get to a point where technology and automation can do so much that there is less work to go around. When that happens, we should be living in an incredibly prosperous world capable of taking care of everyone. I want to live in a country so prosperous and supportive of its citizens that we can celebrate rising unemployment.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-25179236233025223902023-02-21T21:27:00.003-08:002023-02-21T21:27:47.098-08:00Six Color Report Card 2022<p>Every year, for quite a few years now, Jason Snell over at Six Colors does the Apple Report card where he sends out a survey to a collection of developers, journalists, and enthusiasts of Apple and compiles a “how are they doing?” view of things. I am not one of the panelists of the report card,but as an Apple fanboy, I find it find to review on the questions he is asking.<p>
<h2>Mac - A</h2>
<p>The Mac is doing great. I can ride on the coattails of last years M1 release and just see that the Mac hardware is crushing it and the software continues to move forward well. I don’t need crazy innovation in the Mac world, just year-over-year improvements and a continual push of the platform forward. I’m proud to be a Mac user in work and in my personal life. I cannot imagine being a Windows user, a Linux user, or a Chromebook user.<p>
<h2>iPhone - A</h2>
<p>For the last couple of years, slightly by surprise, I have been using an iPhone SE. Here is what I realized - all iPhone are great! I will probably return to a Pro Max at some point, but honestly, having the iPhone SE has never felt like a problem for me. The Touch ID is a bit rough in the cold winter with my gloved fingers, but no more difficult than Face ID when wearing a mask due to covid. The iPhone and iOS is a mature platform, and I’m perfectly happy on the cheapest version for years ago. That is surprising to me!</p>
<h2>iPad - B</h2>
<p>I don’t have a personal computer anymore. For work, I have a MacBook, but for my own personal life the iPad is my primary computing device and I don’t think I need anything more. This year, when I’ve needed to do some complicated personal computing, I’ve plugged in an external monitor with a mouse and keyboard and gotten it done.</p>
<p>Every year I ask myself the question, can I use my iPad for work? I’m an systems integrator / solutions engineer, and for the most part I totally can. The introduction of Stage Manager was rough - but mostly met my needs. I simply wanted to have a second display and so now I can run two apps at the same time each running full screen - one on my iPad and on my external display. Even more, I can run video conference (Google Meet, Zoom, Teams) and I can screen share on my iPad display while my secondary display is running Slack as I complain to my coworkers about how dumb the meeting is.</p>
<p>My main problem is apps quitting in the background. I do a lot of stuff that requires a persistent connection so having my ssh connections (via Prompt) or my screen connections (via Screens) quit in the background totally messes up my flow. I have to aggressive manage my stages in Stage Manager to try and keep those apps from quitting - and I make sure I am running screens on the destination Unix system so when I do drop I can reconnect.</p>
<h2>Wearables - A</h2>
<p>I wear the latest Apple Watch for health tracking as part of the quantified self and I love it. There’s nothing magical about it - but I feel a sense of reassurance that I’m logging heart rate, Sp02, etc. over time and that each time I do a walk or go rock climbing I can log the workout. I honestly feel sad when I forget to log a workout; it’s like it didn’t happen.</p>
<h2>Apple TV - B</h2>
<p>It’s fine and I think this is mostly a commodity space for me now. I have a sense that AppleTV stalked me less than the competitors? I don’t use Up Next, I use three apps: TV Time, Movies (both track through Trackt) and JustWatch. That is where I manage all of the list of shows and movies I want to watch along with figuring out where the heck I am able to watch shows.</p>
<h2>Services - B</h2>
<p>There is nothing special going on for me with services. I am not an Apple Music subscriber, I take my free Amazon Prime music. I don’t subscribe to Arcade or Fitness or TV+. I conceptually like the idea of Apple One, but for now, it’s just not something that speaks to me.</p>
<h2>HomeKit - A</h2>
<p>Okay okay, I hear a lot of griping about HomeKit and that Matter is going to solve it - but for me, HomeKit works great. I make sure to buy everything HomeKit that I can and I have a few minor things I need to use HomeBridge for, but I am happy. Open the garage door and the lights turn on. “Hey Siri, goodnight” turns off the TV, lights, and turns on the fan. At my friends house, when the indoor air quality drops, his air purify turns on. HomeKit makes all of that happen and it’s not difficult.</p>
<h2>Hardware Reliability - A</h2>
<p>I haven’t really had any Mac or iOS hardware failures. It all continues to work and keep on trucking.</p>
<h2>Software Quality - A</h2>
<p>I don’t struggle with software quality. It all works and works well. I know there are some complaints about the System Preferences changes for macOS, but that’s fine. I know Stage Manager has been a bit of a fiasco, but it does sort of get the job done. Mostly, I find things work and work reliably.</p>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-68789049460403849082023-01-12T22:13:00.000-08:002023-01-12T22:13:15.869-08:00Three Things of 2022<div class="quote"><q>People have all kinds of sides to them, Mei, and some of them are messy.</q> - <cite>Jin (Turning Red)</cite></div>
<p>Holy cow, the year is over. It’s been a rough couple of years. Do your best to live one day at a time, and enjoy one moment at a time. What are three things in 2022 that were fun for me?</p>
<p>Netflix Sandman - At the end of high school my older cousin gave me a bunch of the trade paperbacks for my birthday (or Christmas?) and as a moody intellectual high schooler who dabbled with the idea of being goth, this I was 100% up my alley. It was SO deep. I have a lot of appreciation for quite a few things that Neil Gaiman has written and I do love Sandman. I revisited and read the entire comic book collection again around 2018 with the 30th anniversary collection and enjoyed it just as much. They did a good job with the Netflix TV series. I think it’s captured the comic really well and truly enjoyed watching it. It’s dark, creepy, moody, etc. It NAILED my favorite issue introducing Dream’s sister Death. I’m excited to see it continue.</p>
<p>Genshin Impact - I played a bunch of this game throughout the year. I’ve really enjoyed it and I’ve really enjoyed that I am playing a free-to-play game, haven’t spent a single penny on it, and am just having a really really good time. I admit I have moved into “completionist” mode where most of my current gameplay involved collecting characters and hitting 100% completions on various quests. But, ya know, I am a person who dodged 200 lightning strikes in FFX or finished the Via Infinito Dungeon in FFX-2. So I have a history of this sort of thing.</p>
<p>Turning Red - my favorite movie for the year was Turning Red. I found the movie delightful from “the secret lives of tween girls” to “Team Auntie” to the boyband. And of course, how could I not relate to the dad? There is a moment where he is talking to his daughter and says he saw her mom’s (his wife’s) panda and says (I’m paraphrasing from memory) “it was magnificent.” It is a move about loving yourself and loving others for who they are.</p>
<p>I watched a lot of other shows and movies, but I’ll go with that for my three suggestions for 2022. Welcome to 2023.</p>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-43624799811659826632020-09-20T22:11:00.002-07:002020-09-20T22:11:43.323-07:00Four Movies<div class="quote"><q>You can unlock any door, if you only have the key.</q> - <cite>Amulet (Secret of NIMH)</cite></div>
<p>What are four movies from your childhood that you like more than anyone else? Or changed you? Or moved you?</p>
<p>I'm not sure how old I was when we rented <strong>The Secret of NIMH</strong>, but I remember being utterly entranced and scared by the movie. Like, "this is a grownup cartoon that somehow my parents are letting me watch!" I would tell all my friends about this amazing movie and none of them had seen it! I greatly look forward to showing this movie my munchkins.</p>
<p>I saw both <strong>Dragonslayer</strong> and <strong>Legend</strong> around the same time. I was already playing fantasy role playing games and highly entrenched in the fantasy drama and both of these led me to believe that made real movies for people like me. They were creepy, intense, scary, and even had some gory scenes. I loved them both.</p>
<p.>I was a little older, maybe 7th grade, when I had friends recommending <strong>Monty Python's Holy Grail</strong> and somehow my parents rented this movie and let me and a friend watch it by ourselves. This movie was the most hilarious thing I had ever seen in my life. I opened the door to me for the concept of British comedy and I ate it up. I watched as much Montey Python as was available at the local rental store. I got the cassette tapes of all the shows for a birthday present. It was highly formative.</p>
<p>For the bonus, I was a freshman in high school when a friend loaned me a VHS with <strong>Akira</strong> on it. And I thought, "Yes! How do I find more of this?"</p>
<p>What is truly wonderful about this set of movies though, movies I like more than anyone else, is that if I look at my group of friends that has stuck with for the years... I'm not actually sure I do like any of these things more than them. They are a litmus test. If you like this, you will be my friend.</p>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-82629628389082656932020-05-20T22:46:00.001-07:002020-05-20T22:46:49.854-07:00WWDC 2020 iPadOS Wishlist<div>The online-only virtual developer conference is just around the corner and I don’t feel like we’ve seen too many rumors. Here is my very simple very short wishlist for iPadOS.</div><div>1. Separate Apps On External Display - The foundation is all ready for this! I want to plug my iPadPro into an external 5K USB 3.1 display and then be able to have two apps on the iPad and two different apps on the external display for a total of four apps. The external display isn’t a touch screen, but that’s okay, because I can connect a keyboard and mouse to the iPad and use the new iOS pointer to manipulate the apps on the external display. We’re so close to this!</div><div>2. Web Meeting Camera in Background - If you’re in a web meeting (Zoom, WebEx, GTM) the iPad camera only works if the app is running foreground in full screen. If you switch your web meeting to split screen or put it in the slide over, your web meeting no longer has access to the camera. BOO! When I’m in a web meeting, I want the app to be in the slide over so I can multitask, but I do want to leave my camera running.</div><div>3. ReplayKit to share a specific app - If you’re in a web meeting (Zoom, WebEx, GTM) and you share you iPad screen, it shares the WHOLE screen. Generally I want to be able to share my browser app (Safari of Chrome) while still running Slack in split screen that is not shared so I can chat with my coworkers about the client we are presenting to.</div><div>That’s it! My short and simple wish list and I think the iPad would finally be the equivalent of working on my laptop. Huzzah!</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-55060972409391028852020-05-03T21:29:00.001-07:002020-05-03T21:29:28.257-07:00The Hassle and Joy of eBay<div><div class="quote"><q> Six months after I created eBay, I started receiving a spate of complaints. Everyone was complaining about each other. </q> - <cite> Pierre Omidyar </cite></div></div><div>I'm getting more and more used to "renting" technology where I continually upgrade to the latest gadget and then sell the previous one. I do all of this through eBay, where I have yet to be taken advantage of, but it has been a big hassle. I wish this could be easier for me. I just recently sold off my 2018 iPad Pro, 2011 MacBook Air, and iPad mini 2. I thought I'd share the process.</div><div>The first thing I do is get the trade in value from somewhere reputable like Apple or Gazelle. What will Apple give me if I give my product back to them? Once I have that, I know what the minimum price is that I want from eBay (with some math). eBay is going to take a 10% fee for the item and then when I use PayPal, PayPal is going to take 2.9% fee (+ $0.30). So I'll take whatever price I was going to get from Apple, do the reverse math, and that will give me the starting bid price at eBay.</div><div>iPad Pro 2018? Apple will give me $480, so I need to sell that on eBay for $552 ( - $55.2 from eBay and -$16.31 from PayPal). I'll do the same thing for the MacBook Air and iPad mini 2.</div><div>eBay will not let you set a reserve price for free, which is why I use this as the starting bid price. eBay will also whine at you that you should set a lower starting bid price to attract more buyers, but just don't do that. Silly talk. Schedule your auction to be 7-days and to start on Sunday evening - I read this is the best and it makes sense to me. I end my auction at 5pm PST (8pm EST) as the time that seems to work well.</div><div>I currently also disable international sales - but that's just paranoia. I used to allow it and I've had items ship internationally without a problem, but I've already read horror stories about it.</div><div>Buy It Now price? Accept offers? I don't do either of these. I have never seen an offer come in that beat the final selling price. So while this might make sense from some items, it doesn't seem to be the right choice for electronics. Of course, just because your auction doesn't allow offers, this will not stop people from sending you messages asking you things like, "what is the lowest price you will accept for this?" Ignore those silly shenanigans. I used to reply, but I don't think there is a point now.</div><div>Once your item sells is where the fun begins. You need to follow the rules here. Wait for the payment to come through PayPal and ship to the address associated with the PayPal account. This is the easiest process and this is the process where eBay/PayPal will protect you if something crazy happens. What is, sadly, likely to happen is the buyer will try an convince you to do something else. They will suggest they have moved, please ship to a different address. They will suggest they can send you a check and avoid the PayPal overhead (2.9%). They will tell you they have already paid you (even though eBay does not confirm this) and demand you ship. DON'T SHIP. I don't know if this is a scam or not, but don't ship. Also, don't cancel. If you don't put up with the scam and the buyer suggests you cancel, don't. A cancelled transaction puts the ding against you. Let two days pass and file an "unpaid order" and eBay will refund you the fees.</div><div>So when this happens (it happened to me 2 times for the iPad Pro and 3 times for the MacBook Air) just relist your item on Tuesday with a 5-day auction for the next weekend. Repeat and relist.</div><div>The "best" scam that happened to me was my iPhoneX. Apple would buy it from me for $525 so I listed it for something like $600. First bid was $601 followed almost immediately by an $850 bid and then an $851 bid. WAHOO! Score. The week ticked by... and then at 4:59pm as the auction closed.... the $851 and $850 bid were cancelled and it sold to the $600 bid. Ha! Well played. I canceled the auction as "no longer have the product" and took the hit to my sellers reputation and just sent the phone back to Apple. But, seriously, well played. How is this scam not WAY more common?</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-41778647203038159422020-03-01T09:34:00.000-08:002020-03-01T09:34:27.101-08:00Four Formative Series<div><div class="quote"><q>He does not despise real woods because he has read of enchanted woods: the reading makes all real woods a little enchanted.</q> - <cite>CS Lewis (talking about J.R.R. Tolkien)</cite></div></div><div>I found the time to read a lot growing up. Reading was my before-dinner ritual. Get home, finish homework, watch the Disney afternoon, read 1-2 hours until dinner. I read a lot of trash SciFi and Fantasy from the library, but I also ran across some series that stuck with me.</div><div><strong>The Hobbit & The Lord of the Rings</strong> - It took me a very long time to make my way through this whole series. I read the hobbit in 6th grade and Fellowship in 7th, and then I kept getting distracted by other school books and then restarting Fellowship each summer. I finally finished Return of the King in my freshman year of college. Throughout middle school, high school, college, and a little beyond I played Middle Earth Role Playing (MERP) and have read more than a hundred supplemental books from ICE. ICE was always good at referencing and using source material and I felt wholly emerged in the world of Arda. I love the way Tolkien handles magic in his world. It’s not spell craft, but magic. I was enthralled by the moment Frodo reaches Amon Hen and sees the Barad-dûr. Sauron and Gandalf opposes one another in a magical battle over Frodo’s will. That scene, not of lightening bolts and fireballs, but of force of will, inspired almost all my renditions of magic when writing my own fantasy stories. Magic is expressed by a push against the wills of others and the forces of the world. </div><div><strong>The Ender Series</strong> - Was Ender’s Game requires reading for little boys? I think we all read the first one, but I have gone on to read every single book in the Ender Series and Shadow Series. I loved Xenocide and Children of the Mind in a way that I rarely found others did. I am not sure those books would hold up to an adult rereading, but as a kid, the way they played with the concept of self was fascinating and inspiring. The hive mind of the formics was a cool concept, but even more when Ender becomes his own hive mind with his two created siblings. I was moved by Ender’s recreation of Peter and Valentine. Peter, whose memories are all sociopathic from Ender’s memory, even though he knows that Peter actually created the Hegemony and brought about world peace. Valentine, trapped as a young loving innocent child even though she knows that Valentine was instrumental in Peter’s world domination. Such and amazing mind game for a young kid to think about: what if your memory of yourself doesn’t reflect who you actually are?</div><div><strong>Dragonlance</strong> - What different world building than LotR. I think I read everything that came out through high school and college. Dragonlance Legends was my favorite set and Raistlin was my favorite character (wasn’t he everyone’s?). This was the series that inspired me into thinking about every villain as the hero of their own story. Raistlin goes from neutral to evil, and ends with a minor redemption. To me, he was always the protagonist, and that greatly influenced my viewpoint of stories and life. To think that no one is trying to be evil, they are trying to do what they think is right. Even when they introduced Dalamar, in theory truly evil, he was also loyal and thoughtful to his friends. Yep, everyone is the hero.</div><div><strong>Be an Intergalactic Spy</strong> - I would not describe this as a narratively rich series. When I first started to learn to program BASIC on the Apple ][e, CYOA was my inspiration for my first massive program called The Quest which started out as spaghetti code. It was full of GOTOs where one choice progressed the story and the other choice lead to The End. You know, just like a CYOA book. I vividly remember when I had the inspiration in game that choices wouldn’t end the story, but instead you could accumulate gold and then maybe buy a sword and that would let you get past a dragon and BOOM The Quest slowly turned into a full text-based adventure. As a kid, this was the natural progression of a program, but as an adult looking back that was the moment I understand what programming actually was. The Quest in BASIC is one of the few programs I lost over the years I wish I still had.</div><div>Honorable Mention, Hitchhikers Guide - I didn’t get the humor as a kid. I found it weird and fun, but not hilarious. It planted the seeds in my brain so that later on in my life as my I started to understand satire I would think back to parts of this book and just start laughing.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-19731938138034431922020-02-08T13:34:00.000-08:002020-02-08T13:34:33.028-08:00Drobo Ragnarok<div><div class="quote"><q>Innocence is a catalyst for magic.</q> - <cite>Mary and the Witches Flower</cite></div></div><div>I bought a Drobo way back in 2011 to move my content off my internal drive and move it onto beautiful attached storage. For the longest time my Drobo 2G was connected to my AirPort Extreme as an "AirDisk", a cool feature where the AirPort turned any drive into a NAS. Of course, Apple retired the AirPort Extreme so when I switched to Eero the Drobo moved to be attached storage to my server (a MacBook Air 2011). Then two things happened at the end of 2019. The first was I realized that my Drobo was connected via USB 1.1 (12 Mbps) and that it was the slowest link in the chain of streaming content off my Drobo to the various devices around the house (and over the internet!). The second was a red light of death! One of my 1TB drives failed, but truth be told, going 8 years before my first drive failure was pretty good. So I replaced the failed drive with a new Seagate, and after a 200 hour rebuild, everything was groovy.</div><div>But I knew the 2G Drobo was probably approaching Drobo Ragnarok. I started saving and this January the great Drobo Migration of 2020 began. You see, due to compatibility, I couldn't just move the Disk Pack from my Drobo 2G to my new, lovely, Drobo 5D3, instead I had to do a very very slow migration of content of moving the four drives out of the old Drobo (2TB, 2TB, 1TB, 1TB) into the new Drobo one drive at a time. It was like the riddle of how you get five people across the river that on the boat that only held two. The best way I've found to visual Drobo storage of BeyondRaid, is whatever your largest drive is will just be for the parity bit and gives you no storage.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-PW71QJkFGk4/Xj8oaoOUkTI/AAAAAAABphw/SURUo7qhCi8h5f5uBMQRueT5s2fhFanfgCLcBGAsYHQ/s1600/Open%2BDroboData.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-PW71QJkFGk4/Xj8oaoOUkTI/AAAAAAABphw/SURUo7qhCi8h5f5uBMQRueT5s2fhFanfgCLcBGAsYHQ/s320/Open%2BDroboData.png" width="320" height="276" data-original-width="1600" data-original-height="1380" /></a></div><div>Put a brand new drive in Drobo 5D3, then pop a drive out of Drobo 2G and copy 2GBs of data across. Once Drobo 5D3 was nearly full and Drobo 2G has rebalanced all the data... pop the next disk out of 2G into 5D3 and repeat. The transfer took place of the course of a week. I hadn't actually done a cloud backup of all this data for a while (though the photos are all uploaded to iCloud Photos).</div><div>Because of the lack of recent cloud backup, the constant drive failure during transfer was harrowing. With the new 5D3 I bought a SSD accelerator card which failed on Day #2. Okay, no biggie, return and get a replacement. All the data did transfer, though I hit a limit once where I had to toss a spare 500GB drive in the new Drobo temporarily. But then after all the data was copied to the 5D3 and it had all five drives in it, the red light of death!</div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-kjHRjzwTH6c/Xj8o1MYYnMI/AAAAAAABph4/-C7_GlorvqQMfL-5sqaeWy3b0E12X8gwgCLcBGAsYHQ/s1600/IMG_0990.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-kjHRjzwTH6c/Xj8o1MYYnMI/AAAAAAABph4/-C7_GlorvqQMfL-5sqaeWy3b0E12X8gwgCLcBGAsYHQ/s320/IMG_0990.jpg" width="320" height="320" data-original-width="1600" data-original-height="1600" /></a></div><div>I was somewhat nervous as I was a little delayed on having a real backup of everything. Drobo rebalanced to the remaining four drives, phew. This was a cool feature, I guess I should have expected, which is if there is enough space then Drobo will get all the data back into protected mode on the remaining drives. The drive I had bought back in November to replace that dead drive had died. Thanks to Amazon.com's extended holiday return period, I was able to replace that drive. So as I was waiting for that replacement from Amazon, ANOTHER RED LIGHT OF DEATH! Thankfully, because Drobo had rebalanced across the four good drives, I didn't loose any data.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-G0ydyN7ZRbE/Xj8o-pD26KI/AAAAAAABph8/ByEFRWywDMkEU2snQUtMhdTmJ0tNc2XZQCLcBGAsYHQ/s1600/IMG_8976.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-G0ydyN7ZRbE/Xj8o-pD26KI/AAAAAAABph8/ByEFRWywDMkEU2snQUtMhdTmJ0tNc2XZQCLcBGAsYHQ/s320/IMG_8976.HEIC" width="240" height="320" data-original-width="1200" data-original-height="1600" /></a></div><div>Amazingly, Drobo rebalanced again to the remaining three drives I had. So in theory I could have lost one more drive and still been okay. Another drive from 2011 had failed. So I had to buy a new one from Amazon.com. For the record here were my drive failures over the course of three months:</div><ul><li>November 2019 - a Western Digital Drive from 2011 failed, replaced with a Seagate</li>
<li>January 2020 - my Kingston SSD card failed 2 days after purchased, replaced with the same thing.</li>
<li>January 2020 - The Seagate Drive I bought in November 2019 failed. Replaced with a different Seagate.</li>
<li>January 2020 - Another Western Digital Drive from 2011 failed, replaced with a new Seagate.</li>
</ul><div>So overall, I had two drives make it for 8 years and I had another two drives fail writhing a week to a few months. That is pretty standard. Drives either fail fast or fail at the end of their useful lifetime. Bless the Drobo. I had four drive failures over the course of 3 months (two of the in the same week!) and I didn't lose a byte of data. Now everything is on the great new beast!</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-88548922535397031232020-01-09T12:29:00.000-08:002020-01-09T12:29:27.918-08:00A Few Meeting Best Practices<div class="quote"><q>People on the internet are just bad at arguing.</q> - <cite>Marco Arment</cite></div><div>You've probably been attending meetings since your first day at your very first job. It is very easy for a meeting to be a waste of time, but if you're in charge of a meeting get the basics right so it runs efficiently and is valuable for people. Hearing, "I like going to her meetings!" is such a great compliment.</div><div>Here are some planning and execution tactics for your meetings to help make them run great.</div><h2>Plan for Your Meeting</h2><div>A meeting runs well if you plan it to run well. If you skip the planning part then you have a cascading problem. So it all starts with the efficient and clear meeting invite. You've seen invites that look like this:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://3.bp.blogspot.com/-Fg-8RbfQBt0/Xhd7kDGIiBI/AAAAAAABpd4/fNW1JKlhTrM_aMes4NG2PNyy6MezH-55ACLcBGAsYHQ/s1600/ClientMeetingBad.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://3.bp.blogspot.com/-Fg-8RbfQBt0/Xhd7kDGIiBI/AAAAAAABpd4/fNW1JKlhTrM_aMes4NG2PNyy6MezH-55ACLcBGAsYHQ/s320/ClientMeetingBad.png" width="320" height="229" data-original-width="1600" data-original-height="1145" /></a></div><div>What's wrong with this invite? Really, just about everything.</div><ul> <li>The meeting name is unclear</li>
<li>The time of the meeting is wrong</li>
<li>The duration is 1 hour long, is that right?</li>
<li>The attendee list contains the CTO, is that appropriate?</li>
<li>There is no room reserved</li>
<li>There is no web meeting / dialin available</li>
<li>There is no goal for the meeting or agenda</li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-mWTnFW7ju7Q/Xhd7oAsHstI/AAAAAAABpd8/sgWM2eAdd-MtuEDQb1sCtaFKOjcD-8XKQCLcBGAsYHQ/s1600/ClientMeetingBadCircled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-mWTnFW7ju7Q/Xhd7oAsHstI/AAAAAAABpd8/sgWM2eAdd-MtuEDQb1sCtaFKOjcD-8XKQCLcBGAsYHQ/s320/ClientMeetingBadCircled.png" width="320" height="229" data-original-width="1600" data-original-height="1145" /></a></div><div>Here is clear version of the same meeting. If you take the extra few minutes to do a strong invite then it will help the meeting kick off well.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-3y4jy3D0dJE/Xhd7sqzEJII/AAAAAAABpeA/HESQuWJr4k46silwIUIEbI55tZN_jc4dwCLcBGAsYHQ/s1600/GoodMeetingInvite.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-3y4jy3D0dJE/Xhd7sqzEJII/AAAAAAABpeA/HESQuWJr4k46silwIUIEbI55tZN_jc4dwCLcBGAsYHQ/s320/GoodMeetingInvite.png" width="320" height="242" data-original-width="1600" data-original-height="1209" /></a></div><h2>Good Meeting Invite Guidelines</h2><div>Always have an objective for you meeting. State the goal in the invite to the meeting and present it again when you kick off the meeting. If you reach your goal by the end of your meeting, than your meeting was a success. Your goal may be to disemenate information, gather information, reach a decision by consensus, reach a decision by driving a manager to make one, but your meeting DOES have a goal. If your meeting doesn't have a goal, cancel your meeting.</div><div>Optional invitations mean something and you should be conscious of using them. This optional invite information isn't always surfaced well to the person receiving the meeting, so I recommend calling out specifically in the description why optional people have been invited to give them more information about if they want to attend.</div><div>Always have an agenda. This is how you know if you have provided too much time for your meeting or not enough for you meeting. Often people will just plop 30m onto the calendar or 60m onto the calendar and assume it "feels" about right, but the agenda allows you to check this. Guess what, people are very happy about 20m and 45m meetings too. There is no reason to chunk it into 30m. Sometimes I imagine a world where the Outlook default meeting is 20m.</div><div>I recommend starting the meeting agenda with a 5m kickoff. A good kickoff should take about 1m, so this is buffer time where you can stall for 4m before kicking off the meeting for people running late, joining the dialing, grabbing coffee, etc. It's especially important if you work in a culture of back-to-back meetings.</div><div>End your meeting agenda with a 5m wrap-up and next steps. Similar to the kickoff, these should take about 1m to do, so it's a little extra buffer time. If your meeting doesn't need this buffer time you can ALWAYS end your meeting early.</div><h2>Run Your Meeting</h2><div>Do your best to get to you meeting room 5m BEFORE your meeting. This lets you see if people have hijacked your room (or if there is a meeting and your presence can add an urgency to ending) and lets you be polite about asking them to leave your room.</div><div>Once you're in your room (on your call), get all the technology working. Join a screen share, conference number, share the presentation, do what needs to be done. As people arrive, greet them, and let them know the meeting hasn't started yet.</div><h3>Kick off the Meeting</h3><div>Clearly state that you are kicking off the meeting, the goals of the meeting, and the agenda of the meeting.</div><div>If people need to be introduced, it is your job as the facilitator to introduce them. Don't make people sit through an around-the-horn as each person intros themselves. You invited them to the meeting, you should be able to say who they are, and why they are invited.</div><h3>Take Notes</h3><div>A key deliverable of any meeting is the meeting notes which should include: attendees, decisions, and next steps. Meetings for information gathering would also include the gathered info.</div><div>Take your notes "on the projector" or "in the screen share" so all the participants can see your notes. Public/shared note taking in a meeting is extremely powerful. When a key decision is made people will ask to make sure it is clearly written in the notes. When there is a next step, people will ask to have the next step added to the notes with an owner and due date. People will also not be concerned about having an open laptop to write their own notes, because they'll be confident you're capturing important items and this leads to stronger engagement.</div><div>You can also delegate note taking to another trusted attendee, but you are still facilitating the note taking and make sure they are capturing things correctly.</div><h3>Facilitate the Conversation</h3><div>If you have planned your meeting well, with a clear goal, the right participants, and the right agenda that drives to the goal then the main facilitation technique you need is to keep people on task. When someone starts down a rathole, it may be a valuable topic, but you need to point out that it will not lead towards the meeting goal and is not on the agenda and then create a next step in the meeting notes to address the topic after the meeting. "Your concern about the privacy policy is good, but not what we're trying to address. Let me assign you a next step to raise that concern to the project lead at the risk meeting." </div><div>You can find lots of advocate on verbal facilitation techniques, but my most used tools:</div><ul> <li>Reinforce agreements - When you hear people agree, say that you hear it, and capture it in notes as a decision</li>
<li>Make a proposal - often useful at a stalemate, "I'm going propose we capture this as an unresolved next step and move forward. Is that good?"</li>
<li>Include quiet members - You end the meeting, and then someone who didn't speak responds to the meeting notes with FUD. So during the meeting ask, "Lindsey, do you have any concerns with this process?"</li>
</ul><h3>Running Over</h3><div>Don't let your meetings run over. You should know early on if you're lagging behind in your agenda. If unforeseen topics, risks, or other items keep you from meeting your goal within the time, capture the progress you've made and the next steps and end your meeting on time.</div><h3>End the Meeting</h3><div>At the end of the meeting, review the goal and confirm if you achieved it. Review all of the next steps to make sure the owners understand their tasks and when they are due. Then, declare the meeting over. Send the meeting notes out immediately through email (or Slack or whatever you use).</div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-JLHQ7C6dRBo/Xhd71aMj9pI/AAAAAAABpeI/IrBcBc0M7solQOa3rUVdMGDegY59nczyQCLcBGAsYHQ/s1600/Good%2Bmeeting%2Bnotes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-JLHQ7C6dRBo/Xhd71aMj9pI/AAAAAAABpeI/IrBcBc0M7solQOa3rUVdMGDegY59nczyQCLcBGAsYHQ/s320/Good%2Bmeeting%2Bnotes.png" width="320" height="232" data-original-width="1354" data-original-height="983" /></a></div><h2>In Summary</h2><ul> <li>Prep for you meetings: Goal, Agenda, Participants</li>
<li>Send a clear and complete meeting invite</li>
<li>Start your meeting on time</li>
<li>Facilitate the meeting following your agenda towards your goal</li>
<li>Take notes publicly and clearly during the meeting</li>
<li>Wrap up by revisiting the goal, reviewing next steps, and sending out meeting notes</li>
</ul><h2>One Final Thought</h2><div>Don't force people to come to your meetings, they should come because the meeting provides value to them.</div><div>It's tough to manage the dreaded recurring status meeting or team meeting. You need to hone the format of this meeting until people get value from it and WANT to attend it. Some people might be better just emailing in their status and receiving the meeting notes. If that achieves the goal (share status updates) then that's fine.</div><div><i>Title Photo by Hunter Newton on Unsplash</i></div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-264136267809866482020-01-06T21:00:00.000-08:002020-01-06T21:00:01.231-08:00On Air via HomeKit<div>
I work remote from home and spend a large portion of my day in web meetings with my camera on so my coworkers can see into my home office. Mrs.Chaos frequently wants to wander into the office, but doesn't really want to do so during done of these video meetings and I've always wondered if I could create some sort of "On Air" so that when I'm in a video meeting, I could notify people outside of the office. I have finally jury-rigged something together to do it and it's a great testament to the future of home automation. I can't wait until we can use natural language to describe this, "Hey Siri, setup an automation so that when my work computer is in a web meeting the Eve Flare turns red and when the meeting is over it turns off again."</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-fhSff-UZO1M/XhPRL8HR9gI/AAAAAAABpdk/VZgwZu0wpRAaQg7dU2erP9RDzHH5LDCgwCLcBGAsYHQ/s1600/IMG_8338.HEIC" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="240" src="https://3.bp.blogspot.com/-fhSff-UZO1M/XhPRL8HR9gI/AAAAAAABpdk/VZgwZu0wpRAaQg7dU2erP9RDzHH5LDCgwCLcBGAsYHQ/s320/IMG_8338.HEIC" width="320" /></a></div>
<div>
One of the good (and the bad) things about HomeKit is that I can't just use a script on my computer to fire events into HomeKit or to set scenes, only automations built inside the Home App can do this sort of thing by querying HomeKit accessories. So here was the process I went down to do this fun project:</div>
<ol>
<li>Write a script to check if it's working hours, than ssh'es to my work computer and tests if a video conference is on</li>
<li>Use Homebridge to have a HomeKit Switch accessory that runs a shell script every 5 minutes</li>
<li>Video conference means, "the switch is on" otherwise "the switch is off."</li>
<li>Home Automation in the Home App so if the switch is controlled to "on" the light turns on, if it's controlled to "off" the light turns off.</li>
</ol>
<div>
The script was a tad trickier than I expected, but not especially difficult. Checking if an app is running, "GoToMeeting" or "zoom.us" or others is just a simple process check:</div>
<div>
<code>ps aux|more | grep "${processName}" | grep -v grep | wc -l</code></div>
<div>
In this modern day of web meeting programs (Google Hangouts) how do you tell that is running? I had to determine if Chrome or Safari or Firefox had turned on the webcam. This is just a matter of using <code>lsof</code> to search fo VDC (Video Connection?). An interesting trick is that all the browsers automatically make a least one connection to VDC when they are running without using the camera, so they show two connections when the camera is going. Also, if you have another logged in user on your computer running Keybase, then the Keybase OS throws errors in lsof so I have route stderr to null.</div>
<div>
<code>lsof -n 2>/dev/null | grep -i "VDC" | grep -i "${processName}" | wc -l</code></div>
<div>
Cool, right? So if the first command returns more than 1 result or the second command returns more then 2 results per process, there must be a web meeting running.</div>
<div>
<b>Homebridge</b> is the gem of the HomeKit ecosystem for the hobbyist. It is a HomeKit hub written in node that can do anything a Node server can do, like call out to web apis or making internet requests. I have my WeMo, SamsungTVs, NetAtMo, Dropcams, and Connected by TCP lights all running inside of Homebridge and part of my HomeKit system, even though none of them support HomeKit.</div>
<div>
For this setup I installed a package called cmdSwitch2 which shows up as a HomeKit switch and runs shell commands for "turn on," "turn off," and "get state." It will also poll the "get state" command on an interval, so I used to this to have it poll for a state every 5m. Just this easy:</div>
<pre><code>{
"platform": "cmdSwitch2",
"name": "CMD Switch",
"switches": [{
"name" : "Web Meeting",
"state_cmd": "webmeetingStatus.sh -r me@192.168.1.1:webmeetingStatus.sh",
"polling": true,
"interval": 300
}]
}
</code></pre>
<div>
The final step of setting up the Home automation is done inside the Home app on iOS and it all "just works."</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-9aj_T6umta8/XhPRqsPtRfI/AAAAAAABpds/ukTe_B2-gJQUsbbqDtKLd4JJ5pOg5scAQCLcBGAsYHQ/s1600/IMG_43F0C43B2778-1.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1539" data-original-width="1234" height="320" src="https://4.bp.blogspot.com/-9aj_T6umta8/XhPRqsPtRfI/AAAAAAABpds/ukTe_B2-gJQUsbbqDtKLd4JJ5pOg5scAQCLcBGAsYHQ/s320/IMG_43F0C43B2778-1.jpeg" width="257" /></a></div>
Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-65382439978693646632020-01-03T20:00:00.000-08:002020-01-03T20:00:03.643-08:00My Favorite TV of 2019<div>
<div class="quote">
<q>No matter how gross something is just remember it is very easy to wash your hands</q> - <cite>Scott McNulty</cite></div>
</div>
<div>
Years over, new year is started, what did I watch last year anyway? I have the sense I don't watch a lot of TV, but when I run back through my list in TV Time, seems like I spent a lot more time watching TV than I thought I did.</div>
<h2>
My Favorite TV of 2019</h2>
<div>
<b>Watchmen</b> (SciFi/Fantasy) - My highest rated show of 2019. I was not expecting to like it and in its first few episodes it just seemed weird like they weren't going to have a coherent story, but all the ends come together and tie up nicely.</div>
<div>
<b>His Dark Materials</b> (SciFi/Fantasy) - I'm surprised I never read this as a kid, but I have really enjoyed this series. I started watching it about the same time I started some others and just realized the acting, story, set of this show is just one notch above everything else. </div>
<div>
<b>The Mandalorian</b> (SciFi) - This is a "fun" show more than a "serious" show. Enjoy the action and enjoy the laughs. Storm Troop target practice might be my favorite scene in the first series.</div>
<div>
<b>Veronica Mars</b> (Drama) - I found this show a decade after it was out looking for something that Mrs.Chaos would also enjoy and it was great. This random extra season is just more of everything there is to love in the original series.</div>
<div>
<b>What We Do in the Shadows</b> (Comedy) - This show is not for everyone. It has a ridiculousrid premise and ridiculous humor and the dry wit comedy of everyone acting like it's all perfectly normal. If you enjoy that, there isn't much of this on TV, and it's a stand out comedy delight.dry wit humor </div>
<h2>
The Okay</h2>
<div>
On the comedy side of things, <b>Fresh off the Boat</b>, <b>Sillicon Valley</b>, <b>The Good Place</b>, <b>The Tick</b>, <b>Brooklyn Nine-Nine</b>, <b>The Big Bang Theory</b> were all enjoyable to watch and I'd do it again.</div>
<div>
I'm working my way thought Apple TV+ and have watched <b>Dickinson</b>, <b>See</b>, and <b>The Morning Show</b>. All of them are fine shows for the genre they are in, but there are better options out there. I was most impressed by Steve Carell's performance in The Morning Show as the sexual harasser who doesn't think he's that bad in the grand scheme of things. I just started watching <b>Servant</b> and it's my favorite so far on the network, but there will be <i>The Twist</i>™ and I'll just have to see if it's great or if the villain was actually a townsperson in a rubber mask.</div>
<div>
I'm still hanging on to the Arrowverse, but 2020 will be the year I stop almost all of these shows. <b>Arrow</b>, <b>Supergirl</b>, and <b>Flash</b> were amazing debuts and did a great few seasons but each one has slowly puttered out. The only Arrowverse show I'm likely to keep watching is <b>Legends</b>, which started fairly weak, but has jumped the shark and is pure satire on the genre. Legends still gets good laughs from me.</div>
<div>
<b>Stranger Things</b>, <b>The Handmaid's Tale</b>, <b>Agents of S.H.I.E.L.D.</b> all pulled off another season that is more of the same. They had stronger earlier seasons and are just chugging along now.</div>
<div>
Black Mirror, Twighlight Zone are anthology shows with good and bad episodes. There are probalby some you'll like and some you won't. If you have a friend who watched them all, they could probably tell you which YOU would like.</div>
<h2>
Probably Not</h2>
<div>
<b>American Gods</b>, <b>Star Trek: Discovery</b> - I keep holding out hope that these shows will get good</div>
<div>
<b>Good Omens</b> - If David Tennant is in it, I'm probably going to watch it, but I did not like this show. The humor did not stick for me.</div>
<div>
<b>Dark Crystal: Age of Resistance</b> - They did a very good job reproducing the look and feel of the movie, but I was unmoved by the show. There are a few scenes characters that are fun, but overall very boring. I'm honestly shocked this was renewed for another season.hi</div>
<div>
<b>True Detective</b> - Season 1 was so good I've kept watching, but Season 2 and Season 3 have been mediocre.</div>
<h2>
Honarable Mention</h2>
<div>
<b>Game of Thrones</b> - You should finish this off. Whatever opinion you have about the ending, you are right in thinking it, and everyone else's opinion is wrong.</div>
<div>
<b>The OA</b> - this show is weird. I really enjoyed the weirdness of Season 1 and the idea that you had an unreliable narrator and you weren't exactly sure what reality was. I did not enjoy one of the weird plotlines in Season 2 so it was like, maybe, 50% good for me? It looks like it isn't renewed for a 3rd season so it was fun while it lasted.</div>
<h2>
Summary</h2>
<div>
It's great to be in a golden era of television, yet there is so much content, people are dividing into their little zones of what they like. </div>
Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-80135215145270253682019-12-24T21:39:00.000-08:002019-12-24T21:39:24.738-08:00iPad for Work in 2019<div><div class="quote"><q>Waiting, waiting, waiting. I'll never get out of here. I'll die in Casablanca.</q></div></div><div>If my iPad Pro is going to be a laptop replacement, the question I constantly ask is can I use it for work? This years' answer? Basically, but I won't.</div><div>The summary is that while I can do my job on my iPad, I'm about 50% as efficient as doing my job on my MacBook and that loss of productivity is unacceptable in my day-to-day working. The good news is that it means I can confidently take only my iPad with me, with it's cellular connection, and get things done. That is pretty great. It isn't iOS 13 that has made this possible, it's some very great apps by some very amazing developments.</div><h2>The Hardware Setup</h2><div>I have the iPad Pro 12.9" 3rd gen with a cheap 3rd party smart cover. I have an Apple Pencil and use an Apple Magic Keyboard in the Studio Neat Canopy case. This setup works great for me.</div><div>I do have USB-C hub that lets me plug into an external monitor and Bluetooth mouse that I can connect and enable assistive touch pointing. This still feels like a gimmick to me and doesn't really allow me to get work done any better or faster than just touching the screen. If I were working all day, every day, on the iPad, it would be ergonomically better to use an external display at the correct height with an external pointing device.</div><div>What I have found pretty amazing is taking my iPhone Pro and hooking that to an external display, external keyboard, with a mouse. Every app, tip and trick I do on my iPad and I can also do on my phone and when that is connect to my big external display it's shockingly passable to work on and makes me dream of a future when the computer in my pocket is my only computer that I just dock.</div><ul><li>Studio Neat Canopy - https://www.studioneat.com/products/canopy</li></ul><h2>Multitasking</h2><div>It's better, BUT... I'm frequently triggering something that takes some time (30s?) to happen. Is it a bash script? Is it a web page process? A big file download? While it's running I want to switch away and check email, slack, maybe do something else and come back. iOS is going to kill whatever app was doing that process in the background unless I take pains to make sure it doesn't. That is horrible. I'm very used to not having to think about that, and I don't want to go through the mental stress to think again.</div><h2>Web Meetings and Screen Sharing</h2><div>I am on web meetings all day and I need to be able to share my screen. The Zoom App uses ReplayKit to allow you to share your iOS screen. As far as I can tell it is the only app that does this, so if I am the meeting host I can use Zoom and share my screen and get my job done. The problem is I am frequently invited to Webex, GoToMeeting, Join.me, Google Hangouts, and in all of these I cannot share my screen. So when someone asks me to share my screen I have to say that I can't, and that's not acceptable. Additionally on my Mac I share my external display to the meeting so I can use my other display to continue to slack, take notes, and do other things I don't want to share. This isn't possible on iPadOS.</div><div>I can't multitask while I'm in the web meetings very well. If I switch out of the meeting app the camera stops working so everyone is well aware that I am no longer paying attention to the meeting and instead doing other work. I think that in theory if I did the meeting in the slide over window this could be okay, but guess what? Almost all of the web meeting app only work in full screen mode.</div><div>I have tried to get around these limitations by using my iPhone to join the web meetings and my iPad to keep working (or vice versa) but that isn't a very pleasing experience.</div><ul><li>Zoom - https://apps.apple.com/us/app/zoom-cloud-meetings/id546505307</li></ul><h2>Web Debugging</h2><div>Another chunk of what I do is debugging marketing tags and code on web pages and this is a mess on the iPad. When I need to do real debugging I abandon all hope of being efficient on my iPad and go back to a computer. There are decent tools for being able to inspect HTML and even run JavaScript consoles in your browser. MIHTool and Inspect Browser will both get you there. In fact, you can even use Chrome to do some amount of this, but when you move into trying to see web request/response it's too hard. MIHTool can sort of do this, but tends not to work great. In Chrome, you can turn on the net debugger (chrome://net-export) and once it's complete email the log, drag the attachment into Files and then open with a JSON formatter/text editor. You can spin up Charles Proxy on device and dig into these requests, but all of this is just massively more difficult than using the developer tools baked into desktop Chrome/Safari. I'm unsure why this is so impossible, but maybe it has to do with Apple's requirement to use WebKit?</div><h2>The Sketch App Problem</h2><div>We use this app to draw designs. I need to use it for work and there is no iOS version. We could meet the same need using OmniGraffle and it would work on Mac and iOS, but I would have convince my company to change and I don't think I can win that fight.</div><div>There used to be more things like this where there was an alternative that would work on my iPad, but I can't push through a corporate change to make everyone switch to make me happy. For example, when managing a team of technical people, I cannot reasonably solve a repetitive problem using an iOS shortcut, because no one else on the team is using iOS for their full time work. I need solutions that work on Mac.</div><ul><li>OmniGraffle - https://apps.apple.com/us/app/omnigraffle-3/id1164289776</li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-ldS4UBU0bRI/XgL0_pXYJ_I/AAAAAAABpcM/XtRnaZCWeKoRGZi3P2RsS9AJFbxuxNONQCLcBGAsYHQ/s1600/572F9BEA-B1A2-4D45-8203-DB15CF48FAED.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-ldS4UBU0bRI/XgL0_pXYJ_I/AAAAAAABpcM/XtRnaZCWeKoRGZi3P2RsS9AJFbxuxNONQCLcBGAsYHQ/s320/572F9BEA-B1A2-4D45-8203-DB15CF48FAED.png" width="320" height="240" data-original-width="1600" data-original-height="1200" /></a></div><h2>The Apps to get Work Done</h2><div>I am an Inbox Zero strategist and I need a workflow that allows me to switch from macOS to iPadOS to iOS well. My basic flow is that I have a very simple todo list in Agenda that syncs across devices. Each item in Agenda has a link out to the real project/work (AirMail link, Slack link, JIRA link, Confluence Link, etc). So while my work flows in via email and slack, I quickly read it and throw a follow up item into Agenda so I can remove the message.</div><div>AirMail - I use this for work email. I think I would be fine to use Apple Mail, but I put all my person mail in Apple Mail and my work email is in AirMail. I don't pay for a subscription for this and it meets all my basic needs of reading and writing mail. The feature that I really like is that I can drag-and-drop a link to a message over to my to do list in Agenda [see below} and then whether I'm on my iPad, iPhone, or Mac I can tap on that link an open up the original message in AirMail. This helps a lot with my Inbox Zero process of reading a message and if I need to follow up, throwing a link to it into my Agenda todo list.</div><ul><li>AirMail - https://apps.apple.com/us/app/airmail-your-mail-with-you/id993160329</li></ul><div>Slack - Yeah, we all use slack. I use it too. It's fine.</div><ul><li>Slack - https://apps.apple.com/us/app/slack/id618783545</li></ul><div>Chrome - I use this for work browsing and it's logged into my work Google Apps account. I would be fine to use Safari, but I keep it separate. I like that my password cache for work is now in Google and consistent across my desktop and my iOS devices. I have some URL shortcuts on my desktop that don't work in iOS which make me sad like I can do `jq something` to search JIRA or `cf something` to search confluence. It would be very easy to toss up an HTML homepage to do this, but I haven't.</div><ul><li>Chrome - https://apps.apple.com/us/app/google-chrome/id535886823</li></ul><div>Google Calendar - We use Google Apps at work and I have never trusted another Calendar app to manage this stuff correctly with Google Calendar. When I get a calendar invite in email I leave AirMail and go to Google Calendar to accept the meeting invite. Even the Google Calendar app is questionable when trying to schedule meetings and manage the invitee list and I frequently go into Google Chrome and the web interface for Google Calendar to get this to work. Here is the deal though, Gmail is amazing at parsing whatever crazy calendar invite has been slung at me.</div><ul><li>Google Calendar - https://apps.apple.com/us/app/google-calendar-time-planner/id909319292</li></ul><div>Agenda - I love this app so much. Seriously love it and I barely use its features. This is my scratch pad where I take quick notes before I move them over to Slack, Confluence, Google Docs, or whatever. I also keep my simple todo list there so whenever there is a email or a JIRA or Slack message to follow up on I toss a link to that thing into my todo list in agenda. Lots of people use Evernote for this, but I don't want to keep personal notes in a personal store. I want to scratch them someone until I can post them into a longer term shared storage place.</div><ul><li>Agenda - https://apps.apple.com/us/app/agenda/id1370289240</li></ul><div>Office Apps - We use Google Docs, Sheets, Slides for all of our internal documents and this are probably the worst office suite to use on iOS. The Google productivity apps work okay, doing it in Chrome works okay, and with desktop-class Safari I can get it done in Safari pretty well too. Sometimes it's painful trying to figure out which interface will get me into those documents the best. We also use Pages, Keynote for client-facing documents and those work great on iOS. Customer's send us Word, Excel, and PowerPoint and I have Office365 and those work great too.</div><div>Atlassian - These apps are "fine" for Jira and Confluence. More often I just use Chrome and the web interface.</div><div>Toggl - A great time tracking app that I don't pay for. We don't do corporate time tracking so this is just for personal use. I also don't use the App, but instead use the web interface in Chrome. I here Timerly is a great app that uses the Toggl API, but it's a subscription and I'm not ready to pay for it.</div><ul><li>Toggl - https://apps.apple.com/us/app/toggl-time-tracker-for-work/id1291898086</li></ul><div>iSH - This app is an x86 Linux shell emulator and may be in perpetual beta and it is definitely AMAZING. This is the app that lets me get my job done. I use git in the shell to get my company's code repo and then I can curl and run shell scripts and do all the glue work that is my day-to-day job. Sure, I could try and use Working Copy and Files and Shortcuts and all that iOS specific stuff, but I can't share that with my team. When I'm working command line with shell scripts against the git repo, that is ALL tools that everyone can use on the Mac or Linux machine. Sadly, I can't easily run processes in the background here without iOS killing the app, but in those cases I ssh to a remote server that runs a screen to kick off those tasks.</div><ul><li>iSH - https://ish.app</li></ul><div>Code Editor by Panic (formerly Coda) - Honorable mention for this amazing app. I don't use this app a lot, but is fantastic. Panic has a rumor there is a new updated vision of this app coming out and I will buy it instantly. The SFTP engine in here is amazing (because it's Transfer, right?) and is the best way I have found on iOS to download large files via SFTP. I can connect to a remote system in Coda and get a SFTP file system browser, ssh shell interface, and the code editor. I have run regex's on 1MM+ long test files and Coda eats it for lunch.</div><ul><li>Code Editor by Panic https://apps.apple.com/us/app/code-editor-by-panic/id500906297</li></ul>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-31864613134333963862019-11-21T21:21:00.000-08:002019-11-21T21:21:38.963-08:00Consumer Home Automation 2019 Guide<div class="quote"><q> Anything you do ironically will, in about a year, become part of your sincerely-held identity.</q> - <cite> Avery Alder</cite></div><div>It's 2019, and time to think about how your home is automated these day. I am bought into the Apple HomeKit ecosystem as my choice. If you are an Android or Alexa ecosystem, the options are different for you. With HomeKit you need an AppleTV or HomePod as your home hub — in theory an old iPad, but don’t be silly. I also have devices that are not natively HomeKit, and I use a cool app called HomeBridge to connect them. HomeBridge will take you out of the consumer level into the hobbyist, but only just so.</div><div><b>Smart Speaker</b> - This is the trickiest one for me to recommend to others. I would LOVE for this to be an Apple HomePod, but I have Amazon Echo in my house and an Amazon Echo Tap in the hall that I use to take into the yard when we are outside. The main reason I use Echoes is that Alexa connects to my Prime Music, which I get "free" with Amazon Prime and that is the #1 use case of the speakers in my house. As soon as Apple HomePod supports Prime Music or there is some bundle that makes me want to pay for Apple Music, I'm switching. Yet today is not the day.</div><div>After music, the other main thing I do with my Alexa is to track the grocery list. I use an app called AnyList on my iPhone that has a shared list with Alexa. So anytime we realize we are low on anything we simple shout into the air, "Alexa, add peanut butter to the grocery list" and the magic happens. The kids have also gotten pretty good about this which is amazing.</div><ul><li>Amazon Echo - https://www.amazon.com/dp/B07NFTVP7P</li>
<li>AnyList App - https://apps.apple.com/us/app/anylist-grocery-shopping-list/id522167641</li>
</ul><div><b>Smart Thermostat</b> - The first big IoT thing was the thermostat. My recommendation on this one is the ecobee4 as the best with native HomeKit support. I switched this year from Nest to Ecobee and generally it works exactly the same. The Ecobee physical installation was harder than Nest. Most HVAC-to-thermostat wiring connections don't send continuous power. Nest solves this problem with a battery in the thermostat that was able to extract power when available and ran fine. Ecobee solves this problem by requiring you to install an additional box in your attic (or wherever you HVAC unit is) so that a continuous power stream goes from there to you thermostat. That extra adapter installation in the attic was annoying, but once installed, it all works great. I also REALLY like that the Ecobee came with an additional sensor and I bought two more so there are motion and temperature sensors in all the main rooms in the house that impact the smart thermostats desire to heat/cool the home. I could, in theory, also use the motion sensing on those extra sensors to do other things, but I don't yet.</div><ul><li>Ecobee — http://amzn.to/2iQoPim</li>
</ul><div><b>Sprinkler Controller</b> - I got the Rachio Iro the moment it came out and I have loved it every moment I had it. It does seasonal adjustments automatically increasing and decreasing watering times and it does rain and moisture skips if there is rain so I’m not watering my lawn when water is falling down from the sky. I’ve been extremely happy with this purchase. I think there is a HomeBridge plugin for it, but I’ve never tried. I don’t have any need to tell Siri to turn on the sprinkler system.</div><div>The one thing I feel this is missing is a the ability to put a smart moisture sensor out in the lawn so it could more accurately detected moisture to be smart about how much water the lawn needs — someday! As far as I can tell, there are no smart sprinklers that do that.</div><div>They have released new versions of the hardware, but I've never upgraded as I don't really see any benefit it will provide.</div><ul><li>Rachio — http://amzn.to/2iNTUmy</li>
</ul><div><b>Smart Lights</b> — <i>My Favorite</i> — I recently installed Lutron Caseta and this is the system I have WANTED. It’s not smart lightbulbs, it’s a smart dimmer wall switch that can work on a three-way switch. It requires enough bravery to turn off your circuit breaker and unwire/rewire the wall switch — it’s not hard.</div><div>What’s great about this is that if you have a fixture with four bulbs, you just change the one wall socket and you’re good to go. You don’t need four smart bulbs for the automation. Also, unlike smart bulbs, you’re never stuck with the wall switch being turned off and the smart feature not working.</div><div>Plus, the cost! Most of my switches control a fixture or number of lights. I could pay $50 for a smart light switch or I could $50 x 4 for four smart bulbs. The answer is simple.</div><ul><li>Lurton Caseta — http://a.co/d/0dz8LlX</li>
</ul><div><b>Smart Lights</b> — <i>Also</i> — I do also have Philips Hue bulbs in the outside lights! If you want to do colors, then Philips Hue is the way to go. My outside light sockets use the GU24 (two pins) so I had to buy adapters that convert that to a standard socket. Now when I want to "Halloween" or "Valentines Day" for the lights on the front of the house, the Hues are great.</div><ul><li>Phillips Hue — http://amzn.to/2zn2LSy</li>
</ul><div><b>Smart Doorbell</b> — I’m STILL in a wait and see mode on this one since there aren’t any smart doorbells that have HomeKit support. There are contenders that announced in 2017 HomeKit support was coming, but no one has added it in the last few years.</div><div>I own an earlier SkyBell and smart doorbells are slick. My main complaint is that my earlier version SkyBell doesn’t save videos. I am waiting for a product that supports Apple's HomeKit Secure Video. I think that NetAtMo is going to be the product for me when it all comes together because it support local-only storage (no fees!) and iCloud Secure Video.</div><ul><li>NetAtMo Smart Video Doorbell (Waitlist) - https://www.netatmo.com/en-us/security/doorbell</li>
</ul><div><b>Smart Lock</b> - I have an August Smart Lock and it’s great. You don’t replace your whole lock mechanism, just the interior side where you have your latch for the deadbolt. This lock thing is big — because it needs to have a motor powerful enough to drive an ancient and powerful deadbolt, but it works like a charm. The version I have doesn’t have HomeKit support unless I buy a bridge, which I haven’t sprung for.</div><ul><li>August Smart Lock — http://amzn.to/2zCjQvK</li>
</ul><div><b>Security Camera</b> - I don’t have a solid recommendation for this one. I have the Nest Cam and I love it, but you pay $140 — $200 for the camera, and then $10/mo for Nest Aware so you can see 7-days of historical video. When I realize I’ve owned mine for five years? I have paid a lot. There’s no direct HomeKit support, but there is a HomeBridge plug-in for them, so I can see live(ish) video in Home. I can set it to only get notifications if it sees an unrecognized person when I’m not home (and my wife isn’t home). Awesome. The Nest App that lets me review my last week of video is amazing in its ability to scrub around see when motion occurs and info what I’m looking for.</div><div>I also have a D-Link Omna 180 which has HomeKit support and local storage without a subscription fee. HomeKit support doesn’t mean much. I can see the video in my Home app and it also puts a motion detector in Home which I can use for smart triggers. To actually review history, I need to launch the Omna App and it just records 30s video clips every time it detects motion. It’s functional, gets the job done, but is a way harder look at historical video and more annoying than the Nest app. On the other hand, I’m not paying $120/yr for this thing.</div><div>I'm mostly in a wait-and-see for the cameras that will support Apple HomeKit Secure Video and see how good that can be. If Apple can make iCloud Secure Video as good of a user interface as Nest, that will be amazing. It seems to me like most cameras (that aren't nest) just record 30s video clips. The other one I've got my eye on is the Arlo Cameras which has HomeKit support, runs off a hub and has local storage and free limited cloud storage.</div><ul><li>Nest Cam — http://amzn.to/2zCjQvK</li>
<li>D-Link Omna 180 — http://amzn.to/2i2ZG6J</li>
<li>Arlo - https://www.amazon.com/dp/B075P84FH2</li>
</ul><div>Minor shout out to the app HomeCam which shows you all your HomeKit cameras easily and has an AppleTV version. It’s cool to put all four of my home cameras up on the TV for fun.</div><ul><li>HomeCam — https://itunes.apple.com/us/app/homecam-for-homekit/id1292995895</li>
</ul><div><b>Garage Door</b> — I have the Chamberlain MyQ and I love it! It’s one of the most magical things to be able to tell Siri to open and close the garage on my watch. I also bought the hub from Chamberlain so it's in HomeKit - it was extremely difficult for me to get the hub working because I have two garage doors, but I did eventually crack the migration system. Once it was working, it totally works. I also have the garage lights with a smart light switch (see above) so there is a Home automation, "when the garage opens after sunset, turn on the garage lights."</div><ul><li>Chamberlain MyQ — http://amzn.to/2zmbS5L</li>
<li>Chamberlain HomeHub- https://www.chamberlain.com/myq-home-bridge/p/MYQ-G0303-SP</li>
</ul><div><b>Outlet Switch</b> — I have a couple older appliances (fan, coffee maker, washing machine) on smart switches. I’m using a combo of either WeMo Insight or iHome iSP8 for this. At this point I’d recommend the iHome iSP8 as the smart switch. The only nice thing about the WeMo is that I can have the app notify me when the washing machine stops getting power so I know when to move the laundry to the dryer.</div><ul><li>iHome ISP8 — http://amzn.to/2zkyi7v</li>
<li>Wemo Insight — http://a.co/d/aj1hjGb</li>
</ul><div><b>Leak Detection</b> — Not HomeKit, cause I made a mistake. After the kitchen sink flooded the cabinet twice, I got an installed the iHome iSB02 just assuming it would be HomeKit compatible because the outlets are, but I was wrong. So if there is a leak there will be an alarm, and I’ll get a push notification, but I can't do any other HomeKit automation from it.</div><ul><li>iHome SB02 — http://a.co/d/6Nzgslm</li>
</ul><div><b>Door Detection</b> - I have an Eve Door Sensor on one of the kid's doors. I set an automation to flash the office lights each time the door is opened. I have some issues with this automation (because light flashing isn't a HomeKit action).</div><ul><li>Eve Door & Window Sensor - https://www.amazon.com/dp/B01M9CLFD4</li>
</ul><div><b>Weather</b> — I have a Netatmo Weather Station setup. I'm using HomeBridge, but the latest NetAtMo stations natively support HomeKit. With the weather station module in the backyard, it’s kind of cool to ask Siri for the temperature in the backyard. I also have a fancy script that checks the temperature in the backyard (NetAtMo) versus the temperature in the house and Ecobee Thermostat settings (heat/cool/range) and sends my Phone a notification when it’s a good time to open/close the windows.</div><ul><li>Netatmo Weather Station — http://amzn.to/2A5hLYk</li>
</ul><div><b>Indoor Air Quality</b> — I live in California and was in one of the many areas drenched by smoke from the fall fires. For nearly two weeks the outdoor air quality was running above 200 often above 300 and I kept wondering, how good are my indoor filters and how good is my indoor air quality? The NetAtMo can tell you CO2 levels, but nothing about VoCs. I have the Awair in my master bedroom to tell me about air quality.</div><ul><li>Awair 2nd Edition — https://link.medium.com/4zLtDrr48R</li>
</ul><div><b>Smoke Detector</b> — I don’t have a great recommendation on this, I think Onelink is the only HomeKit compatible version. I have a Nest Protect and it’s fine . If I had a HomeKit compatible I could, in theory, have something happen when the smoke detector went off (like turn on the sprinklers?)</div><ul><div>Onelink — http://amzn.to/2A47o7k</div></ul><div><b>Fan</b> — There are smart fans, but I hit a snag in this. My fans aren’t HomeKit controlled exactly. I have only a single wall switch that provides power to the light and the fan, so while I have a Caseta there I can’t can change the fan speed separately from the light using HomeKit (if I dim the light, the fan slows down. Light off means fan off). I installed Hunter wireless receivers and use the Hunter Bluetooth bridge to control them from the Hunter SIMPLEconnect App. Now Hunter’s website says that SIMPLEconnect is HomeKit compatible, but this only refers to the Hunter WiFi fans and not the Bluetooth receiver. So it achieves my goal of controlling it all on my phone, but it’s a wonky.</div><ul><li>Hunter 99106 Simple Connect Remote Control Receiver — http://a.co/d/gcQ6YIs</li>
<li>Simpleconnect™ Wi-Fi by Hunter Fan — https://itunes.apple.com/us/app/simpleconnect-wi-fi/id1055929747</li>
</ul><div>Vehicle Tracker — No HomeKit on this one, but I use the Automatic in the car to keep track of all the trips travelled. My car is too old to keep track fuel automatically, so I use Road Trip for that.</div><ul><li>Automatic — http://amzn.to/2zIMziD</li>
<li>Road Trip — http://darrensoft.ca/roadtrip/</li>
</ul><div><b>Smart Thermometer</b> — Weber iGrill2 is fantastic! Stick it in to your meat and start grilling and get a real-time update with graphs and alerts on grill temperature and internal temperature. What I’ve been surprised by is how linear cooking is on the various meat that I grill.</div><ul><li>Weber iGrill2 — http://a.co/d/1CME12w</li>
</ul><div><b>HomeBridge</b> is awesome and I randomly stumbled upon it and I hear very little about it. When people complain that HomeKit is proprietary, it’s half true, because I have an OpenSource server bridging all this stuff. It’s an open source project you install on your macOS server at home that provides a HomeKit interface to a ton of IoT devices that don’t support HomeKit. I've been doing my best to replace my HomeBridge devices with native HomeKit, but I'm not done. I have WeMo smart plugs and switches, TCP Wireless bulbs, Netatmo weather station, Nest cams, and SamsungTV.</div><ul><li>HomeBridge — https://github.com/nfarina/homebridge</li>
</ul><div>Probably also worth mentioning the WiFi setup. I swapped over to the Eero system at home and works like a charm.</div><ul><li>Eero — http://amzn.to/2hTuG5A</li>
</ul><h2>Favorite Automations:</h2><div>“Hey Siri, goodnight” — turns off my bedroom lights, turns off my bedroom TV, turns on my bedroom fan, makes sure the garage is closed, makes sure the garage light is off, and locks the door from garage to house. It’s awesome.</div><div>"When the garage door opens, after sunset, turn on the garage lights for 5 minutes."</div><div>"When the kids door opens, flash the office lights."</div><div>"After sunset, turn on the front yard lights to 'Halloween'"</div><h2>Q: Why should I stick to HomeKit devices?</h2><div>HomeKit devices gives three features I think are important that you don’t get.</div><ol><li>Can be used in Scenes that affect multiple devices like my Goodnight Scene that turns off bedroom lights (Caseta), turns on fan (WeMo), turns TV (HomeBridge Samsung TV)</li>
<li>Can be used in triggers automations like when my camera (Omna) detects motions it turns on the living room lights (Hue).</li>
<li>Can be controlled by Siri, “Hey Siri, turn on the hall light.”</li>
<li>Does it all locally on device and HomeKit Hub. This stuff isn’t going up to the cloud for a company to monetize</li>
</ol>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-65476967834538462562019-11-13T20:21:00.000-08:002019-11-13T20:21:36.169-08:00Character Sheets from the Late 90s<div>Someone tweeted at me recently they were excited to find a Sailor Moon RPG character sheet available online. You're welcome. I you happen to need Sailor Moon, Middle-Earth Role Playing 2nd Edition, or AD&D 2nd Edition Character sheet they are all available over here:</div><div><a href="https://www.chaosserver.net/p/character-sheets.html">ChaosServer - Role Playing Character Sheets</a></div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-27548062699002287442019-08-27T21:40:00.000-07:002019-08-27T21:40:10.475-07:00What I'm Buying from Apple. Maybe.<div class="quote"><q> After a time you may find that having is not so pleasing a thing--after all--as wanting.</q> - <cite> Mr Spock (Amok Time)</cite></div><div>I'm not sure what Apple will be releasing next month, but it's an interesting time to do the thought exercise of deciding if I'm going to buy anything sight-unseen and, uhh, how much money I will be paying in annual tribute.</div><div><b>New iPhone.</b> I don't think I'm going to buy this version. I'm iffy that I might buy it because I recognize that my iPhone is the computer I have on me all day every day and I feel like as a Apple fanboy technologist I should have the best of this for my life. Two years ago I got the iPhone X because it was such an innovative change. Last year I got the iPhone X Max because I wanted to get back to the big phone screen size again to have the most productivity. I'm not sure what this year's phone could give that I "need." A new camera with time-of-flight? Probably not, since the Mrs. does the majority of the photography in the family. USB-C? That's nice, but not an upgrade-for-it feature. I think if there is pencil support that would be enough. I often do a Screen (VNC) to my Mac at home and having the ability to use a pencil to do precise touch targets would be great for that and having my iPhone bring back the positive feeling of my first USR Palm Pilot might be enough nostalgia to make me do it. Will it support Graffiti™?</div><div><b>New Apple Watch.</b> Almost certainly I'll buy this because I assume it will come with some new health measurement technology (sleep?) and it would feed into my desire to track everything in my quantified self.</div><div><b>New iPad.</b> This is the hardest decision! I have the latest and greatest iPad Pro (12.9-inch) (3rd generation) so I struggle a little to understand what a new iPad Pro is going to offer me that is going to make me feel it's worth an upgrade at this point. This one also has rumors of a powerful time-of-flight camera slapped on the back, but I NEVER take photos with my iPad, so that one is not a motivator. Yet, I gave up my computer and am running iPad-only in my life at this point and there is something excited about being here at the birth of a new platform.</div><div><b>New Mac.</b> My current theory is that I'm done buying Intel-based Macs. In fact, the only Mac left in my future is a replacement for my home server (currently running on an old MacBook Air) and I really want a new ARM-based Mac mini. THOUGH, I am looking at some career changes and I think I'll need to get any newly announced 16" MacBook Pro as part of a signing contract... obviously!</div><div><b>Apple Display.</b> Yeah, in theory they may be a "non-Pro" version of the Apple Display that doesn't cost... a... lot. But I'm pretty indifferent with screen quality. I use a cheap screen now and will continue to use cheap mediocre screens. </div><div><b>One More Thing.</b> The most likely "one more thing" to me is Apple+ which is the bundled subscription of all Apple services (TV, Music, Arcade, iPhone, AppleCare+). The only thing in here that interests me is Apple Arcade and we'll see how that goes.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-4619709110533943812019-08-24T21:35:00.001-07:002019-08-24T21:35:50.083-07:00Hacked Together Like a Dream<div><div class="quote"><q>Kids just trying to make a living are always the good guys.</q> - <cite>Papergirls</cite></div></div><div>On of my fun little side projects, Weather.Next, it sends a weather forecast email if the temperate in the next seven days meets a criteria you configure such as "raining" or "high above 100 degrees." I built it years ago and every once in a while do a security update to a library, but mostly it just runs fine - but then I decided it would be cool if the email told you why the message was triggered.</div><div>I thought it would be easy, but uhh, the way I designed the code is that the when the trigger happens the trigger thread makes a web request to pull down the email content from a JSP page. So like, it's in two totally separate execution threads without any good way to pass a large data block. I could theoretically post all the trigger reasons into the page to have it echo out... but that's kind of a gross hack. So instead, I did a different gross hack that I love to hate.</div><div>I stored all the trigger reasons into memcache and then pass a triggerId in the URL parameters so the separate page load can read from the memcache and populate. Guess what? It totally worked. Guess what? I can think of all the reasons it won't work (GAE doesn't have a distributed memcache, GAE makes no guarantee anything will even store into memcache). I could solve it, but actually writing into a persistent storage, but why?</div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-bgoqH4_t2MM/XWIP_j1hyjI/AAAAAAABoaA/ip-WUn9Bhx0F8QX9qPuUMrAYxBGqTlHVACLcBGAs/s1600/35F683F6-9B0D-471E-B2B4-96A7BC7FF39C.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-bgoqH4_t2MM/XWIP_j1hyjI/AAAAAAABoaA/ip-WUn9Bhx0F8QX9qPuUMrAYxBGqTlHVACLcBGAs/s320/35F683F6-9B0D-471E-B2B4-96A7BC7FF39C.jpeg" width="320" height="254" data-original-width="1359" data-original-height="1078" /></a></div><div>Still, now I assume this problem is solved FOREVER. When I do these things, I always think about the many MANY enterprise web apps where engineers did similar work arounds and wonder how the internet even works at all.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-75667911677455762822019-08-12T20:47:00.000-07:002019-08-12T20:47:26.296-07:00Public Speaking Takes Practices, Lots<div><div class="quote"><q>I’m dead to everyone unless I try to become what I may be.</q> - <cite>Paul Atreides</cite></div></div><div>When you ask Americans what is their top fear, the #1 answer is "Public Speaking," outpacing such other popular fears as death. If you're an extrovert you've got a small advantage on not being terrified of public speaking, but not a very big one. Almost everyone has an innate fear of doing a big prepared or impromptu presentation in front of an audience. There is only one surefire way to work past this fear: desensitization from repetition. You need to present as frequently as you can as often as you can. Let me suggest ways to make it easier.</div><div>If becoming better at public presentations is your goal, tell your manager and get some buy in they can help you. Next look for every opportunity you can do presentations to others. Start presenting in small meetings of three to five people. This should be your immediate team you're close with. When this type of audience becomes no big deal, ask those people to invite one of their friends/colleagues that you don't know, because strangers in your audience raises the anxiety and that's the next step to work through.</div><div>If you're at all nervous about a presentation, always do a dry-run practicing the whole thing by yourself - video yourself doing it and suffer through watching yourself and remember that you are your own worst critic. If you're presenting to a small subteam, you can do the dry run by yourself or with a single coach to make sure you understand the pacing and content of your presentation. Eventually you'll be comfortable and stop doing the dry run when presenting to a team of five coworkers. When I'm presenting to my whole company or an important client I still do a dry run by myself and follow it with a dry-run to a colleague. If I'm presenting at a conference or a webinar I'll do a personal dry-run and then present multiple times to colleagues to refine the presentation. Ask for feedback from your audience. "I'm working on improving my presentations. What did I do well and what can I improve on?"</div><div>You are probably presenting with a slide deck and you can look up a lot of material out there on how to create the most compelling supporting decks, but be warned, most of those articles focus on creating evocative TED-talk style supporting decks and you're probably presenting status at a weekly staff meeting or something much simpler that doesn't require you spend time browsing stock photography websites for the perfect stunning background image. You don't need every little presentation you give to be a mind-blowing work of art; you're just trying to get your point across. What is your objective? Persuade. Present Information. Know your goal.</div><div>For formatting grab your company's template (if there is one) and look at your CEO's and marketing department's presentations for guidance. My favorite rule of thumb is the 10/20/30. Each slide should have fewer than 10 words, in at least 20pt font, with no more than 30 slides. Assume each slide takes about a minute present, that's a 30m presentation. You want your audience listening to you, not reading the screen. Lots of words is a bad thing and you can follow up your presentation with a link to a wiki page or printout for in-depth review.</div><div>And honestly, that's it. I used to FEAR public speaking and now it doesn't phase me. I am *NOT* one of those people who looks forward to doing it, but presenting to a room full of people is just another task that I am willing to do and worked hard to get good at so I could get my job done.</div><div>There are also organizations that are designed to help you get better at public speaking and getting desensitized. So if presenting to a small group of people you know is too much, go check out Toastmasters and you can present to strangers! But be warned, Toastmasters is going to prepare you to present to a large room of people - not that basic staff meeting I was talking about.</div><div>In summary:<br />
<ul><li>You need to present as often as possible to desensitize yourself through repetition</li>
<li>Practice your presentations before you make them. Continue to practice that same presentation until practicing doesn't make you less nervous (you can't practice all the anxiety away)</li>
<li>Not every presentation is a TED Talk - don't sweat making it amazing, just be competent (PS, this does not apply if you are actually giving TED talk or something similar, try and make those amazing)</li>
</ul></div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-29525797458345474642019-07-24T21:20:00.000-07:002019-07-24T21:20:41.041-07:00Tracking the UV Exposure<div><div class="quote"><q>It’s very freeing to have low standards.</q> - <cite>Caroline Haskins</cite></div></div><div>In my quest for the quantified self I go the La Roche-Posay UV Tracker and my basic summary is, don't get it. I'm sad to say that this product is a dud for a reasons. Many years ago I had this great app on my phone (made by a sunscreen company) that would ask for your skin type and then you start a "sun session" and it would get the UV index for your location and remind you periodically to reapply sunscreen. Simple. Awesome. Haven't found one since. I am sort of wondering if I could recreate it as a Siri Shortcut... but for now.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-WULwqbjZhKE/XTktysbktGI/AAAAAAABoTE/imDppfQE-FAfedaugiXQ-BRQIs2NEKUYgCLcBGAs/s1600/7125A5B8-FA99-4F0B-98FB-6BDE1B6A6476.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-WULwqbjZhKE/XTktysbktGI/AAAAAAABoTE/imDppfQE-FAfedaugiXQ-BRQIs2NEKUYgCLcBGAs/s320/7125A5B8-FA99-4F0B-98FB-6BDE1B6A6476.jpeg" width="320" height="320" data-original-width="1128" data-original-height="1128" /></a></div><div>This itty bitty tracker can be worn anywhere with sun exposure and I wear mine on my Apple Watch wrist band. Everywhere I have tried to wear it (shirt color, watch band, hand brim) has had it slip off at one time or another. I'm certain I'm going to lose it one of these days. I have lost it for days at a time only to find it in a kid's bed or the floor of the car.</div><div>The device syncs data over NFC (not Bluetooth LE) so that means the phone doesn't get any updates unless you launch the app hold the phone up to the device and wait a few seconds. The App sends a push notification every couple of hours, "you should probably sync data again." It's incredibly inconvenient and really needs to be like all my other smart trackers that just magically send data to my phone so my phone can hit me with useful alerts.</div><div>The app itself just tracks exposure and doesn't have any smarts to remind you to reapply sunscreen or do anything fancy. So I just get to see that I've been exposed to "242%" of my daily allowance, but there is nothing to let me know if that is okay because I was wearing SPF15 most of the day or not.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://4.bp.blogspot.com/-_kIW7nQFMbA/XTkt5nf8gpI/AAAAAAABoTM/7Kg1j1coFX8JHwGR68WW7I4OXCfBOgLAwCLcBGAs/s1600/1C9CE5E5-59F0-47F1-A226-DBD80BC4244C.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://4.bp.blogspot.com/-_kIW7nQFMbA/XTkt5nf8gpI/AAAAAAABoTM/7Kg1j1coFX8JHwGR68WW7I4OXCfBOgLAwCLcBGAs/s320/1C9CE5E5-59F0-47F1-A226-DBD80BC4244C.jpeg" width="248" height="320" data-original-width="1204" data-original-height="1556" /></a><a href="https://1.bp.blogspot.com/-TF0zgB5pBbg/XTkt5n3Tp-I/AAAAAAABoTI/jCnc55OpW9s6zI8aoI2Ov_SA3b9Kc9ZqgCLcBGAs/s1600/7ED07941-7B6E-4385-BBBD-4822CA963A8D.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://1.bp.blogspot.com/-TF0zgB5pBbg/XTkt5n3Tp-I/AAAAAAABoTI/jCnc55OpW9s6zI8aoI2Ov_SA3b9Kc9ZqgCLcBGAs/s320/7ED07941-7B6E-4385-BBBD-4822CA963A8D.jpeg" width="229" height="320" data-original-width="1144" data-original-height="1600" /></a></div><div>Anyway, it's silly and I don't really see any market for this thing other than silly people like me.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-3488852707084773162019-07-12T13:53:00.001-07:002019-07-12T13:53:13.046-07:00Do You Have a Brag Folder?<div class="quote"><q>The notion of a pure meritocracy is easy to believe in, to the point of delusion, when you're on the winning side.</q> - <cite>Nancy Updike</cite></div><div>You’ve probably accomplished lots over the past year and received praise from clients, coworkers, and management. You are also probably on an annual (or twice a year) review and bonus cycle. You and your manager are unlikely to remember everything you did since your last performance review, especially if your manager has changed. It’s worth keep a folder tracking all these things so you’re prepared for your self-evaluation and ready to help out your manager do their review. Keeping track of your accomplishments in a Brag Folder is good for everyone.</div><div>I first encountered a brag file when I had employees who came from one of the giant consultant companies. Their managers would have 50+ reports and so the culture made it the employee’s responsibility to demonstrate her performance and achievements to the manager and there was no expectation the manager paid any attention to employee performance throughout the year. When performance reviews came up for me and those few of employees sent an email saying, “I know performance reviews are coming up and I think this will be helpful in evaluating me” including a zip file of their brag folder, as a manager, it was amazingly helpful. What was in their files?</div><div><b>The Summary</b>: Your career is a narrative. Each 6-12 months is a chapter. What was the plot of this chapter? What one thing did you improve on the most that you can tie into your activities and accomplishments? Did you up your game in client management, project management, software development, company contribution? That’s great for the summary to say it: Over the past six months I choose to focus on understand privacy and security. By taking online courses and making updates to our modules, I expanded my security expertise and am ready to help guide others.</div><div><b>Projects</b>: This is pretty straight forward, but what projects did you work on? How did you personally contributed to those projects? Did your work make any impacts on Key Business Indicators (KPIs) or other measurable metrics?</div><div><b>Fuzzy Stuff</b>: Companies like to see you invest in your team and your company. Did you help plan or attend social activities? Did you provide extra coverage so teammates could take time to do training, attend to personal obligations, or go on vacation? Did you refer an employee or help with interviews? List it, that’s great to show you’re a team player who benefits the company outside your day-to-day responsibilities.</div><div><b>Outside of Work</b>: Did you go to networking events, have a blog, or do personal software work? If you can tie that into being a better employee, make sure to list it.</div><div><b>Recognition</b>: Did you receive an email, phone call, slack from a client, coworker, or management recognizing a job well done or above and beyond performance? Save that exact document and include it.</div><div>As a manager (and employee) I’ve found receiving (and sending) these documents great. I’ve never been annoyed by an employee who sent it or had a manager tell me not to. Even if you feel your manager won’t be receptive to it you can still keep it to remind yourself at review time and if your manager changes on you the new one is going to be very receptive to getting it.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.comtag:blogger.com,1999:blog-4417541340939845097.post-28135755865414631312019-06-18T19:17:00.000-07:002019-06-18T19:17:00.401-07:00Time Tracking is Terrible: Do It Anyway<div><div class="quote"><q>The best advice you get in life hurts like hell at the time.</q> - <cite>Merlin Mann</cite></div></div><div>I've been tracking my work time for the past 20 years. Here is the deal: time tracking is terrible, there is no good time tracking product or system that can make it not terrible, and you just need to bite the bullet and track your time because it's valuable to do it.</div><div>Are you resistant to time tracking? Yeah, me too. I worked at a big consulting company when the company implemented time tracking and we had the standard employee complaint that it was terrible. We used a custom-built in-house solution and it was awful. You know what? I tracked my time. I read the reports at the end of the week and month and I enjoyed what I got out of it. I have tracked my time ever since then, even when my company hasn't asked me to. I have run large scale professional services groups at two companies and At both I implemented time tracking on the team and people tracked their time. Did my employees hate tracking their time? Yes, but not as much as they might have. Did they do it? Yes. </div><div>I learned to love time tracking so much, I wrote my own time tracking program that scratched my exact itch. I've tracked time in MS Project Central, Journyx, Salesforce, and Harvest and I haven't enjoyed tracking time in any of them. Yet, I knew as an employee my manager needed the data and as a manager it was extremely useful to review the data.</div><div>Here are my basic time tracking principals:</div><ul> <li><b>All time tracking software is terrible.</b> Don't seek a better piece of software, because you won't like any of them. Swallow the pill and figure out the best workflow for what you have. Create tips and tricks on tour wiki and encourage employees to share.</li>
<li><b>People can't remember what they did</b>. Ideally, every 15m, track what you worked on. If you can automate, make your time tracking program pop open every 15m and annoy you into tracking your time. If you must, track at the end of the day by looking at your calendar, emails, and code checkins but don't wait more than that. You have no hope of remembering at the end of the week what you did.</li>
<li><b>People can't track more than 5 things, maybe 10?</b> Managers LOVE granular data and have a desire to ask employees to track dozens of tasks with a grid of client & activity (please say how much time you spent on these 50 tasks for each of your 20 clients). It's not possible and only provides flawed data and wastes employee time. Is you manager asking you to do this? Share this article and let them know they are going to get flawed data and employees are going waste time tracking time. Make the time tracking data as chunky as possible. What client? Is it pre-sale, launch, maintenance. DONE. Don’t track All Hands meeting, versus staff meeting, versus department meeting—they are all just internal meetings. </li>
<li><b>Track what you want to change.</b> Maybe this quarter you have a Key Performance Indicator (KPI) to reduce time spent on a task like "Client Upgrades." That's great! Time track that specific activity for a quarter or two to baseline and show improvement, but the moment you're done, eliminate it as a separate item. Why? Because people can't track more than 5 things, maybe 10.</li>
</ul><div>So get going. Track what you're doing. Make graphs. Make things more efficient. Time tracking is terrible, but if you do it right, you should get value out of it without it needing to destroy you.</div>Jordanhttp://www.blogger.com/profile/16711275933865158987noreply@blogger.com