Posts

Good Thing I'm Not Tracking Version Numbers

I have been working on an application for the past several weeks. It's an application that I thought of but will be used by myself and others. I keep using it and finding little ways to improve it. I am up to the 4th major release of it now. Each major release has turned up some things in the documentation that need to be changed (more tweaking) and some things that no longer work (more tweaking) or have been replaced with newer features (delete the old stuff; more tweaking). If I would be tracking minor version numbers, I have no idea where I'd be - 4.45.23 or something stupid like that. Version 4 has been out for a couple weeks now and I think every day I have made about 10 changes (some very minor, some a little more major, but none enough to go to "version 5"). Ah, the life of a software developer....

University Of Illinois Spring Sports

The Illinois golf team finished their season yesterday. The NCAA golf tournament sounds like it is really grueling. It is 4 days of stroke play, then the top 8 teams get seeded based on the stroke play results and play a match play tournament. Illinois after day 1 of stroke play was in first, then 2nd after the 2nd day, then 5th after the 3rd day, and moved back up to 1st after the last day of stroke play. In the quarterfinals of the match play event, they had to come from behind to beat #8 UCLA. The seeding doesn't really mean much as #3, #5, and #7 were the other seeds that one quarterfinal matches. The same day they played the semifinals and lost to #5 USC while #7 LSU beat #3 Georgia. Today is the finals and they are about half way through with LSU leading. That's 7 rounds of golf in 6 days if you make it to the finals. Meanwhile, the baseball team has set a record for wins with 50 and is in the super regionals for the first time ever. If they can win 2 out of 3 again...

Las Vegas Strip Map

Image
I'll actually give credit for the original site where I took and manipulated this image from... The Las Vegas blog run by Total Rewards (Caesars properties) posted this image. It was a bit too big to print, so I took it and manipulated it a bit to get what you see below. The original post was on their blog .

Summer Vacation

We booked our summer vacation this week. We're going to be going to Atlantis in the Bahamas this summer. It will be the first time our daughter (who is almost 6) will be out of the country. We're looking forward to it, but it's also going to be nerve-wracking going through customs and multiple flights with our daughter. She's flown several times before, but always direct. Even when we went out to California, we flew from St Louis to Los Angeles direct. Hopefully she does all right.

Best Of Vegas

