I is for … huh?

There’s political correctness and then there’s silliness. Anya’s preschool newsletter said they would be introducing the letters “H” for harvest and “I” for Native Americans in the first half of November. Wait, “I” for Native Americans? Took me a second to realize that they mean Indians. To some extent, I get removing controversial terms – especially at a young age where you just don’t want to get into the discussion around why some people find whatever-it-is to be offensive. But why wouldn’t they pick another word for the letter?! Ice, Ink, Inside, Incredible, Imagine, Infinite, Island … thousands of words that start with ‘i’.

Introvert, Extrovert, And Somewhere Inbetween

I’ve found myself researching how introverts deal with raising an extroverted child. I have no idea how that combination manages. I am not a introvert. I abhorred quiet – my office space was silent most of the day, and I would blast music so I could concentrate. Living alone, my house was quiet — I’d go out with friends after work, come home and turn on music or ring someone up to chat. I got enough quiet in half an hour before bed and a dozen quick walks (outside for the mail, across the car park at the office, etc) to be happy.

Living with another adult reduced some of the quiet times, but not enough that I minded. Having a young child, however, has almost completely eliminated quiet from my life. Relatives purchase loud toys — and laugh about it, knowing exactly how much the kid is going to adore creating cacophony. I feel bad about taking away a beloved toy (or ripping the batteries out of the damn thing), but seriously the ONLY time Anya isn’t talking … she’s got some toy blaring, or the TV is on, or there is some other assault on my ears.

She’s had a few experiences with boys at the playground who were a few years older than her, and VERY rough in their play. She hates it – to the point she’s happy to leave the playground. I’ve tried explaining to her that those boys were putting out a lot more energy than she wanted to deal with. And I feel the same way about her sometimes — I see that you are having fun, but it’s just TOO MUCH. She gets it, and then turns on one of the singing race cars.

I found a lot of articles / blogs / etc from the standpoint of an extroverted parent trying to raise an introverted child — but an adult has the capacity for abstract thought. You can be quiet for someone else. An almost four year old … not so much. My mom used to have enforced quiet – turn off the lights, fire up a few candles, and just relax. Hated it to the point that I, twenty-five years later, cannot imagine forcing such horror on our child … no matter how practical the solution might be. Unfortunately the only other solution I can see is being somewhere else for a few hours each week.

Updated Federal Budget Distribution – 2016

I’d published a breakout of the federal budget … and thought I’d update the pie charts with the 2016 budget numbers. Again, there’s discretionary spending — spending from appropriation bills and the full budget which includes spending for things like Social Security, Medicare, and Medicaid which vary depending on the number of recipients and how much each recipient is being paid. This doesn’t mean the non-discretionary components couldn’t be changed — there’s been discussion of means testing Social Security payments and Medicare eligibility — but these changes are generally considered politically untenable (would you vote for the guy who just reduced your SS cheque because you happened to have a pension or money saved in a retirement account?).

Here’s the full budget breakout, updated for 2016

And the discretionary budget

Change

There are a lot of areas where the trend oscillates between two states. “Cloud computing” is somewhat new and somewhat trendy, but the “computers are expensive, bandwidth is cheap … centralize everything” and “computers are cheap, bandwidth is expensive … distribute everything” states haven’t changed. A VAX with its terminals or a Citrix farm with its thin clients. Better graphics today, but conceptually the same thing. The difference is marketing — I don’t believe they pushed VT100’s for the home market. SaaS has personal targets as well as commercial.

With these changes, there were winners and losers. Mainframes lost market-share as companies deployed desktop PCs. And now desktop PC vendors are losing market-share as “cloud” services become prevalent. Sucks on an individual level — for, say, the people IBM laid off as their mainframe business contracted — but it wasn’t the driving force behind a political movement.

Manufacturing moved overseas. Energy production moved overseas. Some manufacturing (electronics, for instance) are harder to bring back — we simply lack the knowledge and equipment to pick up manufacturing electronics. Beyond that, though, it is hard to compete with someone who can continually undercut you on cost. You can slap import tariffs on everything you see, but the Chinese government can force employees to work for less. And who wants to start paying MORE for the same stuff? That’s the other side of import duties that people fail to talk about — sure we can jack up the price of ‘stuff’ that comes in from overseas so domestically produced items are competitive … but unless you’re getting a serious raise to go with it, that means items become less affordable. Apart from political change, some manufacturing is apt to move back to personal production (i.e. I’ll 3D print any cheap plastic junk we used to ship in from overseas). And that will negatively impact some of the BRIC economies. The move to personal production may benefit American companies — they design the products, license out the print file, and you make it (or use the 3D printer at your public library to print it, or go to the 3D document centre at Staples).

Until about 3AM today, I thought we’d be seeing a similar apolitical shift in energy markets. The renewable energy tax credits got extended in a Congress where even the trivial faced unimaginable opposition. Personal energy production makes electric vehicles a lot more enticing — paying 20$ a week to the petrol station or 20$ a week to the electric company … not much immediate, tangible benefit. But using the electricity that I’m producing v/s paying 20$ a week to the petrol station – that’s a whole different story.

