DISQUS

DISQUS Hello!  The comments on this profile are unclaimed and thus are unverified.

Do they belong to you? Claim these comments.

Giles Bowkett's picture

Unregistered

Feeds

aliases

  • Giles Bowkett
  • giles bowkett
  • Giles Goat Boy
  • giles
  • giles
  • Giles Bowkett
  • giles bowkett

Giles Bowkett

1 month ago

in A Django Developer’s Views on Rails on LoopJ
@Aron, I don't mean to appear argumentative but regarding your last point you should check Justin George's comment, a few comments above the comment you made. Loose coupling is on the way for Rails in a very big way. It's going to be an awesome improvement.
1 reply
Aron Pilhofer Argumentative? This has to be THE most rational discussion I've ever seen of Rails vs. Django. Usually, these things devolve into a Southparkian mess of namecalling...

Anyway, I'm not sure what he's talking about exactly when he says "rack apps." Whether he literally means microframeworks like Sinatra, or Rails own internal microframework, Metal. Both are very cool, but have sort of niche appeal.

If he's talking about Engines, then let me say +1. It doesn't quite get us to Djangoland, but it comes close.

The bottom line is it's good to see these frameworks growing and learning from one another... migrations to Django; engines to Rails.

1 month ago

in The Modern Babel on The Well-Bred Grapefruit
The other big reason to learn Latin is if you want to get into law school. When I was in high school, my mom was a lawyer, and many people noticed that I liked to argue, so people often assumed that I would become a lawyer. Anyway the etymology thing, having studied both Latin and Ancient Greek, etymology surprises me like once every seven years.

I think the more interesting idea is that every kid should learn some programming languages. Alan Kay did a real neat talk where he said you should teach every kid programming because it's only when you know how to automate something that you really know *how* to do it at all. Wish I had a video URL or something but I've only heard of it, not seen it myself.
1 reply
Duwanis's picture
Duwanis Interesting. From poking around it sounds like that may have been his keynote at EuroPython 2006 (done entirely in Squeak, apparently) but I wasn't able to find a video.

1 month ago

in The Modern Babel on The Well-Bred Grapefruit
First, you really shouldn't say Oriental but Asian. It might be a nonissue in the South but it's offensive on the West Coast. Don't ask me why, it just seems to be the case.

Second, learning Latin is so much more than structural similarity or language foundation. If you can't read Latin, you can't really read English, either. Your assumption about looking up words is completely inaccurate. If you can read Latin and Ancient Greek you'll have an infinitely finer-grained understanding of etymology in English and you'll be able to spot a word's entire history just in its spelling. Life without classical languages is like life without sex or LSD. I feel sorry for anyone who doesn't learn these languages. Latin makes you much better at logic and Greek will turn your understanding of words inside-out.

Also, that stuff about sentence structure is mostly bullshit. Latin and Ancient Greek use much more complex verb and noun forms than any of their descendent languages. That's why they teach you about logic and interpretation. Every sentence in either language carries a complex, highly specific structure, and it trains you to think in this very complex, highly specific way. You seriously should not go through life without learning Latin.

And this:

you can’t express anything in one language that can’t be communicated in another.

You have no idea how wrong you are. That's the most egregious falsehood I've seen since Uncle Bob's keynote. It's just complete and utter bullshit. Absolutely false. You can't express anything in a given language that you can't *summarize* in another, but if that crazy statement was true, poets would not exist.

For instance, Pablo Neruda wrote a line in a poem that goes like this: "mi voz buscaba el viento para tocar su oido." A literal translation could be "my voice sought the wind to touch her hearing." Except literal translation fails here, because "tocar" carries an additional meaning. In Spanish you don't play an instrument, you touch it. So you could pair the sentence with another literal translation: "my voice sought the wind to play her hearing." But to say this loses the poetry and nuance is overly generous. It doesn't even parse. It doesn't even make sense. The idea that he wants to touch her hearing and play her hearing like a musical instrument, all from far away, via the wind - you cannot express that in English without a paragraph.

It's just like how in Ruby you can write in three lines something Java requires a whole page of text for. Think how ridiculous your argument would be if you were saying all computer languages were equivalent. What you're saying here is equally ridiculous, and for a very similar reason.
2 replies
Duwanis's picture
Duwanis Regarding Latin, firstly, the pro-Latin arguments I listed are ones I've heard, and not ones that I agree with. So when you're pointing out how much crap those arguments are, I totally agree with you :)

I still personally have an issue with the etymology argument, but I'll admit that's probably my own shortcoming. Having not learned Latin to any great extent I can't actually say, but I know that I've seen words that *looked* like they were rooted in Latin, but they turned out to be Germanic instead. To say that I'd have to look up every word is probably partly my own relative ignorance of etymology, and partly my own unwillingness to trust my assumptions, in retrospect.

I do appreciate the arguments you put forward though, and I'm sad to say they're not the ones that are usually put forward.
Duwanis's picture
Duwanis In response to your Oriental vs. Asian observation - I didn't know that. In case you can't tell, I haven't spent a whole lot of time on the west coast; you're right that 'Oriental' isn't considered offensive here (as far as I can tell). I'll edit to reflect that.

