Archive for category Uncategorized
Android vs iOS A Mini Review #2: Music
Posted by Ryan in Uncategorized on May 16, 2012
This post will definitely not be a “which is better” post, because it 100% depends on what your music situation. They both can be just as decent depending on how you have your music library setup.
The “Cloud”
Cloud computing has dramatically changed the way we think about using consumer products. Now, the cloud has been around for a long time, but the term didn’t really gain a lot of popularity until the last several years when companies really started embracing it.
Companies have brought us a new option for storing music by taking advantage of the cloud. Google, Amazon, and Apple now offer music storage services on their own services, and as long as you have an internet connection you should be able to access your music.
Not all cloud music services are created equal however. Apple charges 25 dollars a year for their music storage solution, but they claim one feature that Amazon and Google currently do not (as far as I know). Apple’s match service allows a user to upload their iTunes library to Apple’s servers. They will scan each song, and if they have that song in their library, they will provide you with a 256kb version over the version that you have. If they don’t have that song in their system, then they will upload your copy.
Google and Amazon offer 5gb of free music storage and they will upload all of your music, providing they are DRM free. I’m assuming if you bought music from their stores than they might be an exception.
I have my music, mostly, on all three services. Yes I paid Apple to store my music, but I’m also an iPhone user and have a MacBook Pro, plus a PC and thought it would come in handy. I only used Amazon’s music service so that I could access my music from my Kindle. It seemed to work fine. I wasn’t able to find a Google made music app for iPhone, but a third party app seemed to work alright as well. When I had my Droid X, there was a really decent Google Music app made by Google that I used frequently. A plus to Google Music is the fact that it has a web interface, so you can access your music from any computer that has an internet browser. There were times when the music would cut out on the website and just stop playing, but I wasn’t sure if that was Google Music or something on my system.
Apple’s iTunes match has no web interface, and requires you have iTunes or an iOS device to access your music in the cloud. It was really nice to use on my Macbook since I had installed a 128gb SSD and really didn’t want to use up all of the space with my music library. I could just stream the music from the internet via iTunes.
iTunes Library
If you don’t have an iTunes library, have no desire to ever have one, will never have an iPhone, iPod, or iPad… skip this section, it probably will never apply to you.
Now if you do have an iTunes library, syncing with the latest iOS is really nice. You can use iTunes match and never sync and just choose what songs you want to play and stream them, but personally I like having my library on the local device. (My iTunes library really isn’t that big so I can afford to use my iPhone’s storage). With iOS, iTunes can be synced either via wireless or via usb cable. There are some settings in iTunes but its simple.
Syncing with Android is possible, but when I first attempted it, it didn’t work very well. That could have been because of my Droid X, I’m really not sure. Android users need to install a program on the computer with their iTunes library called DoubleTwist, and install the app on their phone. Also for like 5 dollars you can sync wirelessly. This application will sync your iTunes drm free songs with your Android device.
Android Storage
If you don’t have iTunes but still want to store music locally, you can. It’s as simple as copying and pasting to your phone. I won’t go in to too much detail as there are probably 1000 ways to do it.
Conclusion
If you have an iTunes library, then iOS… if you don’t have an iTunes library then Android, unless you take the cloud storage option. It all really depends on your situation, and neither is really better than the other in this case. No matter what, if you want music stored locally on your iOS device, you must have iTunes, while on Android there really is no application requirement.
Member Statements: An Annoyance of Converting to a Different Core Account Processor
Posted by Ryan in Uncategorized on April 21, 2012
A few years ago I was hired at a local credit union right before they were getting ready to convert to a different Core Account Processor. My primary job at the time was to make sure all of the desktops were up to date so that the new software would work… My role changed a little after the conversion.
Getting the Member Statements from the Old Processor
We probably waited months before we received the statements from the old processor. The format in which we received them was absolutely grotesque. There was one file per year. What I mean is that EVERY member statement for EVERY member for a specific year was in one text file. These files were about 512 mb which meant that Notepad couldn’t open them, non of our employees could open them. In the beginning I had to install Notepad++ and order more RAM for my computer just so I could retrieve a statement for someone. The old processor had recommended that we pay several hundred dollars for a piece of software that should be able to open these files. That was not going to be an option for us. So it was decided I would use my computer science and python skills to try to parse these statements.
Parsing Those Member Statements
At first glance, using notepad++, these files had nothing that made it obvious when a statement was finished. Also, important info like member name and account number was not always in the same place on the statement, so capturing that information was incredibly difficult. Since Notepad++ was also chugging trying to open these files, I installed gVim, which is an offshoot of linux’s vim, made for Windows. gVim was able to see a lot more data in these files and I was able to find something placed in between every statement. At the end of each statement was a hidden escape character. I had something to parse on now! So I wrote my python script to dump each statement to a file and named it by account number. This process still wasn’t easy. Getting those account numbers was extremely difficult. So I had to write a lot of code to constantly correct for the location of the account number in each statement. I named each statement in the following format, ####MMYYYY.txt where # equals the account number, M = month, and Y = year. Anyways, I was able to get over 1 million statements parsed.
You Have All These Files, Now What?
Once the files were parsed, I tried to make them available to the employees, so I wouldn’t have to constantly take in requests for a statement. So I placed them on our server, which was a big mistake. Windows had a LOT of troubles trying to display that many files in Explorer. I tried putting all of the files in folders by year and month, but it didn’t work. The server would get laggy, people’s desktops would get laggy trying to load all of those files. So my solution? Build a web app.
The Web Application: Version 1
I felt that IIS and Windows wasn’t going to be a good solution to start this, mainly because getting Windows to do CGI scripts in that past, was kind of a pain. So I found an old desktop and installed Ubuntu Server, Apache2, and Python. I knew that writing a script to search the file system was going to be incredibly I/O heavy, especially for this desktop machine that was only a P4 and had 1GB of RAM, so I knew MySQL would have to come in to play for this. So I wrote another Python script to go through all of the statements. This script recorded each file’s account number, month, year, and file location, then uploaded that information to the database.
So to allow employees access to this information, I wrote a Python CGI script that would allow them to type in a member’s account number and select a year. Then the script would display all of the available files for that search in a table, with a link to each file.
For security reasons, I setup Apache to authenticate with our Active Directory server, so if someone from outside, somehow managed to connect to our network, they wouldn’t be able to access those files without logging in.
Also, this server WAS NOT accessible from outside the credit union. You SHOULDNT DO THAT UNLESS YOU KNOW WHAT YOURE DOING.
This proved to work fairly well, but I never really liked it, it felt clunky, I didn’t feel it was secure enough, so a year and a half later, I upgraded it.
The Web Application: Version 2
Since the original version of the web application, I had learned more about MySQL and PHP from my computer science classes. I decided to rewrite the entire application in PHP. This allowed me to add more features to the application, such as the ability for employees to upload more files for members, such as signature cards, etc. Since I already had the database setup, I just had to rewrite the code, to make the application look better, and also switching to PHP caused the application to actually run a lot faster than its Python counterpart.
For authentication, I was able to go away from using Apache’s authentication configuration and wrote the authentication right in the application. The application still authenticates with AD. Another security feature I was able to add, was logging. I now keep logs of who accesses what statements, and who fails at logging in (using a wrong password) and who successfully is able to log in. Since I had changed how the application logged in, I had to lock down the directories that stored the statements, so they wouldn’t be accessible from the web. I had to change how the application provided the statements. The application now would have to read the requested statement and print it to the screen, rather than letting the users’ browser open a text file.
My solution is good for in house, and I would never feel comfortable placing it on the internet. This is an intranet only solution, and in my opinion, the members statement is completely secure.
If you would like more information, or even my assistance in setting something up like this, feel free to email me at support@rychannel.com.
A Class Not Quite Like Any Other…
Posted by Ryan in Uncategorized on December 13, 2011
Monday was the final time spent in my German II class and my final German course during my college career. A year ago when I had to sign up for a foreign language course to satisfy the 2 semester requirement at UNI, I was absolutely dreading it. However, at this point I think it was fate. I almost didn’t sign up for German. Since I had taken a year of Spanish in High School, I was going to go that route, but online reviews of the professor were less than satisfactory. So I ended up in German I.
This class had been like no other. We had people from totally different majors with totally different personalities. Most of us spent 5 days a week with each other. The first couple weeks seemed almost dreadful as everyone was learning each other names (in German of course), yet no one could remember my name. I was feeling isolated from the rest of the class, but that didn’t last long. There was one day when someone started sitting next to me, and I started to feel that I had made a friend. Shortly everyone began coming together. It was almost a strange kind of family and closeness that I had never seen in any other classes. If somebody missed a class, it was most certainly noticed.
In the beginning I think everyone was a little bit shy about speaking out loud as we were fearful that we’d be judged by our peers. But we realized that we were all in this together and there was no reason to be afraid.
We were very lucky to have the instructors that we did. They new that it was difficult to learn a new language and although they did challenge us, they were easy on us as well. They cared about whether we understood the material, and made every effort to make sure we understood.
One of the instructors, was a TA from Russia, who taught us twice a week during our practice course. I still remember the first day he was in front of the class, you could tell he was a little nervous, but he quickly got over it. Sometimes I feel he learned as much about English as we got to learn about German from him.
When second semester started this fall we had quickly noticed that we had gained a few new classmates while losing a few from the previous semester. We had even gained a new TA from Georgia (the country, not the state, and no we still had our Russian friend).
At first it seemed almost awkward to have this minor change of classmates and instructors, but they joined our “family” very quickly.
When I woke up Monday morning, I felt a certain sadness. I had been seeing most of these people for 5 days a week for 2 semesters and I wouldn’t be seeing them anymore.
As a final message to my German classmates and instructors: You are a fantastic group of people, and I have felt truly honored to have been able to take this journey with all of you. Although I probably won’t have classes with any of you next semester, I hope to see you all very soon.
Android App, TipTable Calculator has been released.
Posted by Ryan in Uncategorized on November 20, 2011
Need a nice simple tip calculator on your Android device? Then check out TipTable. I will be updating the app periodically. If you have a feature request please email me at support@rychannel.com or leave a comment at the end of this post.
You can find the app here.