That shift had worrying geo-political implications — the Middle East isn’t stable, but the area is useful and there’s incentive on both sides to maintain some semblance of order. As demand for oil shifts, incentives change. Odd, to me, that someone who wants to levy tariffs to make American products competitive doesn’t agree with leaving tax incentives in place to promote domestically manufactured clean energy solutions. “Clean” coal, sure … but don’t give ’em a tax incentive to buy solar panels manufactured out on the West coast.

 

 

Shocked

I sincerely hope my fear of Trump’s plans prove to be unfounded — hopefully he’s been playing a part during the primaries and general election. Over the top promises made as an act, not because he actually plans to ban Muslims and Mexicans en toto. Or create the Great Wall Prime. Or racial profiling. Or religious tests for entry into the country. Or stop-and-frisk. Or launching military action when another country’s navy makes rude gestures at our sailors. Or any number of outlandish statements he’s made.

And if the current vote totals stay similar once every vote has come in, I hope this is enough to end the electoral college system. If Bush/Gore was not sufficient, I don’t hold out much hope. Especially since I don’t see ANYONE talking about the POPULAR vote where Clinton is leading. The focus is all on the EC points – but I don’t see anyone asking why the EC is there in the first place. But maybe, once the final numbers come in, focus will shift to the system that allows someone to have more votes than their competitors and lose the election.

Ramen Noodles

I found a recipe for alkaline noodles — well, Scott had been craving ramen noodles. And I cannot say I know where to get them. The Styrofoam bowls with paper covers that you peel back and add water … it’s been a while since I’ve been to CAM (Cleveland Asia Market), but I totally know where to get those. But a cheap pack of ramen noodles — I looked around at the grocery store and didn’t find any. I thought they were fairly ubiquitous no-money/no-time/no-cooking-skill items.

So I googled how to make ramen noodles – and it turns out real ramen noodles are alkaline noodles. I found a really good sounding recipe that uses rye flour, and then found a simpler one that I went with (since I didn’t have rye flour on hand). I rolled them out too thickly, but it’s a cool way to make something like an egg noodle without needing eggs.

Walls

I find the idea of a wall to stop illegal immigration to be … beyond silly. As a military barricade — that is, to prevent large-scale movements across a border — it can be effective (it can also be completely INeffective, see: Maginot Line). But if there were thousands of people marching across the Mexican/Texan desert, we could watch for heat signatures & deploy border patrol to intercept. Illegal immigration won’t look like a Mongol army marching across the steppes.

Reviewing walls that have been erected throughout history, the only truly effective method to prevent small scale involves a lot of manpower and a dead-zone. The fourth generation Berlin Wall is a good example of an effective stop to emmigration. But it had over 100 watchtowers in less than 100 miles and several bunkers housing the troops who guarded the wall. There were also two walls with a “death strip” in the middle – material that provided no cover or camouflage for anyone attempting to sneak across. Scaling the Berlin Wall configuration to a 2,000 mile border would require thousands of additional border guards, twice as much material as a single wall, and more than twice the land. Still wouldn’t stop persons wishing to illegally enter the United States from taking to waterways and entering through California and the Gulf coast states. To say nothing of people who come in through proper channels and simply overstay their visa.

But let’s assume that a significant portion of illegal immigration does come by land across the Mexican border at points that are not proper border crossings. For far less than the low-ball estimated cost of a wall being provided, we could have fifty thousand of autonomous drones (I’ve watched enough movies to advocate for unarmed drones) and solar charging stations. Existing border patrol agents would be notified when a target is acquired. Because we have SO many drones available, when a drone acquires a target it would signal for a new patrol drone to launch and then track the target until a border patrol agent detains the person.

If we’re that worried about people tunneling under to avoid detection, add drones with ground penetrating radar. If we’re worried about people coming in through Baja or Corpus Christi, extend the drone patrol line up the coast.

I don’t know if this proposed wall is meant to be a monument to American power (silly, but that’s kind of what the Great Wall is in China) or the sort of WPA project that Republicans actually like. But as an effective deterrent to illegal border crossings, it is an enormous waste of money, resources, time, and space.

Really Wacky Exchange (ActiveSync) Error

My husband changed his Active Directory password. Routine enough – we’ve got 15k accounts at the office and require a password change every 90 days. That’s 150-200 people changing their password every day. They get themselves locked out a lot (mobile devices, cached workstation credentials, and a host of other unique places people manage to store their creds), but it’s trivial to unlock an individual user.

