Posts
2023
- One Year Later: Dec 04, 2023 Dec 4
- One Year Later: Dec 03, 2023 Dec 3
- One Year Later: Dec 02, 2023 Dec 2
- One Year Later: Dec 01, 2023 Dec 1
- One Year Later: Nov 30, 2023 Nov 30
- One Year Later: Nov 29, 2023 Nov 29
- One Year Later: Nov 28, 2023 Nov 28
- One Year Later: Nov 27, 2023 Nov 27
- Using iplocate to geolocate IP addresses in Splunk. Jun 15
- How I Met Your Mother Feb 12
- Convert all HEIC images to jpeg with a single command Feb 11
2022
- Would have been our 24 year anniversary Dec 19
- Open Letter from Jami: Bad Behavior Is Not an Option Dec 12
- Jami's Obituary Dec 8
- The Final Update Until We Celebrate Life Dec 4
- How's Jami Doing: Daily Update - Issue #5 - 12/4/2022 Dec 4
- How's Jami Doing: Daily Update - Issue #4 - 12/3/2022 Dec 3
- How's Jami Doing: Daily Update - Issue #3.5 - 12/2/2022 Dec 2
- How's Jami Doing: Friends and Family Matter - Issue #3 - 12/2/2022 Dec 2
- How's Jami Doing: Daily Update - Issue #2 - 12/1/2022 Dec 1
- How's Jami Doing: The Big Update - Issue #1 - 11/30/2022 Nov 30
- Scooby-Doo and Reflection Nov 19
- Fake Phishing: Setup, detection, and take-down Nov 13
- Install Win11 Dev VMware Image on the Proxmox Hypervisor Oct 27
- Setup Opencanary Honeypot with Pushover Notifications Oct 23
- Proxmox Initial Setup in my Home Lab Oct 16
- Export Infoblox IPv4 Networks into Splunk Lookup Table Sep 5
- Using PowerShell to parse Office 365 TimeStamps in JSON format Jul 9
- Google G-Suite Legacy to Google Workspace May 26
- Discover. Create. Solve. May 22
- Connecting to old ssh servers with unsupported key exchange and cipher types Jan 18
- Zeek Installation and Splunk CIM Data Normalization Guide Jan 16
2021
- How to View a Log4j Payload Using ldapsearch Dec 30
- Custom PC Build Dec 26
- Splunk 8.2.4 Default Install Apps Dec 23
- Detecting successful log4j compromises with Zeek and Splunk Dec 22
- Install Splunk Enterprise in a Lab Environment Dec 21
- Married for 23 Years / Half of my Life Dec 19
- A New Chapter in My Career: Network Architect to Assistant Director Dec 8
- Installing Windows 2022 Server in a Lab Environment Dec 1
- Secure Communications: Generating a New GnuPG Key Nov 10
- Lost Password: Revoking PGP keys with a revocation certificate Nov 9
- Configure Client Wireguard VPN Server on Linux Nov 2
- Enable Full Text RSS Feeds in Hugo Nov 1
- Preparing to ThreatHunt: Installing and Configuring Sysmon on Windows 10 Oct 29
- Capturing packets on Cisco ASA 5585-SSP40 drops per flow bandwidth to 1Gb/s Oct 20
- Configuring Linux to respond to any IP address within a subnet block (example 10.0.0.0/8) Sep 24
- Fixing vmware boot error: Unsupported or invalid disk type 2 for 'scsi0:0' Sep 15
- Update Required: zero-day zero-click vulnerability found in Apple iMessage Sep 13
- Linux Entered the World 30 Years Ago Today Aug 25
- TCP Congestion Control Algorithms in Linux Aug 20
- Headless X Session with x11vnc Aug 16
- Creating a Python Development Environment using Docker Aug 14
- macOS coreaudiod high CPU utilization with Firefox or Chrome Jul 27
- Ten Year Anniversary of IPv6 at WashU May 26
- Maintain a persistent IRC connection with ZNC (Debian), LimeChat (macOS), and Palaver (iOS) May 4
- pip search fails with the error: xmlrpc.client.Fault Apr 22
- Domain redirection with AWS S3 buckets and Route 53 DNS Apr 21
- How to generate and use temporary licenses on an Infoblox appliance Apr 18
- One Year Later: 365 Consecutive Blog Posts Apr 17
- Enable SSH on Infoblox Appliances Apr 16
- Configure an OpenGear serial port from the CLI Apr 15
- How to receive a free COVID-19 vaccination without an appointment in the St. Louis Missouri area Apr 14
- Link packet capture in Cisco Modeling Lab Apr 13
- Renewing a CML license Apr 12
- My daughter received the first dose of the Pfizer vaccine today Apr 11
- Using BFD to reduce BGP convergence Apr 10
- Clipboard manager Apr 9
- iTerm2 Status Bar Apr 8
- Basic Arista Tap Aggregation Configuration Apr 7
- Rebead and inflate a small tire Apr 6
- The 2018 Wikaryasz family reunion fire pit Apr 5
- Pay attention to the user experience Apr 4
- Share Wi-Fi password with other Apple iDevices Apr 3
- Render raw html in HUGO markdown files Apr 2
- My daughter is featured in the St. Louis Post as an athlete of the week! Apr 1
- Adding plausible.io analytics to Hugo Mar 31
- Using rsync to move large datasets Mar 30
- Generating random BGP prefixes with routem Mar 29
- Access a Linux shell on an Arista switch Mar 28
- Partitioning and formatting a disk in Linux with gdisk and ext4 Mar 27
- Juniper fxp0 management interface Mar 26
- Internal and Documentation IP Blocks Mar 25
- Using the Python mailmerge command to send customized emails Mar 24
- Day 7 of our Florida Vacation Mar 23
- Day 6 of our Florida Vacation Mar 22
- Day 5 of our Florida Vacation Mar 21
- Day 4 of our Florida Vacation Mar 20
- Day 3 of our Florida Vacation Mar 19
- Day 2 of our Florida Vacation Mar 18
- Day 1 of our Florida Vacation Mar 17
- First vacation of 2021 Mar 16
- CLI to turn a directory of images into Markdown links Mar 15
- Philmont training hike #2: Lone Elk Park Mar 14
- Creating an iOS shortcut to add RSS news feeds to Miniflux Mar 13
- Newlines in markdown Mar 12
- March 11, 2021: One Year Anniversary of the COVID-19 Pandemic Mar 11
- Happy Birthday Elliot! Mar 10
- Turn c into assembly Mar 9
- Create an online presentations with markdown and Remark Mar 8
- Sleeping under a log shelter Mar 7
- First campout since covid Mar 6
- Using iOS Shortcuts to select between audio destinations Mar 5
- Using BGP peer-groups on Cisco routers Mar 4
- Overview and basic configuration for the Cisco ASA running in transparent mode. Mar 3
- Using a bastion host with SSH Mar 2
- Enabling external connectivity in Cisco Modeling Labs with bridged networks running on an ESXi hypervisor Mar 1
- Enable equal cost multi-path with iBGP Feb 28
- Basic BGP Cisco Lab Configuration Feb 27
- Basic IS-IS Level2 Only Cisco Lab Configuration Feb 26
- Create a network topology in Cisco Modeling Lab (CML) Feb 25
- Display progress of data moved through a unix pipe (|) with pv Feb 24
- Mapping the chain of DNS servers from root to authoritative with dig Feb 23
- Make a clickable image link in vscode with the Paste Image extension Feb 22
- How I tune out noise and sleep through the night Feb 21
- We had family photos taken today Feb 20
- Automatically convert binary data in the paste buffer to Base64 encoded text with iTerm2 Feb 19
- Second dose of the COVID-19 vaccine Feb 18
- Persistent network configuration storage within Tails Linux may reveal historical location data Feb 17
- Redirecting URLs with Cloudflare Page Rules Feb 16
- Matching and printing regex groups in sed Feb 15
- The senators who voted to acquit Donald Trump during his second impeachment trial Feb 14
- Simulating production networks with Cisco Modeling Lab: Install Guide Feb 13
- Creating a shortcut in vscode to switch between the terminal and editor Feb 12
- Caution: MAC address information leaked when booting Tails Linux on a MacBook Pro (not Tails fault) Feb 11
- Remove files from git repository without removing local files Feb 10
- Using macOS 'speak selection' to help with proofreading Feb 9
- Removing Disqus to enhance my readers privacy Feb 8
- Using git as a historical time machine for jasonmurray.org Feb 7
- Monitoring layer-1 wireless traffic with Linux Feb 6
- After macOS upgrade, git is broken again Feb 5
- Change process display name Feb 4
- Help validate the safety of the COVID-19 vaccine with v-safe Feb 3
- Force HTTPS connections with HSTS Feb 2
- Connecting to a Tor onion domain over SSH Feb 1
- Safari is automatically redirecting to an HTTPS site that does not exist Jan 31
- Embedding a task list board in a Notion page Jan 30
- Configuring nginx to use the TOR Onion-Location header Jan 29
- Install a Opencanary honeypot on Debian 10 Jan 28
- First dose of the COVID-19 vaccine Jan 27
- Common docker commands Jan 26
- KringleCon3 2020 Objective Ten Writeup: Defeat Fingerprint Sensor Jan 25
- KringleCon3 2020 Objective Nine Writeup: ARP Shenanigans Jan 24
- KringleCon3 2020 Objective Eight Writeup: Broken Tag Generator Jan 23
- KringleCon3 2020 Objective Four Writeup: Operate the Santavator Jan 22
- Binden's positive example, strong leadership, and executive orders Jan 21
- Welcome President Biden! Jan 20
- KringleCon3 2020 Objective Three Writeup: Point-of-Sale Password Recovery Jan 19
- KringleCon3 2020 Objective Two Writeup: Investigate S3 Bucket Jan 18
- KringleCon3 2020 Objective One Writeup: Uncover Santa's Gift List Jan 17
- SSH Escape Sequence Jan 16
- Adding jasonmurray.org as a TOR hidden service Jan 15
- Octal file permissions in Linux Jan 14
- Log ping loss over time Jan 13
- Display images through an iTerm2 terminal session Jan 12
- Scanning text off images taken with Office 365 iOS app Jan 11
- Google Chrome: thisisunsafe SSL error bypass Jan 10
- How to mount a vmdk file in Linux Jan 9
- The Story of Al Becker, my Grandfather Jan 8
- Using dns-sd to discovery Bonjour advertised devices on a local network Jan 7
- Viewing image metadata Jan 6
- Repeating the same command while looking for differences Jan 5
- Merging PDFs with GhostScript on macOS Jan 4
- Converting markdown to PDFs with pandoc on macOS Jan 3
- Installing Ansible on a fresh install of Big Sur Jan 2
- Rebuilding the Laptop in 2021 Jan 1
2020
- Happy New Year 2021 Dec 31
- Detect open network ports with nmap Dec 30
- How to fix automatic indenting when pasting into vim Dec 29
- Using configuration templates and auto-vpn to automatically deploy a full-mesh VPN with Meraki routers Dec 28
- Using lsof to determine which processes are listening on TCP or UDP ports Dec 27
- Using Pandoc to convert Hugo markdown with inline images Dec 26
- Merry Christmas from the Murray's 2020 Dec 25
- Santa's relationship with Jeff Bezos? Dec 24
- Wireshark can read and decode CAN Bus data Dec 23
- Searching man pages Dec 22
- Intercepting and Editing HTTP Requests with Burp Suite Dec 21
- Cyberchef, the swiss army knife of converting, analyzing, and decoding information Dec 20
- Married for 22 years Dec 19
- Week in Review: Issue #3 Dec 18
- Using the /proc file system to gather information about the current process Dec 17
- Replying to DNS queries with Python Scapy Dec 16
- Remote bash shell using netcat Dec 15
- Excluding matches with a regex exception Dec 14
- Extracting files from a MS Windows, Nullsoft Installer self-extracting archive on Linux Dec 13
- Multiple search options in find Dec 12
- Week in Review: Issue #2 Dec 11
- Fixing garbled terminal output with reset Dec 10
- Limiting bandwidth on macOS with TripMode Dec 9
- CentOS is moving from a stable distribution to an upstream development release Dec 8
- Managing Ubuntu servers over a serial console Dec 7
- Using a pencil eraser to clean electrical contacts Dec 6
- Book: Educated Dec 5
- Week in Review: Issue #1 Dec 4
- Removing an IP address from a network interface in macOS Dec 3
- KringleCon 3 Coming Soon Dec 2
- Locating ethernet ports with ethtool Dec 1
- Accessing the HP DL370 G6 hardware RAID menu on boot Nov 30
- Dump ASCII table in Python Nov 29
- Book notes: Outliers Nov 28
- Debugging Python code with vscode Nov 27
- Being grateful on Thanksgiving Nov 26
- Microsoft patch Tuesday impact on university network edge links Nov 25
- Twenty years of history from old drives in the basement Nov 24
- Searching websites that don't have a native search function Nov 23
- Reattaching tmux sessions from smaller client Nov 22
- Django Quick Start Nov 21
- Using the WayBack Machine to reconstruct my old websites Nov 20
- Persistent SSH tunnel with autossh Nov 19
- Avoid accidental pasting with iTerm2 Nov 18
- MacBook Pro won't stay in sleep mode when the lid is closed Nov 17
- It's all about you Nov 16
- Deer rubs Nov 15
- Hunting in the rain, or the lack there of... Nov 14
- tmux basics Nov 13
- Google WiFi drops DNS queries that return a RFC1918 answer Nov 12
- Install CentOS 8 (latest) with Docker Nov 11
- Determine the active OpenDNS anycast server Nov 10
- State vs. county vote Nov 9
- Red curry, rice, and vegetables Nov 8
- Using OpenSSL to create and validate self-signed certificate in one command Nov 7
- Switching from EverNote to Notion? Nov 6
- Installing iperf3 on a Cisco 9K Nov 5
- Setting up an OpenSSH bastion host for an entire DNS domain Nov 4
- Cisco aaa authorization exec needed to transfer files Nov 3
- Disney World Family Vacation Day Eight Nov 2
- Disney World Family Vacation Day Seven Nov 1
- Disney World Family Vacation Day Six Oct 31
- Disney World Family Vacation Day Five Oct 30
- Disney World Family Vacation Day Four Oct 29
- Disney World Family Vacation Day Three Oct 28
- Disney World Family Vacation Day Two Oct 27
- Disney World Family Vacation Day One Oct 26
- A break Oct 26
- Enable scp copies TO a Cisco device Oct 25
- Pasting images into Hugo markdown with vsCode on macOS Oct 24
- SSH: no matching cipher found Oct 23
- Upgrading a Cisco 9300 to 17.3.1 Oct 22
- Erasing everything on Cisco IOS flash storage Oct 21
- Catching script execution failures with a semicolon Oct 20
- Zeek Week 2020 - CTF sudo su writeup Oct 19
- Zeek Week 2020 - CTF Man or Machine writeup Oct 18
- Install Zeek packages with zkg Oct 17
- Installing and running Zeek at home Oct 16
- Import SSH key from GitHub during Ubuntu install Oct 15
- Enable firewalling services with UFW on Ubuntu Oct 14
- Calculations from the command-line with bc Oct 13
- Automatic AS prepending with BGP communities on JunOS Oct 12
- Configuring RPKI on Juniper vMX with the Fort validation server Oct 11
- Organizing applications and workflows with virtual desktops Oct 10
- Sending email on RedHat 7 with mailx Oct 9
- Erasing JunOS configuration Oct 8
- Provisioning BGP filters with bgpq3 Oct 7
- BGP prefix filtering on a Juniper vMX within logical systems Oct 6
- Basic BGP configuration with Juniper logical systems Oct 5
- Creating logical tunnels within logical systems on JunOS Oct 4
- Using SSH as a proxy to servers on the internal network Oct 3
- Search and replace with sed Oct 2
- Allison Turned 17 Today Oct 1
- Cat hole cable run... Sep 30
- Cisco AnyConnect 4.x 200Mb/s max throughput Sep 29
- The many queries of whois Sep 28
- A few MacBook features that don't get enough credit Sep 27
- Bulk adding Infoblox host records with the infoblox_client library Sep 26
- Adding host records to Infoblox with Ansible Sep 25
- Convert HEIC to JPG from the commandline Sep 24
- AT&T residential fiber service - 1G FTTH Sep 23
- How to fix Microsoft Teams poor audio and video over VPN Sep 22
- Default app bug in iOS14 Sep 21
- iOS14 supports default opening of third party apps Sep 20
- Easy french press coffee Sep 19
- We Believe Sep 18
- Following an unsolicited text message link Sep 17
- Find the typo with diff Sep 16
- Personalized athletic video recording with Trace Sep 15
- Big ASCII letters with figlet Sep 14
- GNS3 web interface Sep 13
- Using openssl to connect to SSL enabled services Sep 12
- FQDN DNS updates using DHCP Option 81 Sep 11
- Use Splunk to count DNS queries by hour Sep 10
- Network security segmentation is a mess Sep 9
- Be on the lookout for graph smoothing Sep 8
- Take a break for your health Sep 7
- Accessing a serial console via the macOS terminal Sep 6
- Configure WiFi with a QR code Sep 5
- Whole Wheat Flax Blueberry Pancakes Sep 4
- Enable OBS Virtual Camera in Microsoft Teams Sep 3
- Basic aspath-regex Sep 2
- Using grepcidr to find IP addresses in text files Sep 1
- My wifes breast cancer has returned... Aug 31
- Is that the right USB drive? Aug 30
- Testing Radius EAP/PEAP from the command line Aug 29
- Running packet-tracer on a Cisco FirePower firewall Aug 28
- Donald Trump Aug 27
- Percentage of change Aug 26
- Copying Excel formulas without offset changes Aug 25
- Dumping ARP tables with python and Netmiko Aug 24
- Retrieving hidden files in TimeMachine Aug 23
- Suppressing the bash warning in macOS 10.15 Aug 22
- Interacting with LastPass through the CLI Aug 21
- Data-plane packet captures on the Cisco ASA Aug 20
- Using strings to peek into binaries Aug 19
- Reverse traceroute with PerfSonar Aug 18
- Using PerfSonar, pscheduler, and iperf3 to test network throughput problems Aug 17
- How to cut an arched top wood fence Aug 16
- Basic GNUPlot from the command line Aug 15
- Merging individual files into a single multi-column file Aug 14
- Thank you Teresa! Aug 13
- How to sort IP addresses from the command line Aug 12
- Even Apple listens Aug 11
- Generating and using SSH keys Aug 10
- Twelve-year-old geocache Aug 9
- Commands I use on a regular basis: find and exec Aug 8
- iOS 14 will randomize the MAC address every 24 hours Aug 7
- Regex to find MAC addresses with random bit set Aug 6
- Out-of-band routing table separation in GNS3 on the Juniper vMX Aug 5
- Edit files on remote hosts with vsCode and SSH Aug 4
- BGP authentication requires MD5 hash in TCP header Aug 3
- Simulating the full Internet routing table with ExaBGP in GNS3 Aug 2
- Return the base path or file name from a full path Aug 1
- Script to monitor home Internet service Jul 31
- Using vi to remove ^M characters in a text file Jul 30
- Creating a mock API endpoint for testing Jul 29
- vsCode keyboard shortcut to run Python in the terminal Jul 28
- Easy to configure network latency graphs with SmokePing Jul 27
- Google Wifi diagnostic menus Jul 26
- grep for a process without grep returning grep Jul 25
- Netmiko, Napalm, Nornir supported devices Jul 24
- Raspberry PI as a remote serial console Jul 23
- CLI based subnet calculator Jul 22
- Mouse mode with tmux in iTerm2 Jul 21
- Syntax highlighting in Hugo Jul 20
- Cisco 16.x reports drops in bytes not packets Jul 19
- Removing unsafe characters with Python and regex Jul 18
- How to test if a JSON key exists with Python Jul 17
- Python Script to dump all devices from NetBrain Jul 16
- How to check iCloud Drive file transfer status on macOS Jul 15
- Finding configuration lines on Cisco hardware with Python Jul 14
- Testing a NTP server Jul 13
- Bash one-liner to generate markdown images Jul 12
- Installing Juniper vMX routers in GNS3 Jul 11
- Moving configuration with the Juniper rename command Jul 10
- Copying a binary file over a serial console Jul 9
- Why is the maximum MTU size 1472 bytes when using ping? Jul 8
- How to tell if a DNS record is a top-level zone Jul 7
- Using Hugo as a daily life log Jul 6
- Using the sleep command on Cisco NX-OS to correlate log file events Jul 5
- Enable vim keybindings in vscode Jul 4
- Inserting date and time in vim using insert-mode mapping Jul 3
- Replacing the quick-release regulator on an old 1998 Weber grill Jul 2
- Using markdown and pandoc to write documentation Jul 1
- Adding additional data columns to Wireshark Jun 30
- Prioritizing (QoS) devices on home network routers Jun 29
- Software on my iDevices (iPhone and iPad) Jun 28
- Using Python to find IP addresses in a text file Jun 27
- How to log into the FirePower FTD CLI Jun 26
- git broken after 10.14.x to 10.15.x macOS upgrade Jun 25
- Roomba creates Wifi Coverage Maps Jun 24
- VIRL NX-OS licensing disabled Jun 23
- Using the macOS command airport to perform wireless signal strength scans Jun 22
- Basic script writing Jun 21
- Generating a password hash on Linux from the command line Jun 20
- No man on Debian 10 Jun 19
- Quickly find changes in network configurations files with diff Jun 18
- Archetypes in Hugo for new post templates Jun 17
- Filter ads on iOS with AdGuard Jun 16
- Removing cookie pop-ups with uBlock Origin Jun 15
- Generate a Hugo website with the post-receive GIT hook Jun 14
- Self hosting a git repository Jun 13
- Basic Cisco and Juniper router configurations for remote management Jun 12
- 10Gb/s file transfers with SMBv3 Jun 11
- Is the meeting necessary? Jun 10
- Using nsupdate to make dynamic DNS changes Jun 9
- Tails Linux wipes active memory when the USB drive is removed Jun 8
- Using the parallel command to speed up log file processing Jun 7
- My backup plan Jun 6
- SMB drive access problem within Administrator PowerShell terminal Jun 5
- My COVID19 work-from-home-office Jun 4
- Helpful commands when troubleshooting IS-IS on Cisco routers Jun 3
- BrassCraft Multi-Turn Angle Valve seal replacement Jun 2
- m is the CLI for macOS Jun 1
- My home lab setup May 31
- Opening applications from the command line in macOS May 30
- Using an iPad as a second monitor on a MacBook Pro May 29
- Using iCloud to sync open text files between Visual Studio Code and Textastic May 28
- How I managed website content with Hugo and text editors May 27
- Using Ansible to manage a network engineers workstation May 26
- Persistant terminal logging in iTerm2 May 25
- SMB: Cannot mount //path/folder read-only May 24
- Testing network perfomance using SMB, dd, and bypassing local disks on Linux May 23
- COVID19 helps leaders evaluate expanded work from home policies May 22
- Using Ansible as a dynamic DNS update client May 21
- vi commands every engineer should know May 20
- Installing python libraries in a virtual environment using Visual Studio Code May 19
- Creating and using a Python virtual environment in Visual Studio Code May 18
- Installing python3 on macOS using Homebrew (don't use the system version) May 17
- Swapping the control and caps lock key in OSX May 16
- Using refresh on the Juniper CLI to repeat a command May 15
- Using public route servers and looking glass(es) to validate BGP prefix announcements May 14
- Using passive DNS to track down CDN traffic May 13
- Network path tracing commands May 12
- Linux caches MTU path maximum size May 11
- RSS feed reader for daily news and information consumption May 10
- Using goaccess to analyze web server log files from the CLI May 9
- DIY refilling a Lysol No-Touch dispenser May 8
- Template for taking notes during a meeting May 7
- The ordering of OmniGraffle stacks on the canvas May 6
- Using Python TextFSM to retrieve structured output from Cisco devices May 5
- Linux Traffic Control May 4
- How to take a wide screen video on a cell phone May 3
- Using BGP to prefer Internet2 Connected Peers May 2
- Mosh (mobile shell) as a replacement for traditional SSH sessions May 1
- Simple web based file transfer utility based on WebRTC Apr 30
- Covert epoch to a human readable format using awk Apr 29
- Geolocating any IP address in a text file with Python Apr 28
- Debugging Regular Expressions with https://regex101.com Apr 27
- Using marking and ranges in iMovie to quickly edit clips Apr 26
- Restarting the IS-IS process on Cisco NX-OS Apr 25
- Using Bash functions to tab complete SSHing into hosts Apr 24
- Improving vi usability on a MacBook Pro with the touch bar Apr 23
- Using telnet to find a devices current IP address Apr 22
- Using PerfSonar pscheduler to initiate remote speed tests with Iperf3 Apr 21
- Monitor for BGP changes using BGPalerter Apr 20
- Using ovftool to copy VM hosts Apr 19
- Using SSH as a SOCKS proxy Apr 18
- A new beginning Apr 17
2017
2004
2003