Archive

Archive for the ‘Computer’ Category

Follow Up With Tom Graves

May 13th, 2013 No comments

Back at the end of April, I contacted Tom Graves (my representative) about how much I disagreed with his CISPA vote. I got a nice long (formulaic) email response from him at the start of May, and have been trying to decide what to do with it until today.

I was first pointed at a Guardian article about how our government has decided to just gather ALL communications by the people in this country. Welcome to the party general media!

I then read through Tom Graves’ response to me more thoroughly and came up with a response I felt needed to be sent (there was an “issue type” selection box that I’m referring to in the first paragraph):

Really this should be under the topic of “Information Security”, but “Telecommunications” will have to do as the issue type. At the end of April, I contacted you regarding your vote in favor of CISPA. While I still disagree with you about what points of that act were concerning to the people you’re supposed to be protecting, you make the following claim in your response to me:

“Like you, I believe each American’s privacy protections should be upheld. As well, I have serious concerns that legislation enabling the federal government to block websites dangerously encroaches upon individuals’ privacy and freedom of speech.”

Should that be the case, you should definitely be fighting against the current data policies that the NSA, FBI, and other security related departments of our government. As highlighted in this Guardian story from earlier this month, the battle to maintain our individual privacy has already been lost: http://www.guardian.co.uk/commentisfree/2013/may/04/telephone-calls-recorded-fbi-boston Even though signing petitions and sending emails typically does nothing for we the people, I implore you to help us regain our innate privacy. Just because it exists in a previously unimagined medium by our forefathers doesn’t mean that the government is exempt from upholding the fourth amendment.

— Update —

Just saw a rather related article to the above privacy concerns: http://www.thoughtcrime.org/blog/saudi-surveillance/

Catching Up & Hackintosh

September 3rd, 2011 2 comments

So, as usual, I fell behind with blog posts. On the bright side though, I finally have some things WORTH talking about! Developments since my last post include:

  • My new job
  • Adopting kittens
  • Building a hackintosh machine

Since I am going to refrain from posting too much about my job (the people I work with are pretty cool and the development I do is a lot of fun), that leaves kitties and hackintosh machine. They have both happened around the same time (the last few weeks), but while the kittens have only given me scratches and continued to be ridiculously adorable (and obnoxious little brats), my hackintosh build has consumed a LOT of my free time for the last 2 weeks.

In this post, I’ll go over the specs and how I decided on them. In the next post I’ll go over HOW I went about installing everything and the ridiculous number of headaches I ran into in the process.

The Build

My initial choices were to build a computer from scratch by purchasing the pieces from Newegg.com and other computer part sellers, buy a prebuilt machine (for much more money) from someone like HP, Dell, or your choice of a typical gaming rig builder. Fortunately (and unfortunately) I found the site cyberpowerpc.com who allows you to customize a build’s parts with Newegg prices. As an added bonus, I was able to catch their back to school special (which I’ve learned this weekend is not QUITE as good as the Labor Day Weekend discounts, but oh well), knocking off 5% with a bunch of mail-in-rebates (which I will be sending in this week now that the machine is working). I knew that I didn’t want to deal with the hassles of a water cooling setup (accidentally melting your CPU because you have an air bubble in the lines doesn’t sound like fun to me), so I started by finding cyberpower’s lowest priced package so I could get my hands on their heat sink cooled machines. Now, be aware that cyberpower caters to the gamer market, so all the builds were slated for the latest in processors and graphics cards. After doing a lot of research (though apparently not QUITE enough, as will be discussed in that later post), I decided on the following build that would be hackintosh + windows (dual boot) compatible.

  • Gigabyte X58A-UD3R motherboard
  • Intel i7-960 (3.2 GHz, LGA 1366) processor
  • Nvidia GTX 560 (1 GB) video card
  • 750 GB Western Digital hard drive
  • 6 GB of memory
  • Coolermaster 700W power supply
  • Thermaltake Chaser MK-1 full tower gaming case
Additional packaged items:
  • Thermaltake headset
  • Thermaltake mouse
  • Thermaltake keyboard
  • Surge protector
  • A couple game coupons
