Sparkle City Blogs Spartanburg Blogs — Unite!

18May/100

Cory Bohon--Protecting Yourself On Public Wi-Fi

Something that a lot of people don’t pay much attention to is wireless access points. Many people will connect to any wireless access point and begin checking their email, bank accounts, and go to other online services without giving much thought to their wireless surroundings.

But, here’s the thing … no matter if you’re connected to a 100% trusted wireless network, your information and security could be at risk no matter the operating system you’re using: Windows, Mac, Linux, it doesn’t matter.

The insecurity comes from the way a network operates. Generally, wireless networks work in a logical BUS topology, which means that any data response is sent to all computers on the network, but only the computer the data was addressed to will accept it and other computers will disregard the data.

If you have some specially designed software on your computer, like Wireshark, then you can “sniff” the packets (small chopped up bits of data) being sent and received from other computers on the network you’re connected to. By doing this, you can see in plain sight any data (passwords, bank account numbers, usernames, messages, etc.) that is being sent as plain text. Most websites generally send sensitive account information in this fashion, too. This will work on both wired and wireless connections, mind you.

Take the screenshot below. This is from my home wireless network that I was connected to. It shows where I was attempting to login to a website using my username and password. Notice how both the username and passwords were sent unsecurely as plain text. If anyone was connected to the network and had an application like Wireshark up and running, they could capture those packets and retrieve my username and password all without me ever noticing.

This is something very important to remember when connecting to wireless networks. What you may think of as a secured access point may be the way in which your important information is stolen unsupectingly.

Protecting yourself
There are ways to protect yourself from this method of data theft, however.

Generally, banks and other websites that maintain personal data use SSL security. This means that data sent or received to your computer and the server you’re connected to is encrypted before being sent. If you’ve ever noticed a small lock in your web browser or noticed that the protocol in the address bar changed from “http://” to “https://” then you’re most likely secured via encryption.

What does HTTP or HTTPS mean?

HTTP stands for Hyper Text Transfer Protocol and it’s the method by which web pages are requested and delivered to your web browser. HTTPS stands for Hyper Text Transfer Protocol Secure and it’s a secure version of the standard HTTP protocol that allows SSL security certificates and other security layers between you and the server you’re connected to.

In addition to checking to make sure you’re connected to a secure website before typing and submitting personal information, you also have a few other options. You could set up a VPN (virtual private network) on a computer at your home that you could connect through to provide a secure gateway for accessing websites while on-the-go. You could also invest in a 3G/4G wireless card for your notebook computer. This would allow you to have a direct connection to an wireless Internet provider (via a more secure cell tower connection). Plans can be pricey, however, which is why some use a VPN connection.

This is one of the reasons I went for the 3G version of the iPad. I’m trying to free myself from using public Wi-Fi where I am only as secure as the content I access and my computer security is only as safe as the people accessing the network.

The problem with this security issue is that anyone and any network is susceptible to the problems. Even if the network features WEP or WPA security measures. If someone can connect to it and open an application like Wireshark, they can begin gathering sensitive information.

What is WEP and WPA Security?

WEP stands for Wired Equivalent Privacy and is an older, less secure way to encrypt a wireless network. WPA stands for Wi-Fi Protected Access and is a newer and more secure way to encrypt a network. Generally, it is better to stray away from WEP encryption because tools exist that can allow anyone to penetrate the network and gain access to your wireless connection.

I wanted to post this because I see a lot of people who nonchalantly connect to public wireless networks and begin surfing to websites that contain sensitive data about that person. I hope that you were able to understand my concern and the reason that I wanted to let you know about this security issue.

If you have any questions, feel free to post a comment below or email me. Also, if you have a computer topic that you’d like me to talk about, feel free to send me an email and I will see what I can do.

23Mar/100

Cory Bohon--Documenting Your Programs

code_commenting_101.jpgI’ve been programming for several years now and every time I start to write a line of code, I think about the documentation that I’ll need to write for either people who could read my code later (comments in code) or the users of my program (user documentation). I’ve seen several programmers both in academia and full-time developers that don’t comment their code. I firmly believe in commenting code for several reasons, but I just wanted to point out a couple reasons as well as some methods that I use in my own code commenting.

Reasons

Commenting for the future
If you don’t comment your code for any other reason, please, please, please, do it for this reason. If you’re part of a large project where you’re constantly updating your code, then this might not be as big of a problem, but if you rarely update your code, you definitely need a record of what things do.

