HNHacker News
TopNewBestAskShowJobs

sghael

753 karma · joined September 18, 2009

sghael@activeinterview.com @sghael on twitter
submissionscomments
sghael··on Boring Boston Tech Companies That Are Actually Interesting
What's with the sudden surge of Boston tech scene cheerleading articles on HN? I'm new to Cambridge (just moved here a few months ago), and so far have nothing but love for the area (even compared to 8 years in Bay Area). But it's starting to feel like there is ugly duckling syndrome in the air.

Winter's almost over. Hold it together people. We're almost there.

j/k

sghael··on IPad 2 Official Specs
But that only solves for the case of predictable events. If you want to remain agile, and do deployments on an as-needed basis, then you need to cache bust with file naming or query parameters as I mention in other msg. Again, I'm pretty sure this is the preferred method of most web teams, and also appears to be what Apple is doing (atleast with a subset of their assets).
sghael··on IPad 2 Official Specs
I don't disagree they they must have their act together to support such big online launches. But for cache busting, isn't it just a simply matter of renaming resources and having your framework + deploy scripts manage the rest for you?

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.

sghael··on Show HN: I made a better interface for Google Tasks and I can't go back
huh? Its not like your tasks info is passing through his server. Seriously, is this a breach of etiquette?
sghael··on Your IP. In JSON
This brings up something I'm waffling on. Whats the correct content type for JSON?

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...

sghael··on Ask HN: Who Is Hiring (For Freelance/Part Time Remote Work) February 2011.
We're looking to add 1-2 (part-time) to our small, developer driven team.

* 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

sghael··on Continuous Deployment
Without knowing the details of this company, here is my theory:

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.

sghael··on Ruby Enterprise Edition 1.8.7-2011.01 released
That article and corresponding REE marketing pages do a great job of telling me why I should use REE.

Can anyone tell me why I shouldn't use REE? (Currently using MRI 1.8.7)

sghael··on Continuous Deployment
It's great to see the ideas like CI trickle into the that startup world at large, to the point where we have VC blogging about it.

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.

sghael··on Who else prefers minimalist UIs like HN and (linked) the original Digg?
While the examples (HN and old Digg) are minimal, I also find them "un-refined". I prefer minimal and refined.

Like Delicious. Simple color palette, lots of white space, and no extraneous stuff like gradients, rounded corners, drop shadows, etc.

sghael··on OSQA - Free, Open Source Question & Answers System
I'm a user/dabbler of OSQA, and the project is very nice. However, IMO there are several things holding the project back from greater community involvement:

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.

sghael··on Production is Red, Development is Blue
We do this in a different context for our webapp work. We have three primary environments: development, staging and production. We code a contextual, 20px high, colored div at the top of our master template. It's red for development, yellow for staging, and doesn't exist in production (i know it seems backwards, but you can't really show an extra red bar in production :p ). It also somewhere we dump out some quick and dirty debug info.

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.

sghael··on Presenting BigTuna - continuous integration software
Thanks for the project! Will definitely try it out soon.
sghael··on Ask HN: Who's Hiring? (December 2010 Edition)
Sorry if I came off snarky in my question. I def didn't mean it that way.

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.

sghael··on Ask HN: Who's Hiring? (December 2010 Edition)
What the heck is an agile tester?
sghael··on Presenting BigTuna - continuous integration software
definitely agree that the state of CI projects for Ruby/Rails is not great. I was using CruiseControl.rb on Rails 2.x with success, but getting it to play well when moving to Bundler/RVM was way more difficult than it should have been.

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.

sghael··on Ask HN: So I got first two paid customers, now what?
congrats on the first few paying customers. Feels great, doesn't it?

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.

sghael··on Apple Discontinues Xserve, Only Available Until January 31st
Just curious -- how are you using it?
sghael··on How To Write a Learn X the Hard Way
"The trick is you have to document everything you type step by step. The problem programmers have is they know how to install this stuff like it's second nature, so they skip details and important steps that non-programmers just don't know. Once you have your instructions, erase the machine (or VM) and go through the steps again, manually. You'll run into stuff you missed and will need to fill those missing steps in."

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.

sghael··on Google Wants to Speed Up the Web by Killing the JPEG
1) How do we know it's perceptually the same?

2) How do we know we couldn't get the same perceptual gains from more JPEG compression?

sghael··on Google Wants to Speed Up the Web by Killing the JPEG
I'm sure this was discussed before when this story made the rounds last month, but this continues to make little sense to me:

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?

sghael··on Ask HN: My company is hiring. Which job boards have the best hackers?
We run a webapp that partially solves this problem: http://ActiveInterview.com

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

sghael··on Fake - Mac OS X Web Browser Automation and Webapp Testing Made Simple.
If I understand how this works, there is a clear use case for using this over say Selinium: flash interaction testing. so assuming you have a fixed dimension site in the fluid browse, you could interact with flash widgets... Right? or am I totally off track here?

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.

sghael··on The Django Framework's Killer Feature for Java Developers
I don't understand the title. Why is this a killer feature for Java Developers? The Django admin is the killer feature for most anyone.

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.

sghael··on Will the real programmers please stand up?
you make a valid point, and i completely agree. It's about more efficiently honing in on the best candidates. And the trick is to do that early in the process, especially when the hiring process is typically front-loaded with mostly crap candidates.

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).

sghael··on Will the real programmers please stand up?
I generally agree that it matters more what you've actually done or created, not what you say on a resume.

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.

sghael··on Will the real programmers please stand up?
If you are a startup, you can't afford to be NOT be "ridiculous"

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.

sghael··on Show HN: Mocksup, my mockup prototyping & review webapp
It's nearly impossible to have a meaningful pricing discussion, because initial pricing is guessing. But it does feel like you may be leaving money on the table.

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.

sghael··on Ask HN - Rate my startup: Gigayo.com
Concept and presentation look great.

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....

sghael··on TI releases Launchpad, a $4.30 (shipping included) microproccessor dev kit
When I worked in the TI DSP group (many years ago) we called it "Code Composter". $4.30 is cheap... but what about the time cost of using "Code Composter"?

This was about 6 years ago, so I hope for all the hacker that CC is better now.

← PreviousPage 2 of 3Next →