25 karma · joined January 12, 2010
Learn how the language works, follow good patterns, and expect some bumps in the road.
Most of the time, though, you can use a different higher level language, and be a happier and less stressed programmer
Right now, we have tests, but I'd still say we rely pretty heavily on hoptoad to let us know if we really broke something badly. ;)
Cloudfront is really enticing, though. For a cheap CDN, if we really had the need, we'd probably migrate to cloudfront, then come up with a task to batch resize our S3 images, then stick them back into S3. This could probably be done on a one-off task on ec2 by spinning up a few instances, or even with Hadoop.
If anyone's taken this approach, I'd love to see it!
It would be really cool to have an EC2 instance handle these resizes and put the images in new buckets for you - Might be a really neat implementation.
2. Good tip - we try to use our judgement here balancing good design/good performance. We tend to opt for a pretty website first, then go back and make it faster with optimization.
In case of an epic S3 disaster, we could backup our S3 buckets to another offsite storage, but we're not going to improve much further than what their giving us.
Have people written different datastores (like S3?). I love the idea of a modular, pluggable image server that can choose different backends based on business need/scaling.
Luckily, we deal with pretty small pictures since they are just pictures of our users & their classes. We don't really have any need for handling larger sizes, and our biggest use cases surround generating thumbnails (similar to many social networking web apps).
But for task management, it still isn't better than a shared Google Spreadsheet, which is weird to me.
But, Basecamp is a project management tool. It allows you to track tasks (and due-dates), and milestones. I don't care about task dependancies, or gannt charts.
I do care about agile development. I do need to see the status of my project in an aggregate way (are we close yet?) Even understanding that estimates are wild guesses, task-level timeboxing is better than working backwards from dates. I can't image the due-date feature working well except for in some very narrow circumstances.
I guess overall if my definition is "project management" is different, then wouldn't they want their product to work to handle users like me? Or not, and that's okay. I'm just saying that I'm cut out of the niche of users they are looking for, whether it be intentional or not.
I'm not even saying they should change them, but for me, there are a few feature changes that would make it way easier for me to use (and therefore a rapid fan and repeat customer).
I thought Basecamp is also designed to solve the distributed project management problem in a simple, easy way. I like the appoach, but the Deadline/Time tracking doesn't work for me in it's current implementation.