Archive

Posts Tagged ‘Coding’

Senior Design Project

October 16th, 2010 No comments

Let me start somewhere close to the beginning of the semester for this story. Our group picked the “Patient Database Administrator” project, thinking that we would be building a full tool for docs to access all their patient records. Yes, in retrospect that sounds too HUGE to be able to do in a single semester, but that’s what we were thinking. We then, before meeting with our client, found code that a previous group had built for this same project, and assumed they were related. At this point, it is 2-3 weeks into the semester, and we still haven’t had an opportunity to meet with our customer!! Once we finally did (for 3 HOURS on a Friday night!!), we managed to make clear the purpose, goals, and scope of this project: create a custom form generating engine that our customer can plug into their overall tool to take all patient records and forms online (including managing the hospital as well).

This project description is of smaller scope than even by the end of that meeting, but we managed to make it more concise over the following weeks, which was nice. Let me describe our customer for a moment though. He is a big-thinking Neurosurgery doc who is finishing up his residency (in the final 2 years I believe) at Emory University Hospital. When I say big-thinking, I mean he sees the big picture very clearly, but doesn’t see all the little steps to get there at the same level as the people he has gotten to accomplish them. This lack of seeing eye-to-eye on many of the technical matters means that we senior design groups receive emails that regularly change, or attempt to alter, the direction we are headed with this project. Some examples include the frameworks we are using have been changed multiple times, typically with more added rather than our overall structure being simplified, and our technology choices were limited to some proprietary software (Flex, which is Flash) that we have to use FREE TRIALS to be able to code in for 60 days. Don’t get me wrong, Flex will likely make coding the front end a lot easier, but that doesn’t mean that it will make our lives easier as a whole since we have to use a framework called Mate with the Flex UI… it’s basically a wreck right now with us trying to put together enough pieces that we can get things rolling so that we can meet deadlines. A minor detail to add, being asked for working prototypes when we haven’t been able to get any real coding done yet, and being asked for the same documentation that has already been sent out, is really annoying from a team managing perspective. Really doc? I sent you those docs about 3 weeks ago!!!

Anyway, we have a lot of work ahead of us. Here is a quick breakdown of the technology limitations and our deadlines for production:

  • Java back-end
  • Hibernate to communicate with the DB
  • Flex UI
  • MySQL DB (ended up being the better choice out of the options, we got lucky here)

Milestones:

  • Start of semester: 8/23
  • Picked project: 8/29
  • Met with customer: 9/10
  • Met with DB professor on campus to discuss our design (and he loved it by the way): 9/24
  • Documentation due date and group presentation to class (end of Sprint 1): 9/27 — we were supposed to have started coding at this point, but didn’t have the time because we met so late with the customer and had so much documentation to do in the limited amount of remaining time for Sprint 1.
  • Upcoming, end of Sprint 2: 11/1 — we plan to have a prototype in place by then, but feel woefully behind because we had so much trouble setting up our local development environments. Really cost us on time!

So we have time to get things done, but are going to have to really push it the next 2 weeks to meet our planned deadline for a working prototype.

Installing cx_Oracle on Windows

July 28th, 2010 10 comments

Almost 2 months ago, I started on a project that required the use of Python and access to an Oracle database. It took me multiple days in a row to finally get it up and running so that I could actually make progress on the project, but once I did, I thought nothing of finally getting it to work. However, I was recently approached by another person at work who had to use the cx_Oracle package to access an Oracle DB through Python, and realized the value of actually putting together a post about the steps required.

First off, it is really easy to get it running on Linux. I mean super easy to get Python and cx_Oracle up and running. Secondly, I have an XP machine at work, so no guarantees that this will work with all other Windows Operating Systems until I get to test it on one (not possible till about September at the earliest, I’ll put a todo item in my calendar to try to remember to do it).

Alright, down to the nitty-gritty of it. You first need to install a recent, if not the latest, version of Python, if you don’t already have it of course. When I was installing it on my work computer, that was Python 2.6.5. Now that would be Python 2.7, but since Python is intentionally backwards compatible, it SHOULDN’T matter. For installing Python, be sure to follow one of the many Python install guides available on the web, but the quick run-down of the install process is:

  1. Install Python.
  2. Edit your environment variables to add the Python directory to your PATH variable and create a PYTHON variable. I will cover editing/creating Environment Variables with the later part of this guide because you will have to do it again for cx_Oracle.
  3. Code in Python (you can use an IDE like Eclipse, or a regular text editor like Notepad++).

