Updating weekly post

This commit is contained in:
Dan 2026-01-04 07:19:20 +00:00
parent ac9033c958
commit f1460861b9
3 changed files with 60 additions and 146 deletions

View file

@ -801,28 +801,6 @@ body {
pointer-events: none;
}
/* Cables on desk - now using SVG for curves */
.desk-cables {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 7;
}
.cable-svg {
position: absolute;
bottom: 20%;
z-index: 4;
pointer-events: none;
}
.cable-svg svg {
filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
}
/* Secondary monitors on desk */
/* Secondary CRT monitors - positioned relative to main monitor */
.secondary-screen {
@ -833,11 +811,6 @@ body {
text-decoration: none !important;
}
/* Wall-mounted CRT 1 - upper left relative to main */
/* Wall-mounted CRT 2 - upper right, larger, closely stacked */
/* Wall-mounted CRT 4 - lower left relative to main */
/* Desk-mounted CRT - on desk left side */
.desk-monitor {
@ -896,54 +869,6 @@ body {
animation: pulse 2s ease-in-out infinite;
}
/* Small equipment on desk */
.desk-equipment {
position: absolute;
bottom: 10%;
background: linear-gradient(145deg, #4a4a4a 0%, #2a2a2a 100%);
box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6);
z-index: 8;
}
.modem {
right: 25%;
width: 35px;
height: 12px;
}
.modem::after {
content: "";
position: absolute;
top: 50%;
right: 5px;
transform: translateY(-50%);
width: 2px;
height: 2px;
background: #0f0;
border-radius: 50%;
box-shadow: 0 0 4px #0f0;
animation: pulse 1s ease-in-out infinite;
}
.power-strip {
left: 35%;
width: 50px;
height: 8px;
background: linear-gradient(145deg, #1a1a1a 0%, #0a0a0a 100%);
}
.power-strip::before {
content: "";
position: absolute;
top: 50%;
left: 10px;
transform: translateY(-50%);
width: 3px;
height: 3px;
background: #f00;
border-radius: 50%;
box-shadow: 0 0 4px #f00;
}
.monitor-stand-small {
position: absolute;
bottom: -20px;
@ -1099,53 +1024,6 @@ body {
}
}
/* Widgets and gadgets */
.widget {
position: absolute;
bottom: 8%;
border-radius: 2px;
z-index: 6;
}
.router {
left: 25%;
width: 170px;
height: 50px;
background: linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%);
border: 1px solid #333;
box-shadow:
0 2px 8px rgba(0, 0, 0, 0.5),
inset 0 1px 2px rgba(255, 255, 255, 0.1);
}
.router::before {
content: "";
position: absolute;
top: 50%;
left: 10px;
transform: translateY(-50%);
width: 4px;
height: 4px;
background: #0f0;
border-radius: 50%;
box-shadow: 0 0 5px #0f0;
animation: blink-fast 1s infinite;
}
.router::after {
content: "";
position: absolute;
top: 50%;
left: 20px;
transform: translateY(-50%);
width: 4px;
height: 4px;
background: #ff0;
border-radius: 50%;
box-shadow: 0 0 5px #ff0;
animation: blink-fast 1.5s infinite;
}
@keyframes blink-fast {
0%,
100% {
@ -1156,30 +1034,7 @@ body {
}
}
.hard-drive {
left: 30%;
bottom: 20%;
width: 55px;
height: 35px;
background: linear-gradient(180deg, #3a3a3a 0%, #2a2a2a 100%);
border: 1px solid #444;
box-shadow:
0 2px 8px rgba(0, 0, 0, 0.5),
inset 0 1px 2px rgba(255, 255, 255, 0.1);
}
.hard-drive::before {
content: "";
position: absolute;
top: 8px;
right: 8px;
width: 3px;
height: 3px;
background: #f00;
border-radius: 50%;
box-shadow: 0 0 5px #f00;
animation: pulse-slow 2s infinite;
}
@keyframes pulse-slow {
0%,

View file

@ -15,7 +15,21 @@ draft: false
## Links I Found Interesting
- [name](https://url) - desc
- [POSSE](https://indieweb.org/POSSE) - I have killed off pretty much all social media, but I might look into posting more on Bluesky or setting up a Mastodon again, and this would be something to keep in mind.
## Weekly Listening Stats
**Total Tracks:** 231
**Top 5 Artists:**
- [Lazerhawk](https://www.last.fm/music/Lazerhawk) - 14 plays
- [System of a Down](https://www.last.fm/music/System+of+a+Down) - 14 plays
- [Mystery Skulls](https://www.last.fm/music/Mystery+Skulls) - 8 plays
- [Carpenter Brut](https://www.last.fm/music/Carpenter+Brut) - 7 plays
- [Gunship](https://www.last.fm/music/Gunship) - 7 plays
_Note: Not all my devices scrobble, so this is just what I have listened to at a computer._
## Next Week

45
lastfm-week.sh Executable file
View file

@ -0,0 +1,45 @@
#!/bin/bash
# Last.fm Weekly Stats Script
# Usage: ./lastfm-weekly.sh
# Load environment variables from .env file
if [ -f .env ]; then
export $(cat .env | grep -v '^#' | xargs)
else
echo "Error: .env file not found"
exit 1
fi
# Check required variables
if [ -z "$LASTFM_API_KEY" ] || [ -z "$LASTFM_USERNAME" ]; then
echo "Error: LASTFM_API_KEY and LASTFM_USERNAME must be set in .env file"
exit 1
fi
API_BASE="http://ws.audioscrobbler.com/2.0/"
# Get current Unix timestamp
NOW=$(date +%s)
# Get timestamp from 7 days ago
WEEK_AGO=$((NOW - 604800))
# Fetch top artists for the week
TOP_ARTISTS=$(curl -s "${API_BASE}?method=user.gettopartists&user=${LASTFM_USERNAME}&api_key=${LASTFM_API_KEY}&format=json&period=7day&limit=5")
# Fetch recent tracks to count this week's scrobbles
RECENT_TRACKS=$(curl -s "${API_BASE}?method=user.getrecenttracks&user=${LASTFM_USERNAME}&api_key=${LASTFM_API_KEY}&format=json&from=${WEEK_AGO}&to=${NOW}&limit=1")
# Get total track count
TOTAL_TRACKS=$(echo "$RECENT_TRACKS" | jq -r '.recenttracks["@attr"].total')
# Output in markdown format
echo "## Last.fm Weekly Stats"
echo ""
echo "**Total Tracks:** ${TOTAL_TRACKS}"
echo ""
echo "**Top 5 Artists:**"
echo ""
# Parse and display top 5 artists as markdown links
echo "$TOP_ARTISTS" | jq -r '.topartists.artist[] | "- [\(.name)](\(.url)) - \(.playcount) plays"'