At home with baby finally.

July 4th, 2007 § 7 comments § permalink

Well, this should be an inter­est­ing ride. Mommy, baby and Daddy along with all three cats are now under one roof. I think all three of us need some sleep. I updated the flickr set with a bunch of pictures.

One of my favorite mem­o­ries so far? The hilar­ity of right after the birth, I’m madly emailing/calling/texting every­one from my iPhone to spread the good news, then most of the attendants/doctors stop and look at me, and say “is that an iPhone?”.

The surreal-ness of that ques­tion stems from the fact that my brand spank­ing new baby is lying there cry­ing and get­ting washed up and the world just sort of stops for 30 sec­onds while I’m cry­ing, my wife is cry­ing, the baby is cry­ing, etc.

I’m not entirely sure about how to go about this father­ing thing. This should really be interesting.

I now implement the __baby__ interface (it’s a girl!)

July 2nd, 2007 § 9 comments § permalink

?View Code PYTHON
1
2
3
4
class Baby(object):
	self.name = 'Abigail Lorraine'
	self.length_inches = 20.5
	self.weight_lbs = 7

Yes. Abi­gail Lor­raine was born today at 7:50am. Both Mother and small one are doing great and resting.

I can hon­estly say two things:

1> I cried.
2> This is one of the hap­pi­est, and simul­ta­ne­ously more sur­real days of my life.

She’s a squirmer, no prob­lems, noth­ing. I have a pic­ture set on flickr here.

Posting from iPhone send food

July 1st, 2007 § 1 comment § permalink

After much wait­ing my iphone is all setup and con­fig­ured i am going to have to get used to typ­ing on it though. I have fat thumbs.

And yes — it is as good as you’ve heard.

Pep 304 followup

June 27th, 2007 § 0 comments § permalink

I’m going to be fol­low­ing up on the com­ments from Brett and oth­ers about python byte­code loca­tion for this post as soon as I find san­ity again — “Oper­a­tion Pend­ing Baby 1″ has caused a mild for of insan­ity to set in.

10 Great Tips on How Not to Be the Obnoxious Newcomer in Your Workplace

June 25th, 2007 § 0 comments § permalink

10 Great Tips on How Not to Be the Obnox­ious New­comer in Your New Work­place: “You’ve just joined a new com­pany and are all fired up to change things—stat. While your enthu­si­asm is com­mend­able, you might want to pro­ceed slowly at first. It’s too easy for your help­ful (and very pos­si­bly dead-on) obser­va­tions and sug­ges­tions to be seen as crit­i­cisms and demands.”

My ques­tion: Can they do a fol­lowup, “how not to be the embit­tered cyn­i­cal old coot” or “How not to eye­ball new tech­nol­ogy with dis­may, dis­trust and a long sto­ries about how “you used to have declare vari­ables in the con­struc­tor back in the days and you loved it””?

(Via digg.)

The more you know — the discussion around Python 3000

June 23rd, 2007 § 5 comments § permalink

I had a nice long post to talk about all the rounded up posts about python 3000 — all of the ones wor­ried, with admit­tedly good cause, and all those defend­ing the process.

Rather than post the long winded ver­sion, here’s the abbre­vi­ated sum­mary and a few side notes — Doug has already sum­ma­rized some of my thoughts and with Brett’s lat­est “Python-Dev does care about the 2.x -> 3.0 tran­si­tion” post really tak­ing the cake with regards to how I feel about this.

Per Brett:

In the end it all doesn’t mat­ter. Python 2.x is not going any­where, so even if Py3K turns out to be a flop Python will live on. But if Py3K does do well (and I expect it will in the end), Python will be bet­ter for it. I know that I will end up devel­op­ing for Py3K exclu­sively when­ever I can and be hap­pier for it. Hope­fully most of you will end up being hap­pier as well.

To date there has been some arm wav­ing and con­cern raised by var­i­ous peo­ple around the frac­tur­ing of the Python com­mu­nity (not just Mar­tijn mind you (so I am not pick­ing on you)) around the python2x to 3x con­ver­sion and changes com­ing in the lan­guage. There have been many dis­cus­sions around this across the internet(s), mail­ing lists and blogs.

