One thing I forgot to mention in Part 1 of The Interview was that the question doesn’t need to be reserved for technical oriented interviews. Playing with the wording a little bit, allows the question to be suited to just about any type of position. I used this same question technique when I was asked to cross-interview designers for instance. I could see it easily being applied to project managers and many other job types.
The Interview (Part 1)
So for those that don’t *really* know me, I tend to be a bit of an introvert (ok, ok, for those that *really* know me, a lot of an introvert), and can have some pretty geeky tendencies at times. But I think the subject matter of this post could be useful to both introverts and extroverts, geeks and non-geeks. I plan to break this entry up into two posts:
- The Professional Interview
- The Social Interview
Now, for the geeks amongst you, drop the “Web 2.0″ definitions of “Social.” That’s not what this is about. This is more of an experiment in sociology then anything else. Anyhow, let’s go ahead and get into the meat of what I’m writing about.
It all centers around this basic question: Read More
The downloadable media quandry
I really agree with the below quote from Fred Wilson. The reason the movie & music industry keep finding themselves in a losing battle is because they aren’t listening to their customers and providing them with what they want and how they want it. If they ever start doing that, I really believe they’ll see a significant uptick in sales.
The real solution is to give the customers what they want which is simple, easy, affordable, instant access to the content they want at a reasonable price. When and if the content owners do that, they will be on their way to solving the download problem.
A VC: You Can’t Regulate Just One Industry And Leave The Other Alone.
My language is better then yours … (Part 2)
Jim decided to respond to my post regarding language vs. language debates, specifically looking at PHP and Ruby / Ruby on Rails. He makes some good points, but there is some stuff that I’d like to respond to and clarify…
To say that one language is better than the other is meaningless. Better in what way? The question should always be asked in a particular context.
I definitely agree, in general, I’m just tired of language vs. language debates … more on that in a moment.
I don’t want to talk about the ads, though, because they have their own agenda and it certainly doesn’t match mine.
Works for me, but keep in mind that most of my original post was working towards making the point that the video’s were doing an apples to oranges comparison of PHP (minus framework) to Ruby on Rails. Jeremy and I disagreed on the validity of this comparison.
For me, that’s why I am using open-source tools in the first place.
…
For me, the bulk of my language preference comes from language philosophy.
…
but for my tastes, I appreciate the additional power that Ruby metaprogramming allows.
These are some key points that I can agree with, but again, more on that in a moment…
PHP =~ COBOL is not an analogy I would make, but at the same time I’d urge you to consider your claim “You’ll always be taking over a Java project or a .NET project or a PHP project” in light of COBOL, or FORTRAN, or VAX or any other platform that’s been a dominant success in the past. Current popularity is no guarantee of future popularity. In our industry, better mousetraps are ruthlessly adopted.
I totally agree, as I even said, I can see PHP going by the wayside one day, but today is not that day, and I still believe it’s extremely premature to be concerning myself with but so much. It seemed Jeremy was arguing that Ruby on Rails projects are more easily taken over, so my counterpoint was simply that RoR, like any other language, is not likely to be so widely adopted that his point would ever really become something you could rely on. Just to be sure I’m clear, I’m saying that it is unlikely that RoR will become so widespread that you can count on commonly taking over other RoR projects. This is not me slamming RoR, the same statement could be made in the direction of PHP, .NET, etc. You’ll always be taking over projects built on other platforms. Even as a PHP developer I experience this commonly. Just the other day I had to take over a .NET project and we chose to redo it in PHP for various reasons. I hope that’s clear, and if it’s not I wish someone would ask the questions I need to answer to make it clear.
If your focus, like in your last paragraph, is only on user experience (by which I think you mean developer experience), then language preference may truly not matter. But if your focus as a developer is on avoiding future “forced” language changes, then it might make more sense to attempt to determine which new technologies might eventually usurp the old. My claim is that Ruby and Rails are better positioned to do so that PHP and its framework set.
Ok, finally to the point I kept putting off above. I actually was not speaking of developer experience. I was speaking of end-user experience, the folks that visit our websites. THEIR experience is what matters in the end. PHP, RoR, .NET, etc are all capable of providing similar, if not identical user experiences. So if I prefer to provide that user experience with PHP, using mainly procedural based programming, then why not? If you want to do so with RoR, or any other platform, then more power to you. As you indicated, there are things about RoR that make you prefer it over PHP. I see no problem with that. But to say those ways are better then mine, if achieving a particular user experience is the ultimate measure, is sort of pointless, unless you disagree that the languages are capable of producing similar/identical experiences.
I also want to comment on the fact that it seems in these conversations I keep getting pegged as being resistant to change, not eager to learn new languages, etc. To be blunt, it’s pissing me off. I’ve lost count of the languages that at some point I’ve been well-versed in, let alone the languages I’ve “dabbled” in. Just because I’m not actively learning RoR at the moment, does not mean that I think PHP is Gods gift to programming nor does it mean that I am resistant to new languages as a whole. PHP has its flaws. One day it will be replaced (just like .NET, RoR, and even Java) but I don’t think that day is tomorrow or the day after, so I don’t feel pressure to move on yet. I think RoR is doing some great things for the development community as a whole. Some things I see in RoR, I adopt in PHP. That kind of thing is good for all of us. But again, just because I don’t choose to use RoR, doesn’t mean that if something else came along I wouldn’t take the time to consider how it might could benefit me. At some point I’m sure I’ll re-assess RoR, and who knows, maybe I’ll dive in. Right now, it just doesn’t make sense for me to.
My language is better then yours …
(Fair warning, if you aren’t a nerd, you might want to skip this post)
Are we (programmers, developers, engineers) still really having these debates? Give me a break. Java vs. .NET, Java vs. PHP, .NET vs. PHP, now Ruby on Rails vs. PHP.
The other day, Jeremy, sent me these. They’re a series of videos created by Ruby on Rails fans, basically comparing PHP vs. Rails. I watched the videos and told Jeremy something along the lines of, “they’re funny, but they’re not really a valid comparison of the languages.” I’ll be honest, I’m too lazy to look up his initial response, but at some point he told me, “they’re entirely valid comparisons.”
My main point was that if you only compare based on what the video’s show, PHP is capable of doing everything Rails is, although the videos, if you knew nothing about the two languages, would lead you to believe that wasn’t the case. I conceded the point that at least to some extent, Rails would win when it comes to Migrations. But even that, you can mimic in some way for PHP, but it might not be QUITE as easily done. You can, without much trouble in fact, abstract your database from your code, you can do MVC, you can do OOP (in fact PHP5 has greatly extended OOP in PHP).
Then I allowed myself to be pulled into the language vs. language debate (although he will most likely claim that somehow we weren’t having a language vs. language debate). It was all quite silly … on both sides if I’m being entirely honest.
I like the fact that PHP will let me put together a quick script without having to go through MVC/OOP/etc etc if that’s all I want to do. I like that it doesn’t make assumptions about how I’m going to set things up, I also like that if I want to get very structured, or even apply a framework, I can. He believes that the fact that Rails forces (force is my word, he would most likely say it just makes a certain way so easy why would you choose another) you into a structure is a plus for the language/framework. He even went on to say/imply that a language that didn’t force that was inferior.
Some of the silliness came in to play later. For instance I think some of the helpers and whatnot available in Rails, while lowering the entrance barrier for new programmers, also create lazy programmers that don’t actually know how things are actually being done, or why it is being done that way. It was silly because earlier in the discussion I had argued that just because PHP allows sloppy code to be written, doesn’t mean the language is at fault, the programmer is at fault. I still don’t really back off of either of my points, I guess that line is just a little fuzzy for me. But I will admit that I could see how me arguing it one direction in one instance then flipping could be seen as odd.
Then later he made the comment that one of the problems in our discussions was we were comparing PHP (the language) to Rails (a framework). That being silly because everything up to that point, and past that point was and continued to be comparing PHP to Rails. Somewhere along the lines I asked if we were comparing PHP to Ruby or PHP to Ruby on Rails. Because if we were comparing PHP to Ruby, the videos were just nonsense. If we were comparing to Rails then we’d need to introduce Cake or Code Igniter on the PHP side, which would again make the videos invalid. He, in some fashion, agreed. Not sure why we continued from there, but we did.
He argued that the great thing about working within the framework and doing things the easiest/forced way was good for when picking up projects from others. My opinion is, you can easily setup standards and processes to create maintainable code within your organization regardless of your chosen language. So that leaves us with having to deal with picking up projects from outside developers. If you think that enough development firms are going to pick up one language so that when acquiring projects from another development firm that it will be easier because it’s written in your language, you’re living in a dream world.
Somewhere he brought up that he thinks PHP programmers are eventually going to go the way of the mainframe programmer, using COBOL as an example. Honestly, one day, that will probably be the case, but good grief that is a premature statement. There are organizations that would label PHP as cutting edge (I wouldn’t agree, but regardless, me myself and I are not the majority), not to mention the large number of large sites running PHP (Wikipedia, Digg, Facebook just to name a few), and Yahoo’s involvement in the community. I would say PHP is still growing, if not exploding. It’s hardly the time to be making funeral arrangements.
So anyhow, I think I’m done ranting about this, but needed to throw it out there. Just to be clear, I think Ruby and Ruby on Rails are great. I consider them powerful tools for development and have not and will not ever consider someone silly for wanting to learn them, nor will I think that my tool-set (PHP + framework or no framework) are somehow superior. I know the language vs. language debate is not going to end here and now. It never will. But, GAH! I’m sick of it. Use what you want to use. User experience is what ultimately matters and they’re all capable of providing similar if not exactly alike experiences. Anyone who disagrees with that needs to come out of their cave.
Hybrid Vehicle vs. Regular
NOTE: It surprises me that this post is still so popular after all this time (based on web stats). Unfortunately while moving hosts the calculator mentioned in this post was lost. However given the continued popularity of this post, I have reopened comments and will try to rewrite the calculator in the near future. (12/15/2008)
Well, if you drive a car … you’re likely starting to feel the pressure of the rising gas prices. This has been pushing people to start looking at hybrid vehicles. I had done the math loosely in my head before and realized it would take a very long life expectancy for your hybrid car to have it really make sense financially. Well, I was recently talking to a friend who was considering purchasing a hybrid car so I sat down real fast and made a calculator to compare the cost of two cars along with the cost of gas for both cars. After doing so, I looked up the mileage and sticker prices on some cars. I drive a Honda Civic, and I consider it a relatively nice car. It also happens to have a hybrid model in production so I felt it would be pretty good for testing out the tool. Below are links to a couple of comparisons that I ran. Needless to say I found that the loose calculations I did in my head were not accurate. Unfortunately it’s worse then I realized.
Basically what I found was that if you compare the EX to the Hybrid, it takes roughly 200,000 miles for the hybrid to start saving you money. If you’re willing to drive the DX model, even after 400,000 miles, the hybrid hasn’t started to save you money.
Obviously this tool has a couple of “flaws” I should probably point out. For one, it assumes that gasoline cost per gallon will stay the same throughout the mileage/cost projection. Also it obviously doesn’t take into account maintenance costs on the cars, but I think this is ok since regardless of which one you were to choose, maintenance costs would be incurred. Third, gas prices obviously vary based on your location, so that would impact the time it would take to start saving money. Even given these faults, I still think it illustrates the point, even if it’s not 100% accurate.
Honda Civic Sedan EX vs Honda Civic Sedan Hybrid
Honda Civic Sedan LX vs Honda Civic Sedan Hybrid
Honda Civic Sedan DX vs Honda Civic Sedan Hybrid
UPDATE: In fairness to Honda, I suppose I should mention that my calculations were based on Highway mileage. If you want to see the difference just adjust Car 2 down to 30MPG on each of the above examples (Hybrid city mileage doesn’t change significantly, the Civic hybrid gas mileage on the sticker is 49/51). It does make a difference, but not until roughly 200,000 miles on the DX.
UPDATE: Sorry the links no longer work, the application I wrote to do the math was lost somewhere along the way when I switched webhosts. I’m leaving this post here though because the content is still true.
The RIAA has lost it's mind
I was going to let this just slide into the linkblog, but I think it’s unbelievable enough that it deserves attention from my main blog. There is currently a court case taking place (Elektra v. Barker, pending in Manhattan federal court before Judge Kenneth Karas) in which the RIAA has made the following claim:
merely having a ’shared files folder’ on one’s computer, and thereby ‘making files available for distribution’, is in and of itself a “distribution” and a copyright infringement
OH … MY … GOD. They have flipped their lid to put it politely. They basically just said that all computer networks, including the internet, are illegal. When are these insane accusations and pathetic cases goint to stop being waged. What is it going to take to make the Recording and Movie industries stop treating their very customers as criminals. *sigh*
I am a Web Developer located in Richmond, VA. Primarily, I work on the back-end of websites utilizing my database and desktop application coding experience from the past to achieve desired results for the user interface. Recently however I have started moving more into the UI realm, utilizing JavaScript and AJAX to allow for better performance out of the back-end systems.