Making sure you comment what things do, what needs to be updated (or fixed), etc. makes life a whole lot easier when you come back to your code down the road. Chances are you’ll be writing so much code that you won’t remember exactly what certain functions do or what a line of code might do.

Another reason to always document code is that you might not be the one working on the same code down the road. Especially if you’re involved in a large project or with a large company. And let’s hope it’s because you were promoted (and not fired for not documenting code ;-) ).

Comment the head of documents
I always comment the head of every document in my program (program files, header files, etc.). I use it as a record of the filename, who initially programmed that particular document, the date of initial programming, and a description of what that file does.

In addition to adding the regular doldrum of information at the head of the document, you could also add licensing information such as copyrights, EULA, etc.


Add a log file at the head of the document
Adding a log file at the beginning of your program files can generally be a good place to store information such as a revision log or changes you’d like to make down the road.

Comment Functions and Class Methods
When you comment functions and class methods you’re making a record of what that particular piece of code does. As mentioned by some of the reasons above, this is a good idea if you’re going to be coming back to your code down the road. Plus, if you have multiple people working on a project, this lets others instantly see what your function or method is doing. Look below to see how I comment functions and methods.

Commenting Methods

Commenting the head of a document

Below is an example of how I document all of the headings of my program files.

/*
Filename: MyProgram.java
Author: Cory Bohon
Date: Mar-23-2010
Description: This is the most awesome program you'll find anywhere. Srsly.

Version Log:
1.0.1 - Fixed bugs, added awesomeness
1.0 - Initial release to awesomize the world
0.1 - Beta version of awesomeness -- ADD MORE AWESOMENESS
*/

Commenting Functions and Methods

I like to use the Javadoc method of commenting functions and class methods. I even use it for some C++ code that I do, just simply because I think it’s a really efficient way to document functions and methods. Below is an example of this commenting method.

/**
* Returns the my_name variable
* @param none
* @return a string type with the name of the user
*/
string MyProgram::get_name(void)
{
return my_name;
}

I hope this post has helped some people see why it’s important to document your code. If you’re already documenting your code properly, I hope that you have learned some tips from the ways I’m documenting my code. And if you have any tips for me or some tips that I have missed, please leave a comment, or send me a message on Twitter.

21Feb/100

Random Connections--Adventures in Used Autoland

I believe I mentioned that my truck died. The cost to repair it would have been more than I what I would pay for a new truck. I wasn’t sure I even wanted to replace the truck, but it was Laura who talked me into it, saying that she liked having a third vehicle available.  It just had to be a small one she could drive to get gardening stuff. So, we set a budget for that amount and decided to see what we could get.

I had already test-driven a couple of trucks and had some candidates in mind. I had looked through the papers, and I had checked several online websites. Having done my research, I felt like I had a fairly good grasp of the market for small pickups, so on Saturday I set out to see what was really available. I did get a truck, but I’ll save that for last

Used car dealers run the gamut, from cliched plaid jacket wearing caricatures to some decent folks just trying to make a living selling cars. I think I ran into just about all of them. I stopped at one place where the salesman puffed a cigarette the entire time. He apologized, saying that the only time they are allowed to smoke was when they were out on the lot with customers. What??? I left.

I stopped at several little lots along Poinsett Highway. On close inspection, the little trucks on their lots led rough lives. It was a good thing that no one came out to answer questions or let me take a test drive.  Eventually I made my way to Toyota of Greer.  This is where things really took a turn for the bizarre.

You can’t just drive through or walk around Toyota of Greer’s lot.  You have to park in customer parking (which was too limited for the number of customers that day) then walk through their sales room so you can get tagged by a sales rep.  I walked through, but no one offered assistance, so I headed on out to the lot.

I’d seen two trucks within my price range on their newspaper add, so I set out to find those.  Sure enough, those trucks were no where to be seen, and I began to suspect bait-and switch.  I felt sure that they would have been conveniently sold.  I did find a nice Ford Ranger and thought I would inquire.  Eventually a sales rep did come out, and I asked him about the trucks in the add.  He confirmed my suspicions – they were not available.  I told him my price range and asked about the Ranger, specifically the price. He trotted off to get a key and supposedly to get a price.  He came back with a key, but not a price.  He only said that, “We can make you a deal similar to what you saw on those other trucks.”  That should have been enough to make me walk away, but I decided to test drive the truck anyway.

