Here’s a topic that comes up a lot. What is a reasonable budget for your web site? $500? $1,000? Six weeks? Eight weeks?
Some of the earliest help I provide for people is determining what this number is.
Here’s a topic that comes up a lot. What is a reasonable budget for your web site? $500? $1,000? Six weeks? Eight weeks?
Some of the earliest help I provide for people is determining what this number is.
I help a lot of people. Past a certain threshold, I need tools and systems to support that endeavor. Tracking all the little details for all the projects can get hectic. Yet at the same time, I want to keep what I do free of “policy” and other bureaucratic ideas. It’s a continual effort to simplify. I spend a lot of time thinking about how to build that process and make it lightweight yet flawless. It’s hard work to keep you in the driver’s seat, but that’s what I am all about.
Continue reading »
Big Design misses important changes in software that Iterative Design addresses: (a) the shortening of timetables; (b) unpredictability of requirements; (c) vertical integration of software distribution.
Continue reading »
This is a continuation of last week’s featured blog post.
There just aren’t that many long-term resource allocation strategies (“business ideas”) that can outperform existing configurations (“established competitors”) on a long-term basis. If you don’t know when to cut your losses, you will find yourself saddled with a business constantly in search of resources temporarily available at below-market prices (“arbitrage”).
Continue reading »
This is a continuation of last week’s featured blog post.
Success is directly linked to how closely you can align capital and resources with their most productive uses. A business which continually requires discounted resources to function indicates a problem. Economics are against you.
Continue reading »
Value per hour is a great discussion. Most people think programmers are like laborers, all roughly equal because the job is the job and someone needs to do it. It’s just a bunch of heavy lifting.
Continue reading »
I like cakePHP, but it’s not as testable as I would prefer. So, I made my own.
As it turns out, ADODB for PHP supports the ActiveRecord pattern, which is much more to my liking than cakePHP’s data model solution. Also, cakePHP requires .htaccess support which I do not always have when hosting on IIS. Third, cakePHP does not (yet) have the type of integration testing framework that I feel is most critical. Finally, I prefer Smarty templates to the view templates provided by cakePHP. When taken altogether, cakePHP doesn’t offer much that I wouldn’t replace.
I made my own MVC solution with these features:
* ADODB ActiveRecord for data models
* A single PHP file for an entry point, using $PATHINFO parsing. /c.php/customer/edit/42 would call the Customer controller, Edit action, with ID 42
* Smarty templates for views
* Extremely testable. Inspect the exact state of the PHP page after the controller action executes.
* Support for layouts
It’s very streamlined and doesn’t have any general purpose bells and whistles, but guess what – that’s part of its beauty.
C# 3.0 has a few interesting language features that Ruby has been providing for a while now.
Most notable to me are lambdas and type inference. Lambdas have been covered already, but type inference is something new. It feels a bit like JavaScript because you just have to declare that a symbol is a variable. The complier will then infer the variable type through contextual usage. Handy. Not especially new, but handy.
One thing that is good about compile-time type inference is that you still get type errors at compile time. It can sometimes be hard to determine a variable’s type in Ruby, and there is nothing to do but exhaustively run every possible permutation of the code to know all the types it might contain. It can get a little silly sometimes. On the balance, I still think I prefer Ruby for its interpreted features. If there were an C# interpreter, I would readily switch away from Ruby.
Visual Studio undoubtedly provides Intellisense support for type inference, yet another positive feature.
Yes, the rumors are true. Prentice Hall and I have been talking about several book options. I can’t get into the juicy details, but it is probably okay to share that we have evaluated current marketing trends such as those shown on the sidebar of this site. The safe money would say the topic lands in one or more of those categories.
Lately I have been doing upgrades around here for both clients and myself. To do a seamless upgrade, you have to think about a lot of details and then decide which ones are important for your situation.
Continue reading »