Unmonger

November 18th, 2009 | Category: 01100011, Meat Space, Sector 7G

I’ve often wondered what places someone in an open source community. Is it advocating the software? Openly contributing source code? Are users members of the community? I’m not sure if the definition of membership is clear to me.

You’re probably reading this entry on the Perl Ironman Blogging challenge. I joined the challenge over the summer when I had much more time to devote to active participation (no classes). I have failed to leave Paperman status since the semester started.

I haven’t contributed much. I haven’t been able to clean-up and upload my lingering perl projects to CPAN yet. I haven’t contributed to fixing bugs in CPAN modules or perl5 itself. I have flirted with contributing to Rakudo over the last 18 months but have become consumed with my graduate work as of late. I have been to only 1 YAPC::NA event, which was this summer at YAPC::NA 2009.

I don’t write gobs of professional code using Perl; 95% of my professional code is C++. The last professional Perl project was to recreate Test::Harness and TAP::Formatter to meet my needs, which turned out to vary widely. I’m not a sysadmin, so I don’t get to use Perl as a glue to hold my universe together. I don’t have 14 million repuation points for Perl on StackOverflow.com.

I don’t wax philosophically about the Great Divide between Perl 5 and Perl 6 developers; I am both, so that would be weird to argue with myself. I love Perl, both 5 and 6. I love all the great things people have contributed over the many years.

To put it bluntly, my graduate degree greatly eclipses anything I would like to contribute to the open source community, Perl included. I take a few hours a week to run and that’s about all I get for free time.

I did restart DFW.pm, now referred to as Dallas.p6m. Dallas is blessed to have a few significant community members, so I at least try to bring them together for coffee once a month. I’ve held a few mini-hackathons, though attendance has dropped, likely due to the time of the year.

So where would I fit in this Community Ball of Mud?

2 comments

The Fallacy of Industrial Expectation

November 07th, 2009 | Category: Grinds My Gears, Project Bootstrap

I am what you would call a “professional student”; I have an Bachelors of Science in Computer Science, I am finishing a Masters of Science in Computer Science with a focus in Intelligent Systems, contemplating a PhD, and I have been a software engineer for 6 years now.

Recently, Joel Spolsky published yet another article about how he feels the universities of the world are churning out students incapable of doing the daily duties of software development. I’ve read other scathing articles about academia. I’ve even responded to many comments similar to “you have a degree but don’t know how to use ToolX or program in LanguageY.” These criticisms always irritate me (and strike me as originating from someone who begrudges those with degrees), so I want to set the record straight about academia. There are 2 simple points I want to get across:

  1. The university’s primary concern is to teach you core knowledge and how to obtain new knowledge in any field.
  2. Computer Science is a division of Applied Mathematics.

It’s that simple. At no point is it the university’s responsibility to teach students an arbitrary tool or language that the industry is consistant in its opinion. I read this really great response to his article that echos many of my complaints about this misconception.

Joel often comments that universities are trying to teach a particular language because it’s what the industry does or because MIT does it. That is wholly incorrect. The only reason why a university favors a particular language is so that the professors can focus on teaching towards and grading just one language, as that greatly simplifies their job. The choice of Java or Python is because you can express ideas simply and straight forward. The point isn’t to teach a language but to teach an idea expressed in a language.

If my undergraduate university had taught me specifically how to use CVS, that skill would essentially be wasted. Instead, they teach how versioning control systems work so that I may either implement one or just use one in my day to day job. Which sounds like a better idea in the long run?

Now keep in mind that CS is really just a division of Applied Mathematics. If you haven’t come to understand that, then you do not truly understand the field. In fact, the original “computers” were humans who computed mathematic equations.

Sure, most undergraduate assignments seem simple in comparison, but it’s because they don’t want to teach the peripheral tasks. Those tasks, such as testing, working in teams, and the latest “agile” techniques, are unrelated to the core understanding and vary widely within the industry. By understanding the core concepts, everything else is an extension of your existing knowledge.

If my university had taught me how to use FogBugz or how to write Perl TAP tests, I would have been looking for another university. My graduate school has yet to require I use a language or a tool and has yet teach a specific language and a tool. In the long run, that makes me a more adaptable developer and far more valuable to my employer.

4 comments

Thesis In Frustration

October 25th, 2009 | Category: 01100011, Grinds My Gears, Project Bootstrap

So this semester I have been investigating and working on my thesis. Right now, my focus is in Statistical Natural Language Processing. I don’t want to discuss the specifics of the research just yet, but it has the potential of completely up-ending the entire search industry.

I have been investigating how to build a large corpus from the web. My advisor favors using Google directly since they already exist and provide their search for free.