It was a good truck.  It wasn’t perfect, but it would fit the bill.  So when we got back I followed the salesman back to his cubicle to get more info.  Again I asked about price.  Instead he wanted me to fill out paperwork to get a quote.  I hesitated, but complied.  He trotted off to his sales manager while I waited, and waited, and waited.  Eventually he came back beaming, saying that I had received an incredibly good deal.  The price he showed me was double what I was willing to pay.  He trotted away again.

I decided I’d had enough and started to walk out.  He intercepted me and said they had a new deal.  It still didn’t fit my budget though.  He wanted me to stay and see if they could make deals on any of the other trucks (which were later models and in much better shape than the one I drove.)  I knew that wouldn’t happen so I thanked him for wasting my time and left.  I did learn a lesson, though.  If someone can’t or isn’t willing to give me a price on a car right away, even if it’s negotiable, I’m leaving.

With most of the afternoon gone I headed straight to Taylor Auto Sales in Lyman where I had driven a nice little Nissan Frontier earlier in the week.  I took it as a good sign that it still looked better than any of the other trucks I had seen this week.  It drove very well, and the salesman was willing to meet our budget.  I felt weird making a decision on a vehicle that Laura hadn’t seen.  I sent a photo over the phone, and she said she trusted my judgment.  So, I bought it.    I did what I set out to do – for not much more than the repairs would have been on my old truck, I get a little later model truck in better shape that would work fine for gardening and hauling kayaks.


Copyright © 2010 Random Connections. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@www.randomconnections.com so we can take legal action immediately.
Plugin by Taragana


12Feb/100

Random Connections--Bing, Buzz, Bip Bop Boo

Social_Icons

What’s the buzz, tell me what’s a-happenin’,
What’s the buzz, tell me what’s a-happenin’,
What’s the buzz, tell me what’s a-happenin’,
What’s the buzz, tell me what’s a-happenin’,

Why should you want to know?
Don’t you mind about the future?
Don’t you try to think ahead?
Save tomorrow for tomorrow;
Think about today instead.

- “What’s the Buzz?” from Jesus Christ Superstar by Andrew Lloyd Webber

Back in the Good Ol’ Days™, AOL had dominance in the online world.  It started as a self-contained entity with its own news, shopping, and social interactions.  The “Internet” was this other stuff that you had to pay extra to get to on a per minute basis, unless you purchased AOL’s more expensive unlimited plan.  In fact, less savvy users often thought that AOL WAS the Internet, and couldn’t imagine accessing information through any other method.  Browser?  What’s a browser?

Fast forward a decade or so and we like to think we’re so much better off with so many options, especially within the realm of searching and social networking.  However, there’s much evidence today’s social networking corporations have the same attitudes as AOL did.  They only want you to play in their sandbox.

Bing

Let’s start alphabetically with Bing.com.  While not a social networking site, they have inherited all of the exclusivity of their parent company, Microsoft.  They have even invented their own malady, Search Engine Overload, to scare others toward their “decision” engine.”  I think what sent me over the edge was when I tried to install their Bing 3D Maps, supposedly their answer to Google Earth.  I go the following message:

Make Bing my default search engine and prevent other programs from interfering with my choice.

If I had checked that box I would have been locked into Bing permanently, I guess.  The second part of that statement, “interfering with my choice,” is deliberately misleading.  If you click this box, you have no choice.

Buzz

It’s not all fun and games on the other side, either.  Google’s latest foray into social networking is Buzz.    At first glance, it’s pretty cool.  You can have status updates from you and your friends sent directly to your GMail inbox.  It has some interesting location-awareness applications.  It also interfaces very nicely with YouTube, Flickr, Twitter, and other websites with RSS feeds.

However, that’s where the cooperation stops.  You can get data into Buzz, but you can’t get it out.  It would be very nice if Buzz would interface with Facebook, but it doesn’t, and there are no plans to create this connectivity.  Mashable.com does a better job of describing this problem.  At least it’s better than Google Wave, which had almost no way have getting outside data inserted into conversations.

Bip Bop Boo

Twitter, Ping.fm, and Friendfeed play much nicer with others.  They don’t try to be closed systems, and are happy to share their data with other social networking sites.  As such, I usually just update Twitter, and let its status updates feed to all of the other social networking sites I’m on – Buzz, Friendfeed, this website, and even Facebook.  It makes it easy on me, and anyone who follows me on any of those sites can keep up with what I want them to know.

Speaking of Facebook…

Facebook tends to be a closed system just like Google Buzz.  It does have third-party applications that bring in RSS feeds, Twitter updates, etc, but it doesn’t provide its own outbound feeds.  That also applies, somewhat, to any media on the site.  Facebook does provide the handy  “Share this photo with anyone by sending them this public link” at the bottom of each photo.  Clicking on the link opens your default e-mail application so you can e-mail someone the link.  You can copy the public link and embed the photo in other web pages.