But a warn­ing — before you take any sin­gle blog post at face value, and before you jump to any con­clu­sions about how hard, or what has already been dis­cussed — you really need to look up the his­tory (via the peps and mail­ing list) of Python 3000’s devel­op­ment, that’s where a lot of the real work has occurred.

Remem­ber many peo­ple in the com­mu­nity are not exposed to the py3k mail­ing list. Heck, most peo­ple only hear second-hand infor­ma­tion from a fel­low Python­ista about py3k unless they attended pycon, or — like me — are obsessed with read­ing things on the inter­net and con­stantly troll mail­ing list archives. So when some­thing like Guido’s orig­i­nal post gets around — peo­ple who were not directly exposed to the dis­cus­sion around why changes where made, who have not read the PEPs, or are wor­ried about the frac­tur­ing of the com­mu­nity make posts on their weblogs, and the echo cham­ber effect takes hold — some­one sees one posts, responds, some­one sees the response to that, and responds but lacks the con­text of the orig­i­nal, and so on. The dis­cus­sion gets so far from the orig­i­nal deci­sion that it gets dif­fi­cult to fig­ure out the orig­i­nal point. All of this takes place in public.

We should all get closer to the source — I actu­ally cre­ated a Python 3000 search engine: Python 3000 Google Search to help look up python 3000 infor­ma­tion (I’ll add more sites as I find them).

Through all of the dis­cus­sions, here’s one of the ones I clapped for:

Python is not try­ing to be Haskell. Besides, if it is Haskell we want, we know where to find it. Only that I had to write Python code, after some­thing like one-and-one-half years of straight Ruby (no, not Rails, just script­ing) and Haskell + OCaml, and I found that my expec­ta­tions had changed along with my style. More recur­sion, an expec­ta­tion of implicit returns, et al. So, I’m gen­er­ally rust­ing at Python. But … Python is becom­ing a bet­ter Python, and I really would have loved to be in the com­mu­nity yet. Python is great, even with­out being of the par­a­digm I favour these days.

Yes. Exactly. Precisely.

Doug already listed out a bunch of the posts — here’s the list again, with addi­tions as I find them:

There have been a lot of his­tor­i­cal posts too: By far the best place to look, or get a sense of look, feel or other things?


woot:~ jesse$ cd subversion/
woot:~/subversion jesse$ ls
Pyro python3k-svn update-py3k update-python
pypy-dist scriptutil update-pypy update-scriptutil
python-svn tahoe update-pyro update-tahoe
woot:~/subversion jesse$ sh update-py3k
U python3k-svn
Checked out revision 56083.
woot:~/subversion jesse$ cd python3k-svn
woot:~/subversion/python3k-svn jesse$ ./configure
checking MACHDEP... darwin
woot:~/subversion/python3k-svn jesse$ ./python.exe
Python 3.0x (p3yk:56083, Jun 23 2007, 21:57:25)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'hey dude'
File "", line 1
print 'hey dude'
^
SyntaxError: invalid syntax
>>> raise Exception, 'Oh noes'
Traceback (most recent call last):
File "", line 1, in
Exception: Oh noes
>>>

In all seri­ous­ness, with regards to Python 3000 — I don’t think there are any losers, at all. Yes, the tran­si­tion will be grad­ual, the size of the indi­vid­ual code base being con­verted will obvi­ously dic­tate the length by which that team has to stick with the 2.x series. Yes, the “core python team” will with every­one they can to help drive this effort, as will all python 3000 adopters.

And yes, it will be a long road — as any­one who has worked on an appliance/embedded device will tell you, change to core inter­nals (JVMs, inter­preters, Ker­nels) comes slow. Some­times, you have to have 2–3 or more ver­sions actively being tested or installed as a fall­back posi­tion. Heck! Some of the machines I work on are still based on python 2.3, which is why on my lap­top I have 2.3, 2.4 and 2.5 — the project I get paid to work on is largely 2.4 which means I can not adopt much of the “rest of the com­mu­ni­ties” nice tools that came in 2.5. 2.6 is a year or more from my grasp.

