Posts tagged: programming
31 posts
Ruby And Its Neighbors: Lisp
It's time for Lisp! Third in our series about langauges that influced Ruby.
I've been a little nervous about approaching Lisp because, while I have actually done projects in Lisp, it's been a while. And I assume there's a whole cadre of Lisp-knowers waiting to jump on misstatements. Hi, Lisp-knowers! Let's talk about (lisp).
Ruby And Its Neighbors: Smalltalk
Smalltalk was the second major influence on Ruby's design. A different kind of influence, since almost nothing of Smalltalk's syntax made into Ruby. But many of the details of how objects work are directly inspired by Smalltalk, including the idea that every piece of data is part of the object system.
Ruby And Its Neighbors: Perl
I've been in kind of a writers block, for all kinds of reasons, personal and professional. I started to think about an article that I could write that would get my fingers typing. And I was thinking about how the answer to "where did this Ruby feature come from?" is often "Perl". And then I realized that Perl has vanished so completely that there's probably a large group of Ruby developers that don't know much about it.
Programming Proverbs in 1975 and 2025
As developers, we tend to think that our best practices are universal laws that we've discovered and which get refined over time. That's true to an extent, but I think we underrate the ways our environment and technology shape what a best practice even is or what the best way...
Empirically, I Have No Idea
## How We Don't Know What We Know _Previously on Locally Sourced. Who can even remember? Sorry, it's been a while. I've been stuck writing two-thirds of posts and not quite wanting to finish them, but if you are reading this, I assume that means that I finally ended this...
BDD: Book Driven Development
(This one is also on the Pathfinder blog, but since it fits in here, I wanted the full text here...) Jay Fields, who has been posting a very nice sequence of nuts-and-bolts Ruby and Rails guidelines, [pauses to talk about creating examples](http://blog.jayfields.com/2008/03/example-dilemma.html). It's a topic I've wanted to write about...
iPhone SDK
I'm trying to figure out exactly why I'm so psyched by the Apple iPhone SDK announcement. The basic announcement wasn't a surprise, and I don't even own an iPhone. I did, however, dig out my Cocoa programming book and start studying. Further thoughts: - The tools themselves seemed somewhat slicker...
Two Pathfinder Blog Posts
Two things on the Pathfinder blog. - [Agile Publishing](http://blogs.pathf.com/agileajax/2007/11/agile-publishin.html), on publishing experiences and agile methods. - [Live Ruby: Testbed](http://blogs.pathf.com/agileajax/2007/11/live-ruby-testb.html), an attempt to work through a small test and metaprogramming problem live and on the blog. Enjoy.s
More On Test-Driven Development
My first post to one of Pathfinder's official blogs is up, it's a companion piece to the blog post here on Test-Driven Development, and you can find it [here](http://blogs.pathf.com/techdev/2007/08/test-driven-dev.html).
And Now, A Special Announcement
Sorry for the radio silence for the last week or so, but I was waiting to be able to announce this: Today I started a new job at [Pathfinder Associates](http://www.pathf.com), as a senior software engineer in charge of Ruby on Rails projects. Needless to say, I'm thrilled to be back...
Didn't I Say I Wouldn't Compare Languages?
I posted a version of this to [JJ Behrens' Blog post about Ruby](http://jjinux.blogspot.com/2007/06/ruby-python-programmers-perspective.html), and decided it was probably worth also posting here. I use and like both Ruby and Python, here's why... #### Things I like about Ruby with respect to Python 1. I think Ruby is the only language...
Programming Perl, Personal Edition
Due to circumstances somewhat beyond my control, I find myself working in the largest Perl project I've ever done. Now, I'm not in the least interested in a "my language is better than your language" deal because a) this strikes me as very well covered territory, and b) it seems...
An Agile Musing
Of course, since I muse in an agile way, I reserve the right to change my mind based on future developments... Software development usually takes place in a complex environment where your goal can change quickly. In general, there are two ways to deal with a complex environment. One is...
from internet import *
Three posts that caught my eye today. #### Ruby School Gregory Brown over on O'Reilly net [has an article about using Ruby in Computer Science courses](http://www.oreillynet.com/ruby/blog/2007/05/ruby_academically_viable.html), at least in later algorithm classes. It's not a bad argument, but I think it'd be more convincing if the Ruby example was a...
Comment On This
So the other day I'm looking over some code, and I see this... (slightly paraphrased to protect the innocent -- in the original, the declaration and the getter were, of course, separated.) /\*\* \* The name of the user \*/ private String m\_userName; /\*\* \* @return The name of the...
Posting to Blogger via Ruby
TextMate has what seems to be a very nice blogging bundle for programmatically sending posts to your blogging engine of choice. Except that it doesn't work for the new Blogger API. Or at least it didn't the last time I checked. Mostly I just wanted to see if I could...
GWT part 3 and 4
Sorry for not mentioning this earlier, but part three of the GWT series is now up on the IBM site at: [http://www-128.ibm.com/developerworks/opensource/library/os-ad-gwt3/](http://www-128.ibm.com/developerworks/opensource/library/os-ad-gwt3/) This one is about remote procedure calls, and I'm pleased with how it turned out. I just got the proofs for the fourth and final article in this...
Clearing The Decks
A collection of small things, half-finished posts, and pure whatnot that hopefully will lead to more posts in the future: - Got my first Amazon affiliate statement with no less than $1.55 heading my way. Thanks to the person who clicked through... - There's a new sidebar, for small links,...
Don't Ask Questions, It Only Encourages Him
Let me promote this from the comment section -- it's not hard to find, it's the only comment on the previous post. > What is your favorite Python IDE? Your editor choices are interesting and valid but I wondered if you have a preffered IDE for Python and wxPython work?...
Editors I Like
Two tools I use all the time. Neither is free, and since my strong bias is to use free tools where possible, these are some really impressive editors. [IntelliJ IDEA](http://www.jetbrains.com/idea) For all my Java needs. It's got more features and is more usable than any other Java IDE out there....
wxWorld
I'm pleased to be able to link to a new article: [Build cross-platform GUIs using wxWidgets](http://www-128.ibm.com/developerworks/linux/library/l-wxwidgets/) available on the IBM developerWorks site. The original title was "wxWorld", and it's a quick look at wxPython, the wxWidgets toolkit, and some of the other wxWidgets language bindings. I had some fun digging...
Tips-First for Test-First
Of all the exciting ideas and revelations that came from Kent Beck's original XP book, Test-First Programming has been the one that most significantly affected the way I work on a day-to-day basis. I love programming test-first. It's a great way to take a large, amorphous task and solve it...
Why, Johnny, Why?
We interrupt Python week to bring you the following alternative programming rant. I know, Python week has sort of gone up in smoke. But one of our mottoes here is "Whenever a Hugo Award winning SF novelist writes a hyperbolic screed about BASIC in the public schools, 10 Print Hello...
Re-refactoring
Here's a little riff inspired by one of the examples in Martin Fowler's book [Refactoring](http://www.amazon.com/gp/redirect.html?link_code=ur2&tag=10prinhell-20&camp=1789&creative=9325&location=%2FRefactoring-Improving-Design-Existing-Code%2Fdp%2F0201485672%2Fsr%3D8-1%2Fqid%3D1158123700%2Fref%3Dpd_bbs_1%3Fie%3DUTF8%26s%3Dbooks), which is another great programming book that deserves an appreciation post one of these days. This was actually also spawned by code that I've read, and later realized that Fowler did a similar example. Thing...
Some 411 of my own
Saturday, Robin and I had the pleasure of being interviewed by Ron Stephens for the excellent [Python 411 podcast](http://awaretek.com/python/index.html). I think this was the first time I've ever been interviewed for anything, and while it's always fun to talk about Python, the book, and me (not necessarily in that order),...
I/O, I/O, It's Off To Work I Go
Welcome to our program, Things I Agree With Totally And Wish I Had Said First. Our hero tonight is Tim Ottinger with his hit, "[Frameworks are for the Impatient](http://www.butunclebob.com/ArticleS.TimOttinger.FrameworkImpatience)". It seems Ottinger is puzzled by a library he's trying to use.. > Look, this framework is not the game _Myst_....
Fonts
I'm curious -- how do you set up your screen in your text editor when you are programming? Based on people I've worked with, I seem to do two things in my setup that are unusual. I use fairly large fonts (16-18 point, if I can) and I'm aggressive about...
Web Apps and Language Wars
I wasn't planning on posting about either web apps or linking to Joel Spolsky again, but [this language wars post](http://www.joelonsoftware.com/items/2006/09/01.html) is just too interesting to pass up. Besides, a jillion people have already commented on this, so what's a jillion and one? Spolsky is riffing on what language or platform...
Languages I Use
Continuing in the getting to know you kind of vein, I thought I'd ground some of what I say by talking about the three programming languages that have made up the bulk of my professional and hobby work for the past five years or so -- Java, Python, and Ruby....
Code Complete: An Appreciation
It's been about 25 years since I first typed 10 PRINT "HELLO", and in that time I've read dozens of books aimed at making me better at creating software. There are several things I want to do with this site, but certainly one of them is to recognize those books...