Category Archives: Technology junk

I’m a SAN administrator. Stuff relating to system/network/storage administration goes here.

The Sad State of Portable Music

The first tape that I bought with my own hard earned money in my life was Tiffany. I was 8, and while I liked the genre that would ultimately become my lifeblood (hard rock) on this particular day at Meijer in Kalamazoo MI I was choosing Tiffany.

It was great, I could shove that tape in my Walkman, put it in my pocket, listen to it over and over again anytime I wanted. At home on the high speed dubbing dual deck recorder my parents had I could create myself mix tapes, it was remarkable how easy it was to have whatever music I wanted at my fingertips anytime I wanted it.

25 years later, we’ve inherited the World Wide Web, LiPo batteries are keeping our portable devices online for days instead of hours, Amazon’s MP3 store has over 20 million songs available for download at a moments notice, Iron Maiden is still rocking your face off, and I find it difficult to listen to the music I want to at the gym – wut?

Before leaving for the gym today I downloaded a new installment of Voices of Trance from the Generation Trance forums. I’ve been listening to the same old totally awesome playlist on my phone since I bought it about a year ago. It was time for a change. In the past when I wanted change I figured the easiest way was to download one of the frequent installments from DJ GT or AVB as they’re always great to exercise too and obviously full of variety. You get to download and prepare an hour or more music in one big song as opposed to having to create a new playlist by poking through your library of 20,000 or so MP3s and hand picking stuff. By the time you get to the 6th or 7th song with the latter method you find yourself not even caring what you’re picking, you just want your music on the device so that you can get moving.

About 3 months ago I’d say Verizon, or Motorola, or someone was courteous enough to get my phone upgraded to the newest available version of Android, Ice Cream Sandwich maybe? I don’t know and long quit caring following the dumb candy versions of Android. I have expectations of my handset and no longer care what OS is underneath making sure those expectations are met. One of the features of the newest update on my phone is they took away my Motorola music player and replaced it with “Play Music.” To thus point I’ve used the sluggish app to pull up my old playlist and play it, a task it was up to although admittedly cumbersome at succeeding in. Today I wanted to generate a new playlist with my new music. I fiddled around on the app for at least 90 seconds trying to find the “new playlist” button and was met with ultimate failure.

My defeat caused me to be distracted for the remainder of my gym session. I spend the entire time thinking about the last time I was this disappointed in a portable music device – it hasn’t happened ever. I thought to myself, maybe I should be carrying my other phone (an iPhone5) but immediately recognized that I haven’t the foggiest idea of how to get MP3s from my computer on to it being that iTunes on my computer is absolutely out of the question.

I wanted to create a chart with my own subjective views on some different capabilities regarding portable devices of my past:

Date (approx) Music Web Phone Total
Original Walkman 1988 5 N/A N/A 5
Panasonic Portable CD Player 1994 7 N/A N/A 7
Ericsson Phone 1996 N/A N/A 5 5
Nokia 6120 1998 N/A N/A 8 8
Creative MuVo TxFM 1999 8 N/A N/A 8
Kyocera Slider 2001 1 0 9 10
HTC Apache 2006 4 4 4 12
HTC Elf 2007 6 5 5 16
HTC Diamond 2 2009 6 6 5 17
HTC HD2 2010 8 8 8 24
HTC Inspire 4g 2011 9 8 9 26
Motorola RAZR Maxx 2012 4 7 8 19
iPhone 5 2013 2 10 10 22

So there you have it, some things get better, but inevitably everything will get screwed up. Granted this is very unscientific, but for each item I can explain my reasoning in the scoring. I’m not surprised that my HTC HD2 and HTC Inspire 4g phones ranked better than the 2 I’m carrying today, they were both much faster on Android 2.x than the current brick. The iPhone is great but can’t compare musically because I’m unwilling to accept that such a great device should require me to go to a site with “hack” in the URL to get music on it.

“Why don’t you stream from di.fm or Pandora?” – The gym has poor cell coverage, neither AT&T nor Verizon is good enough inside the walls of the gym. Beyond that, I do have data limits, something neither Google Play nor ITMS care to concern themselves with for the current consumer apparently.

My Amazon research has led me to the SanDisk Sansa Clip+. I’m hoping it’s adequate. If not I guess I’ll pull out the old Creative MuVo with it’s massive 1GB of storage. Honestly, that’s about it’s only downfall when compared to music players over a decade newer. Shame on you consumer electronics companies.

Bareos and free open source backup for MSSQL

Here is my way. I’ve actually had this up and running for some time in another environment using SQL Server Standard 2008. I’m not in need of configuring a new backup for a 2012 SQL Express instance. There are a few parts, obviously. This article assumes you can configure a Bareos Windows client, if not there are plenty of other tutorials to help with that.

Part 1 is to create a sql command that will backup your databases to a file in the location of your choosing. I choose to keep all of my scripts as well as backup files in the same location so that if I ever have to restore I can figure out what it is exactly I did to get the backup working in the first place.

  • Launch SQL Server Management Studio (go get a cup of coffee while you wait for it to load)
  • Connect using whatever credentials give you some pretty hefty rights to the database or databases you want backed up.
  • Drill into the Database server, Databases menu items, then right click on the database you want to work with, select Tasks and Back Up…
  • The only thing you should have to change in the resulting dialogue is where you want it saved. The default will work fine, but as mentioned I recommend keeping backup scripts and backup files in 1 easy to find work area. For me it’s going to be nice and easy “c:\dbbackups”. There may be performance or capacity implications you’ll have to take to mind in your environment. Also if you do like me and create a folder at the root it’s a good idea to pair back the root permissions on that folder.
  • Don’t hit OK, that will back up your database, not necessarily what you want now. Tap the down arrow near the Script button at the top of the dialogue and choose “Script action to file”. For me I’m putting it in the folder mentioned before.