This is probably a big copyright, no-no, but I'm doing it anyway because I don't want to keep the magazine around until next March when I can just look it up on my phone.... I subscribe to Casino Player, and the March 2015 issue had a "best ____" section listed. They listed the "best" in all kinds of different gambling areas. Because I have a trip to Las Vegas coming up next March (and I'd forget all this by then), I thought I'd post some of the more relevant (to me) entries for both Las Vegas Downtown and the Las Vegas Strip. We won't have a car, so I'm not posting the "Las Vegas Locals" entries unless they are close enough (like The Palms hotel or the Rio). I put the Downtown entry first, then the strip entry, and then (if it's there) the "locals" entry. Best Steakhouse: Andiamo Steakhouse, The D Las Vegas; Gordon Ramsay Steak, Planet Hollywood Casino with the best variety of restaurants: Downtown Grand; Cae...

Finished Picking Lines and Totals on NCAA Tourney Again This Year

Congratulations to Duke beating Wisconsin last night to with their 5th NCAA Men's Basketball Championship. Wisconsin was up 9 mid-way through the second half and Duke came roaring back to win by 5. I, again, picked the lines and totals for every single game of the tournament. And I, again, proved to be a punter in the eye of Las Vegas. I was 66-66-2, exactly 50%, for the whole tournament. Totals I was a little better than 50% at 34-31-2. For the lines, when I picked the favorite I went 15-20. When I picked the underdog I went 17-15.

Money Line Parlay

I just this week found a formula to compute the parlay payout when money lines are involved. Obviously, if you pick two 10-point favorites to win in a parlay, you shouldn't get as much of a payout as if you picked two 10-point underdogs to win. Picking favorites to win outright isn't as profitable as picking underdogs to win. But, here's an example that might be compelling. Let's say that you have two 5 or 6 point favorites in college basketball. The money line on those favorites should be around -250 or so. If you pick those favorites to cover in separate bets and win both bets ($50 each game - $100 total), you'll win $95.45 total. If you put those two teams in a money line parlay for $100, they don't have to cover (just win), and you will win $96. Obviously, they both have to win to win the parlay. But you get the cushion of "just win" instead of covering the spread.

The "Fun" of Sports Betting

A couple of the bets from the first round of the NCAA tournament had some crazy finishes. Trailing favored Notre Dame by five in overtime, Butler's Kameron Woods dunked with two seconds left to make the final score 67-64. The Irish were 4.5-point favorites. "Last night was nuts with the ending to the Notre Dame game. Heartbreaker for the [betting] players," Jay Rood (vice president of race and sports for MGM) said Sunday. "That was a seven-figure swing." That means that the betting public (more often going with the favorite, in this case, Notre Dame) could have won $1 million plus more than the sports book won. The sports book doesn't always want a 50-50 split on the games. Sometimes they get these outcomes and pocket more money. As another example, Georgetown's Jabril Trawick dunked with one second left to polish off the Hoyas' 84-74 win over Eastern Washington. Georgetown was an 8-point favorite. Jason Simbal (CG Technology vice president of ...

Illinois' Basketball Season is Over

Illinois lost in the first round of the NIT last night. That makes 3 losses in their last 3 games. They lost by 5 at Purdue to end the regular season. Then they lost by 18 in the first round of the Big Ten tournament. And the kicker was losing by 21 to Alabama in the first round of the NIT. Illinois was a 3 seed and Alabama was a 6 seed, but the game was played at Alabama because of construction going on at Illinois' stadium. They have a pretty good recruiting class coming in next year. Here's hoping they can make it back to the NCAA tournament and do better than a 19-14 record.

Happy 87th birthday, dad

Today is my dad's 87th birthday. For someone who we thought wouldn't make it to his 86th birthday (see  update  here), this is pretty remarkable. His old house has been on the market for a week now - no news yet from that front. We would ideally like to sell it quickly to have that done with while he's still living.

Walt Disney World Trip Recap

My wife, daughter, and I went to Walt Disney World over the winter break and I thought I'd write down my experience for future reference. We drove from my in-laws house to Atlanta, GA the day after Christmas. There was some pretty heavy traffic around Nashville, TN, and of course the traffic around Atlanta was pretty bad. Google estimated 7 hours for the trip and it took a little over 8. We stayed at the Embassy Suites right by Centennial Olympic Park. The next day we drove the rest of the way, which was estimated to be a little over 6 hours and took a little over 8. The traffic around Atlanta was a little heavy, but not too bad (it was a Saturday). The traffic in northern Florida was horrible. It was pretty well stop-and-go from I-10 to where I-75 splits off (a lot of traffic went to Tampa instead of Orlando). So we got to Port Orleans Riverside way later than I hoped. We liked the resort and the Tiana room. It was a good compromise between price and size. Sunday the 28th we...

Walt Disney World Trip Recap - Disney Dining Plan

We recently got back from a trip to Walt Disney World in Florida and I thought I'd share my experience for (mostly) my future reference. This part includes the Disney Dining Plan. I used our previous experience ( Disney Character Dining Review ) to help decide what character dining we did. With the regular dining plan, you get 1 sit down meal per person, per night. You can use these for character dining. So we went to the following: Tusker House Restaurant (Animal Kingdom) Akershus Royal Banquet Hall (Epcot) The Garden Grill Restaurant (Epcot) The Crystal Palace (Magic Kingdom) Hollywood & Vine (Hollywood Studios) Chef Mickey's (Contemporary Resort) The only one that was new was Hollywood & Vine. You could see characters from Disney Jr - Doc McStuffins, Jake (from Neverland Pirates), and Sofia The First - which you can't see at any other dining experience. But the lines for the buffet were huge - we almost missed seeing the characters. I don't know i...

Blocking Unwanted Calls With Tasker

I have been using Tasker to read the name of a phone caller. It's very similar to the  Read SMS Sender  task I set up and described earlier. The only differences are that I use "%CNUM" (incoming phone number) instead of "%SMSRF" (incoming text phone number) and if I result in a name (someone in my contacts after I do the lookup) I repeat "Call from <name>" 3 times instead of just once like with a text. But the real purpose of this post is to talk about blocking an incoming call. I have been getting a couple calls a day from a scammer. At first, I used the built-in feature to block the incoming call. That worked all right except for 2 things. First, my Tasker task still read the number even though the phone didn't ring (that part is easy to fix). Second, the call went directly to voice mail and they left a voice mail twice a day. So they aren't really "blocked" as I would define it. Tasker to the rescue. In that same task tha...

Update to Get Name from Number

I wrote up a description of the  Get Nickname From Number Task  on Tasker. I ran into a situation today that prompted a small update to this task. Everything was working fine until I got a text from someone that included the leading "1" (US number) in the phone number. That didn't match a person in my contacts, so it read the full phone number. After doing some playing around, it turns out that it didn't take much to get this to read properly. If the phone number is 10 digits, then go ahead and use the number. If it's 11 digits, then take the last 10 and use that as the number. Unfortunately, Tasker doesn't have any "string length" function. But since I'm working with digits, I can check to see if it's bigger than 999-999-9999 (actually, 9,999,999,999). The "Variable Section" function will take the last 10 digits of the phone number (characters 2 through 11) if there's a leading 1 on the phone number. Here's the update...

Tasker: Read SMS Full Message

This is a very long task that I use when I'm driving. When an incoming text is received, the task will tell me the name (or number) of the sender and then ask if I want to read the message. If I say "yes", then the message is read and then I'm asked if I want to reply to the message. At this point I can say "auto" and a "I'm driving" message will be sent to the sender. Or I can reply with my voice (speaking my message). If I speak the message, it's read back to me (for confirmation) and sent when everything sounds right. There's a lot of logic and jumping around in this task. One of the things I found out with the Goto statement is that you can go to an action number (the default) or an action label. If you specify a number, then any changes to your code might require a change to all the action numbers. If you specify a label, then you can add or remove lines all you want, as long as you don't remove the label. But you can't s...

Tasker: Read SMS Sender

In an effort to get completely hands-free texting going, I needed to be able to have my phone read an incoming text message to me. But I only need the hands-free when I'm driving, so I have two different tasks set up. This first one just reads the name of the person who sent me the text (or the number, if it's an unknown contact). There's a second task to read the full message. I make use of two utility tasks to accomplish reading the sender of the text -  Get Nickname From Number  and  Phone Number to Text  (if it's an unknown texter). Here's the outline of the task: Get the nickname of the person sending the text. Wait 1 second for the built-in text tone to complete (whatever notification tone I have set up will be used -- outside of Tasker). If the name (return value from the step 1 task) is the same as the number, then convert the number to read-able digits and say "you have a new text message from " and the number. If the name wasn't the same...

Tasker: Phone Number To Text

One of the issues with the  Get Nickname From Phone Number  task is that a phone number is returned if the contact isn't found. That's all fine, but when you try to read that number, Tasker will read it as a really long number. For example, 212-555-1212 would be read as "2 billion, 125 million, ...". So I wrote another utility to convert the phone number into individual digits with commas between. This way the number would be read as "2 1 2 5..." with pauses between each individual number. It's actually a pretty quick task, but I can't take all the credit for it - I'm very much a novice at dealing with arrays and splitting and joining values in Tasker. Here's the  post  that helped me. Phone Number To Text (30) A1: Variable Search Replace [ Variable:%par1 Search:. Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In:%phonedigits Replace Matches:Off Replace With: ] A2: Variable Join [ Name:%phonedigits Joiner:, Delete Part...

Tasker: Get Nickname From Number

Another Tasker utility I set up was to get a name from a phone number. So, when someone calls or texts, I can say the name of the person calling/texting if they are in my address book. If they aren't there, then I want to say the number instead of the name. In addition, I have some names that are difficult to pronounce in my address book. So, I set up nicknames for those users which spell out their names phonetically. (I could also use the nicknames for people like "dad" if I wanted). This utility will return the nickname (if there is one for that person) so the pronunciation will be correct. Get Nickname From Number (28) A1: AutoContacts [ Configuration:Name as Nickname: true Phone Number: %par1 Package:com.joaomgcd.autocontacts Name:AutoContacts Timeout (Seconds):1000 ]  A2: Return [ Value:%acnickname Stop:On ] If [ %acnickname Set ] A3: Return [ Value:%par1 Stop:On ] If [ %acnickname !Set ] There's a parameter of the phone number passed in. It uses Auto C...

Tasker: Get Voice Command

The way I decided to set up Tasker is to use some reusable tasks that can be called from other places. The first one I'll talk about is the Get Voice Command. This task listens for some stock commands like "yes", "no", "cancel", or "repeat". It is a quicker listener than the "Get Voice Input" command which I'll talk about in another post. This is meant some some quick one or two word commands. It uses regular expressions to match commands (meaning, you can say "yep" or "yeah" or "yes sir" and it will return "yes"). Being generic like this means that I don't have to duplicate all these regular expressions everywhere. I can just call this task and if it returns "yes", then I know the user (me) said something like "yes" or "yeah" or whatever. There's an input parameter to the task of the message to speak before listening for the answer. The task will re...

Tasker For Android

I really like my Android phone. But I was having a bit of an issue with the hands free stuff. If I would receive a text in the car, I wanted to listen to it without having to look at my phone. Then, depending on the message, I might need to reply to it. I found an app that did that in conjunction with my hands free Bluetooth device, but it worked once and then wouldn't reliably listen to my voice commands. For example, it would be able to hear "yes" and "cancel", but it would never hear the content of the message I wanted to reply. So basically it was good for listening to the message and then making me frustrated. The app also couldn't compose a new text message. Every app I looked at wasn't totally hands free for composing a text message - you had to click on a button and then you could compose hands free, but even that for driving isn't safe. Then I heard about an app that listens for your voice, allows you to compose hands free, and reads/rep...