Archive for the ‘Uncategorized’ Category

the eagle has landed

Tuesday, July 1st, 2008

I’ve moved to San Francisco. After a few days on Crowley’s couch, I’m in my own apartment, albeit sleeping on Dimitry’s airmattress until the movers get here with my shit.

Empty and lonely as the apartment is, it is pretty awesome. Feels sort of surreal that I actually live there. Once the camera cord arrives with the movers, I’ll have some pics.

Already started hacking on shit at Yahoo! and will post some more of my own code soon. Holler!

why techcrunch is leaving my rss reader

Friday, June 13th, 2008

I added Techcrunch because it was an easy way to keep up with the industry while I wasn’t directly immersed in it – namely while I was finishing up school in St. Louis.

I’m removing it because I’ve come to conclude that a lot of the articles are really really bad.

The straw to break the camel’s back was Arrington’s coverage of the events surrounding Yahoo! over the past few months. It has gotten incrementally worse. Yes, Yahoo! is in a tough spot. However, some of the attacks he has levied at the management and the decisions made by the company are just laughable. His recent post, an attempt to analyze the market impact of Microsoft walking away from the table, just sounds bitter. He talks about how outsourcing to Google will cause people to leave the Y! ad platform, giving Google an effective monopoly on the ad mkt.

However, let’s consider the alternative: Google vs Microsoft. Two massive players. Apparently Michael missed the lectures on duopoly and oligopoly during his years as an economics major. The more players remain in the game the better. He is correct to note that this will likely lead to Google market gains, likely at the expense of Yahoo!, but I still maintain that Yahoo! remaining a semi-independent player at least buys time before it’s just an all out duopoly.

Another writer for Techcrunch reports in the very next article posted that the minimum requirement for how much Google makes from the deal is very low. Thus Yahoo! can take its time in serving up Google results. This is nowhere near the disaster Arrington describes it as. Though a microsoft buyout would be good for the shareholders in the short term, it would be much worse for the market.

The other reason I’m leaving is because I have found a better alternative: http://news.ycombinator.com, ironically discovered in a TechCrunch article written by Arrington, provides a much better way to keep tabs, as well as lots of articles that are actually USEFUL to me as a developer. The important TC stories make it on there anyway.

python: first impressions

Thursday, June 12th, 2008

Like I said before, I’ve started fiddling with Python. The approach I’m taking is starting with a command line script. I’ve been pondering writing a variable manager (duffel) to make deployment from my dev box to my staging box to dreamhost/aws/wherever I end up hosting my project (and yes, I am actually working on a project that people will be able to see and use). It was originally going to be in PHP, but instead I am writing it in Python as a way to force myself to learn it.

Surprisingly, I’ve had to do very little forcing. Despite spending most of my college years hacking PHP, I’ve found switching to Python (and back) very easy. The documentation is great and the language is very intuitive – I’d say much more so than PHP once you get a grip on the basic patterns.

Things I miss: isset() – referencing an empty key in a dictionary throws a KeyError. Instead of a simple if (isset($foo['bar'])) clause, I have to do something crazy like:

try: cp._sections[section+':cur'][x]
except KeyError:
pass
else:
print 'current value: '+cp._sections[section+':cur'][x]
Another thing that threw me off at first was the lack of a switch/case implementation, but I’ll definitely live. Also the shorthand if-else isn’t really shorthand at all…

Things I love: the brevity, notably in string operations and regular expressions. The lack of brackets is also amazing. Years ago I wrote some rudimentary pythong basically using an existing script as a crutch, and I was infinitely bothered by the lack of brackets. Then my other nut descended, and I started reading code using tabulation. I now love not having to use brackets.

Function objects do it for me.

Keyword argument passing also rocks my socks.

The icing, though, is the standard library. Holy fuck.

op = OptionParser()
op.add_option('-a', '--action', dest='action')
op.add_option('-p', '--package', dest='package')
(options, args) = op.parse_args()
You kiddin me?!! If you write Python cli scripts and don’t use this, you are really missing out. It doesn’t do that much, but it sure makes things easier.

Also, the ConfigParser class makes me remember the “If you have the right tools, you aren’t really working” saying.

You can see the source (nowhere near finished) for duffel in my svn.

best use of iphone yet

Tuesday, June 10th, 2008

“Go It Alone” by Beck on speaker while on the john.

Wrote this literally a month ago… must have missed the “Publish” button…

ubuntu 8.04: the little things

Thursday, May 22nd, 2008

I totally don’t care enough to read through the changelog for Ubuntu 8.04. I use Ubuntu so that I can use Linux to facilitate my development, but I approach the OS itself as a user. A powerful, savvy user. I install the LAMP stack and use my laptop itself as my dev and testing environment, but I do not want to have to look under the hood too much. When the upgrade came out, I waited for a non-critical time in my life (after graduation so no papers to write, before Yahoo! start date so no major Yahoo! bugs to fix) and hit the upgrade button.

