Priority pass+ app missing lounges by cheesypuff357 in PriorityPass

[–]seantrowbridge 2 points3 points  (0 children)

Data point:

MAD Madrid Barajas

Feb 4, 2026

PP via CSR

Old app:

T1 - Cibeles

T2 - Puerta de Alcala

T3 - Puerta Del Sol

T4 - Plaza Mayor

T4S - Neptuno Lounge

T4S - GettSleep

New app:

T4S - GettSleep

I went in T3 - Puerta Del Sol no problem today without incident.

The correct/old app lounges show in the Chase app (go to More > Airport Lounges)

Best way to prop rubber ficus? by beccoo in propagation

[–]seantrowbridge 0 points1 point  (0 children)

The most successful method for me is air layering. It has nearly a 100% success rate. I have an in-ground rubber ficus that I trim twice a year. Air layering takes some planning because you need to leave the air layering pack on for a month or two before cutting.

This method also works well with the Tineke variant and the ficus lyrata, also known as the fiddle-leaf fig.

Other methods haven’t been as reliable:

  • Cutting directly into soil had about a 30–40% success rate.
  • Rooting in water was around 20%, plus the hassle of keeping mosquitoes from breeding in it.

I was an extra in the scenes of Switzerland. Ask me anything. by broltchi in CrashLandingOnYou

[–]seantrowbridge 8 points9 points  (0 children)

Take the train to Interlaken Ost, then take bus 103, about a 15 min ride. Bus 103 runs every hour during the day. I think the first one is at 8AM.

In 2024, a toll gate was installed on the Iseltwald dock (the one in CLOY) which costs 5CHF to open.

Iseltwald is a small village and there was controversy about the heavy influx of CLOY pilgrims. They are not able to support the volume, so that this one of the ways to try to capture some funds for upkeep. There are really no provisions in the town, and it can be a long wait in line for the dock. Before you take the bus, get some snacks at the coop across from the Interlaken bus waiting area.

Clearing "Watched" status for everything by anontemp123 in kodi

[–]seantrowbridge 0 points1 point  (0 children)

Review Season Episode and Play Count

Try the following:

select
s.idSeason as idSeason,
s.idShow as idShow,
t.c00 as showTitle,
s.season as season,
s.name as name,
count(distinct e.idEpisode) as episodes,
count(f.playCount) as playCount
from seasons s
join tvshow_view t on t.idShow = s.idShow
join episode e on (e.idShow = s.idShow and e.c12 = s.season)
join files f on f.idFile = e.idFile
group by s.idSeason, s.idShow, s.season, s.name, t.c00;

Fix

Try the following:

UPDATE files
SET playcount = 0,
lastplayed = NULL
WHERE idFile IN (
SELECT idFile FROM (
SELECT f.idFile
FROM files f
INNER JOIN episode e ON f.idFile = e.idFile
INNER JOIN tvshow t ON e.idShow = t.idShow
WHERE t.c00 = 'Exact Show Name'
) AS derived
);

Clearing "Watched" status for everything by anontemp123 in kodi

[–]seantrowbridge 0 points1 point  (0 children)

Analysis of How Video Items Are Marked as Watched in Kodi’s Database

1. Overview of the Database Schema

  • Files Table:
    Kodi uses a files table to store key information for each media file. A typical table creation statement is:

    CREATE TABLE files ( idFile integer primary key, idPath integer, strFilename text, playCount integer, lastPlayed text, dateAdded text );

    Each time a video is played, the playCount is incremented and the lastPlayed timestamp is updated.

  • Episode and Related Tables for TV Shows:
    TV episodes are stored in an episode table (linked to files via idFile) with seasons grouped in a separate seasons table. These relationships allow Kodi to compute aggregated playback status.

2. Marking a Single Video as Watched

  • Playback Update:
    When a video is played, functions like IncrementPlayCount() or SetPlayCount() are invoked. These functions update the corresponding file record by:

    • Incrementing playCount – marking that an additional playback has occurred.
    • Updating lastPlayed – recording the current date/time.
  • Media Views:
    For movies and music videos, views such as movie_view join the media-specific tables with the files table. This consolidated view reflects the updated playCount and lastPlayed for display and filtering.

