Technology

Show Only ...
Maps - Photos - Videos

I am a big fan of TableauScraper, which is super helpful for government agencies, namely the NYS Department of Health, I’m speaking to you, that wants to appear transparent but not really and make it difficult to download their data

I am a big fan of TableauScraper, which is super helpful for government agencies, namely the NYS Department of Health, I’m speaking to you, that wants to appear transparent but not really and make it difficult to download their data. But with TableauScraper it’s pretty easy to get their data. I use the TableauScraper prompt.py script to download the Tableau, prompt me for the table I want to select, then added a few line to dump the Panda into a CSV file. I won’t say I rewrote the book on this one, but it works for my purposes.

</p>
 The following script will get the session token, get the data,
# prompt the user to select a worksheet, parse the data into a dataframe
import json
import pandas as pd
import argparse
from tableauscraper import TableauScraper as TS
import os

parser = argparse.ArgumentParser()
parser.add_argument(
    "-get",
    "--get",
    choices=["dashboard", "dropdown", "select"],
    help="type of action",
    required=True,
)
parser.add_argument("-url", "--url", help="full tableau url", required=True)
args = parser.parse_args()

ts = TS()
ts.loads(args.url)

# checkout the json data
# with open('data.json', 'w', encoding='utf-8') as f:
#    json.dump(ts.data, f, ensure_ascii=False, indent=4)
# with open('info.json', 'w', encoding='utf-8') as f:
#    json.dump(ts.info, f, ensure_ascii=False, indent=4)

if args.get == "dashboard":
    dashboard = ts.promptDashboard()
elif args.get == "dropdown":
    dashboard = ts.promptDropdown()
elif args.get == "select":
    dashboard = ts.promptSelect()

with pd.option_context(
    "display.max_rows", None, "display.max_columns", 5, "display.width", 1000
):
    for idx, worksheet in enumerate(dashboard.worksheets):
        if idx == 0:
            print("|" + ("-" * (os.get_terminal_size().columns - 2)) + "|")
        print("|" + worksheet.name.center(os.get_terminal_size().columns - 2) + "|")
        print("|" + ("-" * (os.get_terminal_size().columns - 2)) + "|")
        print(worksheet.data)
        print("")
        # selectable values
        selectableColumns = worksheet.getSelectableColumns()
        print(f"selectable columns for this worksheet : {len(selectableColumns)}")
        for columnName in selectableColumns:
            print("&bull; " + columnName)
            # for value in worksheet.getValues(columnName):
            # 	print("t&bull;" + value)

        print("")
        print("|" + ("-" * (os.get_terminal_size().columns - 2)) + "|")
        
        csvpath="/tmp/tableau.csv"
        print("nWorksheet Data Exported to "+csvpath+"...n")
        
        worksheet.data.to_csv(csvpath)

    # dropdown list
    dropdownInputs = dashboard.getDropdownInputs()
    print(f"drop down lists for this dashboard : {len(dropdownInputs)}")
    for inputName in dropdownInputs:
        print("&bull; " + inputName)
        for inputValue in dashboard.getDropdownValues(inputName):
            print("t&bull; " + inputValue)

A year of remote work without home internet πŸ’»

I was thinking this afternoon when the work day came to a close, it’s been one year of remote work, since the start of the pandemic. While in autumn, there was a few work days in office, there wasn’t a lot. Most everything was remote, often in my case, from quite remote country. I’ve survived a year without ever having to get permanent Internet at home, by a mix of having a work laptop with mobile broadband (always keeping a watchful eye on data meter), my cellphone, and later upgrading my phone to a hotspot plan and using that with my laptop. And lots of hours spent at the Town Library and Town Park, Five Rivers, the laundromat, along with numerous other places with free Wi-Fi. For a while, I really got into bird watching while I worked from truck. Eight hours a day looking out the windshield at the birds can do that.

