I find myself using FindStr on the Windows Command Line fairly frequently. Like grep in a *nix environment, FindStr is a powerful regular expression text search tool. Unfortunately, I can never remember the command line parameters for it. I also wanted a way to quickly and easily open found files. To solve both these issues, I made FindStr Frontend, a simple UI frontend for the command line utility. It's open source and available on GitHub. You can download a precompiled binary here.
Tonight I signed into AIM for the final time using the two accounts I used most during the heyday of the service. To my surprise, there were two people from my buddy list still logged in (although one has a cell phone icon next to his name, which I assume means he is logged in via mobile) but it was otherwise a ghost town. I read in the news that the service is shutting down for good on December 15th, about a week from now. This doesn't come as much of a surprise, as I remember reading not long ago that they had shut off connections from external clients and the only way left to connect to the service was through the official AIM client and website.
It's a non-surprising but still bittersweet end to a service that played a crucial role in the lives of many of those in my age bracket. I could easily have several conversations going at once, while still browsing the web or otherwise being "productive". In the earlier days, cell phones were still prohibitively expensive, and even those of us lucky enough to have one (I didn't get one until ~2001 or so) didn't have plans that allowed excessive texting so it was still a luxury. AIM, on the other hand, was free and ubiquitous.
I still remember when AIM first started becoming the de-facto IM service. The market was already crowded and I had been through several services prior, including ICQ, Yahoo, and MSN, all of which I was also a member. I was wary and didn't want to join yet another service, but everyone seemed to be flocking there, and soon it was clear that this was the only one that mattered. The annoying sounds are still etched in my brain. The door opening and closing as buddies logged in and left. The xylophone sounds when messages were sent and received. Annoying as they were, I knew from the next room over that someone was trying to get my attention. It worked.
When I was in high school, this is how I communicated with my friends into the long hours of the night. Over the summers, we all stayed in touch not by phone or in person, but via AIM. AIM was the medium that kept us together. In college, AIM was our primary method of communication when not in person. Organizing a group to meet up at dinner, or to study? Got a question about the homework? Making plans for the weekend? Just killing time? AIM was how it was done. Even with my roommates and suitemates, who were physically just a few feet away, AIM was indispensable. I suppose it's similar now, with cell phones taking AIM's place, but that portability wasn't there. When you sent someone a message on AIM, you were reasonably certain they had a full sized keyboard in front of them. There was still a concept of disconnecting. There were no offline messages. A buddy was either online or not. It was a stepping stone to the world of today where you're expected to be connected all the time, but we were happy with the tradeoffs.
I made and lost friends on AIM. My major relationships started on AIM. And, sure, if it wasn't for AIM, I'm sure another similar service would have taken it's place, but there's no denying that my life would be a little different today if not for AIM. So many hours getting to know friends, bullshitting, crafting angsty away messages, and even difficult conversations.
I know at this point nothing of value will be lost when the service is shut down. It's probably been 5 years (maybe more) since I last logged in. But I'll look back fondly on AIM as the indispensable service that connected me to my friends for a decade and a half. But life goes on.
It's nice to have a place to write down your thoughts, even if you never think you'll ever go back and read them. I've been using LiveJournal since 2005 to do that (on and off, anyway). Most of my entries are private, the kind of stuff I'd like to only be seen by my eyes, so it's always made me a little uncomfortable that these private thoughts live on some server somewhere, probably unencrypted and readable by some administrator or something. On top of that, LiveJournal was recently bought by a Russian company so US data protection laws aren't even in place anymore.
Given the general decline of LJ and the privacy concerns I had, I decided it was time to move on. I began my search for a replacement platform to store my entries with a specific set of requirements in mind:
Offline storage - While I plan to keep around my LJ for my public-facing entries, I have no desire to continue to keep my private entries in any online service or any place where safekeeping of my data is on anyone but me. So the #1 requirement is something that can keep my my entries local.
Encryption - This seems obvious as well. Even though I'm keeping my data local, it needs to be encrypted-at-rest.
Open, standard formatting - Software comes and goes. A piece of software that seems like a great idea now might be impossible to run or use in a decade. I don't want to have to go through a migration exercise every couple of years. Ideally, I'd like to be able to access my data without any client at all -- why not just a standard text editor?
Simplicity - I don't need a big heavy client with a million features. I just need something that lets me write stuff, and maybe do some basic formatting, bullet lists, etc. Ideally I'd like something that doesn't require an installer. Oh, and of course, it has to run on Windows. I don't care about other platforms.
I found a lot of candidates. One open source solution looked promising, but used a proprietary format (broke #3) and required QT (broke #4). I considered installing Wordpress in a VM, but this definitely broke bullets 3 and 4, and potentially bullet 2 as well. I considered OneNote as a viable solution, but it definitely breaks #3 and possibly #2. Probably the closest I got was Microsoft Word, but a giant password-protected document didn't seem ideal and still broke bullet 3.
The more I thought about it, the more I realized that this shouldn't be hard to implement myself. Why not just store all my entries in an encrypted zip file? This is an "open" standard that can be read and written by plenty of software and even the OS itself. If I did this, I'd be free to choose the file format. And, I reasoned, why not just throw together a quick WPF app to make it all easy?
So I did. It took a couple of hours to get a working prototype and a couple more hours to pretty it up and add a few more features, but Simple Journal came together quickly and easily. The file format is exceedingly simple - a bunch of Rich Text Files inside an encrypted zip using an almost-ISO standard date format for file naming. You don't need the Simple Journal client software to read or write entries, it just makes things easier.
All in all this was 8-10 hours of work to throw together. I decided I'm going to open-source it under the Microsoft Public License (MS-PL) and post the source to Github. I'm in the process of doing this and should have it up in the next few days. In the meantime, you can download the binaries here. No install is required; the only pre-req is the .NET Framework version 4.6.2, which is pre-installed on Windows 10.
There's definitely room for improvement, and I may add features as I get the time, but I never plan on comprimising the 4 bullets above. Design-wise, I took the quick-and-easy route and it shows in the code. There's a lack of proper threading and despite the fact that this application lends itself to the MVVM design pattern, I didn't use it. I'd also like to add search features and a text formatting bar, but it is still possible to format your text using keyboard shortcuts (Ctrl+B for bold, Ctrl+I for Italic, etc). All of this can be fixed/added as time permits, but for now the application does what I want so the rest of the stuff can wait. Porting this to a UWP app for publishing in the Windows Store should be relatively trivial as well. I haven't tested this under Mono (I have no need) but it's quite possible it will work cross-platform in macOS and Linux.
I also wrote some custom code to grab my LiveJournal entries, download them, and convert them to this format, so I've effectively imported all my LJ entries into Simple Journal. I don't have plans to share this code at the moment, but I could be convinced.
Hopefully someone else will find this useful, and if not at least I'll be using it ¯\_(ツ)_/¯
I missed Father's Day by a few days but it's been a long couple of weeks so I like to think that's a pretty good excuse. Anyway, I like to take the day to think about things I did and enjoyed with my dad. This is the first one that popped into my mind, but I liked it.
When I was a senior in high school, I really wanted an arcade machine. I enjoyed them growing up, and it seemed like a fun project to work on one but they were (and still are) quite expensive so it wasn't really something within my grasp. I was watching eBay listings for a while but I never really came across anything too interesting. It was always either too expensive, broken down beyond repair, or way too far away. And then there was the issue of space -- those things are heavy and take up a ton of space. To my surprise, I discussed it with dad and he was totally cool with me getting one for the basement, assuming the cost wasn't too high. So my search continued.
One day I came across an eBay auction (I think?) for a Mortal Kombat machine. It was in pretty good shape, although the guy had done some modifications to it in an attempt to update it from MK1 to MK2, and it wasn't quite done. It was basically an MK2 cabinet with an MK1 board in it. I was fine with this, and the price was right. The only problem was it was in Delaware, and we didn't own a truck. I brought it up to dad, and I still remember his nonchalant reaction. "No problem, I'll just 'borrow' a truck from work and we'll drive out and pick it up. See if you can get it!" and so I did.
The day came for the pick up, so we drove to dad's office and took a truck. I was still too young to drive, but dad seemed unfazed at driving this manual transmission box truck a few hundred miles. I'll never forget when we got on the beltway, the noises the truck made as he shifted gears. It took maybe 45 minutes or so for him to figure out the truck had six speeds, not 4 like he was expecting. I guess we were skipping gears, which the transmission didn't appreciate. The truck was not suited for long trips with two people. It was loud and uncomfortable, and it was also a time before GPS, so my printed Mapquest directions were barely adequate, but eventually we made it.
The guy we bought the machine from seemed unprepared, but fortunately he had a friend over to help us get it loaded. Unfortunately he forgot to secure the monitor to the frame before moving it, so the monitor fell out of the machine directly onto his foot and broke it, so that was cool. He had another monitor handy that he gave me as a replacement, but that was broken too -- didn't discover that until I got home but that is another story. Anyway, after a lot of pain and effort, the machine was loaded and we were on our way.
The drive home was similarly uncomfortable but by now dad had mastered the transmission. We had to get help from some family members to get the thing in the house (and I believe it just barely fit through the door) but we did it. Those things are much heavier and difficult to maneuver than they look, and I think they already look heavy and difficult. I seem to remember dad (or maybe my cousin) saying something like "once we get this thing in it's final resting place, I'm never moving it again". Fortunately I was able to use carpet sliders to get it around the basement.
At any rate, I had a lot of fun with that machine. I did some major and minor repairs and tweaks and learned a lot about electronic repair. I thank my dad for this because I think this isn't something most parents would be willing to do -- the entire process of acquiring it was a pain, it took up a lot of space, and I knew he did it all because he knew it would make me happy.
Today I'm bidding a sad farewell to the AVR that got me into AVRs.
The time was late 2001, and Tweeter (formally Bryn Mawr Stereo & Video) on Rt. 40 in Catonsville was going out of business. The crappy stereo we had was, well, crappy, and it was time for an upgrade. A going out of business sale was just what we needed. I say we, but I'm pretty sure my dad's wallet was not part of the "we" I'm describing. Regardless, I wasn't expecting to get anything from a moderately higher-end store like this. We strolled in to look around and see what was left, and there it was. The Pioneer Elite VSX-35TX. We took a listen and it was beautiful. And the sales guy said if we bought a whole system (speakers+sub+AVR) he'd cut us a deal. Once you heard it, there was no going back. Everything else sounded terrible.
I think in the end, we got the receiver for $425. I have no idea how much the Mirage speakers (which I also love and am still using) cost, but I'm sure it was a lot. But the sound. It was just... beautiful.
I watched countless movies in glorious (at the time) 5.1 surround, thanks to this guy. I listened to SACDs, also in glorious 5.1 surround, thanks to this guy. And then of course, probably more than anything for me, the music. It got loud. Really, really loud. But the distortion never came. I loved it.
The whole system followed my dad around for over a decade until he passed away a few years ago. I couldn't bare to part with it, so I brought it home and hooked it up in my living room with a 5-disc CD changer. It briefly filled the role of my family room AVR before I got a more capable unit, then it went back to the living room. I used it occasionally, but not a lot, until about 6 months ago when Chromecast Audio became a thing. Since then, I've used it quite a bit. At least several times a week, sometimes several times a day.
Then a week or two ago, it started making some horrible noises. I gave it a bang on the side, but no luck. Over time it's become worse, so I finally made the decision to pull the plug and retire it. In it's place sits a Pioneer Elite SC-05, the first AVR I ever bought for myself. On paper, it's a much better receiver; more power, class D amplification, less noise.
I figure since Father's Day is coming up soon, I'd share a story of a good time I had with my dad. I'm not sure why, but this one is the first one that came to mind, so it must be for a reason.
One Friday afternoon, it must have been some time in the fall of 2000, we were discussing what to do with the weekend. I have no idea how I came up with this, but I remember thinking I wanted to go and see a taping of SNL. I knew this required tickets, and I was sure that it would be impossible to get them, but I went and looked online anyway and I found that they had a number of stand-in seats available if you showed up day-of. Being that this was the early 2000s, the internet didn't have a whole lot of information on this beyond what I just wrote. There was a phone number to call to get more info, but if I remember correctly, calls to this number just rang forever with no answer. The website mentioned some random address in Brooklyn, which I guess I had assumed is where you went to see about getting said stand-in tickets, so I mentioned it to dad and he said "well, lets try it."
The next morning we got up, put the random Brooklyn address in the GPS, and took off for NYC. I can't remember if I had my license yet or if I still had my learners permit, but I distinctly remember driving at least parts of the trip. The drive up was uneventful, but I remember showing up to the address I'd found on the website. It was just some random building, with no outside markings to indicate it had anything to do with NBC. We went up and rang the bell, and the guy who came to the door looked very confused when we explained the situation. To our credit, he definitely did work for NBC, and these were some kind of NBC offices, but I later came to find out that the actual process for getting stand-in seats involves showing up at the crack of dawn at 30 Rockefeller Plaza. At this point, it was late morning and we were a good way from Manhattan. So yeah, SNL wasn't going to happen.
Not to be dissuaded by this turn of events, we decided to just go sightseeing instead. I was taking a photography class at the time, and I had brought my camera, so this turned into a great opportunity. We mostly did a bunch of touristy crap -- went to the top of the statue of liberty, visited Times Square, and got some of the best pizza ever. I say "touristy crap", but it was a lot of fun. We ended up having a really good time. I still remember the narrow, twisty stairs inside the statue, and thinking we were never going to get to the top. When we finally did, I took a picture of the skyline, with the twin towers priminently featured. I ended up using that picture in my portfolio for my photo class. I think that binder is still in my basement, and I've been meaning to dig it out. I'll have to scan it in and post it when I do eventually find it.
Holy shit, it's been a year since I made a public update! And the last one was depressing as fuck! Let's work on that.
So I saw a post on reddit recently and it got me thinking. I've always been a big fan of music albums as a whole. Not a couple of good songs, but entire albums as a unit. I feel like it's much easier to crank out a non-cohesive collection of stand-alone songs, but creating an entire album with a general feel to it is much more difficult. There's an art to it. It doesn't even need to be the same feeling throughout. But I love albums the I can just put in and push play and enjoy the entire thing. I guess by extension it goes without saying that I love concept albums as well, but that's not a requirement.
So then I started thinking, if I had to pick my favorite albums of all time, what would they be? Maybe not even necessarily albums that I currently listen to all the time, maybe something I used to love but not so much anymore. And then I started making a list in my head. So here it is...
The Smashing Pumpkins - Siamese Dream If you had asked me in the late 90s what the greatest Smashing Pumpkins album was, I would have told you Mellon Collie and the Infinite Sadness. I was so wrong. Over the years, I've listened to Siamese Dream countless times. I know all the songs by heart, and while some are stronger than others, it really is just a fantastic piece of art. In my mind it's the quintessential 90s grunge album too. Sure, Nirvana might have started the trend, but The Pumpkins perfected it with Siamese Dream. This may be my favorite album of all time.
Favorite songs: It's pretty much all good, but Cherub Rock, Today, and Mayonaise (sic) are probably my favorites.
Paramore - Brand New Eyes I admit I'm kind of embarrassed to put this on here. Paramore is just about as teenage-pop-rock as I can go without gagging, and their newer stuff kind of crosses the line for me. But this album is a masterpiece. The songs are all catchy and well-written and it never gets old. The lyrics are heartfelt and well composed, and I really think Hayley Williams is at her best all around on this album. I really think the Farro bros brought something out of her that was forever lost when they left the band. I don't have a lot of hope for the future of Paramore, but fortunately the world will always have this album to remember just how good they could be.
Favorite songs: The only song I don't really like on this album is The Only Exception. I suppose if I had to pick favorites, I'd go with Careful, Turn It Off, All I Wanted, and Misguided Ghosts.
While I'm on the topic, Paramore's first album All We Know Is Falling is also pretty fantastic, particularly the tracks Pressure and My Heart.
ALSO, if you go to Amazon and search for Paramore's latest album (the self titled one, from 2013) and you click "All Reviews", the #1 "Critical Review" is mine and has been for over 3 years now. So I'm guessing Hayley has probably read that at some point. And she probably hates me. *sigh* I guess we'll never get married now ;)
The Ataris - so long, astoria In all honesty, I could have put other Ataris albums in this slot (Blue Skies, Broken Hearts... Next 12 Exits or End is Forever specifically) but I chose this one because I feel it's the most polished of the three, and also because it's a lot less focused on teenage angst and has much broader themes. I love how it somehow manages to make you feel nostalgic, optimistic, happy, sad, and a whole bunch of other things. There's a few weaker tracks, but in general it's all pretty good. I think most people bought it just for the Boys of Summer cover, which is without a doubt a great song, but there's so much more to this album. I still can't listen to The Hero Dies in This One or Looking Back on Today without getting all misty-eyed. There's only a handful of songs that have that effect on me, and this album has two of them.
Favorite Songs: Aside from the two I mentioned above, so long, astoria and All You Can Ever Learn Is What You Already Know make the list. Radio #2 is a fun song too.
Pink Floyd - Dark Side of the Moon This is the quintessential concept album, and for good reason. I've never heard a piece of music that can take you on a trip like this one. Have a bourbon or two, turn off the lights, and put on Dark Side, preferrably the 5.1ch SACD mix or the Alan Parsons Quadrophonic mix, close your eyes and just listen. I find it more immersive than watching a movie.
In my opinion, this album just doesn't work if you split it into songs. Sure, you'll hear Money or Time on the radio, and they're great songs, but when you take them out of the whole package that is Dark Side, it's just not the same. It's meant to be listened to from start to end. There's just no other way to do it. So there's no Favorite Songs list for this album.
Runner-ups: These nearly made the list and were not already mentioned above: Led Zeppelin IV Van Halen - 1984 Marilyn Manson - Antichrist Superstar Flyleaf - Flyleaf Kamelot - The Black Halo
I've been meaning to write about this for a while now, but better late than never I guess.
Earlier this year, my two year "price agreement" with FiOS was up, and to my surprise my bill jumped to crazy new heights. $150/mo for 50/25 internet and mid-tier TV service, with one HD Box rental and one cablecard? I think it is already a well-established fact that the cable companies rip you a new one when it comes to equipment rental fees, but I was only renting a single box and a cable card. Something had to give. I called Verizon several times asking for them to give me a better deal. The first offer was pretty crappy: $10 off the bill if I sign a new 2-year contract. After several more calls and threats to cancel, I was finally forwarded to retention, who gave me a slightly better offer on a plan with less perks, once again contingent on signing a 2-year contract. I protested, citing the ads that continually flow in through snail mail. $79.99/mo, so say the ads, plus they include phone service, which I don't currently get. "These are only for new customers," they always replied. As if being a loyal customer means nothing.
This was the last straw. I'd had enough, and my goal was clear. How do I win the price war? Not just the battle I'm fighting right now, but the war? After some careful consideration, I figured it out. The key is as simple as the answer to this question: why do the cable companies think they can keep getting away with this?
The answer is simple. They figure we, as consumers, are either too dumb or lazy to switch. And let's be honest, switching is a huge pain, right? It doesn't have to be, if you follow these two simple steps.
1. Get a line for both Comcast and FiOS run to your house, and have the incoming lines installed next to each other. Unfortunately there is no way around sitting through the install process the first time around, but once the line has been run, you're free to switch between services whenever you want, and you don't even need to be around for the installer to come in your house!
2. Own your own equipment. The cable companies make HUGE profits renting them out to you, and when it comes time to switch, you have to go through the trouble of returning it, then getting new equipment from the new provider. But you don't have to do this. Let's go through each of the three services.
Internet: With Comcast, you can buy your own modem at any electronics store. I picked up a Motorola SB6141, one of the best options for cable modems available, for about $80. But you can find modems for as cheap as $30 if you look around. The other thing you need is a router, which again can be purchased from any electronics store. If you're switching to Verizon FiOS, you only need a router, and any router will do. Verizon will tell you that you need to use their router, but you don't.
TV: This one is tricky, but possible. The first option is to purchase a Tivo for your living room, then extenders for the other rooms in your house. This option is expensive: with lifetime service, the main Tivo unit will cost you $500-$600, and each of the extenders will be $150. But keep in mind, the DVR box rental from the cable company is $20, and each HD box is $12, so you should make up the cost in 2-3 years max. The other option is Windows Media Center, which requires an always-on PC in your house with some specialized hardware TV tuners. Each additional TV can watch live or recorded TV with an Xbox 360. Upfront cost on this solution is less, plus you'll have an Xbox 360 everywhere you watch TV regularly (a definite plus), but this solution is more difficult to configure and keep running. With either the Tivo or WMC solution, you'll only need to rent a Cablecard from the cable company. Verizon charges $4/mo for this, while Comcast will actually give you a discount if you use a Cablecard instead of renting a box.
Phone: The first question to ask yourself is, do I still need a home phone? Nearly everyone these days has a cell phone with unlimited minutes. But if you feel like you still need home phone service, there is hope for you. The first option is to use a Voice over IP provider, like Ooma or Magicjack. Both can port your current number, and both will work anywhere that has an internet connection, leaving you free to switch internet providers at will. The second option is to port your landline number over to Google Voice, then forward all your calls to your home phone. This way, whatever your actual home phone number is (as it will change when you change providers), you can always set your pre-existing number to forward there, so you won't need to tell your friends and family your new number each time you switch providers.
And that's all there is to it. Once you've completed these two steps, switching providers is as simple as calling the new provider and asking them to switch their service on, then calling the old provider and asking them to swich their service off. Then you simply unplug the cable from your old service and plug it into your new service. No need to wait around for an installer to come to your house, and now you can always take advantage of the new subscriber pricing. So sit back, relax, and take comfort in the fact that you've won the cable pricing war.
I recorded this year's Super Bowl on my Windows Media Center DVR box and decided I wanted to record it in full quality to Blu Ray. I spent hours trying to figure out the proper combination of software to get this done properly (without audio sync issues!!!), so I'm going to post it here in hopes that it saves someone else some time.
Software you need (all free):
Steps to convert and record:
Find the recorded .wtv file in your recordings folder. Open MC-TVConverter, set the output format to .ts. Drag the .wtv file and convert it to .ts. Repeat for each recording you want on the disc.
Use TSSplitter to join together any .ts recordings you wish to record. Note that single-layer BD-R discs max out at 25GB, but in reality you probably don't want to go over 23 or so.
Once your single .ts file has been created, open it in TSRemux. Check to see if the "Duration" time is correct (sometimes it is off, this is a problem). If the duration time is correct, proceed to the next step. If the duration time is not correct, you first need to re-mux the file using TSRemux. Select output format as .ts, then select the audio and video streams from the list. Make sure "Bypass Audio Alignment" is unchecked, and remux.
Open the joined .ts file (remuxed in the previous step if necessary) in TSRemux, then select "Blu Ray" as the output format. Set the chapter length to the desired length. Select the audio and video streams from the list. Make sure "Bypass Audio Alignment" is unchecked, then run the process.
Open ImgBurn. Choose "Write Files/Folders to disc". Drag and drop the folders created by tsmuxer into a disc in the root directory (BDMV and CERTIFICATE). Enter a disc label and burn.
After a recent conversation I discovered that I had yet to uncover one of the great mysteries of the modern age. We all know that Meatloaf will do anything for love, but he won't do "that". But what is "that" which he will not do?
To solve the mystery, I turned to the research performed by the every-man scholars of Wikipedia and discovered that this puzzle has been solved. The answer lies in the verse prior to "that" being mentioned. Specifically, the 4 things enumerated in the song that Meatloaf will not do for love are:
1. forget the way you feel right now 2. forgive myself if we don't go all the way tonight 3. do it better than I do it with you, so long 4. stop dreaming of you every night of my life
Further, states Wikipedia, "At the song's conclusion, the female vocalist predicts two other things that he will do: 'You'll see that it's time to move on' and 'You'll be screwing around'. To both of these, he emphatically responds, 'I won't do that!'"
So there you have it. "That" actually refers to a number of things, which leads me to believe that the statement "I would do anything for love" is, in itself, a lie. Try not to take it too hard.