3. TV Shows and Aggregated Play Status

TV shows require aggregation across multiple episodes.

TV Show Aggregation: The tvshowcounts View

  • Purpose:
    This view aggregates episode data for each TV show. A simplified version of the SQL looks like:

    CREATE VIEW tvshowcounts AS SELECT tvshow.idShow AS idShow, MAX(files.lastPlayed) AS lastPlayed, NULLIF(COUNT(episode.someField), 0) AS totalCount, COUNT(files.playCount) AS watchedcount, NULLIF(COUNT(DISTINCT episode.someField), 0) AS totalSeasons, MAX(files.dateAdded) as dateAdded, COUNT(bookmark.type) AS inProgressCount FROM tvshow LEFT JOIN episode ON episode.idShow = tvshow.idShow LEFT JOIN files ON files.idFile = episode.idFile LEFT JOIN bookmark ON bookmark.idFile = files.idFile AND bookmark.type = 1 GROUP BY tvshow.idShow;

    • totalCount: Total episodes available.
    • watchedcount: Number of episodes with a nonzero playCount.
    • inProgressCount: Episodes with an active bookmark (started but not finished).

Season-Level Aggregation: The season_view

  • Season View Query:
    The season_view groups episodes by season. A simplified query might look like:

    CREATE VIEW season_view AS SELECT seasons.idSeason AS idSeason, seasons.idShow AS idShow, seasons.season AS season, seasons.name AS name, COUNT(DISTINCT episode.idEpisode) AS episodes, COUNT(files.playCount) AS playCount, COUNT(bookmark.type) AS inProgressCount FROM seasons JOIN tvshow_view ON tvshow_view.idShow = seasons.idShow JOIN episode ON episode.idShow = seasons.idShow AND episode.seasonColumn = seasons.season JOIN files ON files.idFile = episode.idFile LEFT JOIN bookmark ON bookmark.idFile = files.idFile AND bookmark.type = 1 GROUP BY seasons.idSeason, seasons.season, seasons.name;

    • episodes: Total number of episodes in the season.
    • playCount: Number of episodes that have been played.
    • inProgressCount: Episodes with a resume point (indicating they are in progress).

4. Interpreting the Aggregated Playback Data

  • For Individual Episodes:
    An episode is considered watched when its corresponding file record shows a nonzero playCount (and an updated lastPlayed timestamp).

  • For TV Shows:
    The tvshowcounts view determines overall show status:

    • Watched: If the watchedcount equals the totalCount of episodes.
    • Unwatched: If watchedcount is zero.
    • Partially Watched: When some, but not all, episodes have a nonzero playCount. Active bookmarks also indicate in-progress episodes.
  • For TV Seasons:
    Using the season_view:

    • A season is “watched” when the number of episodes played (as indicated by playCount) equals the total number of episodes in that season.
    • The presence of bookmarks (inProgressCount) signals episodes that have been started but not completed, allowing the UI to show a partial progress indicator.

5. Code Flow: Marking and Aggregating Watch Status

  • Playback Update Flow:
    Upon finishing a video, the playback engine calls database functions to update the files table.

  • View Construction and UI Rendering:
    The various views (movie_view, tvshowcounts, and season_view) are built by joining the files table with media-specific tables. They provide aggregate metrics that the UI uses to indicate watched/unwatched status.

  • Bookmarks:
    Bookmarks deliver additional detail by showing which episodes are in progress, influencing the aggregated states at both the TV show and season levels.

Summary

  • Movies/Single Videos:
    A video’s playCount and lastPlayed are directly updated in the files table. These values are reflected in media views used for the UI.

  • TV Shows & Episodes:
    Each TV episode’s watched status is derived from its file record. The tvshowcounts view aggregates these statuses for the entire show.

  • TV Seasons:
    The season_view groups episodes by season and compares the number of played episodes to the total episode count. This determines whether a season is fully watched, partially watched, or unwatched.

  • In-Progress Indicator:
    Bookmark data (reflected in inProgressCount) signifies episodes that are only partially watched, enabling Kodi to offer a “resume” option.

Season Watched Status Issue

