April 26, 2006

Downloading all PDFs

Cote wants to be able to download all PDFs about a topic easily. I absolutely concur. I tend to grab many, many PDFs of research papers and other documentation. Invariably, one will lead to another which leads to another and so. Before I know it, I've downloaded 10 different PDFs to my Reading folder on my desktop.

I would much rather have a tarball of PDFs which I could download once. Hmmm, you know what might be interesting would be a Web service of some kind which you could send PDFs to and then it would automatically package them up for you when you are ready to download them.

You could have a Bookmarklet which would the send the URL of the PDF to the Web service. It would grab that PDF in the background and put it in your storage directory. Once you are done looking around, you could go to the site, ask it to package them up for you and voila, a tarball or zip file would be ready for you to download.

Posted by Josh at 10:53 PM

April 21, 2006

OSCON and Java

I would be lying if I said I didn't have some sort of bias but seeing the Java track for OSCON, I'm definitely not excited. But I had a talk rejected so it could just be sour grapes but there are tons of things going on in the open source world of Java and the six talks just don't show any of it.

Technorati Tags:
,


Posted by Josh at 12:13 AM

April 12, 2006

Windows Live Academic Search

I wanted to try the new Windows Live Academic Search but with Safari, all I get is a blank screen once I search for something. Firefox on the other hand displays the results just fine. Weird.

More info at ResourceShelf, Library Stuff and Dean Giustini.

Technorati Tags:
,


Posted by Josh at 08:18 AM

6 Down, 156 to Go

Ugh, that was very, very ugly. How about this? If the wind is blowing out, keep the ball low. Then you might not give up 9 runs on all homers. That's definitely a way to bring a team back down to Earth after sweeping the hated Cards.

Posted by Josh at 08:07 AM

Scott Berkun's next book

Looks like it is going to be about innovation. That's a topic I've been thinking a lot about lately as well. I'm really anxious to see how this one turns out.

In the comments to his post, there are some other good books mentioned for reference and research.

Technorati Tags:
,


Posted by Josh at 06:05 AM

April 08, 2006

3 Down, 159 to go

w00! Nothing better than opening the season at home with beating the Cardinals.
Posted by Josh at 11:15 AM

Making architects are part of the team

If you've worked in any normal software development shop that has some sort of hierarchy, you know that many times the architects can sometimes just sit in their ivory tower office and dictate decisions without really integrating themselves into a team. This can be very detrimental to a team's morale especially if there are disagreements as to the direction the architect is going. How can you try and bring them down from their ivory towers?

I've tried a couple of things which have worked, not each time, but enough where it's been useful. The first is to force them to do things by giving them action items in a meeting. It sounds a bit underhanded and perhaps it is but in a meeting with plenty of people there, most people will not decline to do things. Take advantage of that and give the architect some practical pieces that need to be done. Even if they are simple, it will help you out both in terms of your work load and with bringing the architect into the team.

The other is somewhat similar but is done one-on-one, find practical questions to ask the architect. If you are having problems configuring an application server or using a library, use the architect's knowledge along with your Google searches. Again, it might seem simple but it will help them see what you are doing and what is left to be done.

Of course, sometimes architects don't want to be involved in the day-to-day projects and if that's the case, there isn't anything you can do but hopefully that isn't the case or you will have more trouble than you know.

Technorati Tags:
,


Posted by Josh at 11:12 AM

April 07, 2006

Interview with Gary Flake

John Battelle interviews Gary Flake, head of Microsoft's new Live Labs. He has also been at Yahoo! and Overture. In fact, here is a two part interview he did with ResourceShelf when he was still with Yahoo!

Plenty of good stuff to read in here though perhaps a bit on the skimpy side in terms of overall vision of the future of search but still lots to chew on.


Technorati Tags:


Posted by Josh at 12:30 AM

April 06, 2006

Rails and the Mainstream

Update: DHH has similar thoughts about moving Rails to the mainstream. Why do it?

Cedric Beust gives his reasoning as to why he doesn't believe Ruby on Rails will become mainstream. His reasons are that Ruby is too hard, Rails is too clever, no IDE, craziness of Rails users, Rails being the only game in town for Ruby Web frameworks, mysteries about scalability and enterprise capability and finally lack of ISP support. I might have oversimplified things a bit so definitely read his post to see his thinking. One thing to note though is that he doesn't bash Ruby and Rails so his reasons can't be dismissed in that way.

