Subdirectories, Apache, and ActivityPub

I have this terrible feeling that I may have fixed my ActivityPub issue. I was able to find this blog from my Mastodon account and follow it. If it continues to function, that’ll be the next unexpectedly pleasant surprise.

Turns out, my blog lives in a subdirectory. https://www.windchilde.com/bluedepth. The plugin flavor text, at the shallow end of the pool makes absolutely no mention of blogs living in subdirectories. It took a Github issue that ended up being one of maybe six that I ended up checking out. Here’s the page that won the day:

https://github.com/Automattic/wordpress-activitypub/issues/538

And the most important part was the blind axe-throw at .htaccess from the root of my hosting account, to cajole Apache into behaving differently than was intended. Here’s the missing bit:

“RedirectMatch “^/.well-known/(webfinger|nodeinfo|x-nodeinfo2)(.*)$” /blog/.well-known/$1$2″ – without the quotes around it, and replacing “blog” with your subdirectory.

After that was done and saved, went back to Mastodon.social, search, and put in the term @admin and poof! There it is! It found it, I could follow it. Suddenly feeling very strange because I had given up on ActivityPub completely. Apparently it works. Huh.

Well, I say that it works. This post might show up on my Home feed in Mastodon.social, if all the trained hamsters aren’t smoking meth, I guess. LOL. Only one way to find out… and hit that publish button!

Ugly White People, Wearing Masks, and Leaving Facebook

So earlier today, after leaving our local megamart, which in this case is Meijer I was beset by wave after wave of ugly white people not wearing masks. I just cannot stand it, the absolute gall to put the public health at risk all because you want to be a dick about it. It is just beyond acceptable, even in our broken world, so I wrote a Facebook Post. I called them for what they are. Ugly White Pig Fuckers.

The Facebook AI flagged it as “Hate Speech” and so, since I have a long track record of calling out Russians for their shenanigans along with I’m sure other infractions that I have long since forgotten, I have been put in a time-out corner for three days on Facebook.

Almost everyone that I care about is on a shared Signal group, it’s a virtual pub where all my loved ones are also there and I can vent, and listen to my loved ones vent, and we can laugh and share things and because Signal is end-to-end encrypted, there is nobody there to tell me what I can or cannot say.

Very much like this blog too. I always mean to write more here on the blog, and this time-out from Facebook for 3 days is actually not a punishment but rather an invitation I think, to fully abandon the platform. The toxic people, the toxic stories, the endless and sensationalized bottom-of-the-barrel scrape that the wall has become. If I want to visit a wreched den of scum and villainy, at least Reddit doesn’t pretend that it is anything else than just another cultural latrine. Facebook is just a lemon-scented cultural latrine.

I pay for this blog and the service, so I can say whatever I please here without an obnoxious censorship AI locking my account out. Plus, it’s like TV, if you don’t like what I write on this blog, you are very much invited to forget all about it. Just don’t point your browser here, I will not be offended.

So instead of sharing things on Facebook, I’ll share them on this blog. The activity will pick up, maybe if I’m very lucky there will be a new community like Imzy, or perhaps something like LiveJournal before the filthy Russians got their grasping little fingers all over it. Everyone who reads the blog should know, I’m left AF, and while I am not Antifa, I am Antifa sympathetic, especially with the notion that anyone of good standing and solid heart will not hesitate to punch Nazi scum in the face.

So don’t look for me on Facebook. Look for me here. To Hell with Facebook.

Also… WEAR YOUR !@#$ MASKS IN PUBLIC!

Ulysses 18.7 and WordPress 5.4

Aside

I just had a devil of a time with my Ulysses to WordPress integration. Something underhanded happened on the way to the Forum. Either it was something that WordPress tweaked in 5.4, or my host did something clever to get in the way and didn’t tell me. Someone left a very important bit out, which broke Ulysses, my editor of choice for blogging.

The solution was to be found in these two sites:

David Bosman’s Blog – Ulysses and WordPress and

Hans Bruins’s Medium Post – Ulysses and WordPress

So if you were using Ulysses all along, and it suddenly crapped out on you with WordPress, these instructions seem to do the trick, it did so for me!

We’re Always Shufflin

Yesterday I came home and like many precursors to the weekend we talk about what sort of meal plan we would like for the coming week. Along with that, we put together the shopping list for our weekend supply chores.