Next, run the cx_Oracle .msi installer for your particular Windows install. Now that was the easy part.

Next up is the part that most people seem to miss, having an Oracle client on your local machine. Oracle suggests the use of the Oracle Instant Client (updated link thanks to Tim in the comments), and that’s what I used this time. Oracle’s instructions seem to have improved since I first installed the Oracle Instant Client, but that doesn’t mean they are easy to follow.

  1. Go download, and unzip, the Oracle Instant Client from here.
  2. Put it in a place on the C:\ drive that is easy to find/access later (it’s a drag and drop procedure for getting the files there, no installer). My suggestion is to create a directory called Oracle, and place the instantclient directory in there. This way, my path to the Instant Client directory reads “C:\Oracle\instantclient”.
  3. Add this guy to your PATH Environment Variable. You can get to the Environment Variables by right clicking My Computer, select Properties, go to the Advanced tab, click the button that says “Environment Variables”, and now we’re here. From the Python install, your PATH variable (in the user variables section, not the system variables) should already exist from you creating it as “C:\Pythonxx”. Now, add that directory location from step 2 so that the PATH variable reads similarly to mine, which is “C:\Oracle\instantclient;C:\Python26″.
  4. Now you are going to need a tnsnames.ora file. For those of you that don’t know what that is, read here. The company I work for fortunately provided me with one, so I didn’t have to make it from scratch, but basically they contain your connection strings to the different databases you are going to be accessing. I saved mine to “C:\Oracle\network\admin” just for easy memory (and because that’s where someone else’s was when I asked). I hope you didn’t close the Environment Variables screen, you’re going to need it again.
  5. Lastly, you need to add the TNS_ADMIN variable with step 4’s path in it.

You have now installed cx_Oracle successfully. To really test it, you can open up a Python command prompt and run the following lines of code to test it (case sensitive).

  • import cx_Oracle
  • db_conn = cx_Oracle.connect(“user/pass@tnsname.world”)

If either of those steps went wrong, double check the steps. If you still don’t know, comment on the post, or email me (my email is lying around somewhere on this site), and I’ll do my best to help you. There are also many forums and forum threads scattered around that have tried to explain these points as well, but I found them to be inadequate.

Lastly, Google is your friend for finding out about the different functions available in cx_Oracle, and the documentation isn’t terrible for this either.

WordPress Upgrade Issue

July 1st, 2010 No comments

So recently, when BurgerBlog went through the automatic update from WordPress 2.9.x to 3.0, it ran into a slight hiccup that corrupted ALL of the posts that were on there. The issue seemed to be with the format of the single and double quotes throughout all the posts. They were all, without fail, replaced with ‘?’s. Now, what baffles me is how the system saved the wrong double and single quote symbols in the first place.

The quotes were the ones that are seen in word processors, like Microsoft Word, that are directional. So if I “quoted” something, the first quote would be different from the second quote.

Regardless, the reason that the system originally saved them, but no longer saved them is what truly confused me. As a result, I went through the following procedure:

NOTE: SQL knowledge and access to the phpMyAdmin page is required.

  1. Accessed the phpMyAdmin page, found on the control panel for your site. No, not the WordPress control panel, the one that’s on the back-end of the site itself (gives you access to your site’s stats, FTP accounts, email accounts, etc.).
  2. Browsed to the WordPress database and used the following SQL statement to find all posts that now had ‘?’s in them:
  3. To get all the posts with ‘?’s in them and their IDs.
    SELECT ID, post_title FROM wp_blogname_posts WHERE post_content LIKE ‘%?%’

    To get the distinct post titles that contain ‘?’s in them.
    SELECT DISTINCT post_title FROM wp_blogname_posts WHERE post_content LIKE ‘%?%’

  4. From there, I was able to garner the proper ID of the post title (most easily found by finding the present blog post with that title and selecting edit, then looking in the URL bar for the ID), and use SQL back-ups where possible to garner the most recent version with the quotes and single-quotes in them still.
  5. Did a find and replace on my back-ups for all of the incorrect double and single quotes.
  6. Manually pasted in the corrected post content directly into the database to expedite the process (could have done it manually with each edit page, but that requires waiting for all the WordPress functions and AJAX to load).