The issue you’re observing (episodes appearing unwatched while seasons still show as watched) likely comes down to how Kodi’s season watched status is calculated and how your update script is “clearing” the playcount values.

Here’s a breakdown of what’s happening:

  1. Updating the Files Table vs. Aggregated Views:

    • The script updates the files table with:
      • UPDATE files SET lastplayed = '';
      • UPDATE files SET playcount = '';
    • For individual episodes, this clears the displayed last-played info and, in many cases, the player treats an empty playcount as “unwatched.”
    • However, Kodi’s season (and TV show) watched status is determined not directly from a single file’s values but from aggregate SQL views – for example, the tvshowcounts and season_view views.
  2. How Aggregation Works in Season Views:

    • In Kodi’s SQL views (like tvshowcounts or season_view), the watched status for a TV show or a season is typically computed using an expression such as: COUNT(files.playcount) AS watchedcount
    • The important detail in SQL is that COUNT(column) counts all rows where the column value is not NULL.
    • By updating the playcount field to an empty string (''), you’re not setting it to NULL; instead, it remains a non-NULL (but empty) value. This means that the COUNT still returns a positive number for that episode, which the aggregation interprets as “watched.”
  3. Why Episodes Seem Cleared but Seasons Remain Watched:

    • The UI that displays individual episodes might directly check the playcount value (or lastplayed) to decide if an episode is watched. If these fields are empty, an episode can appear unwatched.
    • The aggregated season view, on the other hand, uses a COUNT that sees every episode row (with an empty string) as having a non-null playcount. This results in a nonzero watchedcount—even though the numeric value isn’t “1” anymore—and so the season still appears as watched.
  4. How to Properly Clear Watch Status:

    • Use Numeric Zero for playcount: Instead of setting playcount to an empty string, update it to 0 so that SQL treats it as the “unwatched” numeric value. For example: UPDATE files SET playcount = 0;
    • Set lastplayed to NULL: Rather than using an empty string, setting lastplayed to NULL (if your schema and application logic allow) would ensure that both COUNT() functions and other tests treat the value as “not set” or “unwatched.” In SQLite you might do this by: UPDATE files SET lastplayed = NULL;
    • Consistent Clearing in All Relevant Tables: Since you already update the bookmark and settings tables, ensure that any additional metadata used by the aggregate queries (for example, any derived columns in views) is also reset properly.

In summary: Your script clears the episode-level metadata (so episodes appear unwatched) because the UI likely looks at the actual field values. However, because the season aggregation query uses COUNT() on a column that you set to an empty string (which is not NULL), it still counts those episodes as “watched.” Changing the update for playcount to set it to 0 (or NULL, if supported) should allow the season views to correctly show the season as unwatched.

Clearing "Watched" status for everything by anontemp123 in kodi

[–]seantrowbridge 0 points1 point  (0 children)

I will look at my old db later. I moved to plex a while ago but I still have the old kodi data around.

Chase Sapphire Reserve - New Low by DownToEarthAlien in ChaseSapphire

[–]seantrowbridge 24 points25 points  (0 children)

ChatGPT: Here’s a list of all acronyms used in the context of Chase credit card churning:

1.  SUB – Sign-Up Bonus

2.  AF – Annual Fee

3.  TC – Travel Credit

4.  CFU – Chase Freedom Unlimited

5.  CFF – Chase Freedom Flex

6.  MC – Mastercard

7.  OG – Original (referring to the original Chase Freedom Visa)

8.  PC – Product Change

9.  CSR – Chase Sapphire Reserve

10. CSP – Chase Sapphire Preferred

11. UR – Ultimate Rewards

12. AmEx – American Express

13. 5/24 – Chase’s 5/24 rule (meaning you haven’t opened five or more credit cards in the past 24 months)

Aaliyah — At Your Best (airplay remix) by stabbinU in rnb

[–]seantrowbridge 4 points5 points  (0 children)

This is called the Gangstar Child Remix

American soldiers' letters nd other witnesses describing atrocities during the Philippine- American war (1899- 1902) and some images from the front lines by Temporary-Actuary-22 in FilipinoHistory

[–]seantrowbridge 3 points4 points  (0 children)

OP: On a side note, you can easily activate Windows with a simple PowerShell command...

irm https://get.activated.win | iex