Many peo­ple will first exper­i­ment with what­ever their OS ships. OS/X Leop­ard will ship with Python 2.5 — Fedora Core, Ubuntu and other Lin­uxes will see 2.5 rolled out as well. The world will con­tinue for us on 2.x for the next few years as we work on con­ver­sion kinks. Most OSes should ship both a 2.x and 3.x inter­preter as soon as 3.x hits final — the larger frame­works will prob­a­bly start their ini­tial courtship with 3k around alpha/beta.

In 3 years? 2.5 will be a punch line to a joke in a doc string. This is not rev­o­lu­tion — noth­ing is going to die here. But as in Evo­lu­tion, some peo­ple get wings sooner than other, that’s all — and we might have to glue wings onto some of the lowly earth-bound. As Mar­tijn points out, there will be con­fu­sion — yes! There shall be such con­fu­sion — and all of us who are debat­ing this now amongst our­selves will fly from our mighty ivory tow­ers to help and guide new­bies to the Python3k FAQ, to tell them to read the news group archives, and maybe we’ll even help them con­vert their code. Change is scary, but it’s also fun.

Brett, Guido and the rest of the core devs are peo­ple just like the rest of us — the process is open, trans­par­ent and dis­cussed (in the open). Get involved, sign up to the mail­ing list and air your con­cerns, sync sub­ver­sion — get syn­tax errors! Go forth and be Pythonic but remem­ber all of this is still being devel­oped, and we can all enact change.

update: Shilling my brand new Python 3000 Resource page, I am!

The Dog Days of… OH GOD BEES.

June 18th, 2007 § 0 comments § permalink

Yeah — two weeks since my last post. The lit­tle jour­nal of goals I keep in text­mate has two carry-over goals:

@personal
— Work out every night
— 1 blog post/day (real con­tent)
— Count to 10 before reply­ing to any­one, your­self included. (I kid!)

I have been the con­duc­tor on the fail­ure train for both of these. The pri­mary being the bees I ref­er­enced in the title, and by bees I mean “the last two weeks of a release”. At work we’ve been grind­ing on a major upgrade to our exist­ing prod­uct and the last few weeks have been that painful con­tin­u­ous rep­e­ti­tion that comes with all major releases — test, find bug, fix bug, test, ver­ify bug, check bug queue, repeat.

With all soft­ware releases, it’s that last painful trade­off of bug vs. release that tends to sting the most — do you delay the release and fix it now or do you bump it to a patch release late — and fix­ing it now means recurs­ing back into test-ville.

I’ve had a weird anal­ogy locked in my head lately — think­ing of bugs as bees that want to sting you. One hurts for a minute, and then goes away — a lot at once just make you pass out. What really kills you is a batch of say, four big ones that tag you with some reg­u­lar­ity. You just start to get angry and sullen and you want to punch the bees. In this case though, their bugs and you can’t punch bugs.

I’ll punch every bee in the face! –Dane cook

Besides the stress of the release (ah, but that stress is gone right? RIGHT?) the preg­nancy of the Noller con­tin­ues. These past few weeks have waxed between banal and “excit­ing” — and of course by excit­ing I mean “I have started research­ing blood pres­sure med­ica­tion or bleed­ing as a tech­nique for relief”.

Mainly, my won­der­ful wife is a lit­tle under one month away from the “pro­jected” due date. In real­ity, we’ve crossed over to “oh crap are you going into labor” ter­ri­tory. It’s all very excit­ing — I think we’re both ready to stop being “preg­nant” and to start being “sleep­less” instead. It would take a lot of worry out of our lives.

Well, with any luck — I should be a bit bet­ter this week — right now I’ve got around 150 tagged items in Net­NewsWire to fol­lowup on, and a bunch of notes to trudge through.

Getting Back in the Saddle Again

June 29th, 2006 § 0 comments § permalink

Well now — I seem to be back! In real­ity, I was back about 2 weeks ago, but we’ve been in the mid­dle of a release since I got back (lucky me) so sit­ting down and tak­ing a moment to think hasn’t been easy.

