FIT Graduation

Posted on May 6th, 2006 by Ahmed Charles.
Categories: School.

Here are pictures from my graduation in May.

Degree Shot Handshake Shot Close-up Shot

0 comments.

On the Implementation of SwarmLinda

Posted on February 1st, 2004 by Ahmed Charles.
Categories: School.

As a result of a project that I did in my Swarm Intelligence course, I published this paper (the extended version is simply more detailed):

  • On the Implementation of SwarmLinda. Ahmed Charles, Ronaldo Menezes and Robert Tolksdorf
    2004 ACM Southeastern Conference (ACM-SE), Huntsville, AL
  • On the Implementation of SwarmLinda - A Linda System Based on Swarm Intelligence (Extended Version). Ahmed Charles, Ronaldo Menezes and Robert Tolksdorf
    Technical Report (CS-2004-03)
    Florida Tech, Computer Sciences, February 2004
    [PDF]

0 comments.

Java Obscure

Posted on March 1st, 2003 by Ahmed Charles.
Categories: School.

Poetry about Java… I’m definately not a poet. I wrote this during my second semester freshman year, my Writing About Literature class must have gotten to me. :)

public static void main,
Java is OO, reliable and secure,
the people of C++ look on with disdain,
the object of Java seems so obscure.

Java is OO, reliable and secure,
the API, so large and vast,
the object of Java seems so obscure,
people just can’t find things fast.

the API, so large and vast,
it covers things from network to sound,
people just can’t find things fast,
amounts of knowledge still unfound.

it covers things from network to sound,
the people of C++ look on with disdain,
amounts of knowledge still unfound,
public static void main.

0 comments.

Software Engineer

Posted on November 27th, 2002 by Ahmed Charles.
Categories: School.

This is an essay I wrote for my second assignment in Computing Disciples and Careers, my first semester in college (Fall 2002). It’s always interesting to read what you wrote many years before that.


Ahmed Charles
Professors Cem Kaner and William Shoaff
CSE 1101-01
27 November 2002

Software Engineer

Careers goals are something that I have been seriously considering since before I began High School, and at around four years ago I decided to pursue a career in Computer Science. About two years ago, when considering going to Florida Tech, I began to become interested in the Software Development option of the Computer Science program (Software Engineering). And thats a break down of events that led to my coming to Florida Tech. Well thats history now, so I will discuss my ambitions for the future.

The reasons why a would like to be a Software Engineer are mainly because I like designing things and applying my knowledge, instead of just theory. As taken from the Association of Computing Machinery’s Software Engineering Code of Ethics and Professional Practice, “Software engineers are those who contribute by direct participation or by teaching, to the analysis, specification, design, development, certification, maintenance and testing of software systems.”1 I believe that best describes my career goals as far as a professional definitions are concerned.

The company I would like to work for is J.D. Edwards2. J.D. Edwards provides Enterprise solutions to customers, like Enterprise Resource Planning, for example. Their requirements for being hired as a “Programmer / Analyst” in a Software Development job are team player, comfortable with highly detailed job, proficient in English, ANSI C programming experience, relational database fundamentals knowledge, VB or similar language experience, 1-2 years professional experience and Bachelors or Masters degree in CS, CIS, or MIS3.

Before I will be able to get hired, I will need to master the following skills:

  • Team building.
  • Communications skills.
  • C and VB or similar language experience (the more languages the better).
  • Relational database fundamentals.

Team building can be developed through class, extracurricular and senior design projects. Team building is a skill that is mentioned allot when talking about Engineering courses and it is related to communication. Communications skills can be enhanced through taking courses, so as to become more proficient in written and spoken English. These two skill requirements are linked and are independent of the particular job offering or company. They are basic skills that are needed in daily life, whether it be personal or professional.

Programming skills can be learned through classes, but most importantly on an individual basis. Students are usually encouraged to practice programming outside of class so that they can become proficient programmers. The key reason for practicing is that having more practice will allow you to learn another programming language more quickly. Internships with companies will also help increase applicable knowledge in programming and how it’s used in industry.

And finally complete the Software Engineering degree. This goal is imperative to success in life, for without an undergraduate degree, people often get stuck in jobs they do not like. People with degrees get paid more as well and have a better chance of getting hired. In the end, it will require allot of work and commitment, but developing skills beyond what is ordinary will set you apart from your peers.

Endnotes - Bibliography

  1. Association for Computing Machinery 27 Nov. 2002
  2. J.D. Edwards 27 Nov. 2002 (link no longer available)
  3. J.D. Edwards “Programmer / Analyst” 27 Nov. 2002 (link no longer available)