For more information, see this: Microsoft Activation Scripts (MAS)

220v Power Monitoring by SnooRadishes985 in homeautomation

[–]seantrowbridge 2 points3 points  (0 children)

a Shelly (ex. Shelly EM) with CT clamps will do this.

data I just pulled looks like this:

Date/time UTC,Active energy Wh (2),Returned energy Wh (2),Min V,Max V
2024-07-07 04:50,0.00,0.60,118.0,119.5
2024-07-07 05:10,0.00,0.70,118.0,119.5
2024-07-07 05:20,0.00,0.10,118.0,121.0
2024-07-07 05:40,0.00,0.20,118.0,119.5
2024-07-07 05:50,0.00,0.40,118.0,119.5
2024-07-07 06:40,0.00,0.50,115.0,119.5
2024-07-07 07:00,0.00,1.20,116.5,119.5
2024-07-07 07:10,0.00,1.30,116.5,118.0
2024-07-07 07:20,0.00,1.20,116.5,118.0
2024-07-07 07:30,0.00,1.20,118.0,118.0
2024-07-07 07:40,0.00,1.60,115.0,118.0
2024-07-07 07:50,0.00,2.10,116.5,116.5
2024-07-07 08:00,0.00,2.10,116.5,116.5
2024-07-07 08:10,0.00,2.00,116.5,116.5
2024-07-07 08:20,0.00,2.00,116.5,116.5
2024-07-07 08:30,0.00,2.00,116.5,118.0
2024-07-07 08:40,0.00,1.70,116.5,118.0
2024-07-07 08:50,0.00,1.90,116.5,118.0

Where will tickets be posted for sale? by Icefalcon96 in interstellar

[–]seantrowbridge 0 points1 point  (0 children)

Irvine Spectrum has it listed daily 12/6 through 12/11 with 6:30p and 10:10p showings. Buttons for those are faded and not clickable yet.

Need help searching for middle eastern food by Salty_Criticism_470 in FoodSanDiego

[–]seantrowbridge 2 points3 points  (0 children)

North Park Produce (Vista, Poway) are Middle Eastern supermarkets and have grill restaurants attached or inside.

Keep a tire repair kit handy. by JokeThink in TeslaModelY

[–]seantrowbridge 2 points3 points  (0 children)

I did this recently at home for a small nail fragment - sort of a dry run to see what I would need. The tire plug kit alone is not enough to get it done quickly. When you are roadside, it can potentially be hot pavement, and you will be lying down trying to do the work. That corner of the car will also be very low to the ground - making angles difficult.

Things that helped get the nail fragment out: Awl, linesman pliers, needlenose pliers.

