Society of Women Engineers

This weekend is the Society of Women Engineers National Conference. It happens to be in my hometown. It is shockingly different to attend an incredibly technical event and be completely surrounded by women - we are talking a 95% constitution of those human beings producing more estrogen than testosterone. This is the complementary circumstance to that which I experience daily - namely, a vast majority of men at incredibly technical functions, especially Engineering classes.

The purpose of the Society of Women Engineers is best stated by the expanded title "Society for the Advancement of Women in Engineering" - after all, I am a national member, and I am male. Just as the National Society of Black Engineers encompasses all who promote the advancement of engineers of African descent, and the Society of Hispanic Professional Engineers and the Society of Mexican American Engineers and Scientists similarly encourage all who promote those who fall under those specific ethnic categories to succeed in Engineering, SWE is comprised of individuals who encourage women to excel and advance in the profession.

I was given the tag "I blog about SWE" and since that was not the case previously, it is now justified! Many women helped to pioneer earth-shattering breakthroughs in various engineering and technical disciplines, and their successes proved that it is not necessarily a male-dominated field, but it is so de facto.

Go SWE!

Registered Linux User #370740 (http://counter.li.org)

Contributing to Open Source

This semester, I attack my senior project in Computer Science. We have been given the opportunity to contribute to Open Source as our senior project; of course, our experience will be well documented.

My team of four has taken on an altogether greater opportunity to work with IBM to encourage compatibility for Moodle with IBM's DB2 relational database management system (RDBMS). Moodle is an online course management system, written in PHP. Presently, Moodle's code supports Oracle, MS SQL, MySQL, and PostgreSQL. Their framework is flexible enough to allow an extension to support DB2, so that is our endeavor.

We have found, so far, that it is not a trivial task to work together on such a project; we are presently one month into the project and are just finishing up our preliminary research, defining the scope of our contributions, and establishing our development and testing environments.

And so it begins - I transition from just using Open Source to contributing to it!

Registered Linux User #370740 (http://counter.li.org)

WikiTrust - Accountability in the Open Encyclopedia

This article from MIT's Technology Review gives a succinct overview of the WikiTrust project, an effort at the University of California at Santa Cruz (UCSC) to add accountability to open knowledge bases, like Wikipedia, in order to make the content contained therein more useful. The project takes into consideration several aspects of each author's credentials and how their contributions are received by the editing community on that knowledge base; color coding is used for easy identification of the reliability indices that are provided.

This sort of construct, that requires human intervention to certify the authenticity or reliability of other humans on particular topics, is badly needed in most parts of the Internet - browsers are, at the present time, left mostly to their own devices to prove the validity of content they see online, conducting their own investigation of related material and researching the backgrounds of each "author" of online content.

This issue (of identifying experts) is, in fact, opposed to some aspects of the online privacy and anonymity movements for obvious reasons - the identity of the author must be guaranteed in order to certify that the information provided is valid; someone may simply impersonate a reputable expert in a field, posting erroneous information in their trusted name. This can only be avoided by using the web of trust identity system (thawte, wikipedia), which currently exists, but is not widely used. Web of trust works by providing a framework and workflow by which individuals may certify the identity of others, and through the web, someone may be trusted through any number of first-hand trusted connections. The framework, at its core, relies on digital cryptography. A wiki-like environment using the web of trust for certification should present some sort of a revision hash, uniquely identifying a particular revision, and experts trusted through the web of trust should then cryptographically sign that revision only, certifying that the contents of the article through that revision are accurate, and then be notified to likewise certify subsequent revisions. The more trusted signatures a document has, the more reliable it can be said to be, without further investigation.

These systems, however, require that users at large become familiar with their high-level architecture, and understand the implications of various actions taken with respect to them. This education phase is necessary to understand fully how to operate in the information age. Security and identity online can be compared to rudimentary physical security and human legal identity - it is highly uncommon that individuals broadcast their social security numbers or leave their vehicles or homes unlocked when leaving them. Likewise, it ought to be uncommon for Internet users to leave their sessions unattended or unsecured. This, however, requires that users understand the workings of this more complex system; a home or auto lock is quite simple to understand and use, still without knowing its inner workings, but the equivalent constructs in the computing world are a bit more difficult to understand and use.

Registered Linux User #370740 (http://counter.li.org)

Monotone DVCS

I was surprised to see that I have not posted about revision control systems yet. I began using Subversion about a year ago for personal projects; it was a nice start, and I had my beloved server under my bed hosting my repositories for local access.

Since then, I have switched to Mercurial, which is so much more painless than Subversion, being distributed in nature, and the TortoiseHg Windows shell extension made it even more useful for me and my colleagues at the University.

Today, and for the past week or so, I have been watching the Pidgin Instant Messenger project, which uses the Monotone distributed version control system (DVCS). Monotone uses RSA keys (like SSH) to determine the identity of remote peers, and keeps its data in sqlite structures. It seems to be a very idealistic system, when it comes to version control, which is what I am always looking for.

Cruise over and have a look!

Registered Linux User #370740 (http://counter.li.org)

StackOverflow and ServerFault

I cannot believe I did not jump into these communities earlier - StackOverflow and ServerFault are two amazing community websites in question-answer forum fashion about programming and software development, and IT administration, respectively. I have occasionally landed on StackOverflow doing Google searches for programming-related problems, but from now on, I will be starting there and moving outward as needed. A nice feature about both sites (which use the same custom framework) is the "interesting tags" feature, which allows you to fine-tune your preferences and tailor the homepage to your interests. Both sites integrate with each other and use OpenID for authentication.

Have a look!

Registered Linux User #370740 (http://counter.li.org)

Facebook

Paul Nguyen's Facebook profile

Nerd Test

v1.0:
I am nerdier than 94% of all people. Are you a nerd? Click here to take the Nerd Test, get nerdy images and jokes, and talk on the nerd forum!
v2.0:
NerdTests.com says I'm an Uber Cool High Nerd.  Click here to take the Nerd Test, get nerdy images and jokes, and write on the nerd forum!