It took a couple hours to go through the 40 posts on BurgerBlog that were messed up, and that’s not including the extra time required to fix the ones I didn’t have back-ups for (I had been slacking with my consistent back-ups). Now, it is almost entirely fixed, with the exception being the couple of ‘?’s that were missed in the ones that were done manually (those should be fixed by end of 7/2 anyways).

I’m Behind

June 28th, 2010 No comments

At this point, it’s kind of ridiculous how many weeks I am behind on blog posts. It is a recurring todo item on my personal calendar, but I never quite find the time for it in the day. The worst part about that is that I have content for the blog. LifeHacker did a new summary of the MUST have free apps for the Mac, and I am meaning to supplement it with my 2 cents. I have started my internship (been doing it for 3 weeks now) and have already learned plenty of topics ranging from DNS to proper unit testing in a real development environment to learning Python (which is a very fun language). Sprinkled in amongst such activities and learning experiences, there have been news posts worth my comments (in my opinion), and other developments in my personal life that I have debated discussing and just haven’t for the same reason that there hasn’t been an update before now, I didn’t do it.

So, with that being said, I am working on a post on one of those subjects for later this week and hope to get that trend going again. I’m thinking that the first subject will be all the issues I’ve had during the past couple weeks with WordPress due to upgrading BurgerBlog to WordPress 3.0 without taking a database backup. So frustrating.

See you later this week!

Assignment Design Fail

March 16th, 2010 2 comments

The weekend was definitely a busy one. Between having/attending a party at a friends’ place and then spending the rest of the weekend doing homework (had an assignment for my Algorithms class and a group paper for my Ethics class to finish), it was a very busy, but productive weekend. I got all the work done (eventually), and had a great time Friday night! I’d rant a bit about my Ethics assignments not being clear enough, but I don’t think that’s really necessary when I have better fodder to write about in the form of my Marketing online homework submissions.

So the system is called Management by the Numbers and the site/product is completely new. At the beginning of the semester, they provided us with accounts according to the school we are in and the number we were on the roster (I assume that’s how the number was generated at least). So, the format would be gtxxx, and they initially gave EVERYONE in these classes the EXACT SAME PASSWORD! I noticed this immediately in the email that they sent out to us regarding what our login credentials were. As someone who wants to professionally doing information security for a living post undergrad, I just cringed when I saw this. To make matters worse, I did the first assignment on the WRONG username because ALL the passwords were the same. Of course, I didn’t realize that was the issue when I saw a 0 for the grade, but only after contacting the professor and TA about the issue did it become apparent “Aaron, your username is gtxxx.” “OH MY GOODNESS, I did the homework on the wrong username, I did it on gtxxy.”

After further discussion, I discovered that the company was “working on” a password change “feature,” which I consider standard in ANY login system. I almost asked for a contract to write the code to do it in PHP out of frustration, but thankfully I didn’t because I have had a bunch on my plate this semester. Overall, it was really disappointing. The funny part, that’s not even what I wanted to show with this blog post.

When I was doing the assignment that was originally due tomorrow, I found a few interesting bugs in it (causing the due date change). The first one had to do with an algorithm that was used to obtain the answer for a problem. It was supposed to be:

(($23.90 – 10) / (.71 * $23.90 – 10)) – 1 = 0.99

Instead of:

(($23.90 – 10) / (.75 * $23.90 – 10)) – 1 = 0.75

You see, the .71 in the correct answer was because it was supposed to have a 29% decrease (in this problem, since that number is dynamic) in price for the comparison, but the algorithm had been setup for a static 25% decrease in price instead. This caused correct answers to be completely wrong.

The more interesting bug, pictured to the right, had to do with precision. They were taking the number out to multiple decimal places, and requiring precision according to that, but the dollar amounts were automatically rounding as we expect cents to do. The end result was that a correct answer was STILL wrong. Of course, this was extremely frustrating for me at first, until I thought to myself “I wonder if it will accept the decimal written ALL the way out (I think I did 6 places just to be over accurate). It worked of course, since the issue had to do with their accuracy, but displaying it as a whole cent was extremely confusing. Regardless, I have finished the assignment and the due date has been pushed back to this Thursday now.