And as you can see from the pic­ture, I’m now a mar­ried man. The wed­ding was in Florida, and went exceed­ingly well. It was only really family-invited, we wanted to keep it small. My bride (Dusty) was sim­ply beau­ti­ful. I could not have asked for a bet­ter wife. The Hon­ey­moon to the Domini­can was a much needed decompression.

Every­thing went so smooth I still bog­gle, the one draw back is that it went too fast. The wed­ding went too fast, and while the images are burned into my mind and still bring a smile to my face, I wish I had been able to soak in the moments even more. The same applies to the hon­ey­moon. I wish we had been able to spend two weeks down there.

There’s some­thing to be said for the first fully-disconnected vaca­tion I’ve taken in about six years. Sit­ting on the beach in the sun, puff­ing on a cigar and sip­ping rum is a very addic­tive day.

Unfor­tu­nately for me, real­ity has to come back at some point. Now I’m back and knee deep in code.

from Rock import Fort

May 16th, 2006 § 0 comments § permalink

Why yes, I have been liv­ing under a rock.

For those who don’t know — I’m get­ting mar­ried in June, so my life has been a lit­tle crazy with that stuff, and try­ing to tie off some of the hem­or­rhag­ing arter­ies at work. No, I don’t think the build­ing will burn down with­out my pres­ence, but I do think I need to tie off some of the key projects I have been work­ing on prior to me van­ish­ing for a a few weeks.

This sort of ties into why I hate vaca­tions. Don’t get me wrong — I know a per­son needs them, god only knows I need one bad — but going away leaves your company/team flat if they have to interface/work on your projects, and it always throws you behind the curve on events.

