Archive

Archive for the ‘Intuition’ Category

TIL: Music Festivals

September 22nd, 2013 No comments

This weekend I attended Music Midtown 2013. The music was good, the sound quality and video work was excellent, but there were some downsides that I’m going to enumerate for myself so maybe, possibly, I’ll come back to this before buying tickets to another music festival.

  1. It’s cool to go with a group of people, but don’t insist on hanging with them for every single show, especially when there are multiple stages. Not everyone has the same taste in music.
  2. If there is just a chance of rain, be sure to already have panchos/other rain gear. Man was that field muddy!
  3. It’s nice to hear the music, but you don’t get the vibe of the band if you aren’t near the stage. When there’s an artist you like, get there early and camp it.
  4. If someone forgets their ticket, don’t let them hold up the group who’s made plans to be there on time/early. They can cab down and ride back with you.
  5. If one of your goals is to be drunk throughout the majority of the festival (assuming you have transportation of course), getting drunk beforehand can work quite nicely to be maintained via the overpriced light beers at the festival.
  6. Since there is no need to constantly be with your group every second of the festival, setup regrouping places and times so there’s no worries of “no cell service and can’t find people, now what?”

I’ll add more if I think of more, but those seem to be the big takeaways.

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/

Here we go again

March 9th, 2011 No comments

So apparently I suck at keeping up with my blog posts. I even have recurring reminder tasks on my calendar. The problem of course is me getting into the habit of deleting the backlog of tasks that I haven’t done. And this fact actually brings me to write a blog post.

Workflow is something that many people struggle with creating, and then sticking to it. I know that while I have my system, I am not perfect with it and still typically end up doing only the tasks that I remember off the top of my head, failing to check my task list thoroughly first. I TRY to follow the Get Things Done model, and even use a GTD app called The Hit List, which is pretty solid even though it is STILL in beta (has been the entire time I’ve been using it since the Macheist sale I picked it up in). I also use a program called BusyCal for my calendar because it syncs with Google Calendar natively (which is awesome!). Independently, both of these applications are great, but I think my main difficulty with checking them each day is the issue of having to check BOTH of them each day.

What I would LOVE to do is sync the apps to each other with some Applescript! The unfortunate part is that while The Hit List has some Applescript support, BusyCal has VERY little. If BusyCal had the correct interface, then I could easily force THL to record tasks in BusyCal, making it so that I can see things in a calendar view for my todo items. The alternative would be for THL to allow a calendar view (weekly or monthly or next 7 days or whatever) that just shows the tasks for that period of time, and I would be happy. I would move everything over and be done with it! Unfortunately, BusyCal is not building out Applescript support, and THL isn’t going to add a calendar view any time soon, so I’m just stuck in limbo trying to remember to check my task list every day…

TSA Security Screening News

November 19th, 2010 No comments

So, as most people know, the TSA and their full-body scanners have been in the news a LOT as of late. We can thank John Tyner (blog here) for this sudden public “awareness” of what the TSA is doing these days with his, now infamous/famous “don’t touch my junk” quip to TSA workers. My question though is this: why are there no other alternatives to the technology that they have in place?

I was reading this morning how the reason that the full-body scanners are even in place is because of the underwear bomber from last Christmas (plastic explosives went unnoticed in his underwear and then he tried to ignite it while in the air). Also, apparently they put pilots through the full-body scanners and the extra pat-downs that they have put into place just this week with the groping in the underwear. The latter makes little sense to me thanks to the fact that they are flying the damn plan and have a gun in the cockpit. The only things that you really need to be double checking on these people is are they still mentally stable and are they who they really say they are (double check ID and the like).

Ok, so that solution only reduces the use with pilots, what about all the normal passengers? I’m still unsure about why the only options are becoming a full-body scanner that creates a detailed image of your basically nude body or a pat down that includes a groping of your groin, breast, and basically everything else under the clothes. Of course, there are all the gripes out there that this is an invasion of privacy, and I’m neither belittling or disagreeing with this almost definite fact. My question is where is the supposed technological advancements we have had in recent years? Why are we unable to “read” people differently? Why are the options x-ray or metal detector plus human groping? This just doesn’t make sense to me.

Now, I know I would likely regret doing a full post about my idea for a replacement to these options, but how about a general concept. Why not measure density? More specifically, why not density changes? With those fake beer bellies, they cause a non-uniform density across your stomach area with the presence of some kind of liquid. A synthetic knee has a different density than normal bone. C4, even spread thinly across the skin, would likely have a different density than the rest of your body. I’m not claiming I know what technology could accomplish this, but coupled with a metal detector, it seems relatively benign and effective.

Fable 2

November 2nd, 2010 No comments

Fable 2 has a HUGE amount of content in it, but a lacking for how much of that is required for the storyline. When I say “lacking,” I mean you could commit hours and hours and hours to this game, but never get more than half-way through the storyline because you simply don’t feel like triggering the next instance. What happens when you don’t continue the story? NOTHING! There is zero encouragement to continue the story at the half-way point in the game.