Ever since Apple released iOS 13, we’ve had nothing but headaches with their Reminder app. So the two places we usually go are named lists in the Apple Reminders app. My partner rattled off that there were four items in one list, and I saw none of them. After we wasted an hour resetting and screwing around with Reminders I went to look for alternatives. I found one, an app called “Remember The Milk” and I chiuckled as I had seen it before. Apparently I had an account there a long time ago, so instead of creating a new account, I reccovered the old one. I invited my partner to the app, he installed it, and then I created two lists for our two spots we usually go to, and then I shared them both out to him. Then we sat back and chuckled because with this alternative, proper sync was happening, which was everything we wanted. So we have turned our backs on the Reminder app.

As I started to look through Remember The Milk, I noticed that it had grown up a lot in the time I had been away from it. I’ve been having a headache with the ToDo App from Microsoft, which is actually Wunderlist rebranded. I had split some of my work tasks into ToDo from Microsoft because it was free with my work email, an Office 365 account. ToDo from Microsoft was having serious problems, mostly whenever I had to check off a task, a zombie task would reappear and I’d have to check each task off twice. There were only a few tasks there, so converting them over to Remember The Milk was really easy.

Then as I was working with Remember The Milk, I thought that I might finally leave Toodledo, so I bought a yearly subscription to Remember The Milk, which gave me parity features with Toodledo, and then backed up my Toodledo account and imported the entire thing over to Remember The Milk.

So now all my tasks live in one place again, instead of Reminders, ToDo from Microsoft, and Toodledo, now it’s all Remember The Milk. We’ll see how it goes.

Dodgy Clouds

The recent outage in the Google Cloud infrastructure has certainly revealed a fair amount of vulnerability in their cloud offerings. So many services were affected, and I heard some tales of Nest owners who couldn’t unlock their homes or control their HVAC systems because the system couldn’t function without the other side being up and running.

This has always worried me about cloud infrastructure and beyond that, into IoT designs. We have come to depend on much of this kind of technology recently, and it can be tough for those that understand how all this works to let things like HVAC controls and door lock security go off to be managed by a company without any sort of manual override.

Google Chrome and Ads

It isn’t the first time that Google has turned on us, they used to have as a company motto, “Don’t be Evil,” but then when they ran into a profit wall, they realized that they had to accept evil into their company to make more money. So now, Google is Evil. Recently, the details came to light in regards to how Google will be changing Google Chrome. They are going to disable a programming API that enables some ad-blocking software to function correctly. Honestly, I was expecting this sort of thing long ago. It was the perfect reason to look into moving ad-blocking away from the computer level and further into the network itself. At work, I use Cisco Umbrella, and that places a filter on DNS services. When I was playing around with Raspberry Pi computers a long while back, there was another GitHub project that caught my attention, and that was Pi-Hole.

Pi-Hole

The GitHub project, Pi-Hole is a very straightforward installation that provides DNS filtering for malware and adware based on community-developed blocklists. I originally used it on my Raspberry Pi until I discovered that the Pi wasn’t really all that reliable a platform. Since then I have installed Debian Linux on my original Mac Mini, and that machine, which also serves as a central entertainment hub for my household also provides Pi-Hole services. I have set my home router to refer to the Pi-Hole for it’s upstream DNS requests, so every device attached to my home network funnels all the DNS traffic through the Pi-Hole. In that installation, with all the DNS requests sent to the Pi-Hole, it has liberated my Google Chrome, and any other browser, on my computer, iPhone, iPad, or whatever without any settings to change or fuss around with. To that end, thank you, Google, for giving me the push to help eliminate ads throughout my home.

Sirius/XM Outages

In line with what happened when the Google Cloud malfunctioned, there was another event earlier today that posed a challenge for me, IT wise. I was driving into work and I often times listen to XM’s Channel 33, which is First Wave. I was enjoying all of that music, and the announcer mentioned the channel schedule. That reminded me that I have the XM app on my iPhone and I could stream the XM signal into my workplace just as easily as I can stream Spotify music. So then I tried to use the app and ran into Error 1025. What the hell is that? I eventually got into a chat with a Sirius/XM representative, and they told me that there were system level issues at Sirius/XM that was giving everyone challenges. I have to remind myself frequently that my first stop should be DownDetector.com! I browsed to that site while I was on the chat with the XM representative and there it was, Sirius/XM, with a huge complaint spike. I should have started there! Lesson learned!