Suggested add-ons:
  • Normal shipping
  • Professional wiring
  • Enhanced packaging solution (foam inside the machine to better secure the components during shipping)
Additional purchases from Newegg:
  • Kingston 96 GB SSD
  • 6 GB of memory (totaling at 12 GB of memory in the machine)

Yes, this did not come out to any cheap shopping list. It’s a good thing I was buying this as a birthday gift for myself!!!

Categories: Computer, Inspired Tags:

Opening Pandora’s Box

February 13th, 2011 2 comments

Yes, after going multiple days planning to update, but no desire to update because of the dismal Super Bowl last weekend (I’m glad I didn’t make a prediction a week ago), I found a story that actually inspired me enough to throw up a post about it. Before doing that though, to quickly touch on the Super Bowl:

  • In December, I said the one team that would be difficult in the NFC for the Steelers to beat would be the Green Bay Packers… and unfortunately I was right.
  • The Steelers were outplayed (sorry family, they were). Regardless if you can move the ball up and down the field, you just can’t make that many mistakes and expect to win a ball game. Oh yeah, and the Packers didn’t really make any mistakes… game over!
  • The commercials were pretty bad this year. Only a few funny ones at all, course those were punctuated by my grandmother exclaiming that they were disgusting for some reason or another.
  • Christina Aguilera should have practiced before the Super Bowl… enough said.
  • They need to just remove the half-time show. Yes, it is a draw for many viewers, but it’s not worth airing in my opinion, especially when the sound crew sucks THAT bad!

Alright, now to what truly interested me enough to post! Many of us use the Pandora Radio service. I knew that they were relatively ubiquitous amongst people who listen to online radio, but didn’t realize that they had a claim to 50% of the internet radio market share! That’s huge! I’m impressed in all honesty, and am really happy with Pandora as a whole. Well, now that Pandora has SUCH a big market share, they figure they might as well go for an IPO. The hopes? Raise around $100 million. Apparently, according to a Slashdot posting (and my sole source here), Pandora has sent their IPO request forms to the SEC, so I’m sure it will make bigger news in the coming weeks.

Invisible Blogger?

December 25th, 2010 No comments

So I essentially I went AFK from my blog for the last month due to academics. Considering that this semester was supposed to be relatively easy and straightforward with just one course that I was classifying ahead of time as difficult, the projects for the semester ended up being extraordinarily harder than anticipated due to time constraints and the usual predicament of all due dates piling up right around the same dates. With that being said, I worked a lot harder this semester than I have durning many previous semesters, and was able to turn out 3 A’s and a B (the B is in the “harder” of the courses of course). This FINALLY puts me over a 3.5 GPA, something I have strived to achieve for the last few semesters since I found out you can graduate with highest honors if you are above a 3.5… something. Of course, with that being said, I have my work cut out for me to hit that cut-off point since I am at exactly a 3.50, but we shall see how the next semester goes.

First, my classes going forward. I only have 4 classes left (I worked it so I could take the minimum load per semester for the last 2 years of college to graduate), and they are:

  • LCC 3403 – Technical Writing: That boring class that all majors at Tech are supposed to take so that we know “how to write technical content,” but I have never heard good things about the course.
  • LCC 3254 – History of Film: Finishes up my Humanities credits and I get to take it with Professor Navarro who I enjoyed taking Intro to Film from this semester.
  • CS 3220 – Processor Design: Required and I am not particularly thrilled about having to take the course since it looks relatively difficult, but the alternative is just as good/bad.
  • CS 4365 – Intro to Enterprise Computing: I theoretically could replace this with an information security course, but I’ve had trouble getting faculty to teach the follow up to my Intro to Infosec. The alternatives are this course or take a grad level course in Infosec. If this course does not interest me after the first day of it, I will switch to the grad Infosec course. At the moment, I am registered for this one.

My personal projects going forward:
I would really like to build a technical analysis tool utilizing Google Finance, Yahoo! Finance, or some other financial data repository. Some of the initial issues I am finding include the lack of access provided to this data (the APIs don’t seem to provide easy access from what I can tell). I will play with this more, but I may have to dumb down much of what I want to build just to pull the data directly from links like this. Unfortunately the data becomes extremely unwieldy in that format, rendering what I want to build (yes, I am not providing large amounts of details, at least not right now) either extremely slow or impossible to build. We shall see.