Video is another matter.  Facebook doesn’t provide embed codes or the direct link to videos.  However, there is a way around this.  In my Hidden Columbia post I was able to embed videos from Facebook using a workaround.  The ID number for each video can be seen in the video’s URL in the address bar.  Just replace the XXX’s in the code below with the ID number, and you can embed the Facebook videos into websites, etc.

<object width="400" height="224" >
 <param name="allowfullscreen" value="true" />
 <param name="allowscriptaccess" value="always" />
 <param name="movie" value="http://www.facebook.com/v/xxx" />
 <embed src="http://www.facebook.com/v/xxx" type="application/x-shockwave-flash"
   allowscriptaccess="always" allowfullscreen="true" width="400" height="224">
 </embed>
</object>

It would be great if all of these systems would play together nicely. Some do to a better extent than others. It boils down to the fact that if there is revenue to be made, you want to steer as much traffic your way as possible, and creating a closed system seems to be the best way to do that.


Copyright © 2010 Random Connections. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@www.randomconnections.com so we can take legal action immediately.
Plugin by Taragana


8Feb/100

iamdave--Yeah, I donno.  Three Panel Soul started off with some serious…

Yeah, I donno.  Three Panel Soul started off with some serious promise as the continuum web comic of Matt Boyd and Ian McConville post graduation from college, debuting the internet with this awesome Sin City style aesthetic, and even early on we got a nice little teaser of what might have been a very impressive story arc following Matt in his journey to find employment (which only lasted what, 6 episodes?).

Not even three comics into the series we caught a glimpse of what 3ps would turn into: video game commentary with a few hints of story line.  I hate to bash here, because I truly loved the work Ian and Matt put into Mac Hall.  It was the first web comic I ever read, and there was a constant story going on (no matter how many different directions it took you), it felt authentic.  Three Panel Soul feels like half the effort, with more strain on the visitors who wait for a new piece of work from the dynamic duo, only to get some sort of half-baked, tongue-in-cheek commentary on whatever new game is on the shelves.

Truthfully, if I wanted half-baked, tongue-in-cheek commentary on whatever new game was on the shelves, I’d punch myself in the dick and go read VG Cats1.

Disclaimer:

I realize how busy these guys are.  Ian and Jess, god bless their beautiful and creative souls just got married while the writer Matt is a victim of the jack-knifed economy but god damn.


Footnotes

  1. VG Cats is NOT funny

30Jan/100

Cory Bohon--Thoughts About the iPad and App Development

ipad_2up_hometimes.jpg

If you live on planet earth, then you know Apple announced the release of its newest invention, the iPad this week. A lot of people have been speculating about this device, wondering what market it’s for and what all it might be capable of. Many people have mixed feelings about whether or not they will purchase one, also. In this post, I want to let you know why I chose to get one and also what the iPad means to the developer community.

The iPad has been compared to a “giant iPhone or iPod touch,” but I simply don’t think that’s what this device is. Sure, the device is running iPhone OS 3.2, but the OS and software has so many more possibilities than the iPhone or iPod touch. I’d imagine Apple chose this operating system over Mac OS X because it’s extremely touch-friendly and because probably half the population of the world has seen and/or used the iPhone OS. If people already know how to use a piece of software or hardware, the chances they’ll purchase and enjoy it is more likely because they can relate to it.

But the OS is just one small part of the device. The third-party software that can be written for the device is generally about the same as the software that can be written for Mac OS X. There’s a few differences, but for the most part high-quality software can be written for this device. Take Apple’s own iWork for the iPad. They are taking a piece of software from the Mac that’s pretty hefty and porting it to a device that supports Multi-touch gestures for manipulating text, images, slides, and spreadsheets. To me, that’s the amazing part of this device. My hope is that developers take heed to the wonderful iPad SDK Apple has released to develop desktop-class applications that can take full advantage to the Apple designed processor, and touch screen.

