|
ON THIS PAGE
|
|
|
|
|
ARCHIVES
|
| May, 2008 (4) |
| April, 2008 (13) |
| March, 2008 (11) |
| February, 2008 (18) |
| January, 2008 (17) |
| December, 2007 (12) |
| November, 2007 (2) |
| October, 2007 (6) |
| September, 2007 (1) |
| August, 2007 (2) |
| July, 2007 (7) |
| June, 2007 (1) |
| May, 2007 (1) |
| April, 2007 (2) |
| March, 2007 (2) |
| February, 2007 (1) |
| January, 2007 (16) |
| December, 2006 (3) |
| November, 2006 (7) |
| October, 2006 (5) |
| September, 2006 (1) |
| June, 2006 (4) |
| May, 2006 (3) |
| April, 2006 (3) |
| March, 2006 (17) |
| February, 2006 (5) |
| January, 2006 (13) |
| December, 2005 (2) |
| November, 2005 (6) |
| October, 2005 (15) |
| September, 2005 (16) |
| August, 2005 (17) |
|
|
|
CATEGORIES
|
|
|
|
|
BLOGROLL
|
|
|
|
|
LINKS
|
|
|
|
|
SEARCH
|
|
|
|
|
MY BOOKS
|
|
|
|
|
DISCLAIMER
|
Powered by:
newtelligence dasBlog 1.9.7067.0
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in any way.
© Copyright
2008
,
Ted Neward
E-mail
|
|
|
|
|
 Friday, May 16, 2008