This Semester’s Classes

January 15th, 2010 No comments

So, I said in a previous post that I was going to be reviewing Evernote as a note taking a productivity tool this semester. Unfortunately that is much harder now that I have attended my first few classes. 2 of my classes discourage or just flat out forbid the use of laptops during class (the one that doesn’t forbid it only allows them on certain days that we are doing in class activities). For the third class, I’m not going to use a laptop anyways because that is algorithms and you just can’t easily type out those symbols most of the time required by the random proofs and equations that we will be using in that class. The remaining course is Ethics, so I will be using my laptop in that class, and hence will still be able to review the program, just not on the same scale as I would have liked.

The two classes that I cannot use my laptop in is Accounting 1 and Marketing. Overall, the classes seem like they will go well this semester, with the very structured accounting course making it much easier to deal with how much I don’t like the teaching antics of the professor, and marketing seems like it will be nice since the teacher does it very much on a discussion basis (I like). Similarly, Ethics will also be nice because it will focus on us working in small groups in class and then discussing our findings afterward. Algorithms is going to be tough, but as long as I keep up with the assignments and the reading of the textbook before class, I’ll be good.

This weekend is going to be a long weekend, which should be very nice and mean I’ll actually be productive (maybe). I have a new book that I want to read, so it may not be AS productive as I would like. Also, my friend is working on putting together a new project to be discussed further once we have the ball rolling with it. First steps first, we have to really hammer out the goals of the new site and such. Look for further posts about that in the future.

Blue Ridge Mtns and Websites

July 12th, 2009 No comments

This weekend was a very relaxing, necessary, enjoyment. A group of us (my girlfriend and another couple) went up to the Blue Ridge Mountains and rented a cabin for the weekend. It was very nice to be able to just sit around, watch a movie, lie around in the hot tub, read a book, and just generally relax. When you do things every weekend and every weekday, one begins to lose/forget what true relaxation is, but so be it. Always nice to get back to the essence of pleasure.

In other news, I finally, FINALLY put together the blog that I have been promising my girlfriend since the Spring semester. Now she has a place for her own music and political, and whatever else she wants it to be, blog. Nice to finally follow through with that. As of now, I have only done some very basic editing of the theme that is presently on the blog, but might do something similar to my own blog and see what happens. There are a couple stylistic things that I would like to slightly alter (including the smileys though they aren’t used very much since I refrain from using them in normal blog posts). You can see the Links page for the actual link to the blog.

Categories: Inspired, Web Tags: , ,

Must Have Apps for Mac OS X