First of all, the upgrade process itself (this is the first time I’ve actually migrated from one release to another w/o completely starting from scratch), was the easiest thing I’d ever done. It located the right packages, downloaded them for me (I walked away for this part of the installation), then installed them. In the process of installing, it asked me what to do about config files that I had modified. I was able to look at diff’s and decide. I didn’t really see an option for intelligent merging, but I didn’t need it – I keep most of my configurations in separate files, so the master ones could be overwritten no problem. The only complaint is that stopping to make decisions stopped the installation process, so I couldn’t just leave it and come back to it at the very end. I’m not sure if there are potential issues with leaving the config files to be updated at the very end, but it sure would be nice to just let everything get installed, then come back to deal with the 3-4 config files and be done with the installation, instead of having to sit and watch the packages get installed, waiting for the next config conflict. But I’m just being fussy.

Things I’ve noticed that are new/nice from just using it for a day:

  • some minor visual improvements, a couple of new animations here and there; in particular, Pidgin’s neater way of showing groups. Immediately makes the buddy list more pleasing to the eye. Also, the new “updates are available” icon is way nicer than the old one.
  • not sure if it’s a new application, or an update to an application, but the way photo imports are handled is much nicer now; I think the name of the app is fspot, don’t know what was used before.
  • Firefox 3b5 is surprisingly stable, but I know I’m going to have to go back to 2 as soon as I start working again – none of the dev extensions I use were compatible. It is noticeably faster and I love all the new features. Can’t wait for ff3 to go stable. My ff2 profile was also imported seamlessly.
  • BIGGEST MOST AWESOME THING: before, whenever I docked my laptop, both displays would become active and Gnome would get REAL confused, rendering both desktops. If I tried to fullscreen an application, it would adjust to the 1440×900 resolution of the laptop’s display, which would obviously look terrible on my 19″ 1280×1024 display. Video applications would fail miserably when fullscreened as would fullscreening flash. The confusion is still happening (if I take a screenshot, I get an area of 1440×1024 with a black rectangle in the bottom right corner), but now it knows that the plugged in monitor is the more important one, so the window manager maximizes windows to that, and not the laptop screen. The main issue I was having with Ubuntu is now fixed, though not completely. Hopefully soon I’ll find a way to disable the laptop screen when the laptop is docked/the lid is closed w/o having to modify xorg.conf…

Overall, I’m very pleased with the upgrade. Nothing broke and quite a few things are better now. Kudos, Ubuntu team.

uninspired?… or just lazy?

Wednesday, May 21st, 2008

Have not done any coding in the last month or so, aside from helping a friend out with some Javascript. Have not felt the familiar urge to hack in a bit, my projects at work have been feeling old and busted (and now I’m on unpaid leave anyway), and the mess of personal projects that I was ADDing all over started to seem unoriginal and wheel-reinventing. I then graduated from college and lost any and all motivation to do anything. Have just been spending days watching TV and reading random stuff online. Needless to say, there was no inspiration to write anything either.

This worried me. Have I burned myself out?

I’ve decided that no, I haven’t. I am, however, tired of reading about the same Web 2.0 bs. I’m probably slightly annoyed by the MSFT/YHOO mess. I do need to refocus my personal projects and start applying the framework-ey stuff I’ve written to some sort of project (and I do have an idea) instead of testing it on my personal website.

The view/controller part of the framework needs to be pared down even more – I’ve decided there’s no reason to use reflection to appropriate POST and GET variables. That can be done within the action. It also needs a new name.

The package-manager-like script I had been working on (duffel) just needed a scope reduction. One of the reasons I stopped working on it was because it started to feel like I was reinventing a bunch of stuff, and it was about to do a lot of the work that subversion already does anyway. Instead of managing packages, it will simply manage variables. Instead of configuring which files to get from where, the package creator will simply define what files contain what variables, and place appropriate comment code in the files themselves to specify where the variables are to be replaced. This can then be used as part of a shell script which will check the latest code out of svn, then figure out what variables need to be updated within the trunk code for the local configuration

When I actually get back to working on all of this is still an open question. I’ve decided that I need time off, and what better time to take a break than in the month and a half between graduation and my start date at Yahoo? Peace!… for now.

really apple?!

Wednesday, April 2nd, 2008

really apple?!
Originally uploaded by mike.panchenko

Got my mighty mouse – it has a three foot cord. I won’t go into the details of my set up, but I’ll just say this – that is NOWHERE NEAR enough. What is the deal?!

Also testing flickr’s “blog this” feature, we’ll see how that works out for me.

I’m Writing a Plugin

Friday, March 28th, 2008

if the blog is broken in the next few hours, it’s because I’m testing shit.

Stupid Radio

Monday, March 24th, 2008

That damn song about makin “love in da club” is stuck in my head.

As a consequence… I wanna make love in da club!

MASSIVE FAIL!

Sunday, March 23rd, 2008

I accidentally deleted my wordpress folder. All plugins and uploads are temporarily gone. Lessons:

  • less mv, more cp -Rf
  • less mv, more ln -s
  • host photos on flickr. always.