|
Blogs I'm currently reading
|
|
Recently, a former student asked me, I was in a .NET web services training class that you gave probably 4 or so years ago on-site at a [company name] office in [city], north of Atlanta. At that time I asked you for a list of the technical blogs that you read, and I am curious which blogs you are reading now. I am now with a small company where I have to be a jack of all trades, in the last year I have worked in C++ and Perl backend type projects and web frontend projects with Java, C#, and RoR, so I find your perspective interesting since you also work with various technologies and aren't a zealot for a specific one. Any way, please either respond by email or in your blog, because I think that others may be interested in the list also. As one might expect, my blog list is a bit eclectic, but I suppose that's part of the charm of somebody looking to study Java, .NET, C++, Smalltalk, Ruby, Parrot, LLVM, and other languages and environments. So, without further ado, I've pasted in the contents of my OPML file for cut&paste and easy import. Having said that, though, I would strongly suggest not just blindly importing the whole set of feeds into your nearest RSS reader, but take a moment and go visit each one before you add it. It takes longer, granted, but the time spent is a worthy investment--you don't want to have to declare "blog bankruptcy". Editor's note: We pause here as readers look at each other and go... "WTF?!?" "Blog bankruptcy" is a condition similar to "email bankruptcy", when otherwise perfectly high-functioning people give up on trying to catch up to the flood of messages in their email client's Inbox and delete the whole mess (usually with some kind of public apology explaining why and asking those who've emailed them in the past to resend something if it was really important), effectively trying to "start over" with their email in much the same way that Chapter Seven or Chapter Eleven allows companies to "start over" with their creditors, or declaring bankruptcy allows private citizens to do the same with theirs. "Blog bankruptcy" is a similar kind of condition: your RSS reader becomes so full of stuff that you can't keep up, and you can't even remember which blogs were the interesting ones, so you nuke the whole thing and get away from the blog-reading thing for a while. This happened to me, in fact: a few years ago, when I became the editor-in-chief of TheServerSide.NET, I asked a few folks for their OPML lists, so that I could quickly and easily build a list of blogs that would "tune me in" to the software industry around me, and many of them quite agreeably complied. I took my RSS reader (Newsgator, at the time) and dutifully imported all of them, and ended up with a collection of blogs that was easily into the hundreds of feeds long. And, over time, I found myself reading fewer and fewer blogs, mostly because the whole set was so... intimidating. I mean, I would pick at the list of blogs and their entries in the same way that I picked at vegetables on my plate as a child--half-heartedly, with no real enthusiasm, as if this was something my parents were forcing me to do. That just ruined the experience of blog-reading for me, and eventually (after I left TSS.NET for other pastures), I nuked the whole thing--even going so far as to uninstall my copy of Newsgator--and gave up. Naturally, I missed it, and slowly over time began to rebuild the list, this time, taking each feed one at a time, carefully weighing what value the feed was to me and selecting only those that I thought had a high signal-to-noise ratio. (This is partly why I don't include much "personal" info in this blog--I found myself routinely stripping away those blogs that had more personal content and less technical content, and I figured if I didn't want to read it, others probably felt the same way.) Over the last year or two, I've rebuilt the list to the point where I probably need to prune a bit and close a few of them back down, but for now, I'm happy with the list I've got. And speaking of which.... 1: <?xml version="1.0"?> 2: <opml version="1.0"> 3: <head> 4: <title>OPML exported from Outlook</title> 5: <dateCreated>Thu, 15 May 2008 20:55:19 -0700</dateCreated> 6: <dateModified>Thu, 15 May 2008 20:55:19 -0700</dateModified> 7: </head> 8: <body> 9: <outline text="If broken it is, fix it you should" type="rss" 10: xmlUrl="http://blogs.msdn.com/tess/rss.xml"/> 11: <outline text="Artima Developer Buzz" type="rss" 12: xmlUrl="http://www.artima.com/news/feeds/news.rss"/> 13: <outline text="Artima Weblogs" type="rss" 14: xmlUrl="http://www.artima.com/weblogs/feeds/weblogs.rss"/> 15: <outline text="Artima Chapters Library" type="rss" 16: xmlUrl="http://www.artima.com/chapters/feeds/chapters.rss"/> 17: <outline text="Neal Gafter's blog" type="rss" 18: xmlUrl="http://gafter.blogspot.com/feeds/posts/default"/> 19: <outline text="Room 101" type="rss" 20: xmlUrl="http://gbracha.blogspot.com/feeds/posts/default"/> 21: <outline text="Kelly O'Hair's Blog" type="rss" 22: xmlUrl="http://weblogs.java.net/blog/kellyohair/index.rdf"/> 23: <outline text="John Rose @ Sun" type="rss" 24: xmlUrl="http://blogs.sun.com/jrose/feed/entries/atom"/> 25: <outline text="The Daily WTF" type="rss" 26: xmlUrl="http://syndication.thedailywtf.com/TheDailyWtf"/> 27: <outline text="Brad Wilson" type="rss" 28: xmlUrl="http://feeds.feedburner.com/BradWilson"/> 29: <outline text="Mike Stall's .NET Debugging Blog" type="rss" 30: xmlUrl="http://blogs.msdn.com/jmstall/rss.xml"/> 31: <outline text="Stevey's Blog Rants" type="rss" 32: xmlUrl="http://steve-yegge.blogspot.com/atom.xml"/> 33: <outline text="Brendan's Roadmap Updates" type="rss" 34: xmlUrl="http://weblogs.mozillazine.org/roadmap/index.rdf"/> 35: <outline text="pl patterns" type="rss" 36: xmlUrl="http://plpatterns.blogspot.com/feeds/posts/default"/> 37: <outline text="Joel Pobar's weblog" type="rss" 38: xmlUrl="http://feeds.feedburner.com/callvirt"/> 39: <outline text="Let&#39;s Kill Dave!" type="rss" 40: xmlUrl="http://letskilldave.com/rss.aspx"/> 41: <outline text="Why does everything suck?" type="rss" 42: xmlUrl="http://whydoeseverythingsuck.com/feeds/posts/default"/> 43: <outline text="cdiggins.com" type="rss" xmlUrl="http://cdiggins.com/feed"/> 44: <outline text="LukeH's WebLog" type="rss" 45: xmlUrl="http://blogs.msdn.com/lukeh/rss.xml"/> 46: <outline text="Jomo Fisher -- Sharp Things" type="rss" 47: xmlUrl="http://blogs.msdn.com/jomo_fisher/rss.xml"/> 48: <outline text="Chance Coble" type="rss" 49: xmlUrl="http://leibnizdream.wordpress.com/feed/"/> 50: <outline text="Don Syme's WebLog on F# and Other Research Projects" type="rss" 51: xmlUrl="http://blogs.msdn.com/dsyme/rss.xml"/> 52: <outline text="David Broman's CLR Profiling API Blog" type="rss" 53: xmlUrl="http://blogs.msdn.com/davbr/rss.xml"/> 54: <outline text="JScript Blog" type="rss" 55: xmlUrl="http://blogs.msdn.com/jscript/rss.xml"/> 56: <outline text="Yet Another Language Geek" type="rss" 57: xmlUrl="http://blogs.msdn.com/wesdyer/rss.xml"/> 58: <outline text=".NET Languages Weblog" type="rss" 59: xmlUrl="http://www.dotnetlanguages.net/DNL/Rss.aspx"/> 60: <outline text="DevHawk" type="rss" 61: xmlUrl="http://feeds.feedburner.com/Devhawk"/> 62: <outline text="The Cobra Programming Language" type="rss" 63: xmlUrl="http://cobralang.blogspot.com/feeds/posts/default"/> 64: <outline text="Code Miscellany" type="rss" 65: xmlUrl="http://codemiscellany.blogspot.com/feeds/posts/default"/> 66: <outline text="Fred, Let it go!" type="rss" 67: xmlUrl="http://freddy33.blogspot.com/feeds/posts/default"/> 68: <outline text="Codedependent" type="rss" 69: xmlUrl="http://graphics-geek.blogspot.com/feeds/posts/default"/> 70: <outline text="Presentation Zen" type="rss" 71: xmlUrl="http://www.presentationzen.com/presentationzen/index.rdf"/> 72: <outline text="The Extreme Presentation(tm) Method" type="rss" 73: xmlUrl="http://extremepresentation.typepad.com/blog/index.rdf"/> 74: <outline text="ZapThink" type="rss" 75: xmlUrl="http://feeds.feedburner.com/zapthink"/> 76: <outline text="Chris Smith's completely unique view" type="rss" 77: xmlUrl="http://feeds.feedburner.com/ChrisSmithsCompletelyUniqueView"/> 78: <outline text="Code Commit" type="rss" 79: xmlUrl="http://feeds.codecommit.com/codecommit"/> 80: <outline 81: text="Comments on Ola Bini: Programming Language Synchronicity: A New Hope: Polyglotism" 82: type="rss" 83: xmlUrl="http://ola-bini.blogspot.com/feeds/5778383724683099288/comments/default"/> 84: </body> 85: </opml>
Happy reading.....
|
 Friday, March 28, 2008