July 8th, 2009 3 comments
Quicksilver: This product is starting to finally age, but at the same time, it is one of the greatest productivity apps I have found. I know that you love using the keyboard as your main input device and only go to the mouse as a secondary option. Well when you use Quicksilver, the first thing that you will notice is that it is not only faster, but better than regular Spotlight usage. The guy who made it now works at Google and has been focusing on the Google Desktop (but it isn’t nearly as good sadly :/). Check out all the guys stuff at (I also like Visor but wouldn’t list it as an essential :P): http://www.blacktree.com/
Growl: It’s a wonderful notification tool. It synchronizes with MANY apps on the Mac OS and continues to expand (or so it would seem). It has ALMOST seemed to become a bit of a standard when it comes to internal notifications (but that is just my own opinion on the matter). Either way, it is extremely useful and is synchronized with the majority of my apps that run in the background, including a Gmail app and an RSS feed app that both get updates (hence the need for notifications :P). The app can be found here: http://growl.info/
iStat Menus and Dashboard Widget: When it comes to keeping tabs on a Mac’s internals and checking in on the status of the hardware, I have not found a better set of tools than the iSlayer apps. iStat Menus will give you customized menus in the top menu bar and the dashboard widget (I use iStat Pro) will let you know EVERYTHING that is going on with your computer including fan speed and temperature and battery health. I also was just glancing at their website and noticed a new widget they have made called Organized which I will be checking out. Looks pretty good and very useful. The apps can be found here: http://www.islayer.com/apps/
Postbox: In my very brief usage of it, Postbox seems to have all the things I want and use from Gmail. I still use an app called Mailplane which I got back when it was in beta (and now it is a pay app so I got a serious discount on it), so I would suggest Mailplane normally for Gmail usage, but am really impressed, once again my usage of it has been very limited so far, with Postbox and would suggest at least trying it. The number one thing it has is a conversation view which is by far my favorite thing about Gmail! Can be found here: http://postbox-inc.com/
Flip4Mac: A necessity for being able to run wmvs on the Mac. It is essentially a plugin for Quicktime to be able to run .wmv video files. Basically a must have in the still dominating Windows environment of today. Site is here (get the free version, it is all I have): http://www.telestream.net/flip4mac-wmv/overview.htm
Handbrake: This is THE necessity for anyone that is going to EVER rip a DVD. Get it, I am not kidding. This + VLC == greatest video duo ever created (need VLC for the video codecs)! Can be found here: http://handbrake.fr/
VLC: Get it for running any and all multimedia (iTunes is still best for your music though): http://www.videolan.org/vlc/
RSS reader: I am yet to find an RSS feed reader that I REALLY like at this point. The one I am using right now is called Eventbox which I got a free version off of a Mac package that I purchased not so long ago which I could send your way if you would like to give it a shot. It won’t ever get updated though, so I have started considering a new option. My pull towards it at the time was that it was both an RSS feed reader AND it got the news feeds from Twitter and Facebook for me (not that I care about Facebook anymore). There are actually a bunch of RSS feed readers already out there, and I really can’t knock Google Reader, but the latest that I have seen which looks good is NetNewsWire which can be found here: http://www.newsgator.com/INDIVIDUALS/NETNEWSWIRE/
FTP client: For simple, easy FTP usage, I would go with OneButton FTP (http://onebutton.org/). For more complex FTP setups, I would use Fugu (http://rsug.itd.umich.edu/software/fugu/). For just connecting to a regular server, you can use the command+k shortcut to open up a connect to window where you can type in the server information, etc. Very, very useful for most server connections.
Adium: iChat is pretty good, but it doesn’t provide EXACTLY what I want when it comes to tabbed browsing. For that, I use Adium. Adium allows a keyboard shortcut to bring it to the front, keyboard shortcuts for switching between tabs, and some very slick theming of the buddy list and the chat window. It is basically Pidgin for the Mac (runs on the same libraries so it also has the same downfalls of poor file transfer and the like). Can be found here: http://adium.im/
Espresso vs jEdit: I got lucky enough to snag a free copy of a program called Espresso. It is a very clean and good editor for project based coding. Overall, I really like it, but it is hard to beat a freebie like jEdit. I will leave this one completely up to you :P
Disk Inventory X: Very good for visually seeing what is taking up large chunks of your hard drive should you ever need to make some room on it. Wonderful app! http://www.derlien.com/
Firefox vs. Safari vs. other: So there are naturally a bunch of options for web browsers when it comes to the Mac OS X. There is Opera, Firefox, Safari, Camino (a Mozilla project also), and a bunch of others that I have seen or played with but they stuck out so well from the rest that I don’t remember their names. Well, for me, the real debate is between using Firefox or Safari as your main browser. I personally am presently with Safari and have been so since they released Safari 4, but at the same time I have been using Firefox 3.5 at work and have been just as happy with that as ever. There are a few things that make one stand out from the other (i.e. features the other hasn’t implemented yet). Safari 4 has a wonderful top sites, is very slick, is speedy, and the tabs are separate threads (I believe). Firefox 3.5 is slick (with the add-ons, can’t really beat them for development), since their update it has gotten back on par with Safari’s Java engine, and there are a large number of keyboard shortcuts for switching between tabs and the like. As I said, Safari is my present choice but Firefox 3.5 is still more than just used sometimes on my computer. This one I TOTALLY leave up to you. Opera is still a pretty good browser, but even though I used it as my main browser in my Freshman year (almost 3 years ago now), it really didn’t compare when it comes to compatibility… though it had some wonderful features of its own like custom searches including me figuring out at one point how to get it to automatically fill in all the LAWN auth information minus a single character. To each their own here, you know?
As for virtualization of multiple OS’s, I haven’t made a decision between VMware and Parallels yet. We can get our hands on a legit copy of VMware as “staff” of GT through the OIT software site (would just need to snag a sticker number from the Multimedia Studio to get the proper license info for it), but we would have to purchase Parallels on our own. Boot Camp is a wonderful alternative, but at the same time, it doesn’t support 64-bit XP, only 64-bit Vista (32-bit XP is supported though). So that is the story there as far as I can tell so far. I will let you know when/if I test one of them.
Other than that, here is a LifeHacker article that I stumbled across which covers the items I have little to no experience with: http://lifehacker.com/5291841/lifehacker-pack-2009-our-list-of-essential-free-mac-downloads
Lastly, a tidbit that I found somewhere else and haven’t thoroughly tested out myself quite yet (comes with living with Rachel, hence I haven’t spent a lot of time just playing around on my laptop) —
MainMenu (donationware)
Various scripts and tools for keeping your Mac running smoothly are sprinkled around the system. MainMenu enables you to access them from a convenient centralised location. The app also provides ‘hidden’ Finder options (force-empty Trash, toggle invisibles, relaunch) and a handy ‘batch’ tool for quickfire activation of multiple scripts.
Butler (donationware)
The extremely configurable Butler enables you to populate your menu bar with all manner of items, including running apps, menus for accessing addresses, bookmarks and volumes, recent pasteboards and more. Items can have triggers (hot-keys/hot corners/abbreviations) and alternate icons applied, and Butler also includes a Quicksilver-like ‘intelligent’ abbreviations-based launcher window

Be aware that I wrote this list for a friend and figured it would be a good thing to put out on my blog also, so below is simply my own opinions/experiences and should be taken with a grain of salt. Also, grammatically speaking, I geared the entirety of the text towards my friend, so consider the “you”s as universal “you”s.

Quicksilver: This product is starting to finally age, but at the same time, it is one of the greatest productivity apps I have found. I know that you love using the keyboard as your main input device and only go to the mouse as a secondary option. Well when you use Quicksilver, the first thing that you will notice is that it is not only faster, but better than regular Spotlight usage. The guy who made it now works at Google and has been focusing on the Google Desktop (but it isn’t nearly as good sadly :/). Check out all the guys stuff at (I also like Visor but wouldn’t list it as an essential :P): http://www.blacktree.com/

Growl: It’s a wonderful notification tool. It synchronizes with MANY apps on the Mac OS and continues to expand (or so it would seem). It has ALMOST seemed to become a bit of a standard when it comes to internal notifications (but that is just my own opinion on the matter). Either way, it is extremely useful and is synchronized with the majority of my apps that run in the background, including a Gmail app and an RSS feed app that both get updates (hence the need for notifications :P). The app can be found here: http://growl.info/

iStat Menus and Dashboard Widget: When it comes to keeping tabs on a Mac’s internals and checking in on the status of the hardware, I have not found a better set of tools than the iSlayer apps. iStat Menus will give you customized menus in the top menu bar and the dashboard widget (I use iStat Pro) will let you know EVERYTHING that is going on with your computer including fan speed and temperature and battery health. I also was just glancing at their website and noticed a new widget they have made called Organized which I will be checking out. Looks pretty good and very useful. The apps can be found here: http://www.islayer.com/apps/

Postbox: In my very brief usage of it, Postbox seems to have all the things I want and use from Gmail. I still use an app called Mailplane which I got back when it was in beta (and now it is a pay app so I got a serious discount on it), so I would suggest Mailplane normally for Gmail usage, but am really impressed, once again my usage of it has been very limited so far, with Postbox and would suggest at least trying it. The number one thing it has is a conversation view which is by far my favorite thing about Gmail! Can be found here: http://postbox-inc.com/

Flip4Mac: A necessity for being able to run wmvs on the Mac. It is essentially a plugin for Quicktime to be able to run .wmv video files. Basically a must have in the still dominating Windows environment of today. Site is here (get the free version, it is all I have): http://www.telestream.net/flip4mac-wmv/overview.htm

Handbrake: This is THE necessity for anyone that is going to EVER rip a DVD. Get it, I am not kidding. This + VLC == greatest video duo ever created (need VLC for the video codecs)! Can be found here: http://handbrake.fr/

VLC: Get it for running any and all multimedia (iTunes is still best for your music though): http://www.videolan.org/vlc/

RSS reader: I am yet to find an RSS feed reader that I REALLY like at this point. The one I am using right now is called Eventbox which I got a free version off of a Mac package that I purchased not so long ago which I could send your way if you would like to give it a shot. It won’t ever get updated though, so I have started considering a new option. My pull towards it at the time was that it was both an RSS feed reader AND it got the news feeds from Twitter and Facebook for me (not that I care about Facebook anymore). There are actually a bunch of RSS feed readers already out there, and I really can’t knock Google Reader, but the latest that I have seen which looks good is NetNewsWire which can be found here: http://www.newsgator.com/INDIVIDUALS/NETNEWSWIRE/

FTP client: For simple, easy FTP usage, I would go with OneButton FTP (http://onebutton.org/). For more complex FTP setups, I would use Fugu (http://rsug.itd.umich.edu/software/fugu/). For just connecting to a regular server, you can use the command+k shortcut to open up a connect to window where you can type in the server information, etc. Very, very useful for most server connections.

Adium: iChat is pretty good, but it doesn’t provide EXACTLY what I want when it comes to tabbed browsing. For that, I use Adium. Adium allows a keyboard shortcut to bring it to the front, keyboard shortcuts for switching between tabs, and some very slick theming of the buddy list and the chat window. It is basically Pidgin for the Mac (runs on the same libraries so it also has the same downfalls of poor file transfer and the like). Can be found here: http://adium.im/

Espresso vs jEdit: I got lucky enough to snag a free copy of a program called Espresso. It is a very clean and good editor for project based coding. Overall, I really like it, but it is hard to beat a freebie like jEdit. I will leave this one completely up to you :P

Disk Inventory X: Very good for visually seeing what is taking up large chunks of your hard drive should you ever need to make some room on it. Wonderful app! http://www.derlien.com/

Firefox vs. Safari vs. other: So there are naturally a bunch of options for web browsers when it comes to the Mac OS X. There is Opera, Firefox, Safari, Camino (a Mozilla project also), and a bunch of others that I have seen or played with but they stuck out so well from the rest that I don’t remember their names. Well, for me, the real debate is between using Firefox or Safari as your main browser. I personally am presently with Safari and have been so since they released Safari 4, but at the same time I have been using Firefox 3.5 at work and have been just as happy with that as ever. There are a few things that make one stand out from the other (i.e. features the other hasn’t implemented yet). Safari 4 has a wonderful top sites, is very slick, is speedy, and the tabs are separate threads (I believe). Firefox 3.5 is slick (with the add-ons, can’t really beat them for development), since their update it has gotten back on par with Safari’s Java engine, and there are a large number of keyboard shortcuts for switching between tabs and the like. As I said, Safari is my present choice but Firefox 3.5 is still more than just used sometimes on my computer. This one I TOTALLY leave up to you. Opera is still a pretty good browser, but even though I used it as my main browser in my Freshman year (almost 3 years ago now), it really didn’t compare when it comes to compatibility… though it had some wonderful features of its own like custom searches including me figuring out at one point how to get it to automatically fill in all the LAWN auth information minus a single character. To each their own here, you know?

As for virtualization of multiple OS’s, I haven’t made a decision between VMware and Parallels yet. ?Boot Camp is a wonderful alternative, but at the same time, it doesn’t support 64-bit XP, only 64-bit Vista (32-bit XP is supported though) and requires a reboot to switch between OSes. Unfortunately I haven’t had ample opportunity yet to really test any one of these but plan to start delving into this in the near future.

Other than that, here is a LifeHacker article that I stumbled across which covers the items I have little to no experience with: http://lifehacker.com/5291841/lifehacker-pack-2009-our-list-of-essential-free-mac-downloads

Lastly, a tidbit that I found somewhere else and haven’t thoroughly tested out myself quite yet:

MainMenu (donationware)
Various scripts and tools for keeping your Mac running smoothly are sprinkled around the system. MainMenu enables you to access them from a convenient centralised location. The app also provides ‘hidden’ Finder options (force-empty Trash, toggle invisibles, relaunch) and a handy ‘batch’ tool for quickfire activation of multiple scripts.

Butler (donationware)
The extremely configurable Butler enables you to populate your menu bar with all manner of items, including running apps, menus for accessing addresses, bookmarks and volumes, recent pasteboards and more. Items can have triggers (hot-keys/hot corners/abbreviations) and alternate icons applied, and Butler also includes a Quicksilver-like ‘intelligent’ abbreviations-based launcher window

Deleting Personal Information

June 28th, 2009 No comments

So both my girlfriend and myself got tired of how much personal information we had out there on the respective sites that we have joined. The result was the two of us literally sitting down and purging our Facebook accounts and removing our Myspace accounts completely. However, it also brought up a wonderful concept that really should be done.

When dealing with Facebook, the main reasons most people want to keep it is because they have the contacts with old friends and they don’t want to lose all the pictures. Well, wouldn’t it be nice if you could just click a button on a photo album and download all the pictures from that album to your computer in a single zip file? Or be able to go to all the images where you are tagged and download all of those files? As is, you can already go through and save each individual file pretty easily, but that just takes WAY too long to go through all 200+ images that have me tagged in them AND then make sure I have every single image that I ever posted to my profile. Well, long story short, I am thinking about trying to get a group together to make this small application for Facebook. It probably won’t be happening within the next couple weeks, but maybe in a month or so, after I have my business ideas going a little bit (I might make it a first project to get the sites name out there?) I will tackle it. We shall see about that, but at least now I have the idea in writing and out there, so worst case scenarios are a) someone else makes it or b) it never gets made. Either way, here is the start of a possibility.