The way of things, for cloud infrastructure and all these interconnected devices, will not go away anytime soon. While the settings that you have on your phone and computer might also be causing issues with connectivity, it’s important to always keep in mind that sometimes the biggest systems can also be more fragile. It’s important to keep sites like DownDetector in mind because if you are having a problem with a website, chances are so are a whole lot of other people.

Vim’s Red Pill

I started this foray into Vim a few days ago. I’ve been talking with folks on
Mastodon.technology about exploring Vim and inspired by their learning and
exploration of this application that has been around publicly since 1991.

Vim is just a plain text editor, it’s ubiquitous on a lot of Linux and Unix
based operating systems, and less so on others. While I was in college the
professors in computer science were very fond of Emacs, so I sort of remember a
bit about Emacs and that I didn’t know Vim at all, nor did I really care for
it. Now that I’m older, I’m looking for new things to learn and Vim is quite a
good challenge for that.

The Learning Curve for Vim Resembles The Cliffs of Insanity

Learning this editor is a sheer climb straight up, on an imaginary learning
curve. There is very little that anyone who comes at Vim without any knowledge
of it will be able to understand. You get a little motd blurb on a blind open
with the name of the application and its version detail. You can’t really write
anything into the screen until you accidentally hit a command for getting into
the — INSERT — mode, like A, O, or I, or the lowercase equivalents. Over time
you start to accumulate more skills and you rely on the cheatsheets a lot less
than you were at the start.

Once the learning is done, then you start to move forward with the
customization part of the application. Vim is improved by plugins that enhance
or sometimes detract from the core use of the application. If you can get a
plugin to work, that is. Sometimes they just don’t, and there isn’t any clear
way to force the issue. Much of the plugins now live on GitHub, and sometimes
your mileage may vary when you are looking for help. For example, one plugin
which is for autocompletion at first seemed to be exactly what I was looking
for, but the fit wasn’t right for me. There is nothing on GitHub, for that
project, that even mentioned Q&A or anything like that. One thing that I have
learned is that sometimes when you add plugins to Vim, they can get “stuck” in
the Session system which forces you to dump your session details and start from
scratch. But once I was happy with how everything came together, it is a very
powerful editor.

Once You Pop A Red Pill, You Can’t Stop!

The first foray into Vim starts with editing. Then I started to look at some of
the other things that this editor could do. I fiddled a bit with Markdown, that
went well, and then afterwards I moved on to installing the Mutt mail
application. I have dwelled, perhaps malingered at Mac OSX Yosemite so when I
started to look into Mutt on my Macbook Pro, the Homebrew system complained a
lot about how some things would likely be broken because I was unwilling to
install the latest and greatest version of the Mac OSX operating system.
Everything worked out for the best in the end, and I got Mutt working for both
my Gmail account as well as my Office365 Hosted Exchange account at work. As a
funny side note, Mutt works well with IMAP servers however there was a bit of
skullduggery with the SMTP authenticator settings. For Mutt, this is the
general plan for a standard IMAP .muttrc file:

set ssl_starttls=yes
set ssl_force_tls=yes
set imap_user ='username@gmail.com'
set imap_pass = 'password'
set from='username@gmail.com'
set realname='First Last'
set folder = imaps://imap.gmail.com/
set spoolfile = imaps://imap.gmail.com/INBOX
set postponed="imaps://imap.gmail.com/[Gmail]/Drafts"
set header_cache ="~/.mutt/cache/headers"
set message_cachedir = "~/.mutt/cache/bodies"
set certificate_file = "~/.mutt/certificates"
set smtp_url ='smtp://username@gmail.com:password@smtp.gmail.com:587/'
set move = no
set imap_keepalive = 900
set smtp_authenticators = 'gssapi:login'
set signature ="~/.mutt/gmailsig"
unset sig_dashes

While the last bit, for smtp_authenticators simply won’t work with Office365.
To get that to work with Mutt, you’ll need this line in its place:

set smtp_authenticators = 'login'

Once I was able to get all that figured out, I then had another way to see my
email, through the Mutt email client. It wasn’t until this point, after being
able to login and logout, and receive new email and send new email that I
looked over my email to discover that almost all of it is HTML encoded. Which
makes reading it a headache in Mutt. But that wasn’t the point! The point was,
Mutt helped bring Vim closer to me. I may use it, or I might not. The HTML is a
definite headache so it’ll die a slow death because of HTML.

