I love SVG. I remember when I first heard about it (in 2002) and I just loved the idea. Images made of text! I remember being excited about generating images with dynamic data from my server-side code. I didn't have a problem that I could solve with it yet, but that didn't stop me from immediately buying two books on SVG ("Teach Yourself SVG" and "Designing SVG Web Graphics").
I have had my media server running for a few months now, so I thought I would document how I have it set up in case anyone else wanted to follow along.
The What and The Why
I have read several articles on media servers and most of them do a lousy job explaining what one is. Instead of trying to define a media server (and almost certainly failing badly), I will describe some of how I use mine.
Before I get to the fancy uses, let me start with the most basic. For anyone who remember VCRs, you will remember how you could stop your movie in the middle and take the tape to another player and start playing from where you left off. With a DVD, you can continue where you left off but only from the same player. With movies on my media server, I can play them on any television in the house (or even an iPad) and start where I left off from any one of them to any other of them - whether I am still at home or not.
My media server allows me to have one place for all of my movies and television shows that I have on DVD, all of my music, all of my photos, all of my audio books, all of my home videos. I can then access any of these from any television in my house, any computer, any of my Android devices, my iPad, my iPhone (yes, we actually use all of those). I can access any of this data on my mobile devices (tablets and phones) whether I am in the house or not. I can either use WiFi or mobile data to access them or I can download any media to any device (with minimal effort) before I travel and watch it without data usage.
This means that when we travel, we can watch a DVD movie on our iPad from our hotel even if we don't have internet there (so long as we thought to download it before we left) or any movie we have anywhere we do have internet. With two five year old kids, this has proven to be wonderful. We can pull up a movie in the car if we need to (we generally don't, but there have been times that it has been comforting that we could).
We can even share any of this media that we choose with anyone we want who has a (free) Plex account and a way to view Plex, whether or not that have a media server themselves (this serves as a Spoiler as to what software we use for our media server).
The answer always seems obvious once you find it. One of our clients had one of their server start going down nearly every day. It quickly escalated to happening about twice a day.
We looked at recent commits for anything that could have caused a problem and found nothing. We verified that the code on the server that went down matched the code on the other servers in the cluster and that all of the server settings were the same. When we took down the offending server, another server started going down instead. At that point, we knew we were likely facing a code problem.
The site in question is one we inherited from the previous vendor, so we had no instinctive sense about where the problem might be. Fortunately, we have a good process for tracking down these sorts of problems.
One would be forgiven if they mistook DataMgr for abandoned software. After all, I announced work on DataMgr 2.5 back in August of 2009 and come February (now March) of 2013 and still no official release of 2.5 and no word since DataMgr 2.5 Beta 3 was released more than a year ago. Well, that changes here.
So, my last blog entry was about my needing a developer to help me out. I found one and he is great. I just have even more work that needs doing.
At this point, I am looking for a 1099 contractor, not a W2 employee. I need someone with current U.S. residency, but I don't particularly care where you are located. All work is remote.
In less than 3 months, I will have been working for myself for 10 years. In that time, I have mostly been able to keep up with client demand on my own. This has been by a combination of hiring occasional subcontractors and turning away business.
Now, however, I have too few clients to turn away and still too much work to handle on my own.
Happy Ground Hog's Day! It looks like I have completely stopped releasing open source project lately. Hopefully I can get back on track.
More than a year after releasing DataMgr 2.5 Beta 2, I am finally releasing DataMgr 2.5 Beta 3. So, what took so long? Neglect, basically. I have just been busy with other things.
Even so, I think this is a very good release and should be a close match for the final release of version 2.5.
I realize I haven't blogged about Neptune for a while, but I actually have been making progress on it. I have just been finding a hard time making time to blog. Hopefully I will get better about that.
What I want to cover today is the process of writing automated tests in Neptune to which you can then write your code.
Years ago when I started learning VBA for Excel, I was reading a book by John Walkenbach and he compared learning macros in Excel to using a remote control - once you learn it you don't know how you lived without it. I would say that is true of scripting in general.
The bad news is that programming is also like using a credit card, inasmuch as you can get yourself into a depth of problem just not possible without it.
I got experience with that first hand recently when one small programming mistake caused a bit of a disaster on my computer.
Fusion Authority recently ran an article called What's Hot? What's Not? Where Do We Go From Here? subtitled "What technologies, other than ColdFusion, should a developer know?". Mike Henke followed up the theme with a post called "What's Hot & Where do we go from here?".
I'm pretty sure I don't have the insight that other people have who have already written on the subject. But it seemed like a fun exercise, so I thought I would toss in my two cents with:
What technologies, other than ColdFusion, am I learning?
I'm not sure what technologies you should learn, but here are the ones that I am learning: