Recently in programming Category

Coming Up: Muscletacul.us

| No Comments | No TrackBacks
Yes, my domain has a typo.  I don't care.

I've figured out how to use Catalyst::Plugin::Params::Nested, jQuery, and DBIx::Class's ->populate method to create an arbitrary number of records (in this case, workout exercises).  So hopefully, I'm going to have a relatively well optimized web application up within the next week or so.  It's wonderful such robustness can be achieved with a little ingenuity (not so much on my part, when I figure things out it mainly just puts me on par with "good" programming :-)

Updates coming!
Upon launching (and tweaking) dfw, I learned a great deal about Solr and it's various and assorted CPAN modules supporting its use with Catalyst.  Solr is fairly nice, but I'm not entirely convinced it's worth the maintenance hassle unless you have a large volume of requests coming in for your search data. The small things that I got hung up on weren't really worth the hassle for a small, low traffic site like Denzel.  I'm still not a *huge* fan of hitting the database per search, so I looked into a few other solutions.


Sphinx looks pretty neat.  It's written in C, and has native support for MySQL indexing (you point the mysql client at the sphinx mysql emulator, if that's the proper term, and you can make SELECT *... statements just as you would connected to a typical mysqld).  This is really cool, since you could (potentially, this is all untested and pure theory) setup a DBIx::Class resultset/schema based on your search data (or just have a separate schema that connects to the sphinx instance) and do searches from there.  However, having recently played with Data::SearchEngine, I think it would be much cooler to write a subclass of Data::SearchEngine that does the search operations on your data set for you.  You get cool things like faceting, serialization, and an elapsed time count.  On top of that, it would be pretty trivial to wrap it in a Catalyst::Model so people that like to do $c->model('Sphinx') can do so.

Anyway, this is a rather scatterbrained post of mine I wanted to get out of my scatterbrained head before I forgot about it. Cold Hard Code just launched CodePeek which has some good examples of the aforementioned modules, most of which are in use in production code.

So I've been working on my "play" site for a couple months now, and since it's incarnation, have wanted to use Solr for indexing things from the file system and the database.  In front of me lay some seriously sweet options for doing such:
  • DBIx::Class::Indexer::WebService::Solr - this allows you to have your database insertions *automatically* indexed/inserted into the Solr index.  Perfect for adding documents into a Solr index that are also going into your database.
  • Catalyst::Model::WebService::Solr - Search your Solr index via the webservice through a convenient Catalyst::Model class. $c->model('YourSolrModel')->search($terms) and away!
So, having implemented these and a sane schema for Solr to look at, I will have denzelfuckingwashington.com up and at 'em in no time.  I love perl.

CPAN Updates

| No Comments | No TrackBacks
Okay, so I've been doing a good deal of tire kicking to update a bunch of modules using NEXT with MRO::Compat.  These include Catalyst::Plugin::FormValidator and Catalyst::Plugin::ConfigLoader::Environment.  The latter needs yet another release to fix some minor things but the former seems to be in shape.  PLEASE TEST THESE as it's difficult to work on these things without feedback until something critical in someone's system breaks and my code is to blame :-)

Thanks in advance!
So it's finally come.  I have written my reflector!  Form::Sensible::Reflector::DBIC is a reflector class that allows you to create your forms from your DBIC schema.  The idea is to define your form once, and make CRUD operations much much easier.  It needs more documentation and testing, but it's a really good start I think.  The base class is neat as well, Reflector allows you to create a "reflecting" class pretty easily.

Coming soon are some even cooler improvements on it.  Stay tuned!

Kung Fu and Real Life

| No Comments | No TrackBacks
This past Saturday I had my first Kung Fu rank test.  It was extremely intense, and you really had to know your stuff to have any chance of passing.  Not only that, but you have to be in tip top shape both mentally and physically.  For example we went through all of our blocks and punches while holding horse stance, the only break in between was when we transitioned from blocks to punches.  All in all I'd say it was probably about 5 minutes a piece holding horse stance, if not longer.  The point is, one's body is perfectly capable of doing this after being conditioned for months at a time.  The variable factor is whether one has the mental mettle to let their mind transcend the pain by focusing on something else and pushing through until you get to stand up again.  This, I have found, is extremely applicable to web software engineering (a title I've given what I do, but don't hold me to it as if it were gospel truth).  