In any case — things progress. I’ve had my nose buried in the installer sys­tem I’ve writ­ten. I’ve dis­cov­ered a few things which sur­prised me (i.e.: The Sim­ple­HTTPServer stuff in python does not sup­port byte-range sup­port (the inclu­sion of new mod­ules in 2.5 should help that) and all in all, I think my grasp of more abstract con­cepts within python is improving.

RE: A Pre­vi­ous post about libraries, I’ve found myself push­ing the inter­nal QA team to build out a nice shared Python Library which the tests/applications can lever­age as part of nor­mal runtime.

I set the require­ments to be fairly clear — PEP8 com­pli­ance, clear doc­u­men­ta­tion, etc. I’ve also been fairly reten­tive about the “generic” nature of the included libraries — that’s caused some fric­tion when deal­ing with things to be put in, but I see it as the only way to really man­age the library itself.

For instance — say you have a mod­ule from the STL in Python — let’s say the Sim­ple­HTTPServer module.

Now, per­son X comes to me with an imple­men­ta­tion of an HTTP server. Except it’s not just that. It’s an http server that only runs on a cer­tain port, serves cer­tain file types, is not threaded/thread-safe, etc. My ten­dency is to say “no” and to work with them to make it into a less spe­cial­ized ver­sion of the library.

The rea­son is sim­ple — for shared modules/code, I feel it is really impor­tant to take away the meth­ods for the exact imple­men­ta­tion that per­son needs and only include those which lie out­side of that imple­men­ta­tion — the “Generic” functions/methods. This way, the mod­ule is more general-use then highly specialized.

Oh, it’s the story of my career — avoid­ing over-specializtion.

Don’t get me wrong — I think there is a place for spe­cial­iza­tion. By a module’s very nature, that mod­ule is spe­cial­ized into a spe­cific function/role. The spe­cial­iza­tion I am talk­ing about lies directly with the role (i.e: Server Web Pages) of the library, not the imple­men­ta­tion (Server on port 3289, only php files) of the library.

Blech, I’m rambling.

In any case, if you haven’t seen it, Goooogle is talk­ing about hav­ing an Auto­mated Test­ing get together in Lon­don (I’ve never been there) — I was think­ing of typ­ing up a paper for pre­sent­ing, but there’s a bit of an issue with what infor­ma­tion I can share, ver­sus what’s con­sid­ered IP for the company.

More infor­ma­tion can be found here: conference-on-automated-testing

Who am I, and what am I doing in this hand basket

September 28th, 2005 § 0 comments § permalink

So, time to start some­thing I’ve been mean­ing to do on an actual blog for months — start cov­er­ing who I am.

I’m hop­ing to cover all the “impor­tant bases” (as if telling the inter­net about myself is “impor­tant” — I don’t think the inter­net cares, really), but I’ll chunk it up into semi-palatable pieces if needed.

I’m a 25 year old Geek. There — I’ve said it. I work for a tech startup in Waltham, MA as a SQA (Senior QA Engi­neer), work­ing with Python, Linux, and other inter­est­ing things, some of which it’s not very appro­pri­ate to chat about. I play video games (right now — World of War­craft) and I enjoy read­ing about tech issues around stor­age sys­tems, dis­trib­uted sys­tem, Linux, Python, and Mac.

I live with my fiance Dusty, out in cen­tral MA with three cats. We plan on doing the mar­ry­ing thing next year — all sorts of good stuff in that area. Our land­lord is the best land­lord in exis­tence, and the neigh­bor­hood is won­der­ful. A++ would rent again. Our cats are atten­tion whores I some­times think are try­ing to make a busi­ness by cov­er­ing all of my cloth­ing, com­put­ers and cig­ars with cat hair.

I’m also a bit of a Mac Zealot — (Ok, more than a bit) I con­verted to the Mac plat­form last November/December as part of a gen­eral dis­gust of Linux on the desk­top, and Win­dows. I’ve never liked Win­dows, except to play games, and I’ve been using Linux for years, but I got addicted to OS/X late last year, sold off all my Win/Lin boxes and con­verted, never look­ing back. The rea­son I say zealot, is that fre­quently — con­verts make the best zealots, and I am a true convert.

My “favorite” pro­gram­ming lan­guage is Python. It’s the one I’m best in (I’m try­ing to learn Java) and the one I use the most. I spend most of my work day hack­ing on Python code for var­i­ous projects, and one day I hope to push out a few open-source appli­ca­tions in Python.

Python Python Python. Whereas I might be a Mac Zealot, I am also a Python zealot. Not in the “you must use Python for every­thing” (I strongly believe in using the right tool for the right job) sense, but more in the “Python just Works” sense. So far, I’ve made a few con­verts to my addic­tion, by show­ing them the ease of use, sim­plic­itly and strengths of Python.

I don’t want to give a reader a mis­taken idea that I am off the deep end obsessed — I’m not. Again, I’ve a very large pro­po­nent of using the right tool for the right job, and stay­ing practical.

The lat­ter state­ment is a per­son­al­ity flaw of sorts. If I don’t see the prac­ti­cal­ity of a solu­tion address­ing a real prob­lem, I imme­di­ately begin to dis­man­tle the solu­tion in the most crit­i­cal way pos­si­ble. I’ve toned it down in recent years, but it always causes prob­lems when and if I don’t see the entire pic­ture, and begin to argue and dis­man­tle things in a given situation.

Prac­ti­cal­ity. Does the tool does some­thing needed? Does the test actu­ally test some­thing use­ful? Does the prod­uct work in a func­tional, prac­ti­cal way with­out requir­ing the user to jump through hoops? Is it easy to use, to setup? I guess those ques­tions are what make me a pass­able QA Engineer.

In any case — before I go off the deep end any­more, other than com­put­ers, I have a few things that keep me occu­pied. I enjoy cigar smok­ing (real cig­ars, not cheap ones) — wines, video games. The usual for a 25 year old in this day and age I guess. As of late, my other girl­friend has been World of Warcraft.

So between Python hack­ing and Work — which takes up some 12–13 hours a day for me, I split my time up with my Fiance, and pid­dling around on World of War­craft. I keep mean­ing to cut back on the lat­ter — it’s been some time since I’ve given myself enough time to sit down and soak up a good book — but video games pro­vide a nice numb expe­ri­ence that help decom­press after star­ing at code and stack traces all day.

What am I going to use this blog for? I don’t know — prob­a­bly to talk about Python and Macs, to be hon­est. That’s what I intended it to be. We’ll see how all that goes, now won’t we?

Where Am I?

You are currently browsing the Personal category at jessenoller.com.