Step 2 is to create a script or batch file or something that Bareos can call to have the backup run. The file you execute should not complete until the backup file is created so that Bareos doesn’t try to backup the file until it exists. I believe Bareos even halts and “fails” the backup if the return status from the script is not 0, I’ll probably verify that later. Mine is a simple file that deletes yesterday’s backup then creates today’s backup:

erase "C:\dbbackup\*.bak"
sqlcmd -E -i "C:\dbbackup\backup.sql"

I could add more logic here, but it seems I don’t need to. This has been reliable for me in the past.

Next Step is to configure the backup FileSet, Job and Schedule. Here are what mine look like:

FileSet {
  Name = "c_dbbackups"
  Include {
    Options {
      Signature = MD5
      Drive Type = fixed
      IgnoreCase = yes
    }
    File = c:/dbbackups
  }
}
Job {
  Name = "hostname_db"
  Type = Backup
  FileSet = "c_dbbackups"
  Schedule = "NightlyFull_2000"
  Storage = File
  Messages = Standard
  Priority = 10
  Pool = Database
  Client = "hostname-fd"
  ClientRunBeforeJob = "c:/dbbackups/backup_db.cmd"
}
Schedule{
  Name = "NightlyFull_2000"
  Run = Level=Full sun-sat at 20:00
}

The obvious key component is the ClientRunBeforeJob directive in the Job definition. This makes sure to run the MS SQL backup prior to running the Bareos file backup.

I should mention the reason I’m doing Full nightly… obviously this method could be renamed cheapass backup. As such there is no interaction between the actual SQL backup and the file backup Bareos is performing. You could do a differential backup (and I have in other installations where bytes are more scarce and databases are bigger) but the actual differential part of it is done way back in step one when you’re creating the MSSQL backup script. If you do this I recommend backing up to a separate file in that same all encompassing directory, that way all the crap you need is there, the scripts, the full, and the diff. If you’re backing up a 500GB DB and you only have a couple T to store to… you’ll have to do something like this.

And then we test… Did you expect this error, I did?

ClientBeforeJob: The server principal "NT AUTHORITY\SYSTEM" is not able to access the database "DATABASENAME" under the current security context.

So last step is we have to run that .CMD in a security context that has rights to backup the database. The easy solution is to go back into your SQL Server Management Studio, expand the DB server, Security, and Logins then right-click on NT AUTHORITY\SYSTEM and open the properties dialogue. In there highlight Server Roles in the left pane then check sysadmin in the right pane.

 

After this you can login to BAT or bconsole or however you choose and test your job again.

Of course even if it appears to work, you should test your restores, which is a whole different ball of wax. If you’re lucky like me you have a test server that you can do your restore to since testing restores on a production MSSQL system is an absolute bear. Remember, if you haven’t tested restores, you don’t have backups!

Ghastly cursor performance XenApp 6.5 –> RDP –> 2012 Server

Unfortunately since XenApp 6.5 doesn’t support 2012 we’re forced to use RDP to access those desktops instead of just publishing them as desktops. It sucks, but it is a tolerable situation – until you actually do it. The cursor performance for me by default was terrible. I felt like I was working on an X-client hosted from Germany. Typical behavior for the cursor when in an RDP session is that it moves as fluid as on your own desktop, not so with 2012. I thought maybe the solution was to upgrade to Remote Desktop Client 8 on the XenApp host since RDPing straight from my PC (across the Internet) yielded fine results. That had no useful affect. The solution ended up being a simple UI change on the client end.

 

“Enable pointer shadow” UNCHECK IT! Night and day, try it.

As a funny aside, if I had a 2008r2 RDP window open inside the 2012 RDP window, the behavior inside the RDP inside the RDP was normal and good. Once I “cursored” out of the RDP inside the RDP into the upper level RDP behavior got funky again, whatever.

Quickbooks Save as PDF on Server 2012 or Win8 — my method

Apparently the XPS driver changed in Win8/Srv2012 such that QB 2011 and beyond get the following error (or something like it) when trying to save invoices as PDF or E-mail:

If you’re using QB 2013, just update to the latest release using the “update QuickBooks” option under the help menu and everything should *just work* without any voodoo. I have to support QB 2011-2013 so I unfortunately didn’t have that easy option. For the older versions you can google a good handful of sites with troubleshooting and remediation processes including QB own documentation. None of the few I researched helped me, but logic and simplicity prevailed.

  1. In my case – get the users out and `change user /install` since I’m on a TS
  2. Delete the Builtin “Microsoft XPS Document Writer” printer as well as the associated driver “Microsoft XPS Document Writer v4″ (a reboot may be necessary after deleting the printer to get Windows to let go of the driver files)
  3. Reboot now – just for good measure.
  4. Get your hands on the older version of the driver. It’s spread about on the Internet, google around. Unzip it to somewhere that you can access it.
  5. Add a new printer.
    1. Choose a local printer
    2. Create a new port of type “local port” called “XPSPort”
    3. Use the driver in the folder you unzipped
  6. Test

This worked for me. If you have trouble shoot me a message and I can maybe help you figure out what’s different between our systems. I am surprised by the amazing number of people who have made the process way too complicated.