Sunday, December 12, 2021

Opt Out of AT&T Marketing Messages

 AT&T is particular is remarkably persistent with its marketing.

General instructions for AT&T customers for opting out can be found here:

but I am not an AT&T customer.

This marketing series of phone calls was from their DirectTV department.

Go to:

Click Chat on the right.

Make the subject: Opt out of marketing phone calls. (Or similar.)

The agent (which may or not be a person) will come on the line and will ask for your name (first name is ok.) It will ask if you use any AT&T services. (We don't).

Then it will ask for the phone number to remove.

With any luck you should see:

During the chat session you can request that a transcript of the call be either emailed or texted to you. This can be quite handy.

Your chat transcript:

PLEASE DO NOT REPLY TO THIS MESSAGE - All replies are automatically deleted.

AT&T : Thank you for choosing AT&T Chat. How can we assist you today?

Me : opt out of AT&T marketing phone calls

Emma : Hi! My name is Emma. I can help you by checking our internet options today.

Emma : I will be more than happy to check your internet options in your area.

Emma : Can I get your name?

Me : Ellen

Emma : Hi Ellen, Nice to chat with you.

Emma : While I'm checking this for you, can I know if you currently have any existing services with AT&T? (DirecTV, DirecTV Stream, internet, wireless)

Me : we are not AT&T customers

Emma : Thank you so much for that info

Emma : Can I get your phone number ?


Emma : Thank you , please allow me a few moment

Emma : Done, this is your confirmation number ##############

Emma : Your DO NOT CALL Suppression Request has been successfully submitted!

Emma : Your number will be added to our AT&T DO NOT CALL LIST.

Me : thank you.

Emma : My entire pleasure

Emma : I want to be sure I gave you the best service possible. Is there anything else you need help with today?

Me : no thank you, have a good day.

Emma : It was my entire pleasure to assist you today

Emma : Have a good day, thank you for contacting us today. We appreciate your business! 

Saturday, November 27, 2021

Briones Regional Park Loop with a Missed Turn

 I went again to Briones Regional Park which was so much nicer that it was two weeks ago.

I was cold enough there that at that time I didn't complete the hike.

This time I did the full loop and then some because I missed the turn for home and overshot by a mile (literally).

How I managed to miss the turn is a series of errors that I'll fill in further down.
The park is a lovely green already.

I also have a new toy, a GoPro Hero 10. It eats disk space like there's a famine, so I'm tuning it to more acceptable settings that will still work.

Here's how I managed to add a mile to my itinerary.

While I wasn't paying attention my All Trails map turned 90 degrees. I noticed this but didn't fix it as the moment as I didn't think it mattered right then. This was mistake #1.

The reason it was a mistake was from this view it implied that all I had to do was keep going straight when in reality I needed to turn right.

As a result I walked right by my turn thinking that I still needed to stay on Briones Crest Trail, instead of turning right on Seaborg Trail. This was mistake #2 - not memorizing the name of the last trail.

It took a little while but I finally realized I was off course.

What I should have done was turn around, but in honor of classic mistakes I thought I could fix it by just continuing and taking the next trail.

As a result, things continued to get worse, and dusk is only about 30 min away and sub-mistake #3 was I had not brought my Jackery backup battery and was down to 10% phone charge. In my defense I did have a paper map with me.

Indications that things weren't going smoothly is that a hiker I encountered were coming up from the Happy Valley trailhead and not Bear Valley. She and I decided that it was probably best to turn around, go back over Russell Peak (you can't tell it's a peak), and then down Boogie Trail.

The fates weren't quite done with me as right at the beginning of the trail there was a "trailed closed" sign. Heck with that. I was on foot at the trail was fine (well just ok) for a hiker, but not real good for a bike, It was also steep in places and had some  potential wrong turns. Within a few minutes I was down and just had to cross the creek at the bottom which had no real water in it. This is a photo of climbing up the bank of the stream.

And finally familiar ground. Hooray.

And then it was a race the clock walk back to the car.

Briones is a beautiful park in winter time. Here is a larger photo of it.

Sunday, January 24, 2021

Mt Diablo Summit Trail ByPass

The Mt. Diablo Summit Trail is a lovely attainable trail that works its way up the mountain. The beauty of it is that you can do it in sections because it crosses the road to the summit in multiple places, and there are multiple parking opportunities.

However, there is a section further up the trail that is very brushy. The park has spent a lot of time cutting the bushes back, but it's narrow enough to still not feel very safe during COVID. Conveniently, there is maintenance-vehicles-only road that by passes the section. It's called Green Ranch Road and it is sign-posted. Make sure you only do this section of Green Ranch Road as the rest of it heads in the wrong direction. One you hit the restroom, switch back to the Summit Trail again.

Saturday, January 23, 2021

Geo-Tagged Smartphone Photos and Google Earth

I got a new job at UCSF March 2020 right at the beginning of the COVID pandemic. Between that and trying to make some progress on my second book, I've unfortunately been a little occupied and not blogging.

I've also really been trying to resist not getting too caught up in political blogging and concentrating my political observations to Facebook and Twitter - however much I want to shout from the rooftops: Q is just trolling you.

But enough already.

One of the more under-used aspects of smartphone photography is geo-tagging.

When a smartphone takes a photo, it writes the GPS latitude and longitude into the metadata of the photo. All you need is the means to view it. Then, if you wish, you can write the lat-long into Google Earth.

Why is this useful? Here's an example, my wife and I were on a hike on the Mt. Diablo Summit Trail and we had to turn around because of time constraints. We wanted to know how far we'd gotten. So I had her take a photo of me standing at the point where we turned around.

I work on Macs by preference, and I can look at the metadata of a photo by using the lowly, but very useful Preview. Open Tools-Show Inspector and click on the GPS tab and you will see the lat and long of where the photo was taken. There is even a handy map too (not shown).

Unfortunately, I don't know of a way to copy/paste from the inspector but hand typing these values is not impossible. I can tell you that the degree symbol on a Mac is typed using

Shift-Option 8   °

The minutes and seconds are just apostrophes.

Armed with this knowledge, fire up Google Earth.

In the Google Earth Search window, enter your coordinates. Don't forget the directionals which in my case are N and W. Separate lat and long with a comma. You can also use the decimal versions of lat and long if you're rather.

Click Search and if the stars have aligned and you've typed in the correct coordinates, Google Earth will go right to where you were standing.

So we had a little ways to go, but we were within probably 30 minutes of the summit.

Now we have a future goal.

Now I hear all the Garmin people shouting: Just set a waypoint.

True. I was carrying a very old, but highly useful Garmin eTrex and I could have easily set a waypoint using. I also had it tracking me and when I downloaded the track to my desktop computer, I had the turn around point right there in Garmin BaseCamp, but I was interested in what happens if you don't have your Garmin with you. It's more likely you will have your phone with you, than your Garmin GPS and instead of kicking yourself for not bringing the GPS with you, you can always use the phone. This method works for anywhere there is cell service, you don't have to specifically be out hiking. Post COVID, I intend on trying this on the ferry.

Sunday, January 05, 2020

Chase Fake False Alarm Scam

This is a variation on click on this link email.
This is disguised as an "Is this you?" Monitoring alarm.
It's essentially designed to be a Faked False Alarm with a poison link.

It's the same methodology as the other scams. The window dressing is just different.

It's dressed up as "We're just checking if this login is you. If it is then carry on, no problem." Of course, the login isn't you and you're tempted to click the link to tell them about the "problem." I haven't bothered to click the link, but it's often a nasty php script or other malware. 

Here is what this email looked like:
If you at all care, everything in this email has been falsified. The IP address and the time.

First thing you should notice about the email (besides the odd diction) is the weird Subject line:

"NOTICE AS AT 1/5/2020 6:42:29 PM"

I work with machine monitoring and it Never says: Notice as at ...

Then there's the From line:
The second entry is clearly not Chase Bank. The first one is likely falsified.

And then there's the link:

That "tr" at the end of the URL means Turkey. Again, not at all a Chase Link.

To try to answer the obvious question. No, I don't know who falls for this. What's important is to know that your bank will never do this and beware of links in email. Some of them are legit, but it you're not sure, just visit your bank in the way that you usually do, and don't click on link candy in email.

Thursday, January 02, 2020

Happy New Year - Another Amazon Scam

January 2 and I already have an Amazon Scam in my Inbox.

It's not fair calling it an Amazon Scam, since Amazon is the innocent party, but it's how we've been calling them, since Amazon is what they're pretending to be.

This one is essentially the same as the previous ones. A link to a compromised site that wants you to give them your essential credit card information. It's not a high-end scam but it appears to be working or at least something thinks it's still worth trying.

The language of this one is a little off, but at least the grammar is correct. Scams are getting better though this one shows a weird lack of information. Amazon does not need just the last four digits of your credit card. They would need the whole thing.  Another is "Your card may decline." Credit cards are not living things. The language would be "Your card might be declined." BUT, if your card is declined, they tell you in the browser immediately. There is NO email. Credit card authorizations are nearly instantaneous. There is no delay that would ever necessitate an email. Tell this to everyone.

Here is what they sent:

Another dead giveaway is the From line is completely wrong and has nothing to do with Amazon.

And then there is the link which is pointing to a website that has been broken into and is hosting malware.

Wednesday, December 11, 2019

Scams: Tis the Season

It's the holiday season, and the scams are all hard at work.

This morning I had two scams and one legit email all side-by-side in my inbox so I figured the cyber-gods are telling me I should stop jumping up and down on Facebook and write something useful. I later received a third scam.

So I am looking at:

 - an amateur scam
 - a better scam
 - a scary credit card scam
 - a completely legit update email

It used to be you could not rely on the From line of an email. These days you can more often, but now they insert clever typo domains.

In all cases, what you want to do is:

 - Check the From line
 - Hover over the link that's in the email to check where it want to send you.

Amateur Scam

The From line is completely unrecognizable, and could very well be from France, but we really don't care.

The email looked like:

"We hereby announce" is pretty hilarious in an of itself, but what you need to do is HOVER (don't click) your mouse over the Click to Verify link and see where it wants to take you.

That link says: 

What's important here is that it's a site you don't recognize and have no interest in. It usually is someone else's site that has been broken into and a cyber-intruder has place malware on it.

At this point, you should just delete the email.

A Slightly Better Scam

This one is better because it has names you might recognize but the technique for dealing with it are the same.

The From line says: 

Note the spelling:
That's not legit

The actual email I received is:

Again, hover over the "Login with Amazon" link.

It says: 

Poor has been broken into and has nothing to do with Amazon.

Again, just delete the email.

A Scary Credit Card Scam

This scam is just like all the others, but when it comes to your credit card, as soon as you spot it, it's best to just delete it and then go to your bank's website directly.

The thing that makes this so obvious is the scary "we regret to inform you tone" that your bank never uses. The other thing is the implied threat of it. You won't be able to do your usual banking unless you do X. Which mostly means click here and enter in your login and password. Thank you very much.

You bank will never do this. If they want your attention, they call or send paper letters. Even if you've gone paperless, this is not what they do. If you're not sure of something call them or log into their website yourself.

A Legit Email

Here is a legit email from It has a link that is ok.

If you hover over Track My Order you see:
May look funny, but it really does end with and belongs to them.

The important thing is to read the domain name all the way up to the "/"

Sometimes they will try to fool you with something like:

If you're not sure about an email, then don't click on anything, but go to the vendor's website directly. This is always the safest approach.

Surf safely.

Sunday, May 19, 2019

Technology on Wheels Sort-of (AKA My Effing Prius)

[This is stolen from my writing blog. I can't resist putting it here since it fits better here anyway.]

I'm an IT professional and I love putting advanced tech into my fictional world.
But the frustration with technology transfers easily from world to world.

I may make my living from tech, but that doesn't mean that life with my Toyota Prius is smooth at all. We actually have a very rocky relationship. It's a family car, so I don't drive it all the time which makes me always a step behind the smart-ass thing. It's devilishly skilled at getting under my skin without even trying.

I was making an evening run to Walgreens to pick up medicine for my dog. While not in a huge hurry, I was definitely on a mission. I pull into the lot and park without issue. I don't know if you have had experience with Priuses or other cars like it, but you can lock it by pressing a spot on the door handle IF you have done all the [to borrow from the sexist named game of Mother-May-I] tasks that make it happy. So out of the car I go, close the door, press the magic spot on the door handle and I get a BEEEP. The You've-Done-Something-Wrong beep. Oh, I forgot to turn off the car so I open the door and press the Off button, close the door, and BEEEP. "What?" Open the door and the console says something on the order of "You forgot your key dummy."

With the Prius you don't insert a key it just has to be in the car... somewhere... I dig the key out of my purse that was on the seat. Ok. Good to go. Close the door and BEEEP. Argh! I am now trying not to just yell "I Hate This Car." and kick it repeatedly.

I open the door again and the dashboard says "You forgot to turn the car off idiot." (I had inadvertently turned it back on again during this dance.) Telling said car just what I think of it, I smash the off button, semi-slam the door. lock it, and try not to storm into the store.

Not a Prius fan, but it's pure inspiration for a writer.

Friday, May 10, 2019

Making Looking for a Job More Fun

I spent a year unemployed looking for work.
While my computer skill set is broad and highly sought after, getting the best jobs is often competitive and the most skilled jobs for a while were mainly inside the San Francisco city limits and I didn't want to have to make that daily commute. I finally did give up on not going into SF and interviewed there as well. While I eventually found something closer to home, at the end I was casting a wide net.

I was lucky because I did have the resources to cover my expenses once my six month unemployment ran out though I did have to do more explaining about the gap in my employment. Fortunately, I could completely tell the truth. I was tired of being laid off (three times), and I burned months looking for a government (not federal) job. Then I could easily segue into all the topics I'd learned during the time. Given that learning is a huge part of my profession, they heard me.

With all that said, looking for a job turned out to be a very positive experience for me. It was stressful and frustrating at times, but a lot of good things happened. Completely irrelevant to my topic, it gave me time to spend with the last few months of my very senior dog's life which was an unexpected gift. However that wasn't under my control. What was under my control was my attitude about looking for work, and to make myself see the positive aspects.

1. I got to talk to and meet a lot of people.
This is something I actually very much enjoy. The interviewers were almost always interesting to talk to and wanted to explain what the job would be like and what the company was like. In some respects, they have to sell the job to you. They want to make it sound appealing and for the most part they succeed. Job descriptions seem to be designed to sound intimidating. The interviews are the reverse of that. Even when they're asking hard questions they are not there to put you down or to frighten you. They are looking for that elusive "fit."

2 I got to go to a lot of work places.
If you get through the phone interview process, you will likely be invited for an on-site interview where you spend 2-5 hours at the job site talking to a lot of people. In two situations I had to make a presentation of something I had worked on. Sometimes I'd be talking to a roomful of people, but for the most part I would be talking to 1-2 people for 30 minutes to an hour and then the people would switch. They were always good about offering me water or coffee though I always bring my own in a Nalgene bottle that wouldn't leak if it got knocked over.

3. I got a lot of practice interviewing and got very good at it.
You will get sick of talking about yourself and repeating the same stories over and over, but they've never heard the stories before. There are a limited number of questions they can ask you, sure they will come up with a new one every so often, but practice the ones you know they will ask. Examples are: "What was a project where you have the a lot of impact on the outcome?" "If you had it to do over again what would you have done differently?" "What was a project that didn't work out so well?" "What would you have changed about that?" "Describe a bad situation and what did you do to resolve it?"

4. I had the time to learn even more.
I now have a considerable collection of online classes, and I put completed classes at the end of my resume. When I started putting the courses on my resume, I thought no one would pay attention to it. How wrong I was. Continuing education is such an important part of my profession that a very common question was: "How do you keep up with current issues in your field?" A question would come up: "Have you worked with X?", and I would answer: "I've worked with Y, but I've studied X in detail." And then I would give enough detail to let them know that I was familiar with X.

5. Have canned examples of your work style that you can adapt to most questions.
Sometimes in my field, I'm asked to stand up in front of a white board and design something. It's usually not that arcane, but they want to see how you approach designing something. Have a couple of examples in your head that you can tailor to the situation. For me, one would be a diagram which usually looks like connected boxes and a different one being a set of instructions like computer code.

The most important thing is to look at your job search as a series of mini adventures. It helps keep it looking like less of a chore and a little more fun. Admittedly it's not fun, but it doesn't have to be torture.

Thursday, June 21, 2018

Python List Exercises

There are hundreds of list exercises in Python.
Here are just a few of them.
I'm just working from web pages I found on the internet.
I intend to add to this over time.

# Print the last element on the list
# In Python, array indexes start with 0
# len[alist] prints the length
mylist = ['a', 'b', 'c', 'd']
print ("last element: ", mylist [len(mylist)-1])
last element:  d

# Find last but one in a list
# [Ummm, this is clearly harder in other languages]
mylist = ['a', 'b', 'c', 'd']
print ("last element: ", mylist [len(mylist)-2])
last element:  c

# Find the ith element of a list where the first one starts at 1
mylist = ['a', 'b', 'c', 'd','e','f', 'g', 'h', 'i', 'j', 'k']

# Find the number of elements of a list.
mylist = ['a', 'b', 'c', 'd','e','f', 'g', 'h', 'i', 'j', 'k']
print("Number of elements in list is: ", len(mylist))
Number of elements in list is:  11

# Reverse a list.
mylist = ['a', 'b', 'c', 'd','e','f', 'g', 'h', 'i', 'j', 'k']
# this works in place so you can't print it all on the same line
print (mylist)
['k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']

# Test if a list is a palindrome
# palindrome check - this is more convoluted than some but it helps to see the steps detailed
# Check if a given list is a palindrome
# Check indexes from 0 to the middle of the list
# Check if first index = last index, then move in by one
# Some diagnostics left in as comments

def palcheck(mylist):
 NotAPal = 0
 #print("Middle is: ",int(len(mylist)/2))
 #print ("Length of list: ", len(mylist))
 #print ("Last index: ", len(mylist)-1, "Contains: ", mylist[len(mylist)-1])
 lastindex = len(mylist)-1
 for i in range (0, int(len(mylist)/2)):
   if (mylist[i] != mylist[lastindex-i]):
     print(mylist, "is not a palindrome")
     NotAPal = 1
 if (NotAPal == 0):
   print (mylist, "is a palindrome")

palcheck ([1,2,3,4,5,4,3,2,1])
palcheck ([1,2,3,4,2,3,2,1])
palcheck ([1,1,1,1])
palcheck ([1,2,3,2,1])
palcheck ([1,4,4,2,1])

[1, 2, 3, 4, 5, 4, 3, 2, 1] is a palindrome
[1, 2, 3, 4, 2, 3, 2, 1] is not a palindrome
[1, 1, 1, 1] is a palindrome
[1, 2, 3, 2, 1] is a palindrome
[1, 4, 4, 2, 1] is not a palindrome

Sunday, June 17, 2018

Swap Two Integers without using a Temporary Variable

This is an older exercise, but it still comes up.
This falls under things you wouldn't bother worrying about in real life.

Swap Two Integers without using a Temporary Variable

The idea is to just add the two integer variables and then subtract each piece out in turn.

Say you have x=5 and y=9.

If you are using Python you can just stop right here as "tuple unpacking" will so all the work for you.

x, y = (y, x)

and you are done. x is 9 and y is 5.

Let's assume you want to do it the harder way...

Replace x with the sum of x and y.

x = x + y

x = 5 + 9 = 14

Now you have "lost" x, but you still have y and you can deduce what your old x is.

For the new y take your total and subtract out y, which will leave you with the "old" x in y's place.

y = x - y

y = 14 - 9 = 5

Now to get the new x, take the total and subtract out the new y. which will give you the old y which goes in x's place.  It's more confusing to write it out in English that to just see the math.

x = x - y

x = 14 - 5 = 9

To Summarize

x = x + y   [x changes]
y = x - y    [y changes: Total minus original y]
x = x - y    [x changes again]