I am tasked daily with very challenging things.  Often times more challenging than I believe I can take care of at the time.  The fact of the matter is, I *have* to figure out a way to get the task done.  Either that, or someone else will, and I'm all of the sudden out of a job.  I also have to keep up on the latest technologies, not because it's required, but because it's smart, and gives me an edge in the field.  Combine this with school, $life, and kung fu, and you have a very formidable task ahead of you.  This is where I make a comparison between kung fu and my career (though green it and myself may be), further proved by me writing this at 4am on a school night.  This is not the first time I have had to sacrifice sleep to get a mission critical piece of work done.  And this will not be the last.  One's mental strength and make up must be that which can withstand the tribulations of mind numbingly bad code, test iterations that seem endless, and the 800lb gorilla on your back that is sleep deprivation.  

Anyway, this rant is pretty much done.  I just really had to convey the fact that mental clarity and strength in one form or another is absolutely pinnacle if you really want to be a competitive, well, anything.

Let me just say this.

| No Comments | No TrackBacks
So, I have to spew this somewhere.  My semi-work blog seemed most appropriate, of course.

I'm two semesters away from being done with college.  Probably forever, unless I get hired at a place that wants me to get some sort of master's program in software engineering.  Which, I personally feel would hurt me as the industry moves to fast to stop and go back to school, but i digress.  Anyway, I'm also holding down a few contracts doing web programming and system admin to certain degrees respectively.  I'm working around 30 hours a week, and going to school, 16 credits.  I'm at maximum capacity, and have very little room forever.  But I love it.  I could really do without school, but I know that once it's over, it's OVER, and that shiny little certificate will make a world of difference in many many places.  

I really stress out over things not getting done, not meeting expectations, and of course deadlines.  I've found that in order to keep any semblance of sanity, my scheduling, triage, and delegation skills must be performing at an absolute peak, and pristine condition at all times.  I am a perfectionist, and even more so a control freak.  I've extremely OCD, and I have battled demons concerning letting things go that are out of my control for ages.  I feel however, that no matter how stressful, I am truly blessed for these opportunities.  People have trusted me enough to give me money (and good money at that, especially for a college student) to do work on their systems, their bread and butter.  A daunting task, yes, but I know I have the hutzpah, know how, and tenacity to get this stuff done.  And done well. 

So I know this is a bit of a rant.  I know this is stereotypical life-blogging.  However I feel it is important to get this information out in the public, as I feel having insight into someone's life can really help give you a gauge as to what kind of quality work they will produce, etc.  Also, it's nice to bitch!

Take care all.  I look forward to the day I get to look back on all this and go, "Ahhhh. Full time job, no school, place to live, beer in fridge, I'm happy."
Okay, so this is just an update that cpan.codedright.net is up and alive and well, and updating daily via cron. W00t!

YAPC::NA::2010

| No Comments | No TrackBacks
I've registered and submitted one (of maybe more) talk to YAPC::NA.  I'm pretty excited, since it will be the Glorious Redemption of Dhoss since I wasn't able to make it last year.  It will be nice to meet up and meet a lot of the people I've been talking to, and at a higher level than I've ever been before as far as programming and perl go.

I'm looking forward to see what kinds of talks get accepted, and how things pan out.

More later, surely.

cpan.codedright.net updated

| No Comments | No TrackBacks
My poor neglected mirror is currently being updated.  I've finally gotten to setting up a daily cron job to update the mirror. 

Enjoy!

About this Archive

This page is an archive of recent entries in the programming category.

perl is the previous category.

school is the next category.

Find recent content on the main index or look in the archives to find all content.

Recent Photos

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.261