March 9th, 2010
Inspired by the recent 2Story blog post on Wi-Fi I’ve been prompted to think about how Wi-Fi has evolved in recent years. Over the last few years, there have been significant leaps and bounds in the availability of internet access in public areas (“hotspots”). In my hometown I remember seeing the expansion in availability of public Wi-Fi stretch from one of the locally-owned coffee shops to the local chain coffee shops and bookstores before I graduated from high school. Now, I drive through on the way into town and see McDonald’s “Free Wi-Fi” sign displayed proudly under their sign. This amazes me.
Now, it is no secret that Wi-Fi is not free at all hotspots. The most bothersome example for me, personally, is Starbucks. The closest coffee shop to my house at home is a Starbucks, so it’s a pain in the butt when I want to go somewhere to work because it means I’ve got to go across town to get to a coffee shop with free wireless internet access. From what I understand, they have started allowing individuals to comment when they purchase a “Starbucks Card”, but it’s still another hoop to jump through to get my internet access.
I am not oblivious to the fact that internet access costs businesses money. In fact, knowing the broadband access solutions that are available in most localities, I’m willing to bet that there are significant price increases over what individuals like myself pay for internet access to our homes. Additionally, business have to worry about the problem of free riders who do not pay for the product, but use the internet access. This complicates the problem when there are limited access resources available, and paying customers are not able to get onto the internet. However, if they charge money to their customers (on top of the product) odds are that a lot of people like me will opt to travel a little further rather than pay more than the cost of my drink for internet access. So, then, what does the well-meaning business do to preserve ease-of-access to customers? Read the rest of this entry »
Tags: business, coffee-shop, free-wifi, hotspots, wifi
Posted in Tech Industry | No Comments »
February 28th, 2010
So, I am here with yet another weekly update for my networking class. There’s not much for me to report this week, as we literally just finished a project and I am in the process of winding down for Spring Break. I have started the 3rd project, but all I’ve really done is declare the methods I’m going to be writing and write some spec for them. I’ll be able to do some more after spring break. Right now I’m focused in on midterm exams for other classes, unfortunately.
Posted in Classes, Networking | No Comments »
February 27th, 2010
So, I’ve been taking spanish at the University for several semesters now. It’s been pretty awesome getting to learn a new language because you can mark your progress pretty well as you go. As I was sitting here studying for my midterm for the last Spanish class I’m going to have to take – I relized that I would have probably been sunk if not for a nifty little program a friend of mine told me about.
The program is called jMemorize. If you haven’t heard of it, I highly reccomend downloading a copy and checking it out. The idea is that you create flash cards (and you can even categorize them) and then work your way through them. As you do so, the cards will move up to the higher decks, and they will take longer to “expire.” The idea is that the farther to the right that a card gets, the better you know it. This method of card sorting allows me to focus on my weakest links, if you will, when I’m getting close to crunch time. It’s really nice.
There are a few things that I’d like to see in the next version of this program though….
- Better integration with OS X. The menu items should be relocated up to the menu bar and the name of the program up at the top currently reads “jmemorize.Core.Main” instead of jMemorize.
- Auto-save after learning. All too often I will go through a lot of learning and forget to hit the save button. As a result, my progress is lost. I don’t even get a warning when I try to close the program without saving!
- Better visual integration with the host OS. The buttons and everything don’t change from platform to platform.
I’ve tried to get the jMemorize codebase up and running on my copy of NetBeans before, with no success. Hopefully, when I finally find some time on my hands – I might be able to implement some of these features myself. That is the point of Open Source isn’t it? Regardless of these minor shortcomings, I highly recommend jMemorize to anyone who needs something to help with memorization. It has a number of advanced features that make it useful for Foreign Languages, Hard Sciences, Mathematics, and virtually anything else you could make a flash card for. So, check it out!
Tags: flash-cards, java, jmemorize, learning, software
Posted in Cool Software | No Comments »
February 21st, 2010
So, I’m pleased to report that I’m pretty well situated to turn in my second CSCI 4760 project. I have the file sender successfully transferring files to my file receiver. Unfortunately, I’ve been given some reservation – as I can’t get my program to work harmoniously with Dr. Dan’s example programs… and I’m not sure I’m computing the retry limit correctly. I’m also getting some peculiar results when my log files are generated on Zion. I’m going to be looking into these issues over the next day or so.
Posted in Classes, Networking | No Comments »
February 15th, 2010
So, I am continuing progress on my file transfer project for my networking class. Here is an update on where I stand:
I have successfully started transferring files of variable length from the sender to the receiver. The entire contents of the file travel successfully and correctly appear in the destination file – however, while the sender successfully realizes that the file has been transferred successfully, the receiver seems to be a little bit clueless and continues waiting for more packets. So I’ve got to track down that bug. I would like to change the protocol to include in the greeting message how many packets the receiver should expect, but I don’t think it would work with Dr. Dan’s classes if I did that. So I’ll have to figure out another way around that.
Regardless, I feel I’m making good progress on the project!
Posted in Classes, Networking | No Comments »
February 7th, 2010
After weeks of hard work, I’m finally happy to report that the Simple HTTP Server project is complete! I think it actually turned out pretty well.
In other news I’ve started working on the second 4760 Project. The good thing is that I’ve got both sides of the program talking to each other, although not transmitting files. The receiver program is in the habit of always answering a transfer request with a NAK packet… but I think it’s good progress so far! All of my prototype code is written, so with luck testing will go by pretty fast.
Posted in Classes, Networking | No Comments »
January 30th, 2010
It is time again for my weekly project update for 4760!
The good news is that I have my project works at 100% on my local machine. Of course, as soon as I throw it on Zion, things start going wrong. I have had difficulty accurately retrieving the correct exit values from the system exec calls. I’m getting some weird results too. It either always returns an exit code of 0 (meaning that the program was executing successfully) but without giving any output, or always returning 255 (meaning that the program couldn’t run – and probably wasn’t found in the path). It’s really odd…
I think I might be taking advantage of Office Hours on Monday to get Dr. Dan to take a look at my code. I’m thinking a second set of eyes might help see something I don’t. Since I tried deploying to Zion, I’ve been attempting to develop on Zion, without the use of my usual development and debugging tools. In the worst case scenario, I’m going to have to use gdb and figure out why it’s not working… but let’s hope strategically placing couts will make due…
Posted in Classes, Networking | No Comments »
January 23rd, 2010
So, this is another one of my weekly updates for my CSCI networking class. I’m happy to report that I’ve made a lot of progress since last week. It’s probable that this week I’ll be finishing up the server and begin testing it on the Zion CS server. Essentially, I’ve got the project listening on the socket and spawning child processes to handle the incoming connections. As per Dr. Dan’s note, we’re not required to be able to handle concurrent connections – although that is possible in theory.
I’ve mainly avoided it because from what I understand, how different systems handle shared memory between multiple threads differs based on implementation. I figured since I was doing my original development on Mac OS X and then deploying my production copy to Zion it would be wise to keep it simple, even though they are both Unix derivatives when you get down to the bare metal.
My to do list at this point is to get the server executing files using the XBitHack (but Dr. Dan says he needs to tweak that part of the assignment, so I’m holding off on implementation) and then to get the server running as a daemon process. After that I should be done. Hip hip hooray!
Tags: Development, http, unix
Posted in Networking | No Comments »
January 16th, 2010
So as I mentioned before, I’m expected to make periodical updates on project status for one of my Computer Science classes. Although the class that requires blog updates is Computer Networking, I find that I’ve been spending most of time recently working on a Java Applet for my Web Programming class (Java, JSP, etc) since that has an earlier due date.
However, I can report that I have made some progress working on the first project. I have the server listening on a socket, accepting a connection, and having an exchange with a client. Now, the project is to write a basic HTTP server, which I could probably accomplish fairly easy using straight C, but to be honest I’ve been so immersed in Object Oriented Programming that I truly think in those terms – so I’ve decided to implement using C++.
The plan is to have the main function manage the connection, then take incoming data and parse them into HTTPRequest objects then use the HTTPRequest objects to generate HTTPResponse objects that can be serialized to strings and sent back over the connection. So, while I haven’t implemented the objects yet, I have defined all of their headers and class members – so I’ve already got a pretty detailed specification of what each method will do.
I’m optimistic that once I get all the socket management stuff down in the main function then the rest of the code will be a cakewalk, because it will almost entirely be string manipulation from that point forward. Gotta love OOP.
Posted in Classes, Networking | No Comments »
January 8th, 2010
So, I have successfully finished the first week of classes (even though it was only two days). I’m optimistic about this semester. As a part of my networking class, I’m expected to blog weekly about progress on assignments and stuff like that, so I’ve created a networking category for those blog entries. We have a special server that the content is supposed to be on, but I’m thinking a link to the blog category here won’t be a problem… at least Dr. Dan doesn’t think it will be.
The primary purpose of this post is to initialize the Networking category so that something exists. Expect some more exciting content later!
Tags: Classes
Posted in Classes, Networking | No Comments »