The first thing I did was investigate the Google SOAP API only to find out that they deprecated it when they introduced the AJAX API. The new API only allows for about 60 results with no paging. Then I looked into the REST::Google API, but that only returns 10 results. Neither of those options seem feasible. I checked Yahoo’s Yahoo::Search interface and it only seemed to return 10 results (paging, if possible, was not obvious). I could write a direct scraper but that would take a good deal of effort and I am not sure it would be worth it.

Then I even started looking at writing my own spider using WWW::Robot. This is a fairly complex module that does a ton of grunt work for you. The downside is that it behaves and follows the robots.txt protocol; that’s a problem for someone who wants to scrape everything with no regard for such a protocol.

I spent maybe about 20-30 hours flipping over this in the last 6 weeks, I finally made the effort to meet with my advisor. Since he is no longer answering email or his phone, I met him after his late class and talked it over with him while he ate dinner in the campus restaurant. We talked and waffled back and forth about our approach. In the end, we decided to investigate Lucene’s capabilities.

Frustrated and lost, I went about my week until I talked with a PhD student currently being advised by my advisor as well. Her patience for our advisor has been continually declining. She missing a publication deadline because he failed to review a paper of hers. She also divulged that she intended on switching advisors because she is not making progress. I have been contemplaing this myself, so it was good to hear that I am not the only one at their wits’ end.

I am not making progress and I am not willing to sacrifice my graduation. If I change advisors, hopefully I will find an advisor that provides much more support and direction yet gives me the option to continue developing in perl. One of the professors I want to speak with runs a programming language lab.

Maybe I can merge my interest with Perl 6 with my thesis!

2 comments

Chip’s Core Hacker Presentation

July 06th, 2009 | Category: Meat Space, Permission For Flyby, Project Bootstrap

At YAPC::NA, Chip Salzenberg held a last minute brief talk that really started making me think. Well, to be honest, the thought process started at the Parrot Workshop but really began in this talk.

I’ve always been fascinated with programming languages and compilers. These things had always struck me as not academically challenging and basically a solved engineering problem. I never really did much in the area except for an undergraduate course where I wrote compiler for TinyC, written in Perl, with a MIPS assembler code generator backend. It was a study in recursive decent parsers, so it lacked any real semantic capabilities, such as symbol tables, garbage collector, or ASTs.

So anyways, back to how this relates to Chip’s laid back talk. Basically, he encouraged people to become core Perl hackers. “Yes, things are bad, but they’re not that bad.” The talk only lasted 20 minutes, but my brain started spinning for the rest of the day. I tried having a few conversations, but I failed to sustain anything more than a few minutes. The talk wasn’t overly special. It wasn’t groundbreaking or funny; it was clearly an impromptu presentation with slides obviously created quickly; it lacked substantial content and it was not thought provoking. It was the perfect talk at the perfect time because my brain was in the perfect state of mind to think clearly and creatively.

So I have since turned my attention away from my thesis for the summer and towards compilers and programming languages. I have started filling my research notebook with all sorts of ideas in the chance that I spark a true flash of genius. My advisor is likely to be annoyed that I decided to change directions radically but he went overseas for the summer and has stopped responding to email.

Thank you Chip, you may very well have ignited my imagination and passion to create something truly worthwhile.

No comments

Case Of Neglect

April 26th, 2009 | Category: 01100011, Zero-blog

It’s pretty obvious that I have been neglecting this space lately. It’s been well over 2 months since I last posted anything, and that was one of those annoying “updating things” updates.

Well, I’ve decided to partake in the Iron Man perl blogging challenge. Once a week, every week, I will post something, anything, about perl. This should be easy because it’s basically all I’ve been programming in lately and it’s easily my favorite language. My official start post is right now.

I’m working on an interesting new library that I’d like to think can change things in a big way for the open source community. I’m working on this with a fellow perl6 monger. Oh, you didn’t catch that? Yeah, I helped start the first Perl 6 Mongers group, right here in Dallas. DFW.pm is basically defunct; one of the problems that plagued it was the venue. Rather than trying to cater to everyone across this horribly sprawled metroplex, I think it would be best to just focus on a few key areas. We may rename it later, but Dallas.p6m seems fitting.

Speaking of which, I will be attending YAPC::NA 2009. My wife and I will treat this as our mini-vacation, since we haven’t taken one in 2 years! I contemplated giving a talk, but I decided I’m too new to this whole presentation thing and I’m not sure I have anything to really say. Hopefully next year I will have something interesting to give a lecture or talk over.