|
Hangin' in Vegas
|
|
I hate Las Vegas. I'm here for TheServerSide Java Symposium 2008, which has been held here in Vegas for the past (umm... three? four? five?) years, and every time I come here I'm reminded why I really don't like Vegas. It's loud, both in auditory volume and visual noise, it's boisterous bordering on raunchy, the locals are almost always soured by their near-constant exposure to tourists, the tourists are... well, they're American tourists and that says a lot right there, and there's no way to escape it. Ugh. Fortunately for me, the hotels have conveniently painted a nice blue sky on the roof (in the Venetian, where the conference is held) so I don't have to go outside to see if it's sunny, they provided a nice winding river of bright neon blue water/Windex to have our leisurely cafe lunch next to, and no fake recreation of Venice would be complete without fake gondolas poled by fake gondoleers singing to tourists on the fake Windex river that's all of about two minutes in ride length before they have to do a U-turn and pole back the other way. Wow, it's all so magical. About the only thing that makes Vegas palatable is some of the shows you can catch here, like one of Cirque du Soleil's six (!) different presentations going on here. But, of course, you must be careful when you buy tickets, or the guy at the concierge desk will start finding tickets for you, only to discover later that he thought you said "Tah", meaning "Tom Jones", when you said, "Ka", the Cirque du Soleil show, because my California accent is too thick to be understood. I hate Las Vegas. The upshot is that when I'm here for this show, I get to hang out with some cool people, NFJS speaker alum and otherwise. Brian Sletten and I did a tag-team talk on SOAP and REST that was billed to be controversial but probably disappointed the crowd in that we didn't (a) throw any punches at one another, (b) didn't really proclaim a "victor" between the two, and (c) laid down some basic rules for when to look to a RESTful approach and when to take advantage of the existing SOAP-based infrastructure that is currently SOAP's greatest strength. Note to those who didn't attend the session: you didn't hear me say it, so I'll repeat it: I hate WSDL almost as much as I hate Las Vegas. Ask me why sometime, or if I get enough of a critical mass of questions, I'll blog it. If you've seen me do talks on Web Services, though, you've probably heard the rant: WSDL creates tightly-coupled endpoints precisely where loose coupling is necessary, WSDL encourages schema definitions that are inflexible and unevolvable, and WSDL intrinsically assumes a synchronous client-server invocation model that doesn't really meet the scalability or feature needs of the modern enterprise. And that's just for starters. I hate WSDL. I still hate Vegas more, though. Meanwhile, Glenn Vanderberg, NFJS speaker alum and current Chief Scientist over at Relevance, pulled me aside for a few minutes to show me how to build apps for the iPhone using the newly-released iPhone SDK (something I'd asked about once before and that's been exploring recently). We basked in the glory that is Objective-C (now there's a language that should have gotten more traction than it did, IMHO), and then in the glory that is the iPhone (OpenGL, OpenSA, which I didn't know but Glenn tells me is basically like an audio-equivalent library for OpenGL), and then we swapped some ideas about what people might do with the iPhone now that the SDK is available. I've always been pretty bullish on the mobile device market, and I still am, but the iPhone might be the turning point in that space. I'll reserve judgment for now, and just enjoy hacking on my own for the time being.  Neal Ford did the Wednesday morning keynote, and I got the chance to present "Why the Next Five Years Will Be About Languages" after lunch today, which seemed to go over well, at least based on what the attendees who came up to me afterwards were saying. (Of course, that's always a biased assessment, since the ones who hate it are hardly likely to come up and tell me that, so I always take that statistic with a grain of salt.) They videoed it, so I imagine it'll be online before long. Of course, TSS wouldn't be TSS without speaker panels saying really controversial things... but I wouldn't know about them this year, I wasn't on any. (Perhaps the conference organizers finally took everybody's advice...) Tomorrow (well, actually, today as I write this, since I'm up way too late as usual) I'll be doing a talk on Scala, having dinner with a few friends, then off to McCarron airport and home. I don't think the Scala talk will be taped, but you can catch me doing much the same stuff (well, as much as it ever is the same stuff when I speak, since I mostly make everything up on the fly anyway) at the NFJS symposium near you, so you don't have to come to Vegas to hear about it in between ducking packs of drunk twenty-something guys chasing packs of drunk twenty-something girls all the while dodging the attentions of finger-snapping sidewalk vultures handing out glossy business cards saying "Girls Direct to You". I so hate Vegas. Update: Hah, that'll teach me to blog that before the conference is over--Eugene and Joe drafted me into the final panel session of the conference, on "Cross-Cutting Concerns, a Multi-Disciplinary Approach to Java", which none of us--including our emcees--had any idea was supposed to be included in such a discussion. Glenn Vanderberg and Patrick Linskey then sought to take a vote and change the topic of the panel to "Shearing off Ted's Ponytail". Fortunately a kind attendee asked a question and we moved on, ponytail intact. Of course, given that this was Vegas, I probably could have gotten Carrot Top to do it and made some money on the deal.
|
 Saturday, March 22, 2008
|
Reminder
|
|
A couple of people have asked me over the last few weeks, so it's probably worth saying out loud: No, I don't work for a large company, so yes, I'm available for consulting and research projects. If you've got one of those burning questions like, "How would our company/project/department/whatever make use of JRuby-and-Rails, and what would the impact to the rest of the system be", or "Could using F# help us write applications faster", or "How would we best integrate Groovy into our application", or "How does the new Adobe Flex/AIR move help us build richer client apps", or "How do we improve the performance of our Java/.NET app", or other questions along those lines, drop me a line and let's talk. Not only will I cook up a prototype describing the answer, but I'll meet with your management and explain the consequences of the research, both pro and con, for them to evaluate. Shameless call for consulting complete, now back to the regularly-scheduled programming.
|
 Saturday, March 15, 2008
|
The reason for conferences
|
|
People have sometimes asked me if it's really worth it to go to a conference these days, given that so much material is appearing online via blogs, webcasts, online publications and Google. I think the answer is an unqualified "yes" (what else would you expect from a guy who spends a significant part of his life speaking at conferences?), but not necessarily for the reasons you might think. A long time ago, Billy Hollis said something very profound to me: "Newbies go to conferences for the technical sessions. Seasoned veterans go to conferences for the people." At the time, I thought this was Billy's way of saying that the sessions really weren't "all that" at most conferences (JavaOne and TechEd come to mind, for example--whatever scheduling gods that think project managers on a particular project make good technical speakers on that subject really needs to be taken out back and shot), and that you're far better off spending the time networking to improve your social network. Now I think it's for a different reason. By way of explanation, allow me to recount a brief travel anecdote. I spend a lot of time on airplanes, as you might expect. Periodically, while staring out the window (trying to rearrange words in my head in order to make them sound coherent for the current email, blog entry, book chapter or article), I will see another commercial aircraft traveling in the same air traffic control lane going the other way. Every time I see it, I'm simply floored at how fast they appear to be going--they usually don't stay within my visibility for more than a few seconds. "Whoosh" is the first thought that goes through my easily-amused consciousness, and then, "Damn, they're really moving." Then I realize, "Wow--somebody on that plane over there is probably looking at this plane I'm on, and thinking the exact same thing." This is why you go to conferences. In the agile communities, they talk about velocity, the amount of work a team can get done in a particular iteration. But I think teams need to have a sense of their velocity relative to the rest of the industry, too. It helps put things into perspective. All too often, I find teams that look at me in meetings and conference calls and say, "Surely the rest of the industry isn't this bad, right?" or "Surely, somebody else has found a solution to this problem by now, right?" or "Please, dear God, tell me this kind of WTF-style of project management is unique to my company". While I am certainly happy to answer those questions, the fact of the matter is, at the end of the day they're still left taking my word for it, and let's be blunt: my answer can really only cover those companies and/or project teams I've had direct contact with. I can certainly tell you what I've heard from others (usually at conferences), but even that's now getting into secondhand information, which to you will be third-hand. (And that, of course, assumes I'm getting it from the source in the first place.) This isn't just about project management styles--agile or waterfall or WHISCEY (Why the Hell Isn't Somebody Coding Everything Yet) or what-have-you--but also about technical trends. Is Ruby taking off? Is Scala becoming more mainstream? Is JRuby worth exploring? Is C++ making a comeback? What are peoples' experiences with Spring 2.5? Has Grails reached a solid level of performance and/or stability? Sure, I'm happy to come to your company, meet with your team, talk about what I've seen and heard and done--but sending your developers (and managers, though *ahem* preferably to conferences that aren't in Las Vegas) to a conference like No Fluff Just Stuff or JavaOne or TechEd or SD West can give them some opportunities to swap stories and gain some important insights about your team's (and company's) velocity relative to the rest of the industry. All of which is to say, yes, Billy was right: it's about the people. Which means, boss, it's OK to let the developers go to the parties and maybe sleep in and miss a session or two the next morning.
|
 Wednesday, January 30, 2008
|
Highlights of the Lang.NET Symposium, Day Three (from memory)
|
|
My Mac froze when I tried to hook it up to the projector in the afternoon to do a 15-minute chat on Scala, thus losing the running blog entry in its entirety. Crap. This is my attempt to piece this overview together from memory--accordingly, details may suffer. Check the videos for verification when they come out. Of course, details were never my long suit anyway, so you probably want to do that for all of these posts, come to think of it... I got to the conference about a half-hour late, owing to some personal errands in the morning; as I got there, Wayne Kelly was talking about his work on the Ruby.NET compiler. Wayne Kelly: Parsing Ruby is made much harder by the fact that there is no Ruby specification to work from, which means the parser can't easily be generated from a parser generator. He tried, but couldn't get it to work cleanly and finally gave up in favor of getting to the "fun stuff" of code generation. Fortunately, the work he spent on the parser was generalized into the Gardens Point Parser Generator tools, which are also used in other environments and are included (?) as part of the Visual Studio SDK download. Good stuff. Ruby.NET uses a "wrapper" class around the .NET type that contains a hash of all the symbols for that type, which permits them to avoid even constructing (or even knowing!) the actual .NET type behind the scenes, except in certain scenarios where they have to know ahead of time. Interesting trick--probably could be used to great effect in a JSR-223 engine. (I know Rhino makes use of something similar, though I don't think they defer construction of the Java object behind the Rhino object.) In general, I'm hearing this meme that "Ruby's lack of a specification is making X so much harder". I hate to draw the parallel, but it's highly reminiscent of the state of Perl until Perl 6, when Larry decided it was finally time to write a language specification (and the language has languished ever since), but maybe it's time for Matz or another Ruby digerati to sit down and write a formal specification for the Ruby language. Or even just its grammar. Luke Hoban: Luke is the PM on the F# team, which is a language that I've recently been spending some quality time with, so I'm looking forward to this talk and how he presents the language. (Note to self: steal slides... I mean leverage slides... for my own future presentations on F#.) Not surprisingly, he makes pretty heavy use of the F# Interactive window in Visual Studio, using a trick I hadn't known before this: swipe some text in the editor, then press Alt-Enter, and it sends it to the Interactive window for execution. Nifty. Then he starts showing off F#'s fidelity to the underlying CLR, and just for effect creates a DirectX | |