Winter's almost over. Hold it together people. We're almost there.
j/k
753 karma · joined September 18, 2009
Winter's almost over. Hold it together people. We're almost there.
j/k
most sites use assets with additional query parameters added to keep them fresh (i.e. file?1234566778.js). Apple looks like they are adding some parameters into the filenames themselves.
It probably also involves cache-control settings as mentioned, but I think file renaming is the more reliable method of cache busting.
in your example returning "Content-Type: text/plain; charset=UTF-8" which is nice because FF knows to render it in the browser (good for debugging atleast).
But votes on SO seem to indicate it should be "application/json"
http://stackoverflow.com/questions/477816/the-right-json-con...
* Currently a bootstrapped venture, self funded * Revenue generating with extremely low burn. * Killer product, great marketing, solid position (#1 for several competitive keywords on Google)
Us: * Full-stack web-applications engineerings * Ruby on Rails and Django users * Amazon Web Services, Ubuntu * Actually Agile development (Continuous Integration, Automated Tests, GIT, multiple daily deployments)
Your ideal expertise is any of the above + some combination of the following: * Flash/Flex client development (++good on this) * Android or IPhone development (++ awesome if you've done video development on mobile) * Solid Design capabilities (+ for Photoshop, Illustrator) * Solid front-end Javascript/CSS (Haml/Sass even better) * We are a completely virtual org, but + for Cambridge/Boston area
We love T-shaped people. Broad knowledge in a lot of technologies, and deep expertise in a core few. And generally unafraid of learning new things. If you like to own the whole stack, you'll fit right in.
Books that make our brains tingle: Founders at Work Start Small, Stay Small Get Real Rework Smart & Gets Things Done Startup Lessons Learned
email me at sghael /@/ stanfordalumni.org
With established companies, with established revenue and legacy product/process, management thinking is probably something along the lines of "if it ain't broke, don't fix it". They don't --pardon my french-- give a shit about morale if the profit is rolling in. If they didn't start with CD, they aren't going to do it now.
So to champion any change, you're going to have to make a case around greater revenue/margins, better (less) customer support, more defensibility in the marketplace, or something else that gets the suits all geeked.
Complementary part of this theory: Startups need every advantage they can get since they have the weaker market position when they begin. So they're more willing / required to be innovative about every last bit of their process, including deployments.
Other advice -- start slow. Prove the process on a smaller part of the product.
Can anyone tell me why I shouldn't use REE? (Currently using MRI 1.8.7)
The thing that's amazing to me is that anyone would choose to NOT work like this. If you are web-based startup and cannot do multiple deployments a day, or you don't empower ever last person on your technical team to do a production deploy, you are at a serious competitive dis-advantage.
Like Delicious. Simple color palette, lots of white space, and no extraneous stuff like gradients, rounded corners, drop shadows, etc.
1) the lack of an official GIT backed repo. 2) the current state of tickets (who's working on what, and how) is very messy. Its managed through Jira, and its just hard to see where things stand.
I've been burned too many times when jumping back and forth between production and dev browser tabs. This simple hack saves me time, and possibly some headaches.
Your explanation makes some sense, but (IMO) engineering teams should just strive to have developers own the testing process, especially if you except it to be "agile" automated testing of the unit/functional/continuous integration variety. Is testing not something that developers should (collectively) own?
More finely granulated titles/roles = less agile.
I always thought Integrity showed promise, but then you have this: http://builder.integrityapp.com/integrity It's Integrity watching itself, and the last build from Jun 26th has failed. That doesn't inspire confidence.
So for now, I'm sticking with Hudson. It is a bit heavier, but it's available as a package on Ubuntu, so installing and maintaining is cake. I also like that fact that its flexible to do builds for any platform/codebase, which lets me consolidate all CI into one CI app.
1) if you have enough "volume" of unique and registrations, analyze you acquisition cost. How is it relative to your margins? Try to account for externalities (your time) and see if it's sustainable. It's ok to be upsidedown on your acquisition cost early in the game if you think you can optimize the acquisition engine.
2) Be willing to talk to partners, but be weary of hollow partnerships. Its easy to fall into the trap of thinking you are making progress because you are "in talks". IMO, this is especially true of hollywood/music industry.
3) Talk to you customers. Both paying and registrants. Learn what their pain points are and their use case for your product. You will learn a crazy amount of stuff you never thought of.
This applies to a lot more than writing a book and is great advice to anyone who is writing documentation for their code/project. I find this technique particularly helpful when writing a "How to get our development env up and running in 3 hours or less" document.
Most of the time I just write it down in a Google doc and share with my team. But lately I've been documenting all steps with Fabric, which has the dual benefit of being very readable ("self-documenting") code as well as a one-command setup script 'fab -h <target>'. And the way I create my Fabric scripts is basically what Zed describes above.
2) How do we know we couldn't get the same perceptual gains from more JPEG compression?
http://code.google.com/speed/webp/gallery.html
WebP might be great, but how can it be a meaningful comparison --
1) take already compressed jpegs from wikipedia and re-compress them using WebP, and then tout the 39% file compression achieved? I can re-compress Jpeg with more Jpeg and also get 39% "more" compression.
2) as with all lossy compression, unless there is some measure of the loss, perceptual or otherwise, what are we really comparing?
Create a custom interview questionnaire on our webapp, and include the link for your candidates to take that interview (w/ webcam through browser) as part of your posting on these various job boards. We aim to solve the problem of having to sort to 'thousands of the resumes of the worst type'. Save time, get a better understanding of your candidates (on video), and collaborate on judging candidates with you extended hiring team.
Sorry for the gratitude plug, but I hope it's a relevant and useful answer. Hit us up on twitter and we'll give you the HN discount :) @activeinterview
For most other functional testing I'd stick to webrat that I can bake into my build script.
But flash testing...I really want to crack that nut.
For example, even if you are coming from Rails, the Django Admin is a more refined interface than basic Rails scaffolding, and most any "perfectionist with deadlines" can appreciate that.
I've thought A LOT about this problem... so much so that my web-startup is attempting to solve one aspect of this problem (see my HN profile for the link).
But specifically when it comes to asking for the Github url (or the like): that assumes that the code they have worked on is open source. There are plenty of good hires out there that may not have participated in open source but still have plenty of code they've created. I think asking for a public repo is too heavily weighted towards open-source wonks.
I'm content asking the candidate to point me to something they've created. I work on webapps so presumably for the candidate that would be a public facing website. And then i study it. And then I grill them hard on the details of their implementation.
Possibly nothing is worse for a new tech venture than a bad hire. I've lived through a few at various startups. It's horrible. It's the worst kind of death because its often slow and painful and you're bleeding capital.
Also realize that a bad/incompetent programmer is a NET NEGATIVE.... not just net 0!
(obviously being 'ridiculous' is subjective, and highly dependent on the roles and responsibilities of the job).
Google on the other hand actually could afford to be less ridiculous.. they just choose not to.
You (should) know your market better than anyone else, but be careful on competing with price. Competing with price is sometimes a crutch for actual marketing and a wishful shortcut in demonstration of value. Because, as mostly hackers, generally speaking we aren't great at marketing. And so, subconciously IMO what happens is we think "i'll let someone else market the idea with their higher price product, and then i'll swoop in with the cheaper offering".
Unfortunately, it doesn't work out that storybook. Markets aren't that transparent, and there is always an asymmetry in information. You're going to have to demonstrate real value and claw your way into relevance. So initially you will have to do a lot of "hand-to-hand combat" style marketing. And find key differentiators you can lead with that isn't price.
How about pricing it at $49 and then running a promo for initial new users? First 100 customers get it at $19?
As an aside, I spent $79 on Balsamiq last year. I think that is the most I've spent on software in the last two years (I stick with mostly open source / freeware). But it was a no-brainer for me... their marketing materials convinced me that the ROI was there. The value for me was probably much higher, but past $99 you enter some psychological pricing barriers.
I know you probably weren't looking for technical feedback, but... your site was just a tad slow to load for me, so I suspect a bit of the "hacker news" effect on your server.
It looks like you've already done a great job optimizing towards YSlow metrics, but you can do a few other things to optimize speed and server performance further:
1) far future expire headers on static assets like pngs
2) use an asset packager that will combine your js and css into one file each, so you can further minimize the http request being made. Something like django-assets (for django) or build it into your capistrano deploy script (Rails).
3) image sprites where applicable. This one is a pain in the ass. In a recent presentation i saw online, DHHs was brainstorming about rolling something into Rails 3.1 to handle image sprite creation automatically... a really cool idea.
Anyways, great job and keep hacking....
This was about 6 years ago, so I hope for all the hacker that CC is better now.