Oracle: Listing All Tables from Database Link
To list all of the tables available over a database link:
select owner, table_name from all_tables@LinkName order by table_name;
MetaSolv Solutions Service Request Search Status Buttons
I’m working on a project to automate the creation of work orders in MetaSolv – it was going well until I tried to find one of the work orders I created within the GUI. Aaand … they don’t show up. Before bothering sys admins with silly questions, I wanted to make sure I wasn’t somehow searching wrong. While most of the search dialog is easily correlated to the API XML input (responsible party is responsiblePerson from the XML, work order number is orderNumber, Description is description) … the little status buttons don’t have convenient tooltips to help decipher their meaning.
Ten minutes perusing the internal training documents yielded “select them all” which … yeah, I get. And it was nice to confirm that the “pushed in” button is selected. But that still doesn’t tell me what the little pictures mean.

So I searched the Internet, Oracle’s generally excellent documentation online, the F1 help within the app … nothing. Either these status values are so obvious to people who regularly use MetaSolv that it’s not worth mentioning or no one knows what these little buttons mean.
Which just made me more curious. So I performed a search limited to a single button, got a few work order numbers, and then looked the things up in the database tables. Numbering the buttons from left to right, I now have corresponding service_request_status values for each one:
| Button # | service_request_status |
| 1 | 101 |
| 2 | 1 |
| 3 | 0 |
| 4 | 801 |
| 5 | 901 |
Fortunately, the back-end MSS documentation tells me what these status values mean:
0 – The service request has been entered and the tasks have been successfully generated and distributed to work queues.
1-99 – The service request is still being entered (tasks have not been generated and distributed to work queues).
101 – The service request has been electronically received but has not been processed.
801 – The service request has had its Due Date task completed.
901 – The service request has had all of its tasks, including billing, completed.
Federal Budget – Data
A new budget will be proposed this year, but I wanted to record where I gather the data and create the budget distribution pie charts. The data comes from two tables at https://www.whitehouse.gov/omb/historical-tables/ — Table 5.2—Budget Authority by Agency: 1976–2025 and Table 5.4—Discretionary Budget Authority by Agency: 1976–2025
Full Budget
Discretionary Budget
Scam Calls
Someone calls you, call them back. It’s easy enough to spoof an outgoing number (make my caller ID look like someone else’s), but intercepting calls to the 800 # on the back of my credit card or the local number on the Waterloo, MI PD’s website is near impossible.
When someone calls from “from my bank”, “about my credit card”, or “about my nephew who is in lockup for a DUI and needs money for bail and the impound lot”, I get the name of the company and call them at their Internet-published number. Real Bank of America can look up my account and figure out why they were calling me (they weren’t). Fake Bank of America? They push me not to waste time calling back in. It’s my time, and I’m happy to waste it. I assume the fake police and fake nephew are the same. And, yeah, fake nephew only gets this one phone call. *I* have unlimited calls, so we’re good.
At the last Trustee meeting, Chief Centner talked about fraudulent calls & said Township residents can ring up Hinckley PD for assistance if you get a call saying a relative is in jail. That is a great service to residents (and I’m having my parents check if their local PD would help too). I’ve never been sure if privacy restrictions would prevent the police from disclosing info about a family member’s arrest and bail. Luckily my nephew was like 2 when I got such a call. And I was pretty sure DUI wouldn’t have been the charge if my nephew had *actually* been arrested two time zones away from home.
Microsoft Teams Meeting Notes
The trick to understanding this is knowing that “Meeting Notes” are, for some reason, Wiki pages and not OneNote documents. There are two types of meetings — those held in a Teams channel and those held outside of a channel — and the ability to get a useful link to the Meeting Notes depends on which type of meeting you have.
Meetings in a Teams Channel:
When your meeting is in a Teams channel, you can use the ellipsis to grab a link to the Meeting Notes location in Microsoft Teams.

This link points to the “Meeting Notes” tab created in the channel. That tab is available without a link, too — so I can access the meeting notes just by going to the channel where the meeting was held.

Meetings Outside of a Teams Channel:
The meeting notes wiki file is stored in your OneDrive. You can find that file by searching your OneDrive for the name of the meeting. In this example, I have a meeting titled “Super Important”. You can right-click on this and select “copy link” to grab a link to the file.

The problem is that it’s an MHT (basically a self contained web page) file. I can give you a link to the file, but it’s not a convenient link to a OneNote page like you’d expect. For some reason, Chrome wants to save it as an EML (email) so the file opens in Outlook (or change the extension to MHT manually). Firefox keeps the MHT extension, and the file opens up in a browser so you can view the notes.
Identifying System-Only AD Attributes
This information is specific to Active Directory. MSDN has documentation for each schema attribute — e.g. CN — which documents if the attribute is “system only” or not.
For an automated process, search at the base cn=schema,cn=configuration,dc=example,dc=com with the filter (&(ldapDisplayName=AttributeName))and return the value of systemOnly. E.G. this shows that operatingSystemServicePack is user writable.
***Searching...
ldap_search_s(ld, "cn=schema,cn=configuration,dc=example,dc=com", 2, "(&(ldapDisplayName=operatingSystemServicePack))", attrList, 0, &msg)
Getting 1 entries:
Dn: CN=Operating-System-Service-Pack,CN=Schema,CN=Configuration,dc=example,dc=com
systemOnly: FALSE;
You can also list all of the system-only attributes by using the filter (&(systemOnly=TRUE)) and returning ldapDisplayName
***Searching...
ldap_search_s(ld, "cn=schema,cn=configuration,dc=example,dc=com", 2, "(&(systemOnly=TRUE))", attrList, 0, &msg)
Getting 189 entries:
Dn: CN=OM-Object-Class,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: oMObjectClass;
Dn: CN=Canonical-Name,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: canonicalName;
Dn: CN=Managed-Objects,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: managedObjects;
Dn: CN=MAPI-ID,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: mAPIID;
Dn: CN=Mastered-By,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: masteredBy;
Dn: CN=Top,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: top;
Dn: CN=NTDS-DSA-RO,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: nTDSDSARO;
Dn: CN=Application-Process,CN=Schema,CN=Configuration,dc=example,dc=com
lDAPDisplayName: applicationProcess;
...
A bad feeling
I used to want to work in the military intelligence field — data analysis, creating response playbooks. As a result, I learned the importance of taking the context of a report into consideration. Some counties have independent media — something bad happens in the USA, someone is bound to write about it. Now there are avenues for suppressing information — some content that will compromise national security is going to have more trouble getting out there than speculation on corporate fraud committed by a president. But other countries don’t. When I was studying history and poli sci, it was Russia that was a concern. And Russian media publications are going to provide state approved news. For something really bad to hit the Russian news, it’s going to be impossible to hide. Think Chernobyl — they’re measuring fallout in Finland. Everyone knows something happened.
And that’s why I get a bad feeling when China reporting “a cluster of pneumonia cases” — a stock the pantry, batten your hatches bad feeling.
Asus Router NVRAM Usage
I had a really strange problem with an Asus router — the port forwarding disappeared. And while I could use the UI and put everything back in, it didn’t stick around. Turns out the NVRAM was full — there wasn’t anywhere to put the port forwarding rules (vts_rulelist). Fortunately, there were a few old DHCP reservations I was able to delete and free up some space. For future reference, the following command reports what is using the NVRAM.
nvram show | awk '{print length(), $0 | "sort -n -r"}' | cut -d"=" -f 1