Distraction Free Writing

Vim’s editing powers are one part of it, the other part is the sheer speed and
usefulness of the application. There are a lot of systems that I use that seem
to have these little lags for text entry, like the system is always a few
microseconds behind registering what I want to do, which when typing in text,
is to do just that. It’s only slightly present on my Macbook, but often times
very present in apps on my iPhone. I’ll never know why user text input isn’t
the number one thing for any device to do first. Everything else can wait, be
put aside, but my typing? That should take top billing each and every time! So
with a full-screen iTerm2 screen, Vim is almost a killer app for distraction
free writing. I like line numbers on the side, and margins on either side, so
for me, this is almost a perfect arrangement. Plus the cost can’t be beat, Vim
is free. Another big draw for me is that Vim should be useful still even on
very low-powered computers, if it turns on, if it can run Linux (or Mac, or
Windows even) then it can run Vim.

Where Do We Go From Here?

We’ll see where I take Vim in the weeks to come. There is a lot of travel
coming up for me and I expect I’ll be doing a lot of blogging during it.
Writing everything out in Vim, saving it as Markdown, and then importing it
into WordPress. I suppose I could very well just email it into my blog as well,
we’ll have to work on that workflow in the future. Maybe I’ll find a WordPress
installation that works and be able to leverage Vim more directly with that
system. We shall see.

Cream of Mushroom Soup & Grilled Cheese with Sauteed Onions and Peppers

Oh, oh my God. First I started with Pressure Luck’s Cream of Mushroom Soup and then put the spurs to a small pile of onions and green peppers, then slipped them into grilled cheese with Meunster cheese, which is my favorite.

Some adjustments I made to the soup was double the Sherry, double the Garlic, ramped up the Thyme to 1 tbsp, and used Chicken Stock instead of the BTB Mushroom Base. I think the BTB would have rocked it, but I think 5 cups is too much, so next time I’ll go with 4 cups, instead.

Such a delightful dinner! The instant pot only took five minutes to bring it all together. Bravo!

Cisco AMP for Endpoints

Several months ago we bought into Cisco AMP for Endpoints. There was a lot of work right after that, so we set up the management account and put it aside. Months later, I felt a little awkward about it, so I thought I would devote my April to Cisco AMP for Endpoints.

I just uncorked my AMP for Endpoints account, for this post and going forward, when I write AMP, I mean Cisco AMP for Endpoints, because it’s a mouthful. AMP itself seemed forbidding and difficult, but then once I started working with the site, configuration wasn’t that bad. I decided to test AMP in my environment by starting a “Factory Fresh” copy of Windows 7 32-bit in VirtualBox on my Mac, with 4GB of RAM assigned to it. A standard humdrum little workstation model.

I downloaded a bunch of starter packs, including the “Audit” model, the weakest of them all. I installed it on the workstation and the site responded well enough, noticing the install. As I was working with the system, I noticed that AMP complained that the definitions were out of date on the client, so I went hunting for a “definition update” function. There isn’t anything the user can trigger, you have to wait for it. Oh, that’s not good.

So then I had AMP on the test machine and I thought I would try to infect it. So I found a copy of EICAR, which is a sample file that all these technologies are supposed to detect and find hazardous. Symantec Endpoint Protection (SEP) sees EICAR well enough, and really gets upset by it, immediately stuffing it into Quarantine and sending an alert. AMP also detected EICAR and because it was in Audit mode, just sat on its hands. Which I expected.

So then I found a bunch of sample malware files on a testing website, because while EICAR is useful for basic testing, it’s as relevatory as a knee-jerk reflex. It’s nice to know there is a reflex, but it’s not the same as an actual malware infection. I opened the ZIP file, typed in the password and all these malware samples came spilling out into the downloads directory. So, a workstation that is quickly becoming filthy. That’s my use-case for AMP.

So after “infecting” the computer with the files, and the tamest model, which is just to have them in a folder, I went to AMP and told it to switch the model on the test machine from Audit to Triage. That took almost twenty minutes! Are you for real on this, Cisco? Twenty minutes!!!