My other project for the holiday season and until I secure a job is continuing to apply to job positions. Just a few of the companies I wish to apply to over the course of the break alone include:

Ones that I have interviews scheduled with:

Isn’t There Something Wrong Here?

October 22nd, 2010 No comments

As a prelude, I was originally going to write a post about how my Google Interviews went, but I decided that would be bad form considering that I am being considered for a position there, so will sum up the experience as having gone well.

I came across 2 news articles just now that both bother me for slightly different reasons. One of them is about the US’s new financial aid to Pakistan’s military (the size of which shocks me!) and the other is about the data Google’s mapping cars captured.

The main part of the whole “giving aid to Pakistan” that bothered me is not that we are giving it to Pakistan, but that the US is talking about putting aside $2 billion for Pakistan’s MILITARY! I totally understand disaster relief (the flooding in Pakistan), and can even understand giving money for civilian infrastructure in Pakistan, but specifically to their military? When was the last time we publicly funded another country’s military with US money that wasn’t South Korea or Israel? Yes, yes, we must bolster their military so that they can help us fight terrorist organizations like the Taliban in the Middle East, but doesn’t $2 billion just sound like a bit much? We apparently gave them $7.5 billion over the last 5 years. WOW! Hey government, I think I found a way to balance your books a bit to reduce debt, STOP GIVING ALL OF IT TO OTHER COUNTRIES!!!

Ok, let’s assume you have sold me on Pakistan being our greatest ally in that area of the world with their proximity to Afghanistan and such (and cooperation with the US for tracking the Taliban and such down). Wait, they helped? Aren’t there still numerous reports of terrorists being TRAINED in parts of Pakistan? So we are going to help their military beef up so that they can take on these terrorist training camps and knock them out… like that’s going to be the main area that they will put this military sanctioned money…

As for the Google story. I’m sorry, if you don’t at least secure your wireless network, that’s like leaving your front door to your house open with a sign that says “Not here right now.” Driving by and seeing wireless traffic and data that is unsecured is not invasion of privacy. It is not taking the necessary precautions to secure your own privacy. Let me use an example that is easier to relate. If you put a lot of personal information on Twitter or Facebook, and then don’t lock down the privacy settings, and then don’t EXPECT spammers and scammers to use that private data, you are naive for lack of a kinder word.

With that being said, it is a bit sketchy that Google went and recorded the data that was seen while driving around in their Google mapping cars. I mean, they didn’t HAVE to collect the data, could have just seen it and moved on with their lives. But the VOLUME that Google was able to see and record says a lot about how people treat their personal, supposedly private, networks. Twitter calls the volume of information that they give access to a “fire hose” of data. I don’t really see unsecured wireless networks as anything else really. Talk about easy pickings! I just wish people weren’t pegging this problem on Google and were instead blaming the people truly responsible, the Joe Schmo who doesn’t know how to setup their private network to be actually private (even though it requires as much effort as logging into your router and clicking the enable “WPA” or “WEP” encryption button and logging the passphrase on your computer and maybe a sticky note if you need it). This isn’t rocket science people!!!

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.

Things I’ve Meant to Post About

September 12th, 2010 No comments

So there are a bunch of different things that I’ve intended to blog about for some time now, but never got around to them. As a result, most of it is either old news, or just not as important to me. Fortunately for me, but likely unfortunately for everyone else, is the fact that I sent each of these to myself so that I wouldn’t forget them (and then promptly forgot to post about them).

The first of importance is a guide that LifeHacker posted a while back about how to use GoogleCL (Google Command Line). Many of us use Google’s services these days. Google took that a step further and released their GoogleCL product for 2 reasons:

  1. To allow those computer nerds out there to geek out about being able to use Gmail and the like in their command line.
  2. To allow users to do some things with Google products that aren’t traditionally allowed through the front end like backing up your contacts from Gmail.

