Saturday, January 20. 2007
I know, I know. I've been away from the blog a long time. And yet, back, my first post is not about anything technical. It's not that interesting tech stuff isn't going on, it's just that almost all of my time is absorbed by work and putting the proprietary filter over things is more work than not.
Pei and I went to see Pan's Labyrinth last night. It was a good movie, though it's hard for me to understand the 98 rating on Metacritic. It's good, but I don't think it was perfect.
What the movie succeeded in doing best was being entirely and pervasively discomforting. Coming out of the theater I mentioned that it reminded me a lot of Breaking the Waves (the most depressing film I've ever seen, and one of the best). The similarity I see is an innocent protaganist going down what is clearly a dangerous and ever dismal path, led by what may be a communication with a higher power, or may just be a delusion (or fantasy). Both movies also succeed at creating an ever-deeper sense of discomfort (Breaking the Waves made Pei physically ill; Pan's Labyrinth is not as powerful in that sense, but 24 hours on it is still lingering in my stomach). To me it's greatest success was in creating a sense of foreboding that grows slowly throughout the film into something almost unbearable.
Pan's Labyrinth is a classical fable in the old tradition. It's not a happy movie. While the main effect of the movie is the sense of foreboding, it also contains some very graphic violence.
Tuesday, August 22. 2006
I know, I know, I never blog unless I want something....
OmniTI has two new openings for software engineers on the Ecelerity team. Ecelerity is a fast and flexible mail transfer agent that powers numerous service providers, including the likes of MessageLabs. If you'ld like the opportunity to work on cutting-edge messaging technologies in a great environemnt with truly great staff, shoot me a mail at jobs [at] omniti.com.
Here's the opening we're looking for two people to fill:
Systems Software Engineer
OmniTI is offering exciting opportunities to work on some of the fastest, highly stressed core infrastructure applications ever created. Focusing heavily on the email industry, we build a suite of tools that allow ISPs to manage billions of mails per day.
Qualifications:
Work involves both new development and code-base maintenance as part of the product team on our flagship email server product. Qualified applicants should have current experience developing robust, high-volume server applications. Candidates should have 3+ years of professional experience writing C applications. In addition to strong C programming skills, a qualified candidate must have experience in and a good understanding of:
- Software design
- UNIX (Linux, Solaris or FreeBSD) server application development in C
- Shell scripting
- Writing multithreaded applications
- Writing TCP/IP and UDP networking code
- Writing unit and regression tests
- Experience with 2 or more command line debuggers, including gdb
- Familiarity with memory debugging tools and techniques (e.g. valgrind, lint, dmalloc, libumem, etc.)
- Good grasp of multi-platform portability concerns
- Familiarity with autoconf and make
- Basic familiarity (can read, understand, and modify existing code) with one of: Perl, PHP, Java
- Experience with email technologies a huge plus, but not required.
- Candidate should have, as a minimum, a Bachelors degree in Computer Science (or related field) from an accredited college or university.
Responsibilities:
- Feature Enhancements - Work with the product team to refine feature specification and complete them with a production quality implementation including positiv and negative test cases.
- Debugging - Work with customer tickets and internally produced bug reports. Solve functionality and stability issues in a timely manner. Analyze bad behavior and performance issues, develop test cases to reproduce issues and develop fixes for the product to address these issues.
- Source Tree Branch Management - Ensuring that as feature tickets and problem tickets are addressed and tested that the appropriate changesets are migrated from development to release branches to release tags.
- Documentation Assessment - Ensuring documentation and product feature coherency.
Tuesday, May 16. 2006
 Congrats to Theo on his book finally drawing to a close. He's been working on this book for a long time and I know it's a load of his shoulders to have this done. It's also an excellent, excellent book filled with the material that he's been living at OmniTI for almost a decade.
