POSSCON!!!!

This week was the Palmetto Open Source Software Conference (POSSCON). This event was a blast and I would like to take a chance to recount some of my favorite events, speakers, and moments. I arrived at around eight on Thursday. After checking in and receiving my official POSSCON badge, I headed with my classmates to the main lounge called Richland. Here we got to see a speech by keynote speaker, Scott McNealy, founder of Sun Microsystems. The speech was pretty informative. He went over the history of open source software and outlined many of the issues facing open source software including leadership and organization. Personally though, I disagreed with him that open source had slowed down or that it needs a big industry leader with lots of capital to thrive. As another speaker asserted when I asked about what McNealy had said, John “maddog” Hall said that he has seen no slow down in open source, and that the very design of open source prevents it from needing a large leader. The accessibility of open source software keeps it running strong.

Mentioning John, I got to visit several other speakers presentations. John’s was the most interesting. He was doing a BOF during the lunch period in the Richland hall. I already mentioned what I had asked. Others asked about copyright and patent. Richland felt that patents were necessary but needed a great deal of reform. Likewise, to him copyrights have way too long of a shelf life, and they also need reforms to adapt to the new age of technology. He also was quite humurous. He made sure to point out that Linus is pronounced ‘Lee-nus’ (an earlier speaker had said it could pronounced either way). Jokes like this made me a huge fan. He was both an interesting and informative speaker.

I also visited a kickstarter presentation by a young entrepreneur. Ian Daniher has started his own hardware business at age 20. The software used on his hardware is completely open source and versitle. This presentation was really great because of how young Ian is. Hearing of such a young man developing such an awesome idea is quite inspirational. Having toyed with self-development, hearing the business side of the hardware was not only interesting but different from any of the other speakers. He even demonstrated his device for us. The device known as CEE displayed electronic and heat signature in wave length form to the monitor. Ian showed the program’s versatility and ease of change. It was impressive to say the least.

The third speaker I took a look at was from the Department of homeland security. Security and open software seem like a paradoxical combination, but Douglas Maughan Ph. D proved this paradox wrong. He had a power point set up describing how open source software is used in the daily operation of homeland security. In fact he claimed that all the research done on open source software has proven it is actually more secure than its proprietary brothers. This fact alone was shocking. I was really glad I came to see his thoughts.

After seeing these stellar speakers, I and my classmates collected our belongings and made the short trip back to Charleston. The conference was a blast and I hope to go back next year. I took a significant amount away from the conference. I see the prevalence of open source much better now, and I appreciate what it has to offer more. I will take these lessons with me into whatever field I enter into or in whatever project I will undertake.

POSSCON is upon us!

POSScon is up and coming! This Thursday I will be heading to the Palmetto Open Source Software conference in Columbia, SC. This conference is a great opportunity to meet other employees within the business of open source software, and to hear their opinions on the effects of open source software in the industry. Here are a few presenters I look forward to seeing, as well as a few questions to ask while I am there.

10:30-11:15am
Michael Weinberg

Mr. Weinberg will be discussing the intellectual property ramifications of 3D printing. This talk interests me because 3D printing seems like a viable next step in the chain of newer printing technology. I would like to see his thoughts on the practical matter of developing 3D printers instead of the theoretical and laboratory side of development.

Question: What kind of restrictions could be placed on 3D printers to protect copyright and are they even reasonable/practical solutions?

12:15-13:30pm
Kevin Whinnery

Kevin will be talking about mobile development and the open source community surrounding it. Mobile development is a field I am interested in getting into, and I would find it advantageous to hear his thoughts in this field in regards to open source.

Question: How much harder is it to organize an open source community for mobile development rather than stationary? Are there any noticeable differences within the communities?

14:30-15:15pm
Jesse Andrews

One of the keynote speakers for this day will be Jesse Andrews. He will be discussing the effect of the cloud upon open source software. Many of the cloud developers have very rigid APIs that hinder development and innovation. Jesse wants to talk about ways to handle this issue. As another newer technology, I look forward to hearing about the cloud’s effect on open source software. It should be an intriguing presentation.

Question: How do the APIs of cloud development on mobile compare to the ones imposed on stationary development? Is one worse than the other?

Exercises in developing domain classes: Part I

Today’s post is a continuation of exercises in RMH Homebase. For these exercises we will be taking a class and further refining it. In this case we will be looking at the person class.

6.1 Define a new pair of functions to set and retrieve the value of variables $employer, $contact_person, and $contact_phone.

Added in variables:

class Person {

private $employer;

private $contact_person;

private $contact_phone;

Added in getters and setters:

function get_employer(){

return $this->employer;

}

function get_contact_person(){

return $this->contact_person;

}

function get_contact_phone(){

return $this->contact_phone;

}

function set_employer($e){

$this->employer=$e;

}

function set_contact_person($cpe){

$this->contact_person=$cpe;

}

function set_contact_phone($cph){

$this->contact_phone=$cph;

}

6.2 Add four new parameters and corresponding assignments to the constructor for the Person class, so that the status, employer, contact person, and contact person’s phone are properly intitialized. Use the following prototype for your new constructor:

function __construct($f, $l, $a, $c, $s, $z, $p1, $p2, $e, $t, $status, $employer, $contact, $contact_phone, …)

Here is the new initializer:

function __construct($f, $l, $a, $c, $s, $z, $p1, $p2, $e, $t, $status, $employer, $contact, $contact_phone, …){

$this->status = $status;

$this->employer = $employer;

$this->contact_person = $contact;

$this->contact_phone = $contact_phone;

6.3 Modify set_status function to check the the $value passed is valid. Describe unit testing implications of your design decision.

function set_status($st){

if (strcmp($st, “active”)==0 || strcmp($st, “inactive”)==0)

$this->status = $st;

else

$this->status = “error: bad input”;

}

This basic design allows for an simple set of test cases. {“active”, “inactive”, “test”}

The first two should change the status and the last should change the status to error. The other test cases needed are longer strings, blank strings, and numeral strings.

6.4 Refactor the person class by removing all the mutators that are not called from anywhere in the code base.

After removing a few mutators I rebuilt the RMH Homebase and tested to make sure the program was working. There were no visible signs of bugs after playing around with it for a hour.