As far as the expression of language is concerned, I don't disagree with you at all. But note that I made no claims to the extent you'd have to go to express certain concepts, just that it was possible. You said yourself, you can't translate the concept in Neruda's poem to English without a lot of extra words, but that doesn't mean it's a completely inaccessible set of concepts to someone who doesn't know Spanish - you can still express the idea in English, it's just going to take a paragraph instead of a concise line. Maybe there's an issue with the way I used the word 'express' here, and I'll acknowledge that I probably should have been more explicit.

I think the same thing holds true for most modern computer languages. Or, I should say, is true for any set of Turing-complete languages. Anything you can do in one you can do in the other - in terms of results, which is the beauty of being Turing-complete - even though the language structures you have to employ to get there may be more awkward and inefficient in one language than they are in another.

That said, my point isn't that language choice isn't important, although I can see how I come across like that. I just think people get so bogged down in the details of why you should learn *their* language of choice that they miss the fact that simply learning a new language in earnest - no matter what the language is - is a valuable experience.

2 months ago

in Poaching Customers on Twitter )) Skepsis on Skepsis
I personally don't believe that kind of poaching is a good idea because you can get into endless bickerfests about the definition of your features. I mean they could spend twenty tweets arguing over that only to find out you're only ever interested in this one Thai place which is equally accessible from both (for example).
1 reply
supaspoida Giles,

It's a thin line to be sure. But at the same time, I think that the response to poaching (offense?) is more telling. If these two were to start a 20 tweet (or blog?) bicker fest I probably wouldn't be inclined to do business with either of them.

This is a business model that I think has a legs, I've considered starting pretty much this same site. Which means I could see myself working with either of these companies at some point. Seeing how they conduct themselves in public can be a light-weight way to qualify prospective clients. Of course my sort of calling them out in public might have already disqualified me, but that's sort of the point.

We've heard of people getting fired or turned down for jobs because of things posted to social networks. But the same sort of thing also applies to businesses as they focus more attention on "social media marketing." Whatever the pros & cons, at the very least I find this sort of marketing preferable to email spam.

2 months ago

in Close to the Problem on Adam @ Heroku
I blogged something very similar not long ago.

2 months ago

in Receiving Email with Rails on Jason Seifer
hey jason - also check out Astrotrain on github. it receives e-mail and issues xmpp or http in response. blatant plug for my employer but it's what enables Tender to turn e-mails into support discussions. like how Tripit turns e-mails into itineraries automagically.

4 months ago

in Tagaholic - Hirb - Irb On The Good Stuff on Tagaholic
You might find some useful stuff in my irb gem utility_belt. It's under-maintained (sorry) but has some cool features, e.g., the ability to edit irb code in vi, verbosity hacks for Rails and for regular irb, etc.
1 reply
cldwalker Thanks for the tip Giles. I'm already using it in my irbrc- http://github.com/cldwalker/irbfiles/blob/09384...

4 months ago

in Database Versioning on Adam @ Heroku
I think the answer is to use Err's auto_migrations plugin, and never use migrations.
1 reply
technoweenie Can you rename a column with auto_migrations? I believe it's effectively the same as Datamapper's auto_upgrade feature.

4 months ago

in Tech Tuesday: The Fiddly Bits on Urbantastic Blog
Can you release parts of this system as open source? I'd like to take a deeper look at it, and experiment with it.
1 reply
heathjohns The nice thing about being a non-profit is that there's no argument against open sourcing. I intend to release the whole site under an OSS license when things settle out a bit.

6 months ago

in Propane for Campfire group chat | micro review - mac app on uber.la - wiki and blog of John McElhenney
Hey, this is a cool review, but that's not all - try dragging a Twitter URL into the window, or a graphic

6 months ago

in Propane for Campfire group chat | micro review - mac app on uber.la - wiki and blog of John McElhenney
Hey, this is a cool review, but that's not all - try dragging a Twitter URL into the window, or a graphic

6 months ago

in @lazytweet best bok on RSS? on LazyTweet
Need a book on RSS because I'm building something I thought would be insanely easy and in fact it's quite buggy.

7 months ago

in @lazytwitter 1: is it possible to hack an iphone with a broken power button? 2: I may have a free T-Mobile SIM card for anyone :p on LazyTweet
doh! i have already moved to 2.2.

I can't get a warranty repair, I don't think; it's A) old and B) second-hand.

8 months ago

in Testing protected and private methods in Ruby on Pat Maddox
This is crazy talk. How the hell are you supposed to have untested methods in the first place? Where did they come from? Did you develop them TDD/BDD and then just throw away the specs, like burning a secret message? This is fucking ridiculous. If you have code that came into being without being tested, you fucked up. If you threw specs away you made your code not-refactorable. I think using private or protected at all is a childish self-indulgence, but throwing away specs or developing without specs is just absurd.

8 months ago