So I knew what I had on this workstation, but I pretended that I was the admin on the other side, with an unknown workstation connected, reclassified with Triage and waiting. I knew that the computer was infected, and as the admin, “not knowing what is going on” with the endpoint, I sent a scan command. This is the worst case scenario.

On the AMP side, I didn’t see anything at all. I panicked around looking for any hint that the AMP system recognized my scan request, and so I sent five more scan requests. Obviously, one scan request should have done it, but I wanted to make sure that I worked around even an imaginary screw-up in Cisco over scanning. Nothing. Workstation just plotzing along, infected files just sitting right there in the Downloads folder, just waiting for double-clicking end-user to make a tame infection a wild one.

Obviously this is the worlds worst scenario, one were SEP somehow is gone, not installed, or somehow lost its marbles, leaving AMP on its own to run defense. Scan! Scan! Scan! — Nothing at all. AMP just sits there just merrily SITTING THERE. Like shaking a coma patient, is very much what it felt like.

So then I started with the Help feature, request help, okay, I knew how this would go. This would lead to TAC. God help me. Cisco’s system didn’t know what AMP was, hahahahaha of course not. But there was a chat system in a teeny tiny little button, so I tried that. Someone! Hallelujah! They found my contract and linked it up, and started a case for me. When I went back to the test system, AMP had done it’s work. FINALLY. It only took twenty minutes! A lot can happen in twenty minutes. How many files could have been ransomware-encrypted in those twenty minutes?

So now I await a response from Cisco TAC. During the chat I declined the entire phone call angle since Cisco TAC people cannot speak English, or at least, I cannot understand their speech. So I told them that I would only communicate over email. So lets see what TAC has to say. We spent a lot of money on this, so obviously I’ll likely deploy it, but man, I am sorely disappointed in a system where every second counts. On reflection, Cisco AMP for Endpoints was probably a mistake.

Strategy to Inbox Zero

Earlier in the week I had talked to a friend about my unmanageable email pile in my Inbox, about 78 pieces of email just sitting there, dwelling on the edge of my consciousness and weighing on me. Is there something there that I should take care of? Did I miss something important? So I started to chat and to do some research.