But what about the game itself? It is pretty close to the first in the series, with the exception of changing both the spell engine and the introduction of firearms. That’s right, they added firearms and modified the ranged targeting system so that you aren’t just standing back and trying to snipe off the enemies’ heads with a bow and arrow. I think that the bow and arrow removal did nothing for the gameplay itself though. It does allow you to build your ranged attacks the way you want to (more DPS with a pistol, big damage with rifles, or somewhere in between with crossbows), but to me that didn’t really change the feel of things, especially with the ability to get a level in one of the skill abilities that allows you to tap “Y” at the right time after firing to immediately fire again. Suddenly the rifle turned into a DPS’ing cannon!

What about the spell changes? They honestly didn’t do a whole lot. Yes, you can now charge-up to the higher levels of a skill, but there is no reason to charge up the majority of the skills in the game because there is no mana bar. Yup, they removed the mana bar and in return made it so you would likely have to sacrifice HP to charge up to a higher level of a skill. Since I like to spam the “time control” skill so that I can fly past enemies and then strike them from behind, there was no reason to ever charge up a skill other than to either slow down time with the “time control”s AOE version or to farm gold in one of the later quests with the “raise dead” spell level 5.

So then what did you actually like about the game? The volume of content outside of the storyline itself. There really aren’t that many quests outside of the main storyline, but it is essentially a free-world. You can buy ANY property in the game essentially and either move-in or rent it out. You can marry (though I didn’t try to find out if polygamy was possible in the game) and eventually have kids in the game (grow a family, nurture them, etc.). I spent most of my game time (about a month and a half ago now) becoming a real estate mogul in the game (owned a blacksmith, couple bars, a bunch of houses, and I don’t even remember what else now).

There was a large change that made a big difference in gameplay from the first one, and that was the introduction of a companion. Think Navi from Zelda, but your dog can actually fight if trained enough, and helps you find those hidden dig spots and treasures in the game. It went from a game of guessing where to dig or find treasure to running around and waiting for your dog to let you know where to get the next bit of treasure or quest item.

But what of the storyline itself? Was it at least intriguing? Not really. They seemed to take the story from the first one and recast it for a different time in the same world. I did like how they continually tried to connect the first game and the second, but found the story incredibly short (as stated before). If I had actively tried, I likely could have beaten the main story in about 3 hours of playing. That’s right, a single sitting if I had followed all the in game cues to go through the story. The final boss fight was even disappointing. The hardest fights in the game are against the “trolls,” and they just require standing back and dodging their attacks while you shoot the targets on it as they appear and then take your final shot when the health bar of the troll is low enough. Pretty disappointing from a challenge perspective, of course, that’s not why I played the game through in the first place.

Then why did I play it through? Because of the side-story content. Buying up all the property in the game was a fun goal for a while, but I eventually did get bored. The dog was a fun addition, and its existence greatly affected my end-game “big decision.” But it simply bugged me to no end that the majority of the unique weapons in the game were all in the downloadable content. I’m sorry Microsoft, I’m not going to pay for Xbox Live just so that I can download an extra island of content in the game. Overall, the game was pretty disappointing, but entertained me for a brief period of time.

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.

The Job Hunt

October 11th, 2010 No comments

Since I am a graduating senior from college this year (as opposed to just a senior, which I was last year), I have been going strong with the job hunt. Thanks to a career fair on campus in mid-September, I have actually had a pretty large number of leads and a decent number of interviews. I really wasn’t expecting the career fair to produce much going in, but was pleasantly surprised by it. My approach came down to:

  1. Ask the recruiter to tell you more about their company beyond what you already know about them (in the case of some companies, I actually knew who they were, so would mention that and then ask for more information).
  2. Follow that up with “how can my [insert professional interest here] fit into your company” or “what kind of [insert professional interest here] opportunities do you have?”
  3. From here, it became a case-by-case situation dependent upon what I was interested in that they mentioned, and any questions I might have had. To stand out from other candidates, I told some about projects that I have worked on over the summer and also told a few of the recruiters about the senior design project I am working on (to be discussed a bit in a later post).

You really cannot beat a strong resume though. Because of my large amount of professional experience at 3 different companies during my college career, I had an easy time finding additional material to discuss with those companies of actual interest (there were some that I talked to who just had absolutely NO opportunities to offer me, or were simply not situated to even need my talents and interests).

So, to give a small list of some of the companies I have applied to already, partially but not all due to discussions at the career fair, are (career fair contacts, and then the rest):

  • Wipro – applied.
  • Booz Allen Hamilton – on-campus interview scheduled for 10/14.
  • NSA – applied.
  • Cardlytics – haven’t gotten back to me via email yet, will follow up soon.
  • Endgame Systems – no online application, awaiting a call from them, but haven’t heard yet.
  • Barracuda Networks – applied.
  • Capital IQ – have gone through an on-campus interview with them.
  • — non-career fair opportunities —
  • Google – ON SITE INTERVIEW AT THEIR MOUNTAIN VIEW, CALIFORNIA OFFICE ON 10/18, ALL EXPENSES PAID!! Excited, obviously.
  • Manhattan Associates – applied and was personally told I would hear from them, but haven’t yet.
  • Factset – interviewed with them on 9/16, haven’t heard back though.
  • Cisco – applied.
  • Neustar – was my summer job, an am part-timing with them still. Will likely discuss this opportunity with them further in November.

The Google one is obviously VERY exciting, and we’ll see how the on-site interview goes on 10/18. Considering that they are flying me out there, and putting me up for 2 nights, I am SUPER stoked about it!!

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).