The semester is almost over and I’m still swamped to the gills. I’ve been neglecting everything lately due to the overwhelming amount of work I’ve been assigned. I will be really happy to make it through to the summer for some time off. I’ll still be working on my thesis, but that’s not nearly as pressing as normal class deadlines (unless you advisor makes you redo stuff right before you defend).

No comments

Company Paid

February 01st, 2009 | Category: Project Bootstrap, Sector 7G

I recently had the pleasure of attending a Human Language Technology showcase that lasted all day last Friday. I managed to convince my employer to foot the bill for the day, and here’s how I did it. Note that any identifying company information has been redacted.

The University of Texas at Dallas is hosting a showcase series focusing on Human Language Technologies on Friday, 23 January 2009. I was invited to attend as either a research student to my advisor or as an REDACTED employee / representative. Since my graduate focus will likely focus on these topics, I have an interest in attending.

The showcase series is a set of panels and talks about how Human Language Technologies apply to industry and its applications. There will be representatives from other companies, such as Raytheon, who will be presenting with other professors.

Our customer might have an interest in products that can analyze human languages and provide capabilities to interpretation. If REDACTED could provide such products integrated into our existing products, we might possibly be able to leverage greater power and capabilities that our customer might have an interest in.

My request is that REDACTED fund my attendance to the showcase since it is held midday. If the entire time cannot be supported, I am willing to split personal time off with REDACTED funding. I have attached the official flier that contains the panel topics and the schedule as well as a brief description of Human Language Technologies.

I would also like to give a brief talk about the discussions and how these fields could benefit REDACTED. I would prepare for this on my own time and am willing to give this talk to any interested party.

Thank you,

REDACTED

Turns out, my company paid for the entire day as offsite training. I am currently preparing the summarization and the presentation for them. I hope it generates some interest to move in areas we have yet to explore. This would be a great way to make a name for myself not only in my company but the industry.

I won’t be able to post anything I create for my employer for various reasons though.

No comments

2009 Hindsight

December 31st, 2008 | Category: Other

Since it’s New Year’s Eve, I figured I’d reflect on what I accomplished for 2008 and what I expect out of 2009. If you’re not into these “year-end wrapup” type of posts, just scroll over to Slashdot now.

In 2008, my main goals were to re-evaluate my graduate school plans, finish a half-marathon in 2 hours, run a 5K in 25 minutes, and buy a house. I am pleased to report that I succeeded in most of my goals.

I took the Database Systems qualification exam in the Spring and passed. That was a major hurdle in my willingness to continue taking them and pursuing something beyond a Masters. I also took the Data/Text Mining for Computational Biology this Fall and await the grade (on pins and needles). If I pass that exam, I am 2/3rds of the way to completing that requirement.

I have not run a half-marathon this year. I wanted to do the DRC Half again, but decided against it due to my educational requirements. I have a half marathon on January 25 that I’ve always wanted to do, the 3M Half Marathon. Let’s hope for the best (likely target is 2:05).

During the RunOn! McKinney holiday social run, I finished the 5K course in 25:22. There were about 40 people, nearly twice as many, and I came in with the lead pack. In fact, I was the fourth one to finish. That’s a rather impressive time for me considering I struggled to maintain a 9:00 pace last year. It’s not an official time, but I’m still going to count it until I do another 5K and can beat that time.

In October, we bought a house; well, technically it was in September. We had been wanting to buy a house for nearly 3 years. We aggressively saved, struggled through having to buy a car, unemployement, paying for graduate school, and huge tax payments. We are now the proud owners of a nice home (3/2/1, 2000 square feet). It requires more work and more money, but it beats living in an apartment any day of the week. I will eventually get some pictures up (one thing at a time).

So what do I expect out of 2009? Well, I hope to accomplish just as much. My better half will should be a CPA this time next year and I will be nearly complete of the Masters program. I also hope to be moving towards the PhD program, possibly look into other universities.

I think next year we will get a dog for the empty dog house out back. We might also consider having rugrats of our own, but we don’t want to be neglegent parents (with school’s demand). We’ll have to see how that pans out, her biological clock is ticking loudly.

I want to do a half matarthon in 2:00 and finish a 5K in 23 minutes. I would like to travel to do a race as to keep things fresh. There are still no marathon plans yet because I haven’t grown bored of the half; plus the training for the half allows me ample time for my many pursuits.

Lastly, I intend on committing more effort to my faith. Since I have no problem waking up at 6am to run, I have no excuse to not make early service on Sunday. I won’t make a lofty goal like I did with the Daily Bible. Keep it simple and you’ll surely succeed.

Anyways, I have to finish celebrating the New Year and so should you. Don’t do anything I wouldn’t do.

No comments

Next Page »