About Me

Hi, I’m Alex.

I build communities, started one of the longest running coworking communities in the world, write a crapload of words every day, tweet a little too much, coach people to be the best version of themselves possible, can't stop learning new things, and do my very best not to take myself too seriously.

I have one goal: to fill the world with truly excellent collaborators so we can all work together, better.

Because let's be honest...most of us aren't very good at it.

Search The Site

Alex Hillman

Dance-Rock resurgence

After a quick trip to the Jersey shore last night/today to party a bit with some friends, I did some quick catchup with my room-mate Jay. We haven’t had an whole lot of time to chat since he got back from London last week, so part of our conversation was some media syntonization. I got him into our new movies being hosted on my Mac Mini media center…he reciprocated with some new tunes. Jay’s a music industry major at Drexel, and since he has an incredible passion for good music (and a collection of tracks thats pretty mind blowing). Two new albums found their way onto my iPod tonight:

Rock Kills Kid Men, Women, & Children

Both of these bands are part of a relatively recent genre recreation, which we like to call “dance rock”. Original members of this genre include bands like Depeche Mode and more upbeat tunes from The Cure. More recently bringing the genre some massive attention would be The Killers, whose album Hot Fuss always makes me want to get drunk on wine and dance around in my underwear. Not that I do, but thats the kind of fun that I visualize along with their songs. Anyway, Rock Kills Kid reminds me a lot of The Killers. Their album Are You Nervous? is very fun, fast, and listenable. Men, Women, & Children do something different with the genre…there’s still alot of twangy fast guitar riffs, but some of their sounds remind me more of recent favorite of mine, Panic! at the Disco (whom I’m going to see next weekend at Festival Pier in Philadelphia).

I really like having Jay back in town for a lot of reasons, but his musical recommendations to keep my listening habits fresh (and in turn, helping me continue to seem cool) rank near the top of the list of things he’s good for :-).

.net event model strikes again

Often times i’ve heard other programmers complain about the .net event model doing dumb things, today i ran into an issue that i believe ended up needing far too much work to get it to perform correctly. To summarize my issue, i had a single aspx page, and one of my layout user controls (the footer). The page contained a number of literals, which were toggled on and off from button click events within them. My task was to add an item to the footer (a copyright notice) that was only to appear on certain pages…so my thought was to create a label in the footer, declare that footer control on my page, and use that declaration to call a method on the footer control to toggle that label’s visiblity along with the toggling of the literals, as i saw fit. Seemed simple enough, but i was sooo wrong.

Toggle methods

[code lang=”c#”] public class Footer : UserControl { protected Label streetPilot; public void showStreetPilot() { streetPilot.Visible=true; } public void hideStreetPilot() { streetPilot.Visible=false; } } [/code]

Problem: because of the fact that the page was being built with a pagetemplate class, the page was not aware of the footer on Page Load. So my instantiation of the footer control that was needed to call the method on said control would throw an error, since as far as the page was concerned, that control wasnt there yet.

Pre-Render method on the aspx page

[code lang=”c#”] private void Survey_PreRender(object sender, EventArgs e) { if (CopyRight == 1) { Footer foot = this.FooterControl as Footer; foot.showStreetPilot(); } else { Footer foot = this.FooterControl as Footer; foot.hideStreetPilot(); } } [/code] Pre-render to the rescue. By instantiating the footer control in the pre-render, i had access to the toggle method i had created on the user control. Great. But now i needed something for the pre-render to check each time the page was posted or posted back, to see if it should run the show or hide method. This time, viewstate was necessary. I created a property called CopyRight

Copyright property that handles viewstate

[code lang=”c#”] public int CopyRight { get { if (ViewState[“copyright”] != null && ViewState[“copyright”] is int) copyRight = (int) ViewState[“copyright”]; return copyRight; } set { ViewState[“copyright”] = value; } } [/code] Ultimately, each button click had to set the property CopyRight as either 1 to turn the line of text on, or -1 to turn it off.

What an inordinately complicated dance to change the visiblity of a single line of text. Yargh.

Much thanks to my co-worker Seth for his help with this one.

MS Business Contact Manager sucks

I spent the better part of my day today wearing the OTHER hat that i keep on my coatrack…I got to play IT guy, fixing one of my coworker’s defunked toshiba laptop. The routine was typical: data backup to external drive, wipe windows, reload windows, dig up drivers, reload software and then reload data. Everything was going smoothly, until we hit the restoration of MS Business Contact Manager information. My coworker relies on this to manage the large number of contacts he handles, and it integrates with Outlook 2003 which we already use heavily.

Let me take a step back: we run a Microsoft Small Business Server with an Exchange Server. Since all email, calendar, and tasks are sync’d to the server, one would think that contacts would sync just them same: evidently not the case. Maybe someone can explain to me why. Thats alright, i did a full backup of the outlook data file as well as the MSBCM database before wiping. The snag came when we got restoration: since we werent 100% sure we were going to use MSBCM after the wipe, i decided to handle the backup with a CSV, since it would be more portable to get the data into..well…anything else. What got confusing was when we got to hooking up MSBCM to the database, it wouldnt read the exchange server for data so i had to create a new database locally and load our backup into it. But importing from a CSV requires mapping of the data fields…all 50 or so of them. I guess this isnt as daunting as it seemed, but it was still a pain in the neck.

Also worth mentioning is that MSBCM caused the otherwise snappy, P4 2.0gHz with 1 gb of ram, to take a serious performance hit when running outlook. Not that I was already an outlook hater, but that configuration is teh suck.

develogrammanager

yes, ive made up another word to describe my odd position at my place of employment. the term “develogrammer” was the result of my distaste for the less fluid “provelloper” title i was given (along with another co-worker). Essentially, for some reason or another, it seems that there is a distinction between a programmer and a developer. At the same time, a developer wont ever be called a “programmer” by another programmer if all they do is develop (xhtml/css). But a programmer might be called a developer by either a programmer or a developer or a manger or…yeah, you get the point. Bottom line, it is my personal opinion that too many people are stuck in specialties and one of my strongest talents has been the ability to take on many skills and learn new ones quickly. Hence, the original term, “develogrammer” since i was a traditional XHTML/CSS developer who was taking on more and more programming tasks.

This week, I’m playing a new game…some project management. Mind you, I’m hardly a full blown PM, nor am i letting a little bit of responsibility go to my head…but while my boss is out of town handling some new business ventures, i’m handling a bunch of the projects that he normally would have been there to keep track of and let me…well…develogram. Needless to say, while extra responsiblity is always nice (and a great opportunity to prove myself some more), its stressful. Client interaction is different when its your own client, like when i freelance, versus a larger client for the company you work for…if you blow it with them, its a significantly bigger deal.

Today was the halfway point of my week, and so far its all been going really well. I kicked off the week by weighting my workload towards monday, leaving the latter part of the week for project maintainence and a large number of “changeorder” type tasks and some client interaction. If I get lucky, I might even find some time to put on my OTHER other hat and take care of some much needed IT tasks. code monkey needs a code monkey of his own.

We’re gonna try this again.

So this is hardly my first venture into blogging. I’m not sure where ive gotten stuck before…but i’ve got some theories. I think this summer will be a great opportunity to start again, as my time and priorities have mellowed out…work is busy but consistant, classes are done for the summer, ive just accepted a my first full time job, and have recently switched to a mac. My intentions are hardly to make this a record that will change anyone’s lives but my own. So, without further adieu, lets try this one more time.

Back to top