People have been badgering the device because there’s no Adobe Flash playback, but I’m not so sure that’s a problem. Flash has been around for a long time and has been adopted by a lot of websites, but that doesn’t mean it’s the best use of the technology. Microsoft has also came out with their own sort of technology called Silverlight. These technologies, however, often take up lots of memory and CPU. And for what? Video playback? Games? All of these tasks can already be done with the iPad if developers would take a look at creating apps. Not a fan of apps? Apple is simply addressing the future. Because of the iPhone and lack of flash support, Apple has forced developers to take a look at other technologies to accomplish these simplistic tasks. Adobe is just angry because Apple is slowly taking away their market, but the truth is that flash is on its way out (or at least should be). Advanced CSS and HTML techniques give web developers the ability to add video playback and game design right on a webpage without using the resource hogging flash that’s common today. YouTube has already adopted many of these techniques and it’s simply beautiful to see in action.

Too many people have compared the iPad to the Amazon Kindle and various netbooks. The iPad is in a completely different class than those devices, and the iPad will probably take a good bit of market share from those and other devices like it. Apple has created a device that can do eBooks (or iBooks as they’re calling them), it can do HD video from either iTunes or YouTube (another game changer for parents who despise portable DVD players and the ever-so-scratchable discs), and it can do productivity with the iWork suite (I’d imagine it’s only time before Microsoft joins in, please?). Sure it doesn’t have an e-Ink display, but so what? Many people read and have no problems reading from an LCD monitor everyday. Plus, you don’t need a book light like you need to have to read in the dark with e-Ink devices. Plus, this device is in full color and has a 9.7″ screen that will be amazing for displaying textbooks in PDF or ePub format.

Basically, I’m just a little disappointed that people are already bashing this device when it (1) hasn’t been released yet, and (2) hasn’t been used by anyone except people at the media event last week. The iPad has a lot of potential if only people would look at that. This device is truly a game changer. The Amazon Kindle DX is only a few dollars less than the basic iPad that costs $499, a few dollars separates these two devices that are completely different. Except, the iPad can do all that the Kindle has to offer. The Kindle, however, cannot touch what the iPad has to offer.

30Dec/090

Random Connections--Adventures in Customer Service

Two different stories of breakdowns in customer service.  One had a very simple solution, but one was most difficult to resolve.  Both resulted in ill-will on the part of the customer (us.)  Both of these prove the old saying my former boss used, “It takes ten ‘atta-boys’ to make up for one ‘Oh Sh*t!’”

The Lazy Goat

This was the simplest to resolve, but that didn’t happen.  The customer service faux pas could have been fixed with just one simple phrase, but the offending parties didn’t.

Laura and I celebrated our 21st anniversary last week.  However, we decided to wait until we got home from Florida to have a celebratory dinner at The Lazy Goat.  I made reservations, and specifically requested a table at the windows overlooking the Reedy River.  When we arrived, we were seated in the middle of the restaurant, our request notwithstanding.  The window tables had been taken.

Here’s where things broke down…

All the hostesses had to do was to acknowledge our request and let us know that our requested table wasn’t available.  We would have been happy to wait 10 minutes in the bar (which is about all it took for one to come open.)  Instead, we got two twits who acted like they couldn’t be bothered, and didn’t even make eye contact.  A simple sentence could have avoided some ill-will.  The food was still good, and we had a nice evening, but it wasn’t quite perfect.

Verizon Wireless

This was more egregious.   Apparently Laura wanted to buy me a new Droid smart phone for Christmas, so she headed to our local Verizon outlet.  My current phone has been shutting off of its own accord, and I guess I had complained about it too much.

At the Verizon store she was informed by the salesman that we were not eligible for an upgrade.  Even though Laura said she would be willing to pay whatever the difference would be, he flatly refused to sell her a new phone.  He told her that my current phone was still under warranty and that they could just replace it.  He even agreed with Laura that she should just go buy me a new camera at another store instead (which she did.)

When we got back from Florida we headed to the Verizon store to get my phone replaced.   We were informed that A) my phone was NOT under warranty and it would be $50 to replace it, and B) we were eligible for an upgrade.  The first salesman didn’t want to be bothered with Laura and flat out lied to her.

I complained to Verizon, and did get a response.  They were suitably appalled at the salesman’s behavior, and offered to deduct 10% from my primary line bill for the next six months.  That comes to about $36 – not a huge amount, but it does help offset the expense of the phone replacement.

However, they lost more than just $36.  They lost a sale, and they lost the additional monthly charges for data access, not to mention the ill-will on our part.

Customer service can really be a simple thing – just a well-time phrase often takes care of everything.  Sometimes people just don’t think.


Copyright © 2010 Random Connections. This Feed is for personal non-commercial use only. If you are not reading this material in your news aggregator, the site you are looking at is guilty of copyright infringement. Please contact legal@www.randomconnections.com so we can take legal action immediately.
Plugin by Taragana


All Blogs