Dear Friends & Family, Christmas 2021
2021 has been a year I’ll remember for the Aga family. Life is good, and we continue to watch with wonder as our kids grow into the young people God has in store for each one of them. But 2021 was also a year of a missed opportunity for me.
Austin (23) is turning into a world explorer. He spent May in Italy with the OU in Arezzo program, and subsequently graduated from OU in June with his degree in advertising. He took advantage of the work-from-home trend and decided to start his career by moving to Seattle, Washington where he teleworks for Global Gear, an OKC based apparel company. On weekends he is exploring Seattle and the Pacific Northwest and hopes to continue his career with a northwest agency in 2022.
Evan (20) is in his second year at OU, which feels like a first year since last year as a university freshman all his classes were virtual with closed buildings. This year the OU campus feels open again, and Evan is living in an apartment east of campus, with a pair of roommates he has known since kindergarten. He bikes to his classes for engineering a couple times each day, which is giving him great exercise. He has grown well over 6 feet tall, and is easily the tallest Aga. He likes to take quick sprints (he does a half-mile in under 3 minutes ), and he spends weekends with the OU academic bowl team, including tournaments in Oklahoma and Texas.
Addison (14) is in her 10th year of dance at Massay’s, and her 2nd year of cheer at Whittier Middle School.
Emerson (14) is playing point guard for the WMS 8th grade varsity basketball team. She has a great team and group of friends, and she practices and gets better each day.
Addison and Emerson came with Shelli and I to Portugal this summer, where we got to explore Lisbon and Porto. We rented a car for a week and made it to the mountains that separate Portugal from Spain.
Neville’s parents Hoshi and Nergish decided to move from Birmingham to Norman to be closer to their grandkids. They have settled into a senior living center in Norman and Neville gets to drop by throughout the week. It is a very different dynamic than having them 700 miles away. They have gotten to see one of Emerson’s basketball games and weekly lunches with their kids and grandkids.
Shelli’s parents have had a challenging 2021 with Donnie getting a cancer diagnosis, but the great news is that reasonably early detection has given him a good prognosis, and he is feeling better now than he has felt at any time this year.
Shelli is active daily in her local yoga studio, fit and strong as ever. She is practicing headstands and keeping our family on track with all the events, activities, and homework of the girls.
As for me, after running what is likely my final half-marathon in October, I found out I have a broken heart (literally, not figuratively) and will need surgery in 2022 . I will finish up my night MBA program from OU this summer. Work at Cisco is humming along fine, I am in my 13th year of architecting networks at OU/OSU and school districts around the state. I did have an opportunity to move to the beach in Daphne, AL. Really a dream job for me at this career stage — Cisco security in commercial covering Alabama, Mississippi, and Louisiana. Looking back now I am very upset with myself for turning it down. I think about that bungled opportunity daily. I thought I was putting my girls needs ahead of my needs, but in reality I did not show the leadership and vision that the head of a family should show. At least now I know what was the biggest mistake of my life. One day soon I do want to get back to Alabama and the beach.
We hope this letter finds you well and thriving. Best wishes for a joyous holiday season and an exciting 2022.
Neville, Shelli, Addison, Emerson, Austin and Evan
New Cisco switches come with a RFID tag. Need to do inventory? No need to move the switch all around looking for serial numbers, just use a scanner and read them in as you enter the room!
I bought a sub $100 scanner on Amazon (Thincol RFID reader) . It works as a keyboard — when it comes into contact with a RFID tag it energizes the tag and types out the info on the tag. This particular scanner works only with windows (or in my case a windows VM via virtualbox).
I was trying to RFID a switch with this serial:
And when I used the RFID scanner, it outputted this info:
So, how in the world do you get to the serial from that hex gobbledygook? Read on!
There is this article on cisco.com on RFID tag identification. It seems to be the only article out there. It has some good info in it, mostly behind the theory, but lite on practicality. What is output from the scanner is only the Electronic Physical Code (EPC) at 208 bits. The tag ID and user memory portion are not read/output (at least I could not get anything there). Of those 208 bits:
This is very non-intuitive (hey, it’s Cisco, not Meraki). Speficially if you look at the first 2 bytes that come back on the scanner (3614) – the 36 maps exactly to 36 for the EPC header, but the next byte (14) the “1” maps to all bits 9-11 for the filter (all zeros) and 1/3 of the bits 12-14 for the partition (specifically the first 1 in 101). The first half of the “4” maps to the rest of the filter 01 and the last half of the “4” maps to the first part of the GS1 company prefix (00). Confused? Yes you are.
Now the simple thing to do is put the string you get back from the RFID scanner in a HEX to binary converter like this one. Then on the resulting string back will be 206 bits long, like this
Why 206 bits and not 208? There are 0 leading zeros you have to put in for the ’36’ on the EPC header. So add in 2 leading zeros and you get:
Now that you have 208 bits, you want to grab bits 59-135 (because you want 77 bits starting at position 59). Getting that out gives you:
1000110 1000011 1010111 0110010 0110001 0110100 0110001 1001100 0110000 0110000 0110010
(spaces added every 7 bits for readability)
Then you take those bits (with the spaces every 7 characters) and put them into a binary to ASCII converter: and you get: FCW2141L002.
Voila! FCW2141L002 from 36142D8D4000B1E343AEC98B4633183064000000000000000000
Heading into Saturday morning here are the playoff chances for each team:
Georgia – 100% – lock
Alabama – 83% – In with a victory vs Georgia, or any Michigan, Cincinnati, or OK State loss
Cincinnati – 70% – In with a win over Houston
Michigan – 65% – In with a win over Iowa
Oklahoma State – 51% – In with win over Baylor EXCEPT if Alabama, Michigan, Cincinnati all win, or in with Georgia, Michigan, and Cincy all lose.
Ohio State – 17% – In with Georgia & Michigan win, Cincy & OK State loss, OR Georgia win, Michigan & Cincy loss, OR Georgia & Cincy & OK State loss, OR Georgia, Michigan, Cincy and OK State all lose.
Baylor – 13% – In with: Baylor beats OK State, Iowa beats Michigan
I have been messing around with playoffpredictor.com. Still have a long way to go, but I thought I would look at the data for this weeks games and see how it compares to betting available at Draftkings money line. I am looking to exploit situations where the moneyline payout is misplaced compared to the predicted winning probabilities from playoffpredictor.com.
When the expected value on a moneyline bet is greater than 100%, I want to bet that game/team. In this weeks top 11 games, there are 6 games that the computer believes you can make a bet and get an expected payout in excess of 100% of the bet.
The most appealing, from the computer standpoint, is taking Purdue to beat Ohio State, with an expected payout of $2.89 on a $1.00 bet. This intuitively makes sense as Purdue is ranked #19 by the computer (and also #19 by the committee), and #19 beating #4, especially when played in #19 stadium, is very reasonably possible. Probable? no, but the payout at +750 is a huge incentive to bet on Purdue.
The least appealing bet by the computer is Penn State over Michigan, with an expected payout of 57 cents on a $1.00 bet.
Georgia vs Tennessee
Georgia (-1250) Total return on $1 bet if bet is successful (Georgia wins) = $1 * 1350/1250 = $1.08 P(Georgia wins) = 91% Expected return of $1 bet on Georgia = $1.08 * 91% = $0.98 Tennessee (+750) Total return on $1 bet if Tennessee wins = $1 * 850/100 = $8.50 P(Tennessee wins) = 9% Expected payoff of $1 bet on Tennessee = $8.50 * 9% = $0.765
Georgia – Tennesse is what is expected — each bet is expected to have a negative return — the house wins both ways.
But sometimes the computer spots something it likes
New Mexico State vs Alabama
No moneyline offered on New Mexico State vs Alabama
Cincinnati vs South Florida
Cincinnati = $1.01 South Florida = $0.36
Michigan vs Penn State
|moneyline odds (DraftKings)||unbiased probabilities (playoffpredictor.com)||Total expected return on $1|
|New Mexico State||0.02|
Oklahoma vs Baylor
Mississippi State vs Auburn
Northwestern vs Wisconsin
Utah vs Arizona
Purdue vs Ohio State
Minnesota vs Iowa
Southern Miss vs UTSA
Maryland vs Michigan State
Texas A&M vs Ole Miss
Notre Dame vs Virginia
NC State vs Wake Forest
Arkansas vs LSU
TCU vs Oklahoma State
Washington State vs Oregon
Nevada vs San Diego State
Results will be posted next week!
I decided to move my blog from my hosting in my Cisco C220 upstairs in my attic to a lightsail product on AWS (Is it AWS or aws?). Why did I decide to do this after refusing to for ~10 years? Well, mostly I know a guy who started at AWS and I figure if AWS is ever a company I want to work for I need to have production systems on it, not just science projects in the cloud.
I was going to do an EC2 image, but one of the first things you discover in the updated console is a compute service named Lightsail. Lightsail has the storage and network packaged in, and then also common applications, and wordpress is about the most common of them all.
The process was simple, standing up the lightsail image was ~5 minutes. I exported everything from my on-prem blog, and imported it into the new AWS image. The first import did not really go well — my on-prem blog has a user named ‘neville’ and the created AWS lightsail image has a root user called ‘user’. Importing my content to ‘user’ instead of ‘neville’ was a problem for me. The solution is not to fix and rename the user account, the correct fix was to create another lightsail image and create the new user ‘neville’ there before importing. Treat these cloud compute instances like cattle, not pets. If there is an issue kill it and get another one off the feed lot.
One thing that did happen, that I’m not too happy about though, I decided to create my 2nd lightsail image bigger (2x the RAM and storage — from the $3.5/month to the $5/month). When I got the new one up I quickly deleted the old (you are charged by the hour). Right after I deleted I thought I’d like to do some performance comparisons between the 2 instances— but there is no undo button. You delete it and it is gone 🙁
Overall, meh – fine. I’m sad to see things go from my attic, but as Andy Jassy says “you can’t fight gravity”. In this case, I can’t fight the cloud.
Every four years I make a blog post about who I am going to vote in for president. I do this mostly for myself and my kids- I want them to understand who gets my vote and why. I want them to understand my morals, my beliefs, and believe that our votes matters, not because my one vote will tip any scales, but it will define what I believe in and who I want to lead me to get there.
2020 is a re-election year. In re-election years the decision becomes more of a referendum on the incumbent. From that lens Trump has accomplished some amazing things:
-On the economy this is the best financial backdrop to do business for corporate America ever, and I mean ever. The cost to borrow and build a business has never been lower. Each week I get unsolicited mailings offering $200,000 or more of business working capital. 10-year rates are at 0.6%. The stock market has about doubled in just four years (the S&P 500 on the night Trump was elected traded at 2,000. Today it trades at 3,300. The advancement in the NASDAQ-100 is much more profound, QQQ traded at 110 in November 2016, it was been as high as 303 just this month (September 2020). Trump has fought hard for small manufacturing business and US materials companies with great success. He has had a strategy from day 1 – that was to put America first, and a good leader sets a vision that everyone can get behind and drives the execution of that vision. On that scale Trump scores well. I very much applaud him for easing the corporate foreign tax repatriation and brining money back into the US.
However if you look more closely, the advances in the stock market have all been in MAGA – Microsoft, Amazon, Google, Apple – not make America great again. In fact, the sectors and industries Trump champions are down in the dumps. Ford trades at $7 (vs $12 when Trump was elected), GE trades at $7 (vs $30 when Trump was elected). The pattern holds for 3M, GM, Goodyear, on and on. No matter how much he wants to champion the industrial Midwest, I am afraid that part of American history is simply dead, and no one has the ability to create demand there, no matter how much they try.
-On foreign affairs Trump has accomplished amazing things in that arena as well. The UAE and Bahrain have both signed peace agreements with Israel. Saudi Arabia may be next. A Saudi-Israel peace deal will drive peace and stability for the world. The critics said “Don’t antagonize the middle east by moving the US embassy from Tel Aviv to Jerusalem.” Trump did not listen, he trusted his head and his gut, and the region is more stable than it was before. Trump drone-strike-killed (call it what it is-extrajudicial political assassination) Qasem Soleimani, a person akin to the vice-president of Iran. I never heard of the man and I thought his drone strike assassination would lead to full blown war between the US and Iran. That did not happen. The Palestinians, who have all along been the rogue actors in the region, have been marginalized and accepted universally for the bad actors they are. That is a significant development that will lead to peace. Relations with North Korea, something way beyond belief, have happened. There is no way any of this would have happened under a Hillary Clinton administration, and no way this will happen under a Joe Biden administration. Heck Joe Biden voted to not go after Osama Bin Laden! Biden was afraid of military operations on Afghanistan soil. It is hard for me to cast Biden as anything other than a weakling who does not want to upset anyone. Thank goodness Obama did not listen to him there. Biden to me seems like he is the poster child fanboy for today’s millennial generation who are scared stiff to be called or thought of as racist, sexist, or any other -ist. An apologist, someone who is meek, someone who does not make you believe America is the greatest country on Earth, rather some bad plague that needs to be conformed into submission of “everyone is good, even the lost souls burning Portland and Seattle are somehow always worthy of respect and having their viewpoint heard.”
-On China and trade I disagree with Trump’s protectionism, but I give him credit for creating a tough issue and tackling it head on. No one was talking about US-China forced tech transfer before 2016.
-On other issues, like climate change and COIVD- I happen to agree with Trump. I’m glad we withdrew from the Paris climate accords, and I support cutting off funding to WHO. We can’t blindly go with the crowds here because it is the easiest political thing to do while making us feel like good citizens – we have to ask if we are getting value for our investment and in places we are not holding people accountable and demanding change. Trump does that. I find it ridiculous that the governor of Washington State is blaming his state’s forest fires on climate change. This is 2020 where literally we shut down the entire globe over the Spring and Summer. I know we did not do that for climate change, but if that is not good enough to appease the green people what possibly will? They will never be happy, they will never lead. They will always just complain. To me they sound like a noisy going that should have no credibility and no standing.
So overall, I give Trump all the credit in the world for all his actions. His policy and actions have been far, far better than I could have ever imagined.
But is that what I want in a president? A man of results, who views the world in terms of winners and losers?
Trumps silence on black lives matter is troubling to me. In my own neighborhood there are moms teaching their adolescent black sons to be home at dark, how to deal with police, teachers, society in general. That is not OK. A generation is teaching their (black) kids, how to live and grow up in fear. That fear is very, very real. That is abhorrent.
I don’t believe Trump is a racist – he has given many prominent jobs to black people, including winners on the apprentice. However, his silence is problematic. I never saw Trump call the George Floyd killing murder. He took one year to acknowledge Charlottesville white supremacist as a murder. This is just too slow, unacceptable. To be fair, I am leery of black lives matter, because it is divisive – but there are some simple steps he can take to make the mom of a black kid feel more at ease, and his inability to do that is a voting problem for me.
The police in this country are underpaid and teachers are badly underpaid. Trump and Betsy DeVos are so right on school choice and democrats are so badly wrong. As much as I would like to vote issue by issue, I can’t.
Trump’s need for his own ego, his boundless narcissism, is ridiculous. I contrast that and think about Ronald Reagan’s self-deprecation. Humor is one of 5 essential characteristics of leadership. Trump has none of that. It is a killing character flaw.
To my vote, it is not about what is best for our economy, my job, or my pocketbook this time. It is about the soul of this nation. I don’t want a Faustian bargain. Trump claims to have done more for black people than anyone since Lincoln. Just because black unemployment is lower in 2019 than it was in 2015 does not mean Trump deserves praise. It’s like a person that abuses you and then throws a $100 bill in your face and expects you to take it and be grateful. That crap just does not fly with me.
Yes, I readily acknowledge things may get worse under Biden. With tax rates ready to soar and big government (the current thinking is there will be a $3 trillion democratic coronavirus bailout), it is totally possible that inflation could come back, the stock market could tank, jobs could be lost, etc.
In 2020 I’m not voting for my pocketbook or my standard of living – I’m voting for my soul, that’s why I’m voting Joe Biden.
Below is the text of the course eval I wrote for my MBA capstone course taken this summer.
Virtual sucks. It sucks so, so bad. Even though the text is thoroughly up to date, the lack of getting us together in class kills any class value we might have had. I realize COVID is a deadly, serious challenge, but as it stands now the value of who I meet, grow my network, and what I learn in this new OU are worth about as much as a Khan Academy course — which is priced at exactly $0. What we have collectively believed about the University and higher education system in America will come crashing down. This education is worth $0. Even if I paid $0, I would still be very dissatisfied. What I value at OU are the people around me and the experiences we do together. I will very much miss not having a final drink with my cohorts on graduation. I understand COIVD is a very tough problem, but I expect OU, with literally billions of dollars of resources, to be up to the task and make in person learning possible and encouraged. Otherwise OU is just as useless to me as Khan Academy, or alternatively Princeton University. I can get learning from either of those institutions for free. The goal has to be learning, not a piece of paper (diploma). I can assure you that right now all of my cohort is interested in the piece of paper and nothing else, and that is just sad and frankly the education institution’s fault. Go ahead and appoint your “respected” Chief COVID officer. They are doing the same leadership that any idiot can do – operating out of an abundance of caution. Well, I have fully decided school simply can’t operate that way.
Again, unless you figure out this problem, I will not be a student. I still have some classes to go, but I have decided to withdraw from the University for the Fall. When I started this program we met from 6pm till full on 9:30pm. This class the average meeting was about 30 minutes. It pisses me off I am paying multiple thousands of dollars for this garbage experience. I don’t need the piece of paper. I’m in it for the connections — going to China, being one on one with Randall Stephenson <- this is the value of an MBA. This garbage over Zoom is just garbage. Figure it out or you lose me.
I am a person of lists. Each Monday morning I write a todo list for the week which is broken into sections for work, personal, and hobby goals for that week. Well, last week was my birthday, and not just any birthday, last week I turned 50 and what follows is my todo list to accomplish by June 3, 2029:
1. End the decade happily married to Shelli with 4 healthy kids (or more)?!
2. Buy a vacation property I can rent out when not in use. Somewhere Shelli and I love. Something around $1m. Big enough for several kids to stay with us there. Hawaii? Pensacola? Grand Lake?
3. Get a new job (preferably within Cisco). Especially a travel job after the girls graduate NN. Travel with Shelli. Don’t be scared!
4. Mentor someone (not a family member)
5. Start/join a men’s coffee group.
6. Own a performance Tesla (0-60 <= 2.4)
7. End the decade with 3x my net worth of June 2020 in total net worth.
8. Help Austin find a career opportunity
9. Help Evan find a career opportunity
10. Learn the song meaning behind the lyrics of as many songs as I can.
I have created a proximity tracing tool using data exported from Prime Infrastructure. The tool is currently located at http://ciscoProximityTracer.com Please check it out and give me feedback.
To use the tool, the user inputs a “client sessions” report from prime infrastructure. The report has to have the fields of AP name, Session Duration, and RSSI added in, using the exact order shown below.
You can generate for any length of time, I’m currently using either 1 or 7 days when I generate reports. Sorting the output data does not matter. When finished, export to .csv and use that file for the input of the tool.
To use the tool input your file and a MAC address of interest (this would be the person with COIVD19 that you want to track who they came next to). The other 3 fields (max RSSI diff, time resolution, and time offset are optional, defaults are given)
Push the Trace contact button, and the script fires away. It comes back with something like the following:
Simple and effective.
For the week of May 16 MAC 84:85:06:BC:F6:C8 was in contact (<3dBm) with 84:85:06:bf:fc:46 for 1 hour 40 minutes at the AP named MEMO-MAIN-129, and so on.
If you want to play with the tool you can use the PI logfile named “agahome_may28.csv”. and search for the spreader MAC of e4:b2:fb:87:8f:62. That’s my iPhone. Try using different RSSI resolutions and time values.
The tool is located at http://ciscoProximityTracer.com