The second one is definitely the most important, because now you can use the command line to make it auto-backup your contacts! There are other handy things that you can do with GoogleCL, but allowing for auto-backups I think is the most important. You can already export your contacts as a CSV (they added this feature, I believe, around when they separated out the Mail and Contacts functionality in Gmail), but you can’t setup automatic backups because Google likes the idea that they don’t ever lose data. The part they are forgetting is that while they may not lose it, people have the potential of accidentally deleting it! Anyways, here is the article on LifeHacker about it: 5 Handy Google Command Line Tricks.

I have also been meaning to post about the Google set-top box. If I had to guess, when they announce it officially this fall, it will be running some form of ChromeOS. I am of course not 100% sure, but it is the only thing that makes sense. It also won’t have to deal with the “file system” issue that the computers running ChromeOS will have to handle for things like attachments to emails. Regardless, I just rewatched the video on google.com/tv and they have definitely updated it since I last saw the video! Anyway, it looks like it is going to be a serious contender to Apple TV, other standard DVR boxes, and pretty much everyone else in the field, simply because it is going to meld the web with DVR and satellite content.

That was it for things on other websites that I wanted to post about. I’ll focus on something much more theoretical next.

… looks like this ended up being my Google post …

[Image from techdigest.tv]

Linksys WMP54G 64-bit drivers

September 6th, 2010 No comments

Let me describe my apartment’s setup a little bit first. My desktop computer is in my bedroom, which will require about a 50+ foot ethernet cable to reach the router. My solution to this? Try out my room mates PCI Linksys wireless card (the WMP54G). Unfortunately, Linksys (technically Cisco) has not bothered to make 64-bit drivers for these wireless cards. This resulted in a HUGE headache for about 3 hours, till I finally found a solution. Here’s what I did from start to finish, but if you want the quick solution, skip to the end:

  1. Tried to install the 32-bit drivers from Linksys’ website, only to have them get stuck when you try to search for wireless networks with it.
  2. Started Googling for a better solution, and ended up on this page (I don’t know if that link will always work, so it’s just a forum post about how to get the wireless card working on a 64-bit machine).
  3. Found out through that tutorial that the chip set in the wireless card is made by Ralink Corp. So I ended up on their site here and downloaded the latest copy of the RT2500 chipset drivers.
  4. After trying to hacking these to work appropriately (according to the forum posts that I had found), I managed to get it to install the drivers appropriately (albeit hacked), but it the wireless utility didn’t work. In fact, I couldn’t get ANY wireless utility to work, and I tried quite a few!
  5. Finally, I did some more Googling for answers, and this is about 2.5 hours in, and found this forum post that had a link to justinho.com.
  6. Within Justin Ho’s blog, here is the appropriate post (as of now) to the article with the working drivers!!! To install them was quick and easy. I simply found the wireless card in the device manager, selected properties, selected upgrade drivers, found the .inf file from the download on Justin’s site, and it installed in one shot. Then just power-cycled my computer and was up and running!

Thank you so much Justin!!! You are the sole reason that I now have wireless in my desktop, granted it took 3 hours to find your blog… you would think that Justin’s site would pop up sooner on Google searches since he is an employee there.

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.

Windows Shortcuts = Dangerous

July 20th, 2010 No comments

Well, I wanted to have my first blog post of the week be about a different topic, but since this is breaking news, I’m going to post about it.

There has been a new vulnerability discovered, and reported by Microsoft as of July 16th with security advisory number 2286198. It affects all Windows operating systems (XP, Vista, 7, and correlating service packs), and the source code is already publicly available. The worry is that this will start to experience wide-spread usage within the next few weeks by malware writers.

What It Does

When we browse the file system in Windows, it shows icons for each file/shortcut/directory, and these can be customized. This malicious code is hiding in the simple viewing (not even running the shortcut) of the shortcut’s icon containing the malicious code. The malware utilizing this exploit can spread via infected USB thumb drives and the usual unintentional downloading of trojan horses and the like.

How to Protect Against It

Follow Microsoft’s instructions for not displaying shortcut icons. Microsoft’s temporary fix can be found with their security advisory number 2286198 (see the Workarounds and Mitigating Factors sections).

My Original Source

I found out about this issue through Trend Micro’s CounterMeasures blog post about the situation.

Parting Advice

Follow the workarounds described by Microsoft in their security advisory and hope that they can push out their fix by Patch Tuesday in August (closest planned patch date).