The word ‘want’ is a verb that, when used with an object, indicates their desire or interest in said object. For example “I want dinner”, or “I want to be happy”. In order to achieve that object, one must take some ordered steps. For example if ‘I want dinner’ some logical steps might be to go to the market, buy some vegatables and rice, cook them, and finally eat them. When the steps are anything but trivial, most of us get lazy. The result of the laziness is that when we start to follow the steps we simply say something to the effect of “I don’t want to”. For example “I want to be healthy, but I don’t want to exercise”. It is easy to get try to follow the ‘tough love’ approach on yourself or your friends in cases like this; but that virtually never works. What if, instead, we redefined ‘want’ to indicate not only the objects that we wish to attain, but also the means by which we will attain them?
Perhaps in doing so, it would explain to our brains that pleasure can be had not only in the fruits of our effort, but also in our effort alone?
Category: Article
What is a good OS X Subversion client?
What is a good OS X Subversion client?
Paul recommended this.
With all of the distributed VCSs out there Subversion tends to get shunned these days; but people seem to forget that sometimes dead simple is sometimes more than good enough. Besides, you can use git and bzr with svn just fine.
A Brief Review of PragProg's Becoming Productive in Xcode Screencasts
I just finished watching the first 2 episodes of this screencast series. It has a pleasant tone and a lot of helpful information in it. You might imagine it as sitting down with another developer already familiar with Xcode and having him show you the very best features and highlights of the IDE. The author doesn’t play up Xcode too much, but by demoing all of the specific features he did, the viewer will find that ultimately they all make for a very powerful and pleasant to use IDE.
This is a great screencast to combine with reading the vendor documentation (here). The screencast gives you a jumpstart by highlighting the best features and getting you productive with the IDE while the vendor documentation gives you some important details that wouldn’t make sense to include in a screencast like this.
The author presented with a pleasant tone and a good meter, and the content was perfect for showing off Xcode. Apple should thank him as the documentation doesn’t come anywhere close to selling the great features that Xcode provides as the author does in these screencasts.
Maybe Java and C# are the F-16 of the IT world
Emerging Technologies
The U.S. Air force Air Demonstration Squadron , also known at The Thunderbirds, started out in 1953 flying F-84 Thunderjets. The F-84 had been flown for the first time in 1946. In 1955 they upgraded to the F-84F Thunderstreak. One year later they broke the sound barrier with the F-100C Super Sabre, which they stuck with for 14 years. In 1969 they switched to the F-4 Phantom, which had made its maiden flight 11 years earlier in 1958.
In 1974 they responded to the gas crisis by flying T-38 Talon. It was sort of like the Toyota Prius of jets at the time. After a control stick failure in 1982 caused the death of four pilots, they upgraded to the F-16, which they have been using ever since.
Now the point is that in the early days of jet technology, frequent upgrades were necessary to take advantage of the advancements, but the F-16s work just fine and they are content to fly an aircraft that made its first flight in 1974, 35 years ago at the time of this writing.
Maybe Java and C# are like the F-16 of the IT world.
In the nineties we went from text-based applications to GUI applications. From structured programming to object oriented programming, from compiled code to byte code, from desktop applications to web based applications, and eventually to ”enterprise applications”. And that is where we are today. Sure, we have new frameworks and a few additional tools like Hibernate and AJAX. The F-16s have upgraded avionics and weaponry too. But we are still flying the same basic airframe.
As the technology has stabilized, our skills don’t decay as quickly. This is good for people who are slow learners, but it means that movers and shakers may not have the same opportunity to be a rock star that Windows programmers had in the early nineties or web developers had in the late nineties.
So where do we go from here?
— Zachary Schmidt
Good question.
In the late nineties and early 2000s it was an exciting time in IT. People were learning a lot about object-oriented programming and different styles of running software projects. Things have settled down though, like Zac explained. I had always assumed that everyone, having ramped up on the current technologies, would be spending nights and weekends ramping up on whatever might end up as the “next current technologies”. That really hasn’t happened though.
Where do we go from here? Perhaps it is functional programming, but I don’t have any strong opinions here. Rather, I would share that where we ought to go from here is towards smarter programming with powerful languages. IT is generally lacking in both of those things today; and addressing them would save time and money.
A Brief Review of PragProg's Coding in Objective-C 2.0 Screencasts
I just finished watching the first 3 episodes of this screencast series. The videos have sort of an odd tone in that the content seems to be tailored to beginning programmers, but at times details are added that would only make sense to an experienced programmer. For example, “the debugger is cool” versus “sending the autorelease message causes the runtime to register the receiver with the most recent pool on the stack” (caveat, he did follow that by commenting that you don’t need to know what is the stack, the most recent pool on the stack, or how the runtime finds it, but nonetheless). The result is that for beginners it is distracting, and for experienced programmers it is disappointing because you never get the depth that you want.
Additionally, the author has the habit of making statements explaining the current operation that he is demonstrating, and then ending the explanation with “or whatever”. For example, “the program counter steps over the instructions of the generated assembly code… or whatever”. The result of such an approach leaves the viewer wondering whether or not he should believe what the author just explained to him.
I feel like the author did something of a “rush job” to get these screencasts out. The downside is that the time you spent watching them could have been better spent doing something else, like reading Programming in Objective-C 2.0 for example.
My gut feeling is that the author is very knowledgable on the topic, and that the screencasts don’t represent his expertise. I am interested to see how the screencasts compare to his soon to be released book.
A presentation on Scheme in relation to Lisp
Here is a recording of an informal presentation I gave to the Twin Cities Lisp User group on Scheme in relation to Lisp. Schemers wouldn’t learn anything new here; but perhaps if you are a Lisper you might find it informative (I didn’t get booed off stage by the 40 or so Lispers in attendance, if that is any measure of its value, as surely my good looks and charm wasn’t keeping them around).
The coffee shop where it was held was excellent. There were probably 40 people crammed into the presentation space; and everyone was still happy and having a great time. This is a very cool group composed of very cool people, it would do you well to attend and even present with these fine folks.
A presentation on Hygienic Macros in Scheme
Here is a recording of an informal presentation I gave to the Twin Cities Lisp User group on Hygienic Macros. Schemers wouldn’t learn anything new here; but perhaps if you are a Lisper you might find it informative (I didn’t get booed off stage by the 25 or so Lispers in attendance, if that is any measure of its value, as surely my good looks and charm wasn’t keeping them around).
The coffee shop where it was held was excellent. There were probably 25 people happy and sitting comfortably in the presentation space. This is a very cool group composed of very cool people, it would do you well to attend and even present with these fine folks.
If you believe in continuous integration then show it
It might be interesting for groups who promote agile software development practices to start introducing transparency, gently and slowly, simply by including a single number on their web page: the percentage of their projects that are successfully building, and nothing more.
Two books on C
I can’t recall who made these recommenations, but I had bookmarked these two:
C: A Reference Manual
C Interfaces and Implementations
Both look good.
The iPodTouch Is What The OLPC XO Should Have Been
The iPodTouch is a mass-marketed device, so its cost has been driven down. An 8Gb device costs only $230.
Its development environment nearly demands performance. Its development language is Objective-C or C and only one app can be run at a time. Contrast that with Sugar on X11 on Python on C and an environment that exhausts available memory with very little effort.
Its touch screen encourages interaction. The XOs flakey keyboard and touchpad discourage it.
I still love the XO and OLPC’s mission. The only thing that they seem to have accomplished, though, is the proliferation of Netbooks across the commercial landscape.