I'm not going to go through each of his reasons and try to give opposing views. Rafe does a great job of that so read that as well. Instead, I want to ask two simple questions, What is mainstream and Why does Rails have to become mainstream? I don't ask these flippantly either.

So, what is the mainstream? Is it non-startup companies who have settled into a routine of products or services? Their technology choices are driven by consultants, industry pundits, vendors and on rare occasions, developers. Usually, they implement to standards set by a main vendor like Sun, IBM or Microsoft. Is this a fair characterization? I'm not sure since it really doesn't say anything about the actual developers other than making them look to be robots who only take orders about how they are to do their work.

I would define mainstream as non-startup companies whose main products or services are not focused on the usual Web home users but instead are geared towards internal people or to business customers. The developers generally don't have too much freedom in the tools they use and the rate of change within the organization is very low. People come in to work, write their code and head home. Many times the code has to interact and integrate with legacy systems using older technology.

What do you think? Is this somewhat accurate? I don't consider EarthLink to be mainstream since even though we aren't a startup, having 5.5 million users gives us opportunities and challenges most other companies don't have.

Here's my answer to the second question, no, Ruby and Rails do not have to become mainstream to become successful. I don't quite understand the gnashing of teeth that goes on trying to figure out how Rails will get into the enterprise. Ten years ago, few people thought Java would get there either and obviously it did. You never know how things are going to change and trying to pinpoint a strategy now is way premature. Rails is only a year old and the recent 1.1 release showed some great improvements and bug fixes. Also, the fact that there isn't a vendor for Rails means that mainstream developers will have to get it into their company via the back door.

My advice for Rails developers is to not focus on the mainstream, keep things on the edge of it. Give developers what they need and nothing more. Let other languages and frameworks take parts of Rails and incorporate it. This only strengthens the argument that the way Rails is used and being developed has great benefit for everyone. Don't worry about trying to figure out your own version of JMS or JMX or how you can talk w/ a legacy VAX system. If Rails is meant for those kinds of problems, the solutions will find you.

I'll let Rafe end this post with something I agree with totally...

The jury is still out on Ruby on Rails, obviously, but I'd bet on it being a big success when all is said and done. In the meantime, it's been a great for my projects, and you can't ask for more than that.

Technorati Tags:
, ,


Posted by Josh at 05:20 PM

Debugging RJS templates

So I've been working a bit today on a little side project, one which I think is pretty cool and hopefully you'll think so too. I'll be talking about it in more detail in a later post but for now I'm keeping things close to the vest since I have a tendency to talk about projects so much that I lose interest. I'm a freak that way.

At any rate, I wanted to try out the new RJS templates in Rails 1.1. I've read a bit about them and they definitely look to make things easier when dealing with AJAX and JavaScript. The first piece I did worked flawlessly but the second piece just wouldn't work. All it was supposed to do was update an unordered list with a new list element, no more, no less.

Once it didn't work, I started stripping out parts of the partial template so that all that was left was just a simple list element. Unfortunately, even that didn't work. So I went even simpler, I just created a hello world list element inside of the RJS template. Did that work? No, of course not, which is actually somewhat of a good thing since I would have really been confused.

I took a break for lunch, hoping that something would turn up in my head and sure enough, it did. I came back and checked the id I had for the unordered list. It wasn't there! I had given it a class so I could just some CSS magic but hadn't given it an id so while the partial template was being rendered correctly (I saw this in the developer log), it didn't have any information on where to put that rendered data. A quick addition of the id and everything worked just fine.

I don't really have much advice when dealing with RJS templates other than to watch your logs like a hawk, making sure things are being rendered correctly and also to check your id names, making sure they match with what's in your other templates.

Technorati Tags:
, ,


Posted by Josh at 02:00 PM

2 Down, 160 to go, Cubs Record 1-1

I'm not sure how long I'll keep this up but for now, I will. Ugh, that was ugly. You know it isn't going to be pretty when you give up a home run to a pitcher who just came over from the American League. Bah, what a wasted effort.

Opening Day at Wrigley is tomorrow against the Cardinals. It really doesn't get better than that.

Posted by Josh at 08:33 AM

Basing Decisions on Ego-Searches

Danny Sullivan breaks down the good and the bad when it comes to doing ego searches on the GYMA (Google, Yahoo, MSN, Ask.com) engines. Great analysis for both how you should look at ego searches as well as where a search engine can focus some development since ego searching is one of the first things a new user will try.