in Places where Rails is not DRY on subWindow
fwiw, you can solve the first one - migrations up and down - by using the auto_migrations plugin from err the blog.

9 months ago

in method finder for Ruby on Pat Maddox
Sorry Pat but I think Dr. Nic already did this, in 2006:

http://drnicwilliams.com/2006/10/12/my-irbrc-fo...

10 months ago

in http://adam.blog.heroku.com/past/2008/7/6/the_end_of_bugs/ on Adam @ Heroku
Absolutely! This is why debugger support is a bad thing. Development practices which are very close to bug-proof exist.

10 months ago

in ReinH — Adding Epicycles: Copernicus on Software Development on ReinH.com
NASA uses Ptolemy's system to chart rocket launches. Although fucked-up and legacy, it's easier to use than Copernicus' system for this particular use case.

The best book ever written on Ptolemy and Copernicus (to my knowledge) is Eric J. Lerner's The Big Bang Never Happened.

I sure hope HTML's allowed in comments here.

1 year ago

in Zed Shaw Rant Rant on TechFaux
My gems are totally metal, except for a few which are indie.

1 year ago

in Refactoring with Shared Example Groups on Pat Maddox
Sorry, that comment was kind of dumb. Twitterbrain, responding too quick.

1 year ago

in Refactoring with Shared Example Groups on Pat Maddox
On the tests, I would say test-driven refactoring ftw. If the tests pass all the way through, the refactoring succeeded; if the tests targeted implementation specifics, first kill those tests (and write new ones if necessary).

1 year ago

in Why Your Social Website Should Support OpenID on Virtuous Code
OK. So now I have to respond. I had to make a whole gigantic presentation to answer your last spate of flame-war provocation. So let's see.

OK, so the blog post, "Do Users Really Even Exist?"

http://gilesbowkett.blogspot.com/2008/03/do-use...

The answer is no. Users are a convenient fiction. What actually exists are logins. OpenID assumes users map directly to logins. Because of this it is only useful to Web developers. In real life people share logins with each other or have more than one login. That's my point in the blog post. You dissed it on Twitter saying it was an interesting theory, but that was silly. It's not an interesting theory. It's an observation of the disconnect between how Web developers like to imagine people act and how you can actually see people acting in the real world.

OpenID is Web-developer-centric and based on an assumption that is wrong. It would be cool, IN THEORY, like Communism, but in reality, it's just ridiculous BS. Theories based on ideas which are repeatedly shown to be factually incorrect are theories which will not get you anywhere no matter how pretty they turn out to be.

Also, Microsoft tried to do an OpenID style thing years ago, and failed. Here's the pattern with OpenID and Passport: developers decide it should exist, they build it, and nothing happens. Whenever you have a pattern like that, it means that the real world displays characteristics that people are repeatedly failing to recognize. This is similar to micropayments. Several attempts at micropayments failed in a row before developers decided to give in gracefully and stop providing a technology that the world clearly didn't want. After a while Clay Shirky figured out why:

http://shirky.com/writings/fame_vs_fortune.html

One day Clay Shirky will figure out why OpenID never happened either. And it'll be really freaking interesting to read. But until then OpenID really isn't worth taking very seriously, and when it becomes taking very seriously, it'll only be as a way of leveraging Clay Shirky's remarkable brain. OpenID in and of itself is really not worth taking very seriously.

QED.

1 year ago

in My Beef With ActiveRecord on Pat Maddox
Oh, and *I* blog to let the world see how smart I am. You just link-spammed your own comments.

1 year ago

in My Beef With ActiveRecord on Pat Maddox
Well, DHH was initially a PHP guy. Rails wasn't actually designed for serious OOP use. I don't even mean that as a dis, it's just true. The concern you're raising comes from a different part of the programming world.

I think you should build it. Producing a variant on ARec which made proper OOP possible would probably make life easier for a lot of people. The question is, can you find a solution simple enough to fit in a Rails plugin? It's obviously worth doing and obviously doable, the only question is how many lines of code it would take.

I think patching AR::Base#initialize is certainly the right idea. I don't have ARec's internal structure memorized, but calling validations from within #init ought to be easy enough. Piers' approach is a great place to start, and the question of protecting attribute assignment is actually still worth debating. After all, you're not trying to turn it into Java. You're just trying to make validates_xyz actually validate xyz.

1 year ago

in My Beef With ActiveRecord on Pat Maddox
OK, at best I'm being pedantic and at worst I'm being wrong, but I think you actually have an issue with Active Record, not ActiveRecord. The whole idea of Active Record (the pattern) is to mix business logic and persistence. Any time you use a pattern you're basically opting for a particular set of tradeoffs. Active Record is a good match for a lot of situations, but not all. Sometimes the tradeoffs are the wrong tradeoffs and the solution is to use a different pattern.

On the other hand, it could be that you could get around this just by writing an AR subclass called ActiveRecordBaseWhichEnforcesBusinessRulesForChristsSake and then building your model off of that rather than off of AR::Base.
Returning? Login