End-of-Year Tune and Song Sprint

I recently took inventory of the bluegrass and oldtime tunes and songs that I know. While it is a huge increase from the 4 fiddle tunes I “knew” in July of this year, it just isn’t a very big list. Nothing compared to the pile of jazz standards I know, and not anywhere near enough to have the same kind of literacy in bluegrass/oldtime as I enjoyed on the piano with the body of jazz music. I want to know more, have a better vocabulary, and be all-around more fluent in speaking bluegrass (musically, that is) on my mandolin.

(more…)

Tunes I Know

brown violin
Photo by Ylanite Koppens on Pexels.com

I started back in July of this year knowing 4 fiddle tunes (if I am very generous with the meaning of “know”). I have generally been keeping track as I’ve added new ones over the last months. Presented here is the list of tunes I know to date.* Some of the tunes have resource pages here on the site, so I have linked to them.

  1. Bag of Spuds
  2. Bonnie Tammie
  3. Soldier’s Joy
  4. Liberty
  5. Cold Frosty Morning
  6. Clinch Mountain Backstep
  7. Whiskey Before Breakfast
  8. Blackberry Blossom
  9. John Stinson’s
  10. Old Favorite
  11. The Wind that Shakes the Barley
  12. Goodbye, Liza Jane
  13. Bill Cheatham
  14. Old Joe Clark
  15. Cluck Old Hen
  16. Chinquapin Hunting
  17. Angeline the Baker
  18. Boil Them Cabbage
  19. Cripple Creek

As you can see, the list is not very large, but it is what it is. I have two initiatives – one underway and the other planned – to boost the amount of material in my tune vocabulary. During the month of December, I am doing a end-of-year tune and song sprint (which I will post about separately) to add an additional 12 tunes and 6 sings to my repertoire. Then next year, I have planned out a Tune of the Week, with a designated TOTW and a bonus tune each week (because I try to always learn at least two tunes a week). I also have a Song of the Week plan, with a SOTW and bonus song each week (because I am trying to increase the number of songs that I actually know the melody and lyrics to). There will be posts about the TOTW and the SOTW plans closer to the end of the month.

* I also know two or three Hungarian fiddle tunes from my book, but I can’t pronounce or spell their names, which really gets in the way of talking about them.

Practice Plan, Week of 23 October 2022

I am excited to start sharing this new post type. I plan out my mandolin practice for the week every Sunday. I will make a longer post talking about how I do my planning and what I include and am looking for, but here is a quick summary.

I follow a format that I learned from David Benedict (not directly, of course – although I think he’s super rad, I have never met him) that has five sections: 1) New Material, 2) Developing Material, 3) Performance Material, 4) Techniques, and 5) Musicianship. I also indicate in my plan whether I have a lesson and what my plans for playing with others are for the week (I have a goal to play with others at least once every week).

Starting today, I am going to be posting my weekly practice plans here on Turtlshel. Obviously I am a bunch of days late posting this week, but a person has to start somewhere.

Practice Plan for 23 October 2022

Lesson:

26 October 2022

Playing With Others:

Old Time Music Jam at North Portland Hostel Cafe

1) New Material

  • Tune: Cripple Creek
  • Song: Bury Me Beneath the Willow

2) Developing Material

  • Bluebirds Are Singing for Me
  • Clinch Mountain Backstep

3) Performance Material

  • Jenny Jenkins
  • Fiddle Tune Medleys using Bonnie Tammie, The Wind the Shakes the Barley, Bag of Spuds, John Stinson’s, and Old Favorite.

4) Techniques

  • LH ergonomics
  • Double stops
  • Bluegrass box

5) Musicianship

  • Transposing (using the key signature dice)
  • Standing while playing
  • Ear training

List Files (Including Extended Windows File Attributes) with Sub-Directories in MS Excel using VBA

List Files (Including Extended Windows File Attributes) with Sub-Directories in MS Excel using VBA

What it’s All About

The be clear and straight-forward from the beginning, I do not know VBA. My coding experience outside of HTML and SQL is entirely Python, R, and C/C++ (and C/C++ was long enough ago as to be another lifetime). But when I needed to make a list of all of my Bureau’s data files while still working without software beyond the basic build (I have browsers and MS Office), and without access to any useful utilities or the ability to install anything, I turned to VBA as a possible solution.

The most important nuance of my task is that I needed the authors attribute from the extended Windows file information (this is different from the normal author/owner file attribute that, in my case, showed a generic account for the Bureau that provisions the servers, and not the creator of the file like I needed. I found lots of examples online of code that made a list of all of the files in a folder. A few of them accessed the attributes I needed. I found a couple working examples of VBA that listed all of the files in a folder and all of its sub-folders. What I wasn’t able to find was an example of code that lists out all of the files in a folder and its subdirectories AND accessed the attributes I wanted.

I know enough about coding, in general, and I have access to Google, so I was able to put together something that mostly works, using bits from all of the various examples I found. I apologize to all those on Stack Exchange and elsewhere that contributed code that I absorbed into my mess: it didn’t occur to me to track authors for attribution until I had already long lost track of what pieces came from where.

Like I said, the whole thing is a mess, and breaks in strange places. And there is a weird “feature” that makes the list start back at the beginning of the spreadsheet once it reaches 65k records. But in case someone out there is struggling to accomplish the same thing that I was, here is the code I came up with:

Sub file_list()

Call ListFilesInFolder("Z:\Test_Folder", True)

End Sub

Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean)

Dim FSO As Object
Dim SourceFolder As Object
Dim SubFolder As Object
Dim ObjectFolder As Object
Dim ObjectShell As Object
Dim FileItem As Object
Dim ObjectFolderItem As Object
Dim i As Long
Dim ws As Worksheet
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ObjectShell = CreateObject("Shell.Application")
Set SourceFolder = FSO.GetFolder(SourceFolderName)
r = Range("A65536").End(xlUp).Row + 1

Range("A1:G1").Value = Array("File Name", "Extension", "Path", "Date Created", "Date Modified", "Author", "Size")

For Each FileItem In SourceFolder.Files

  Set ObjectFolder = ObjectShell.Namespace(SourceFolder.Path)
  Set ObjectFolderItem = ObjectFolder.ParseName(FileItem.Name)
  
  Cells(r, 1).Value = ObjectFolder.GetDetailsOf(ObjectFolderItem, 0) 'File Name
  Cells(r, 2).Value = FSO.GetExtensionName(ObjectFolderItem) 'Extension
  Cells(r, 3).Value = SourceFolder.Path 'Path
  Cells(r, 4).Value = ObjectFolder.GetDetailsOf(ObjectFolderItem, 4) 'Date Created
  Cells(r, 5).Value = ObjectFolder.GetDetailsOf(ObjectFolderItem, 3) 'Date Modified
  Cells(r, 6).Value = ObjectFolder.GetDetailsOf(ObjectFolderItem, 20) 'Author
  Cells(r, 7).Value = ObjectFolder.GetDetailsOf(ObjectFolderItem, 1) 'Size
  r = r + 1
  X = SourceFolder.Path
Next FileItem

If IncludeSubfolders Then
  For Each SubFolder In SourceFolder.SubFolders
    ListFilesInFolder SubFolder.Path, True
  Next SubFolder
End If

Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing

End Sub