There are many strategies out there, and I adapted them for my own use, and so far it has worked out marvelously well. Here’s how I process my email:

  1. Create sorting folders. I created a host of new subfolders in my work email account which runs under a hosted version of Microsoft Exchange. Because folders sort alphabetically, I forced the sort using number indexes and dashes.
    1. 1-Email Management
      1. 1-Today
      2. 2-This Week
      3. 3-This Quarter
      4. 4-FYI
      5. 5-Toodledo
      6. 6-Done/Sort
    2. 2-Help Desk
    3. 3-To Evernote
    4. 4-Barracuda
    5. 5-Syslog Alerts
    6. 6-ATP
  2. Then I sort the Inbox into the “Email Management” folder structure. If something has to be done today, it goes to 1-Today, and so on and so forth. My first consideration is the due-date for the item in my Inbox. If the item is purely informational, it goes into the 4-FYI box.
  3. I have rules set up in my email application, which happens to be Apple Mail. If I get email from Toodledo, my favorite To-Do system, they are moved into that folder. Anything from my Spiceworks Ticket sytem ends up in the 2-Help Desk folder. The messages from my Barracuda backup appliance end up in the 4-Barracuda folder, all my incoming Kiwi Syslog alerts end up in 5-Syslog Alerts, and finally the Advanced Threat Protection from Hosted Exchange reports get filed in 6-ATP. Rules are a huge part of keeping your neck above water when it comes to emails. There are a lot of purely informational emails that have zero urgency and very low importance, you want to keep them to go through them, but they don’t need to clog up your Inbox. Rules can help you sweep a lot of these away automatically. Always flag your junk mail, review that occaisonally to drag it for any false-positives.
  4. If an item is a request for help from work, and it didn’t come in as a ticket originally, those need to be pushed into the ticketing system. Thankfully Spiceworks allows you to forward emails into the ticket system by sending forwarded mail to whatever mailbox you’ve configured for the Spiceworks system. There are a litany of hashtag controls you can place in the email body to configure how tickets are arranged. My Cisco CUCM system is configured to also kick voicemails to me as attached MP3 emails, if they are requests for help, they likewise end up being forwarded with some extra flavor text to stomp down on confusion.
  5. If an item isn’t help, is urgent, is rather important, and has a clear date and time I will forward the email to my Toodledo using the configured email address on that system. Toodledo has a flag system that works on the Subject line. My preferred method is to alert people to events, include Toodledo as a BCC addressee, and then add at the end of the Subject line this text fragment: @work :1 day #{duedate} where the field duedate is whatever the date is that is relevant. Send it, forget it, it’s in the Toodledo list.
  6. The next step is to cycle through folders in Email Management, starting with Today and then reviewing all the rest. The Today folder is the action items that can be done today, or are due today. After completion, simple things are thrown away, but anything more elaborate or anything that touches on CYA gets sorted into the 3-To Evernote Folder.
  7. Evernote is a bottomless notekeeping system that I also use, and I leverage Evernote as a destination for all my CYA emails, and each quarter the extracted Sent Items from my Exchange account. I don’t trust Microsoft at all, I’d rather keep things in Evernote. Microsoft has a 50GB quota, Evernote does not have a quota. At the end of each week, I have a “Sharpen The Saw” task in Toodledo that I run, and a part of that is running along the structure in the 3-To Evernote folder, which includes all the emails across the branches of the company I work for, and all the vendors I have relationships with. Every Quarter, I search for all the emails for the previous block of time, soon Q1-2019 will be over so I search for all Q1-2019 emails and also move them into Evernote.
    1. The Evernote move is accomplished in two steps. The first step is to extract all the attachments out of the emails in my Exchange account, I use Mac Automator for that purpose, and here’s how it’s configured:
      1. Get Selected Mail Messages – Get selected messages.
      2. Get Attachments from Mail Messages – Save attachments in: “Attachments”
    2. I then run the Automator workflow, and all the attachments are put in a folder on my Desktop called Attachments. I then bulk rename them with their folder, a date such as 20190301 (YYYYMMDD), and then select them all and drag them into the right notebook in Evernote.
    3. Then I highlight all the relevant emails in my Mail App that I intend to send to Evernote, and I have created a General Service in my Mac called “Send To Evernote” which is actually another Automator Workflow, called “Send To Evernote.workflow”, that has this content:
      1. Run AppleScript:
        1. on run {input, parameters}
           -- Slightly modified version of Efficient Computing's AppleScript: http://efficientcomputing.commons.gc.cuny.edu/2012/03/17/copy-email-message-in-mail-app-to-evernote-applescript/
           tell application "Mail"
            --get selected messages
            set theSelection to selection
            --loop through all selected messages
            repeat with theMessage in theSelection
             --get information from message
             set theMessageDate to the date received of theMessage
             set theMessageSender to sender of theMessage
             set theMessageSubject to the subject of the theMessage
             set theMessageContent to the content of theMessage
             set theMessageURL to "message://%3c" & theMessage's message id & "%3e"
             --make a short header
             set theHeader to the all headers of theMessage
             set theShortHeader to (paragraph 1 of theHeader & return & paragraph 2 of theHeader & return & paragraph 3 of theHeader & return & paragraph 4 of theHeader & return & return)
             --import message to Evernote
             tell application "Evernote"
              set theNewNote to (create note with text (theShortHeader & theMessageContent))
              set the title of theNewNote to theMessageSubject
              set the source URL of theNewNote to theMessageURL
              set the creation date of theNewNote to theMessageDate
             end tell
             -- move the email message to archive and make it bloody obvious
             set background color of theMessage to blue
             set acc to account of mailbox of theMessage
             move theMessage to mailbox "Archive" of acc
            end repeat
           end tell
           return input
          end run

           

      2. It takes some time, but it efficiently moves the text parts of the emails selected into Evernote, using my default Notebook, called IN BOX.
      3. I select everything in the Evernote notebook IN BOX and move it to where it has to go, the destination notebook within Evernote itself. The messages all end up in the Archive folder, so then after that I hunt them down and delete them out of Exchange. Then empty the trash out of Exchange.
  8. In the end, I have a very slim Exchange account, a well fleshed out Evernote data store where I can search for all my email CYA details that I might need later on, and it also works on the web and over mobile apps as well. It’s very handy.
  9. It only took me a little while, maybe an hour tops to sort my Inbox and get to Inbox Zero. Then the cycling through the subfolders helped give me a handle on both urgency and importance, and I have a far better sense that I am actually on-top of my emails.