0 comments.

The Digital Millennium Copyright Act

Posted on October 23rd, 2002 by Ahmed Charles.
Categories: School.

This is an essay I wrote for my first assignment in Computing Disciples and Careers, my first semester in college (Fall 2002). It’s always interesting to read what you wrote many years before that.


Ahmed Charles
Professors Cem Kaner and William Shoaff
CSE 1101-01
23 October 2002

The Digital Millennium Copyright Act

The issue of the Digital Millennium Copyright Act (DMCA)1 has been discussed since before its adoption in 1998. The primary concern is that the laws made to “stop pirates from circumventing technical protection measures used to safeguard copyrighted works2, are too broad and will cause “fair use” of copyrighted material to be prevented. This poses all kinds of implications whereby the first amendment, of freedom of speech, would not be upheld. This in turn, could prevent the circulation of information on academic research; therefore, hindering the society as a whole. It was stated by the USACM3, that “the DMCA is a misguided attempt to ensure protection of intellectual property by placing overly broad restrictions on technology and speech4.

The stakeholders in the issue over the DMCA are big publishing companies and others like the Recording Industry Association of America (RIAA)5 on one side and the consumer, consumer advocates, and researchers on the other.

The RIAA and other big publishing companies are strongly supporting the DMCA, because with the DMCA enacted, they can control all activities regarding technologies that protect their copyright. Therefore, preventing the circulation of information about the various technologies, which claim to prevent copyright infringement but actually may not.

Consumer, consumer advocates, and researchers are strongly apposing the DMCA, because the consumer’s interest is not being upheld and research in the area of copyright protection technologies will be stifled. Under the DMCA, any research in circumventing copyright technologies for the sole purpose of testing their effectiveness will be illegal. This will, as a result, have negative effects for the very companies supporting the DMCA.

After careful examination of the facts, I have decided to oppose the DMCA, from the stances of “what is best for most” and “what professional codes say”. My stance on “what is best for most” will be based on consumer’s rights and the overall benefit gained by society. My stance on “what professional codes say” will be based on the ACM’s Software Engineering Code of Ethics and Professional Practice6.

The DMCA is not best for the overall welfare of society, mainly because it prevents their first amendment right to freedom of speech. One example of how the DMCA has prevented freedom of speech is, as taken from the Electronic Frontier Foundation (EFF)7 Whitepaper: Unintended Consequences - Three Years under the DMCA8:

Professor Felten’s Research Team Threatened

In September 2000, a multi-industry group known as the Secure Digital Music Initiative (SDMI) issued a public challenge encouraging skilled technologists to try to defeat certain watermarking technologies intended to protect digital music. Princeton Professor Edward Felten and a team of researchers at Princeton, Rice, and Xerox took up the challenge and succeeded in removing the watermarks.

When the team tried to present their results at an academic conference, however, SDMI representatives threatened the researchers with liability under the DMCA. The threat letter was also delivered to the researchers’ employers, as well as the conference organizers. After extensive discussions with counsel, the researchers grudgingly withdrew their paper from the conference. The threat was ultimately withdrawn and a portion of the research published at a subsequent conference, but only after the researchers filed a lawsuit in federal court.

After enduring this experience, at least one of the researchers involved has decided to forgo further research efforts in this field.

With these limitations on free speech and the amount of bullying that is being allowed to take place by large organizations over independent researchers can seem overwhelming. In the long term this will lead to the diminishing of the knowledge society has as a whole on matters concerning copyright technologies.

It also prevents the “fair use” of copyrighted materials, like having an archival copy of all your music. As one reads through the cases in the EFF Whitepaper: Unintended Consequences - Three Years under the DMCA source as cited above, you begin to wonder how such things are possible. “Fair use” in terms of copyright has been around for over a century, and now any technology that aids the “fair use” policy is illegal, simple because it has the potential to be used for illegitimate purposes. The DMCA has made criminal, that which was considered normal practice no more than five years ago.

It also hinders innovation and competition, upon which this society is based. One example of how the DMCA has hindered innovation and competition is, as taken from the EFF Whitepaper: Unintended Consequences - Three Years under the DMCA, as cited above:

Sony Threatens Aibo Hobbyist

Sony has also invoked the DMCA against a hobbyist who developed custom programs for Sony’s Aibo robotic “pet” dog. The hobbyist cracked the encryption surrounding the source code that manipulates the Aibo to reverse engineer programs that allow owners to customize voice recognition by their Aibos. The hobbyist revealed neither the decrypted source code nor the code he used to defeat the encryption, freely distributed his custom programs, and made no profit. Nevertheless, Sony claimed that the act of circumventing the encryption surrounding the source code violated the DMCA and demanded that the hobbyist remove his programs from his website.