The graphic is a bit of a joke from the office: what if Theo had written for Wrox instead of Pearson.
It's official! We've been talking to Chris Shiflett for quite a while about coming on board as a principal to both help grow the business as a whole and the security practice in particular.
Chris comes on board with a charter to build out productized professional services offerings. Web security is a relatively misunderstood field: many folks are looking for the silver bullet or one-shot fix that simply doesn't exist. What there needs to be is a layered security offering that finds issues, helps fix them, educates people on both security as a process and on their particular problem areas, and provides long-term follow-up to ensure a strong defense is maintained.
I'm super excited that Chris has come on board to lead this initiative; this is going to be a really exciting year.
Friday, April 14. 2006
Renkoo, Joyce and Adam's new venture, just secured their first round of venture funding. OmniTI has been working with Renkoo for quite a while now on various technology projects, and so I know how hard they've been working at getting Renkoo off the ground.
I know I'm oversimplifying things, but Renkoo is essentially eVite on crack; an efficient, featureful, real-time way to coordinate group events.
Congrats!
Friday, December 23. 2005
Pei, Christopher and I will be in Singapore January 12-15 and Taipei January 17-24. If there are active PHP user groups in either of those places that would like a drop-in during either of those time windows, please send me a note; I'd be happy to show up either just to say hi or talk about any topic.
I'm looking for a senior-level test engineer to head up QA and testing for our Ecelerity MTA product. Full job req is up here. Really just looking for someone with professional server-software testing experience and a deep passion for testing/breaking things. Our testing framework is built on Perl's Test::More and modeled after Apache::Test, so if you think either of those is the shiznit, that's a big plus in your favor.
Thursday, October 27. 2005
The crufty but usually sound Alan Knowles seems to have gone completely crazy:
While PHP4's object model may be regarded as a pain, defaulting to cloning objects is actually rather handy in 9 out of 10 situations.
WTF? Cloning objects by default is almost never handy and super-unintuitive. Not only is it the standard semantic in basically every language, but looking through all the PHP5 code I maintain, I see one instance of __clone() in all of it. Here's a test:
$a = new Foo();
How many Foo objects do you exepct this to create? If cloning by default is a good thing, then 2 is the right answer. Here's part two of the test:
foreach($this->observers as $o) {
$o->update();
}
What would you expect this to do? If cloning by default is a good thing, then calling the update() method on all of $this' observer objects is not what you'ld expect. To me this is just crazy. The change to handling objects as handles is one of the most sensible changes in PHP5.
Here is a quicktime movie (sorry no audio) of my Scalable Applications tutorial at the Zend Conference. If you don't do Quicktime, you can grab a pdf of them here.
This entry was delayed a bit. The wifi on my powerbook had been dwindling for a while and finally kicked it while I was at the Zend conference in scenic Burlingame. My wayward child is now repaired and fully functional again. Yay!
Overall the Zend conference was a good solid show. I was on a scalability panel (quote down at the bottom) run by Joyce and I gave a tutorial on building scalable applications with PHP. Both of those went very well and generated good feedback. Also, as a development partner, I went to the meeting regarding the Zend Framework. I'll talk about my thoughts on that in depth a bit later, but suffice it to say here that the meeting went well and I think that the Framework is on a good footing for moving forward.
Otherwise it was a hectic trip - work is quite busy, and I found it cutting in on me at every opportunity.
Wednesday, October 19. 2005
I didn't know my predilections were considered secret.
Secret Perl fan George Schlossnagle pointed out that Perl subroutines are objects, whereas PHP functions are not. However, he agreed that it would be 'swell' if PHP similarly didn't require 'wacky escaping inside the text for the function' even if this had to be achieved using the existing create_function() symbol table storage semantics.
Thanks, Steph, for outing me!
Tuesday, October 4. 2005
Last night, Marc Andreesen and Gina Bianchini's Ning proudly threw off it's sheet and made it's public debut. I'm extremely proud that OmniTI has been helping out over the past several months getting Ning off the ground. The project was flying in uber-stealth mode for quite a while, so it's exciting that people can now see it in its full colors.
Ning is essentially an online service for building and deploying social networking applications. The goal is to make 'cloning' an application super easy, so that if you want to have your own Hot Or Not/ Kitten War style application, you can clone a similar Ning application (for instance ThisOrThat), and in the space of a couple minutes have your very own, fully customized version.
It's pretty cool.
Monday, September 26. 2005
This past summer we were contracted by David Wheeler to add a PHP 'burner' to the Perl-based CMS Bricolage. The goal was being able to write CMS templates in PHP and have them called from the Perl code. These templates in turn needed to be able to reach back up into their calling Perl interpreter and access data/call functions there.
Continue reading "Perl from PHP from Perl from ..."
Are you a bad-ass PHP developer? Looking to work with some of the leaders in the PHP community at a stable and profitable company on exciting projects? Look no further, because I'm is looking for you.  We're looking for a senior-level web-dev with experience in Perl and PHP to come on and lead special projects here at OmniTI. The work is an interesting mix of both internal and external projects.
A detailed description is in the extended entry. If you're interested, please send your resume to jobs [at] omniti.com with keyword 'senior web developer' in the subject. OmniTI is located in Columbia, MD, and we're looking for candidates to work in our office. We're only hiring US work-elligible folks, and not willing to relocate folks outside of the US, so if that's not you, sorry for now.
[update: we're also look for mid-level developers, so if bad-ass-ity is an aspiration, I'd love to here from you too]
Continue reading "Looking for Bad-Ass PHP Developer"
Monday, September 5. 2005
Wow, who says irony is dead? Granted, they both have non-standard ways of interpreting the GPL, but in a Jack Sprat fashion.
|
 |
 |
 |
|