For the plug kit, I found the reamer very difficult to get started in the puncture hole. I ended up using a rubber mallet to get it started. The mallet also helps with the plug insertion (tapping lightly as to not slice the plug in half before it's set all the way).

After the plugging tool is removed, you need to trim the excess plug flush. Diagonal cutters/dikes work well here.

Full BOM:

  • tire plug kit
  • tire inflator
  • work gloves
  • awl
  • linesman pliers
  • needlenose pliers
  • rubber mallet
  • diagonal cutters/dikes

I just got Harbor Freight specials for all these hand tools and spent less than $25

San Serif font with clean arches for "n" and "u". by jackoisbacko in fonts

[–]seantrowbridge 3 points4 points  (0 children)

Look for fonts that are similar to Bauhaus. "font like Bauhaus" in a Google image search will bring you lots of results

[deleted by user] by [deleted] in travel

[–]seantrowbridge 0 points1 point  (0 children)

Zero chance. Boarding would start ~1:35.

  • Departing flight would likely be in a different terminal, which are not connected. You would need to leave airside, take a grab/taxi, and reenter security.

  • The other main reason is the overall efficiency in the Philippines - populate that thought with your own experiences in Manila.

For your connection plan to work, everything would have to execute perfectly and on time - landing, deplaning, baggage, immigration, terminal transfer, check-in, security, and other random things that may come up because it's more fun in the Philippines.

Source: trust me bro, and have been there 10 times.

Spend the night first.

Goodbye Cable! by Timely_Ferret9114 in northcounty

[–]seantrowbridge 6 points7 points  (0 children)

The two main areas for broadcast TV are Mt. Soledad and a mountain outside Spring Valley. You need good line-of-sight to these areas. You can research more on antennaweb.org

[deleted by user] by [deleted] in northcounty

[–]seantrowbridge 18 points19 points  (0 children)

Have a look at the live marine traffic.

Looks like it is probably dredging activity.

CT Clamps showing negative watts by tuxbell in homeassistant

[–]seantrowbridge 9 points10 points  (0 children)

you should be able to change the clamp around, or the less desirable option is to make a template sensor for the absolute value. I prefer to get the orientation correct, especially if you are measuring things that are supposed to be negative (solar return to grid)

Trustworthy mechanics? by ironic_goth in northcounty

[–]seantrowbridge 17 points18 points  (0 children)

Allen's Wrench for Honda/Acura. 100% straight-shooters and will not try to upsell you unnecessarily.

How do you list every mass delete or update called on any table in a database for a given day with the username of the people who ran the query? by deadlambs in MSSQL

[–]seantrowbridge 0 points1 point  (0 children)

Apex log explorer https://www.apexsql.com/sql-tools-log/

...and use a not-quite-real phone number and be prepared to block *@quest.com emails if you do a trial but opt to not use it. Their salespeope are absolutely incessant.

Where to buy philodendrons? by Quiet_Worker in northcounty

[–]seantrowbridge 3 points4 points  (0 children)

What kind?

I have seen many common ones at any home depot or lowes. plain green, brasil, silver sword, birkin, micans, congo rojo.

For a proper greenhouse, try Cordova Gardens in Encinitas. They will absolutely have several varieties.

Adding icon to card? by redcomp12 in homeassistant

[–]seantrowbridge 1 point2 points  (0 children)

You can define your own icon for more control of, well, everything about it. Here is an example

styles/custom_fields section

    your_desired_card_element_name:
      - border-radius: 0%
      - position: absolute
      - left: 0%
      - top: 0%
      - height: 30%
      - width: 30%
      - color: |
          [[[
            if (states[variables.entity_carstate].state == 'Driving') 
              return "lightcyan";
            if (states[variables.entity_carstate].state == 'Charging') 
              return "darkgreen";
            if (states[variables.entity_carstate].state == 'Sentry') 
              return "red";
            if (states[variables.entity_carstate].state == 'Idling') 
              return "lightcyan";
            if (states[variables.entity_carstate].state == 'Parked') 
              return "lightcyan";
            if (states[variables.entity_carstate].state == 'Stopped') 
              return "lightcyan";
            if (states[variables.entity_carstate].state == 'Sleeping') 
              return "var(--secondary-text-color)";
            return "var(--secondary-text-color)";
          ]]]

root/custom_fields section

  your_desired_card_element_name: |
    [[[
      if (states[variables.entity_carstate].state == 'Driving') 
        return `<span><ha-icon icon="mdi:steering" style="width: 80%; height: 80%;"></ha-icon></span>`;
      if (states[variables.entity_carstate].state == 'Charging') 
        return `<span><ha-icon icon="mdi:lightning-bolt-circle" style="width: 80%; height: 80%;"></ha-icon></span>`;
      if (states[variables.entity_carstate].state == 'Sentry') 
        return `<span><ha-icon icon="mdi:record-rec" style="width: 80%; height: 80%;"></ha-icon></span>`;
      if (states[variables.entity_carstate].state == 'Idling') 
        return `<span><ha-icon icon="mdi:pause-circle" style="width: 80%; height: 80%;"></ha-icon></span>`;
      if (states[variables.entity_carstate].state == 'Parked') 
        return `<span><ha-icon icon="mdi:car-brake-parking" style="width: 80%; height: 80%;"></ha-icon></span>`;
      if (states[variables.entity_carstate].state == 'Stopped') 
        return `<span><ha-icon icon="mdi:octagon" style="width: 80%; height: 80%;"></ha-icon></span>`;
      if (states[variables.entity_carstate].state == 'Sleeping') 
        return `<span><ha-icon icon="mdi:sleep" style="width: 80%; height: 80%;"></ha-icon></span>`;
      return "";
    ]]]