Responding to public outcry, Sony ultimately permitted the hobbyist to repost some of his programs (on the understanding that Sony will have the rights of commercial development in the programs). The incident, however, illustrated Sony’s willingness to invoke the DMCA in situations with no relationship to “piracy.”

This will become more of a problem when its effects ultimately prevent innovation on a whole, as currently innovation is still happening but its results are being prevented. If this pattern is not changed, eventually innovation in society as a whole will slow considerably, because the possibilities of bettering the works of others and publishing that knowledge will be less. The overall result will be less competition and therefore increased prices for the consumer.

The DMCA does not conform to the ACM’s Software Engineering Code of Ethics and Professional Practice in general, and goes against these articles in particular:

The DMCA allows and even encourages the breaking of Principle 1 of the code, which states “software engineers shall act consistently with the public interest”. It more specifically goes against points 1.02, 1.03, 1.05, and 1.06. Those points deal with the “public interest” or welfare of society as a whole, as I have explained above. The general spirit of the code is broken by behaving in ways that are against the welfare of society, and therefore the DMCA is also not in the spirit of the Code of Ethics.

By restricting research on technologies that allow users to break copyright, the DMCA limits the provisions of Principle 3 of the Code of Ethics, which states “software engineers shall ensure that their products and related modifications meet the highest professional standards possible”. More specifically it limits a developers ability to abide by points 3.01, 3.03, 3.08, 3.10, 3.11, and 3.12. It limits these because developers should ensure the quality of their products and that the user is not negatively affected by the use of their products. This is not the case with some implementations of copy-protected content; therefore, the user’s satisfaction in the quality of the product is diminished. This reflects negatively on the industry as a whole, and should not be encouraged by the DMCA.

Under the same guise, the DMCA encourages practices which are in conflict with Principle 6, which states “software engineers shall advance the integrity and reputation of the profession consistent with the public interest”. More specifically, it conflicts with points 6.05, 6.06, 6.07, and 6.11. These points mainly deal with professionalism as it regards to a person’s responsibilities towards all stakeholders in any project that the person is working on. These points consider using unethical practices, which are allowed and encouraged by the DMCA, to prevent legitimate outside testing of methods of copyright protection.

Special notice is given to point 6.06 “obey all laws governing their work, unless, in exceptional circumstances, such compliance is inconsistent with the public interest”. This point in the Code of Ethics is primary when taking an ethical stance on the issue of the DMCA, when choosing to be guided by this code. This provisions provides an ethical stance were the law may be overly bias in one direction, but the overall welfare of society would be diminished if one were to only use the law as a guide when making ethical decisions.

Principle 8 of the Code of Ethics basically sums up the rest of the code by having provisions that make it obvious how the code applies to individual software engineers. This is an essential component of an ethical code and should not be taken lightly, as the individual is what makes the company and all factors that affect the individual, also affect the company. This is critical in attempting to make the link between the ethics of the organization that you are affiliated with and your own personal ethics.

In conclusion, the DMCA was a failed attempt at dealing with a crime, but it is too broadly based; therefore, leading to companies abusing it for their advantage in areas far removed from piracy. If it were more clearly defined and limited to the actual act of piracy, rather than the act of creating technology with could possibly be used in piracy, it would be better for the overall welfare of society and conform more closely with the professional codes of ethics.

Endnotes - Bibliography

  1. Copy of the DMCA.
    THE DIGITAL MILLENNIUM COPYRIGHT ACT OF 1998 - U.S. Copyright Office Summary
  2. Popular source on the issue written by Rep. Rich Boucher.
    Time to rewrite the DMCA - Tech News - CNET.com
  3. The USACM’s Official Website.
    ACM’s U.S. Public Policy Committee (USACM)
  4. Professional source on the issue as a press release by the USACM.
    COMPUTER PROFESSIONALS CONCERNED DMCA STIFLES ACADEMIC FREEDOM AND SPEECH
  5. The RIAA’s Official Website.
    Recording Industry Association of America
  6. Professional code source by the ACM.
    Software Engineering Code of Ethics and Professional Practice
  7. EFF’s Official Website.
    Electronic Frontier Foundation
  8. Example of DMCA being used against the interest of society in general.
    EFF Whitepaper: Unintended Consequences - Three Years under the DMCA

All opinions in this paper should be treated as such and all sources from which I have gathered information to come to such conclusions are cited to the best of my ability.

0 comments.