Technorati Tags:


Posted by Josh at 06:24 AM

Life Nemesis

Erik Benson is trying to find people to hire him as their life nemesis. I can totally see the value of having a nemesis, someone who pushes you to do better. It's the opposite of a life coach who helps you along the path since a nemesis won't be nice about what they are doing and what you aren't.

Now, I wonder if I can put together enough cash to hire him.


Technorati Tags:


Posted by Josh at 06:17 AM

Math and Ruby

I didn't know about Project Euler at MathsChallenge.Net. The project consists of math problems which should be able to be solved within a minute. Now, I don't mean a minute of development and figuring out but instead the solution run should only take a minute.

Working on some of these would seem to be in the same vein as Dave Thomas' Code Kata. Code you aren't going to ship to production but instead will help you as you continue to practice. [ via ]


Technorati Tags:
,


Posted by Josh at 06:10 AM

Headless Rails Apps

Mike Clark shows how you can run your app from inside the Rails console. This can be very helpful during the development and debugging process.


Technorati Tags:


Posted by Josh at 06:01 AM

April 04, 2006

A Word on Scalability

Werner Vogels, CTO at Amazon, posts about scability which is obviously high on the list of important things there.

What is it that we really mean by scalability? A service is said to be scalable if when we increase the resources in a system, it results in increased performance in a manner proportional to resources added. Increasing performance in general means serving more units of work, but it can also be to handle larger units of work, such as when datasets grow.
Why is scalability so hard? Because scalability cannot be an after-thought. It requires applications and platforms to be designed with scaling in mind, such that adding resources actually results in improving the performance or that if redundancy is introduced the system performance is not adversely affected. Many algorithms that perform reasonably well under low load and small datasets can explode in cost if either requests rates increase, the dataset grows or the number of nodes in the distributed system increases.


Technorati Tags:
,


Posted by Josh at 08:41 AM

1 Down, 161 to Go

Well, that was fun. Some timely hitting and some bad defense by the Reds helped things quite a bit. It was disappointing that Big Z didn't have his best stuff but almost everyone did get to play so that's a big plus.

Also, if you haven't seen Ballbug, check it out.

Posted by Josh at 08:37 AM

April 03, 2006

Opening Day!

Finally, it is time. Cubs open up with the Reds in what is becoming a traditional Opening Day. And no, I don't count last night since the White Sox played.

Here are my top questions the Cubs needs to answer:

Will the pitching staff get healthy? As a followup, will they stay healthy?

Can Derrek Lee come close to the numbers he put up last year?

Will the Cubs be aggressive in the trading game?

Will Dusty Baker finish the season as manager?

Posted by Josh at 09:06 AM

April 02, 2006

Voices in my Head

I've been thinking the past few days about goals, ideas and productivity. Maybe it's because I had my birthday last week and now I'm a week into my 35th year or maybe it's because tomorrow is the first business day of the second quarter and though my first quarter wasn't bad in terms of things accomplished, it wasn't stellar. And that's the real problems isn't it, the hollow feeling that gets into your head when you don't do everything you want. It makes you look back and see all those hours wasted doing this and that or watching some new show or sporting event on TV. And that's when the reinforcements arrive, whispering about more time wasted or things not being finished.

You look at your book cases and see the stacks in the to read pile. You know there are more books in your office at work which should also demand your time. And yet, you can't consistently make time to read, knowing full well that finishing even half of these books would dramatically help your career and your future. But again, you don't pick up the books and again the voices start whispering.

Sometimes it would be easier to just let the voices win, let them bring you down enough where you really don't bother with extra reading or personal projects. You do your time at the office (and even that isn't your best) and then you do anything else after hours. I've tried it and I just can't keep that going. I have to be doing something or at least trying to do something more.

I'm not really sure where I'm going with this other than getting it off my chest. I don't really have any great advice for that hasn't already been said. It basically boils down to a couple of things in my mind, don't settle and get things done. Obviously these are just cliches and probably only work for me. Don't settle for the level you are, always push yourself to learn more. And when you have ideas, get them done or at least begin to get them done. You might find that though the idea was intriguing for you, the execution of it isn't something you are interested in. That's ok, really it is. You can just move away from a project, you don't have to finish it. We only have a finite time to do things so find the things which push you and bring you the most satisfaction. That's the only way I've found to keep the voices from winning.

Posted by Josh at 08:52 AM