Also, I have continued working on my business ideas/plans, but unfortunately have gotten side tracked by having to deal with a couple people getting involved that I didn’t really want to have knowing. Today (or it might have been last night, doesn’t really matter) I sent off an NDA to both of those individuals so that hopefully I can tie things up with a pretty bow legally and ensure no competition from either of them (only really worried about one of them even doing anything with the information thought). I will naturally do my best to update on this soon.

While Classes are Drawing to a Close

April 23rd, 2009 No comments

Well classes have begun to draw to a close now. There is one more day of classes, and I plan to skip one of those two classes I have tomorrow. CS 2200 classes are complete and there is just the exam left to take next week. EAS 1601 is done, FINALLY, and I just have the exam on Monday and will be done with lab sciences for the rest of my college career. Econ 2106 is the class I am skipping the class for tomorrow because there is an optional quiz tomorrow and my average in the class is already a 98 and we aren’t on a +/- system so it won’t make a difference if my grade is higher than it is right now. All that leaves is one class to attend tomorrow at noon, CS 2340 and then that exam also next week. Fortunately, the final project for CS 2340 has been completed at long last and I don’t have to worry about the project ANY MORE! I am so so so excited about the fact that I don’t have that project to work on any longer. We presented it to our TA today and so are just awaiting our final grade for that. I believe that we will get some extra credit on the final project and can’t wait to just be FINISHED with the class completely. I have found it so hard to find any true value in the class itself and the project has simply taught me who I won’t include in future group projects with the goal of avoiding issues like I have had to deal with this semester.

Other work that I have to do by the end of next week is take care of some website updates for castplays.com, work on my personal code library project for PHP, study for exams, and get some of my stuff home to make the move next weekend easier and quicker. In the mean time, today has been spent basically just turning off my brain and trying to relax a little bit. Tomorrow, until tomorrow night when I go to a party with my girlfriend, it will be back to the books for a little bit so that I can get a mild head start on things since I want to be prepared for my exams next week. Sadly, even with the highest possible grade on my final in CS 2200, I won’t be able to earn an A in that class without some help from the graders/teacher because of my screwing up the tests a little bit and messing up that one project demo by missing the demo slot I signed up for. Shit happens, but it is really sad that the highest I can get in the class right now is about an 87-88 with a 100 on the final in the class… ah well.

As for my personal coding project/code library for my future and present sites, my current goals are:

  • Create a string library to handle things like validating an email address or a date.
  • Create an object oriented db class/find a good one online that does everything that I want.
  • Create a user class so that I can then work on the next task of
  • Creating an authentication process so that I can move closer to actually being underway with my business ideas (more to come on that once they are more concrete and there is a site to back it up).

Until I have more/until tomorrow when I publish the other blog post that I am presently working on, I am going to relax a little bit.