Maybe I am just stubborn about refusing to get my apartment wired for the Internet. After all well over 80% of Americans do have home internet, and probably in my fairly well-off suburban neighborhood, the percentage is much higher. For a suburbanite household where the primary resident is under 65 percent, probably Home Internet is close to 95% percent. I will be the first to admit it kind of sucks at times on particularly hot, cold or rainy days to be working down at the library from the cab of my truck, although these days with my phone set up as hotspot or Zoom on my phone I can usually work from home when things are particularly inclement. I probably could afford it, although I’d have to find money somewhere in the budget, and I always keep a tight budget with little money left in non-interesting bearing account at the end of week.

From time to time I get advertisements for Verizon Fiber and Time Warner Cable, although after all these years, they’ve kind of given up on me. I may be just a bit too stubborn about not having Internet at home, although I have to say since I upgraded to the 20 GB a month hotspot plan for my phone and unlimited mobile phone data, I’ve been far less careful about my internet use at home, and I certainly use it more for recreational purposes then I wish. It used to be I didn’t do internet at all from home. It was something that was a special trip to the library. But it’s not as convenient to go down to the library anymore, as they don’t allow use from indoors until the pandemic is over. That means if I want to use the library WI-FI, I have to drive down there and sit outside in the cold or heat. Although more recently, since the worse of the virus has slowed, I have walked down there and sat on the bench or park table — I’m not so worried about touching things any more based on what we now know about the virus.

For sure, there where some awful hot summer days working down at the library last summer, sweating like a dog. Other very cold days in December, shivering in my truck with the windows fogged up from my breath. There were times I was staring at the power gauge, wondering if I would make it to five o’clock with the battery under-voltage meter not tripping out again. Or that rainy day my laptop camera fogged up on the Zoom meeting. But then again, there were some fun days hanging out in Green Mountain National Forest in a hammock writing reports for work, or sitting at the Lake Pleasant Beach with my laptop answering emails. Then there was the time I was on a phone with a client, and a float plane splashed down on the lake drowning out the call briefly. Or that time answering client calls from the side of Lows Ledge outside of Horseshoe Lake outside of Tupper Lake. I can’t think of the countless hours doing Zoom meetings or sending text messages from the Speculator Library. I almost lived there for a while from the cab of my truck.

Last spring through the autumn, I used over 50 kWh generated by the solar panel alone on my truck, from all the time I spent charging my laptop off the solar panel. To say nothing of power generated by the alternator. It was 63 night camping out in the wilderness last year, several weeks just working out of the woods or a lot of the time spent up in Speculator. I spent enough time out by Lake Pleasant Park, I almost was became a permanent resident. I got to know the Mason Lake – Speculator Tree Farm – Perkins Clearing easement really well, maybe too well.

I am the first to admit things are probably coming to end at some point in the but it’s been fun and crazy too. Eventually I will be going back to working downtown, and I will end my hotspot plan. I don’t really want unlimited Internet at home. I like the walk to the library. And no more days writing reports or answering emails from the hammock or taking phone calls and writing memos from the shores of Lake Pleasant. No more playing on my computer at home, or being able to watch random Youtube videos from my bed in the evening. I liked having my Internet limited to the time period spent at the library or park. But regardless, it really was a pretty crazy year in a good kind of way.

New browser-tracking hack works even when you flush caches or go incognito | Ars Technica

New browser-tracking hack works even when you flush caches or go incognito | Ars Technica

The prospect of Web users being tracked by the sites they visit has prompted several countermeasures over the years, including using Privacy Badger or an alternate anti-tracking extension, enabling private or incognito browsing sessions, or clearing cookies. Now, websites have a new way to defeat all three.

The technique leverages the use of favicons, the tiny icons that websites display in users’ browser tabs and bookmark lists. Researchers from the University of Illinois, Chicago said in a new paper that most browsers cache the images in a location that’s separate from the ones used to store site data, browsing history, and cookies. Websites can abuse this arrangement by loading a series of favicons on visitors’ browsers that uniquely identify them over an extended period of time.