*Except* — after the account was unlocked, his Windows 10 mail client updated properly and was interacting with the Exchange server. Android, however, still wouldn’t accept his new password. If he typed the wrong thing, it would say invalid password. But whenever he typed the right thing, he got an error indicating the phone and tablet were unable to communicate with the server. Which was bogus — I could see the communication coming across the reverse proxy server. With 200 codes — although you can have a very successful HTTP call deliver an application error message. But it wasn’t like he couldn’t COMMUNICATE with the server. He turned sync off on the phones to avoid getting locked out again, and in the process of troubleshooting ended up deleting all of his accounts hosted on our Exchange 2013 server.

I looked through all of the event logs, Exchange logs … nothing interesting. In desperation, I enabled the individual user ActiveSync logging:

Set-CASMailbox mailNickName -ActiveSyncDebugLogging:$true

Had him attempt to add the mailbox profile again, and dropped the log myself:

Get-ActiveSyncDeviceStatistics -Mailbox mailNickName -GetMailboxLog:$true -NotificationEmailAddress mysmtp@mydomain.ccTLD

Bingo! An exception in the provisioning (Microsoft-Server-ActiveSync?Cmd=Provision) call — I see the phone information come across, the mobile device gets partially added to his account (no OS, phone number, carrier type information … but if you go into OWA and remove the mobile device, an Android device gets added). Error:

Command_WorkerThread_Exception :
— Exception start —
Exception type: System.IO.FileLoadException
Exception message: Could not load file or assembly ‘Microsoft.Exchange.Configuration.ObjectModel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Exception level: 0
Exception stack trace: at Microsoft.Exchange.AirSync.DeviceInformationSetting.ProcessSet(XmlNode setNode)
at Microsoft.Exchange.AirSync.DeviceInformationSetting.Execute()
at Microsoft.Exchange.AirSync.ProvisionCommand.Microsoft.Exchange.AirSync.IProvisionCommandHost.ProcessDeviceInformationSettings(XmlNode inboundDeviceInformationNode, XmlNode provisionResponseNode)
at Microsoft.Exchange.AirSync.ProvisionCommandPhaseOne.Process(XmlNode provisionResponseNode)
at Microsoft.Exchange.AirSync.ProvisionCommand.ExecuteCommand()
at Microsoft.Exchange.AirSync.Command.WorkerThread()
Inner exception follows…
Exception type: System.IO.FileLoadException
Exception message: The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Exception level: 1
Exception stack trace:
— Exception end —

Now that is an error I’ve never seen before. As a programmer, I know what it means … you’ve basically got some components that don’t match another. But … huh? He changed his password. Connected to the Exchange server directly (instead of remotely viewing logs & files) and saw Windows Update had dropped files and a reboot was pending. Which … some files replaced, others staged for replacement pending a reboot. *That* is some components not matching others. Rebooted our box, and voila … registration goes through, mailbox sync started.

I don’t know how many people allow auto-updates with a manual reboot on a production enterprise server (we manually patch and reboot during a scheduled maintenance window) where this could happen … but evidently Windows Update can get your Exchange server into a state where already configured clients are able to send and receive mail. But clients are unable to update passwords, and new clients cannot be configured.

Zoneminder Setup

I just installed ZoneMinder tonight. I don’t know if I missed a section in the documentation or something’s just missing — there’s doc for getting the build onto your box (or building your own from source). I didn’t want to install the package and all of its dependencies from their repo, so I manually installed the prereqs from the standard Fedora repositories. Installed the zoneminder rpm and switched from the ‘installation guide’ to the ‘user guide’. Which starts out on a web site. Umm … what web site? There’s definitely something missing here. Their package drops a config file in /etc/httpd/conf.d … *but* it presupposes that it is a dedicated server (which, in fairness, is the recommended configuration).

I edited the zoneminder.conf file and threw the whole thing in a VirtualHost tag, added an SSL cert for the hostname I’m using, and restarted Apache. OK, that’s better … I get *something*. Unfortunately ‘something’ is a massive MySQL error.

Some searching (rpm -ql zoneminder, then search through the files the package installed for something that looks good) yielded a config file at /etc/zm/zm.conf. Went in there, defined a database, user, and password. Created said database & user in mysql & assigned rights. Umm, stranger database error that leads me to believe the database hasn’t been initialized. Oops. LMGTFY. Found a SQL file at /usr/share/zoneminder/db/zm_create.sql and imported *that* … wasn’t sure if it was as simple as changing the zm database name in the SQL file to what I wanted or not, so I just used their default database name. Went back into MySQL and assigned the user I’d created earlier rights to the zm database and dropped *my* database. (Note, if you don’t use PHP date ‘stuff’, you may need to define the time zone in your php.ini file … I’d already set a default for other purposes).

Refresh and voila, I’ve got a system. You’ve got to click ‘start’ at the top for it to, well, start pulling in video feeds. I set up a VERY basic link to our WansView camera — ffmpg type, source is the full videostream.cgi URL, and remote method is “RTP/Unicast”. I can now see the video from our camera via the web site. WooHoo!

Now we need to get the motion detection set up & play with all of the options 🙂