Ask HN: How do I get freelance developer jobs? - <AUTHOR> Sure there are sites like Upwork or Freelancer, but they limit the amount of jobs that you can bid for. I'm not sure if I could successfully get jobs there, so I don't want to waste any bids. People jump on any good projects like crazy. Aside from that, I've been told to scout out local business, but for the moment lets just say that one's a no. How can I get freelancing jobs as a developer? <comment><USER2> Go to google, type in "web agencies [yourLocalCity]", make a list of the agencies, go on linkedin and try to find their technical director or lead developer or even the head honcho if they're small and get their name. Phone the main number, ask for that person, when you're on the phone with them, introduce yourself, say you're a new freelance dev with XYZ skills and ask if they would have any need for some extra resource. Try to get a meeting in person as you'll stick in their head more. Be ready to send a CV and/or body of work.

This works really well if you dont want to deal with end clients. You should also phone them every 3 months to remind them who you are, send them christmas cards, show them something you've done recently, etc. You can also replace "web" with "marketing", "advertising", "development", "design" etc in the initial google query.

If you're not an idiot and you're reliable and cost effective, this is a VERY good way to get regular, long term work.

<comment><USER3> > if you're not an idiot ...

I lol'd, but to clarify this very accurate point:

* Be reliable (never, ever go dark)

* Be a nice person (polite and upbeat, even if the client isn't exactly deserving)

* Do quality work, regardless of the circumstances (even if you're over budget)

If you hit those three points, you will perform far better, revenue-wise, than the average contractor - I did it for years while I was getting my product business off the ground.

<comment><USER4> Can you clarify what you mean by "even if you are over budget" ?

What if you estimated all of the features, built them, and then the client comes back with a bunch of new features and changes that would require a new contract. Do you do them for free?

What about ongoing support? My contracts give the client one week to test any features, and once that week has elapsed without any issues, the contract is considered "complete" and they have to pay the other 50%. Would you be for or against that practice?

I guess I am wondering where the balance lies between protecting yourself and protecting your reputation.

Unfortunately, clients (just like all human beings) are squishy and forgetful. Your reputation can get damaged through no fault of your own. When do you decide to let someone go because their expectations don't match the contract they signed? Is the penalty to your reputation so high that it's never worth the time you would save by doing this?

I am genuinely curious to see how other contractors manage this.

<comment><USER3> If the client is coming back with clearly unscoped changes, it's generally out of the question. Be polite at first and let them know that it's "out of scope" and that you could estimate the time required to do it.

When I said "clearly over budget," I meant in terms of your own estimate. Sometimes feature X takes longer to build out, and there's the inclination to cut corners to get things done so you don't drive your effective hourly/day rate down, assuming that the poor estimate was yours and you'll eat the cost.

But expanding on that, do quality work regardless of the scenario, such as:

* The codebase is already a pile of s __* left behind by someone else * They 're miserable, complaining, sons a' bi _ches no matter what you do for them_ A fix could be sloppy and take 1 line of code, or quality and take 10

That kinda stuff.

</comment></comment></comment></comment><comment><USER5> Specializing is the best thing you can do to get higher rate work. Read [https://philipmorganconsulting.com/the-positioning-manual- fo...](https://philipmorganconsulting.com/the-positioning-manual-for- technical-firms/) for a lot of great advice on this.

Do fixed fee if you can -- this gives you an incentive to invest in becoming more efficient and gives your clients predictability. Jonathan Stark has some good material on moving away from hourly: [https://expensiveproblem.com/](https://expensiveproblem.com/)

The thing that's been a huge success for my freelancing business and helped me avoid feast or famine is having ongoing, hands-off sales processes that keep going no matter how busy I am with client work.

I hired a VA and originally had her email relevant leads from lead newsletters like LetsMakeApps or Workshop, and now am shifting towards cold email towards relevant leads. Use a CRM (close.io is my personal favorite) and a drip email service like prospect.io for automatic followups -- persistence boosts conversion rates massively for this sort of sales. Block off a day or two a week to take sales meetings and use Calendly to schedule -- meetings popping up whenever is huge impediment to flow, but keeping up sales regardless of how busy you are. If you get overwhelmed, raise your prices to reduce the amount of work you are selling.

Happy to talk about building a freelancing business -- email in profile.

<comment><USER6> What does VA stand for? Voice Actor, Virtual Assistant?

<comment><USER7> In this case I do believe it's a Virtual Assistant :)

</comment></comment></comment><comment><USER8> ## Short Term

\- [https://www.pipelinedaily.com/](https://www.pipelinedaily.com/) for $49/mo, James will send you really good leads on Mondays.

\- [http://letsworkshop.com/](http://letsworkshop.com/) for $597 every quarter, Robert will send you leads daily.

\- Get back to your LinkedIn connection and let your friends/connections know that you're looking for freelance work. I had always had LinkedIn friends/connections who gave me enough work, while I freelance in-between my Startups.

\- As for the other advice about working for Agencies. You can try that too. I used to lead a 50+ team of designers and front-end engineers. I had a spreadsheet of my outside contacts (freelancers/contractors) who supplement my team, and for those special requirements.

## Long Term

\- Maintain an updated Github (or Bitbucket, Gitlab) public profile, with few public repositories that a potential client can see and gauge your talent.

\- Write a blog. You can go technical, or just updates about the works/projects you do.

### Plug

I run a remote-first design + front-end services firm, show me your work (Github, portfolio or otherwise), we might have something for you - [https://alarisprime.com/](https://alarisprime.com/)

</comment><comment><USER9> Here is what I did: I applied to 10 jobs at UpWork everyday. After 2 weeks or so, I thought it is impossible to get a job with empty profile. (Even though I had LinkedIn with 8 years of Java experience, I think it does not matter when your UpWork profile is empty). At last I got some job from a student, and earned $50, after that I got some more small jobs for $100-$1000 fixed price, finally I got hourly job at $35/h. I think it took less than a month, but you need to be dedicated. After you have some jobs in your profile everything is MUCH easier. It is 1.5 years since I'm on UpWork and I earned around $200K so far.

<comment><USER10> > _finally I got hourly job at $35 /h ... It is 1.5 years since I'm on UpWork > and I earned around $200K so far._

You're averaging roughly double that $35/h, consistently for a full working week, every week, solely via UpWork?!

<comment><USER9> Yes, solely via UpWork. I got a bit better hourly rate since then, and I usually work around 60h per week.

<comment><USER10> Well, kudos for making it work so well!

</comment></comment></comment></comment><comment><USER11> Meet Ups are a great place to go. There are often people trying to find developers.

Other ways are through LinkedIn groups or small business groups that you can find in your area.

At the end of the day it comes down to networking. Say yes to every meeting and say yes to meeting people. Even if they aren't wanting to hire you, they know your name and will pass it on.

I've freelanced for the last 10 years on and off. I've never needed to advertise, I just make a post on LinkedIn and say I'm freelancing or go to a Meet Up and contracts start coming through.

<comment><USER12> What kind of Meetups would you recommend going to (Tech vs Career/Bussiness Networking)? I started doing this last week and have had few leads but nothing concrete yet

<comment><USER13> Business, industry-specific, etc.

You're looking for people with costly problems who need a developer to solve it. Meeting up with developers is pretty much the opposite of that.

Also: It can take a long time (months, years!) before the inflow of work has any sort of steadiness. And it will be steady only due to how good you are at turning back the bad contracts. Don't fret about a week.

<comment><USER12> Thanks for the great advice, already making changes to my Meetups schedule!

</comment></comment></comment></comment><comment><USER14> I'm just going to write down some things that went wrong/right with my own freelancer experiences about getting and keeping jobs, hopefully it's somewhat useful to someone.

First, there is a drastic oversupply of programmers, as you noticed, and everybody knows it. You're competing with people earning $5/h or less, or are straight-up working for "equity" or "portfolio". Public opinion of programmer skills and value is exceedingly low (" _we just need some coder to make it all work!_ "), and programming shops that do value developer time are usually religiously keyed to one specific toolset and methodology, only recruiting from that specific pool.

By and large, there is only one in: getting referred by people who already like your work. That's why so many freelancers fall into the working-for-free- to-get-referrals trap, by the way, never do that. But what you can do is start small. Look up local companies working in your field, and comb through your address book for _anyone_ who could possibly have use for your services.

After getting any contact, your most important job is to cultivate the good customers and get rid of the bad. I cannot count the number of times I failed at either of these, it's my number one regret from when I started freelancing. There were two instances in my freelancer career where I let people down very badly that still haunt me - don't be that guy. Sometimes you get lucky and you hit upon a successful relationship by chance, keep such relationships alive at all costs.

Finally, as a mostly-ex web developer I think working for web stuff is poison. Often, people looking for skilled allrounders will actually think less of your skills if they include web work. Also, web development is by far the _most_ overcrowded field in software development. And web shops themselves are getting utterly ridiculous in their use of overblown tools and bloated frameworks. If there is any way you can get into low level programming, graphics programming, maybe game development, framework development, and so on: I'd suggest you do that.

<comment><USER15> Game development has historically been very toxic. Long hours, average pay, and very high stress. Why do you recommend it?

<comment><USER14> > _Long hours, average pay, and very high stress_

There are many shops in various fields that work like that. Certainly game dev is notorious, especially if you're a salaried worker at a big studio. However, someone starting out with their freelancer career, that's not the same thing. You're going to contract with smaller studios and tools developers. I don't think they're especially toxic as compared to other software shops, and certainly being a freelancer protects you from some of the general traps that befall salaried workers, at the expense of financial security.

> _Why do you recommend it?_

Several reasons. Being an old programmer, I lived through several bubbles and hypes. I can recommend games or game tool development because it's challenging work with a somewhat stable demand, and it's an industry with enough funding in general. It's also an opportunity to create things that will be part of our culture for a long time, as opposed to most other software that's being written.

</comment></comment></comment><comment><USER16> Assuming you're already past the meetup stage, and you already know some developers, this is what worked for me:

Identify and find a more experienced developer (it doesn't necessarily have to be a "senior developer", just somebody more experienced than you) who has far too many plates spinning and is getting bogged down in lower-level tasks, and offer to take care of that work as a contractor. Be great at unsexy things nobody else wants to do. Make sure these are the kinds of jobs where you can fill out your GitHub and get a few recommendations from the person or team you're contracting for.

Use this experience to get more jobs. Wash, rinse, repeat.

</comment><comment><USER17> Specialize, I made 25k on upwork doing exclusively Go development. The first jobs were tiny, $50 total. After building reputation I upped to $45/hr.

<comment><USER18> How much time did it take?

<comment><USER17> 20hrs/wk over 9 months.

<comment><USER18> Damn. I work like 60 hours/week and I barely make a thousand a month when is a good project. I have to get first-world projects.

<comment><USER19> Maybe perceived value has something to do with it. I believe I listed my hourly rate at $25 thinking I'd be competitive for some side $$.

I made some money but it seemed most things tagged JavaScript or PHP were either design work or WordPress plugins.

This thread inspired me to sign back up and raise my rate to something more realistic IRL ~ $30-35/hr.

<comment><USER20> > This thread inspired me to sign back up and raise my rate to something more > realistic IRL ~ $30-35/hr.

Double that.

<comment><USER19> For real? Lol maybe I'll try $50 and see where it gets me.

<comment><USER13> How much would an employer pay you? Generally speaking, your employer has to make between 1.5 and 2.5x the salary you're paid to be in the black.

Now consider that you _are_ your employer.

<comment><USER19> Good way to look at it. Double that it is!

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> I'm surprised it hasn't been mentioned yet but post in the monthly Ask HN: Who wants to be hired? and Ask HN: Freelancer? Seeking freelancer? threads. I've had some success and it costs you very little.

<comment><USER22> I've never actually seen one of these threads, and I tent to visit HN on a daily basis. Is there a system around these posts that I should be aware of?

<comment><USER23> regularly posted by [https://news.ycombinator.com/user?id=whoishiring](https://news.ycombinator.com/user?id=whoishiring) (at 11 AM Eastern time on the first weekday of every month), together with the _Who is hiring?_ threads.

</comment></comment></comment><comment><USER24> I would recommend finding a group of freelancer friends so you can build a community and share projects between each other. This is a fun group my friends and I started [http://www.raptorsaur.com/](http://www.raptorsaur.com/) it's been fun. If you don't know people in your area yet, go to some meet ups and ask people how you can help with their projects. Good luck!

<comment><USER25> Your raptorsaur logo is pretty cool and the name is catchy. Are you actively doing anything with the site? I doesn't look like there is a lot of activity on it.

<comment><USER26> The logo, of course, is based off the "Philosoraptor" image meme:

[http://knowyourmeme.com/memes/philosoraptor](http://knowyourmeme.com/memes/philosoraptor)

<comment><USER24> Yup, totally is! My friend James who is a fantastic illustrator inked that one for us.

</comment></comment></comment></comment><comment><USER27> In what way do you mean "freelancer". There are multiple types of freelance jobs.

"Freelance" can mean:

1) Working remotely as a contractor though a 3rd party agency.

2) Working remotely hourly or per gig for yourself.

3) Doing end-to-end project work. Start with designs, code, test, and submit as a package deal.

All have different ways of finding clients. However, they tend to follow a career progression in that same order. My career path did.

I advise you to think about freelancing, not as a developer, but a business owner. Consider the following:

* What sort of business entity are you going to have? All have trade offs, and specific obligations from a pure business perspective. One piece of advice that my accountant gave me: Just because you create an LLC with your state govt doesn't make you an LLC. From a court's perspective you have to act like it. In my state that requires Articles of Organization, an Operation Agreement and at least yearly documented meetings with the stakeholders.

* Learn how to protect yourself legally. This means find a lawyer and get a standard contract. Have an attorney review any contract before you sign it. Figure out a strategy for when someone doesn't pay, and how this strategy may change if they are local or remote. It is much harder to take someone out of state to court. I have turned down gigs because we couldn't come to agreement on contract language. One contract asked me to pay all court fees in the event the software led to any issues for their clients. (It was for a medical device.)

* Think about how you are going to charge. Hourly/by the project. Clients may ask for fixed prices and not-to-exceeds. There are a lot of opinions about this. Make an informed decision about how you are going to approach this.

* How are you going to sell yourself. Most of my work comes through word-of-mouth. Figure out your pitch, and how you differentiate yourself from competition. Reputation counts for a lot. Think about setting networking/sales goals. Expect the engagement process to take a long time, and not all of it to pan out. I've spend many hours trying to engage a new client, only to have them change their mind at the last minute. Account for this in your pricing.

* Expect feast or famine. Sometimes you may be sweating bullets because you don't have enough work and bills are coming due. Sometimes you're sweating bullets because several clients are wanting things all at once. Sometimes you may be working nights and weekends.

* As a small guy, you are the product. It pays to be a high quality product.

</comment><comment><USER28> Network, put yourself out there, let people know you are in business, do good work, and reach out to help others. The leads will eventually come, and some of them will even pan-out!

Work boards only make sense if you're in some developing country where dollars will go further. In a developed country, they're a waste of time.

<comment><AUTHOR> Yeah, I just don't know how to do that. I recently moved to a small city in South Carolina, and only get out at night to go to my job lol.

<comment><USER28> Meetups, chamber of commerce, rotary/kiwanis, swingers club, church, nerd convention, or whatever happens to float your boat.

You've got to press the flesh.

<comment><USER29> I second this! My wife and I have been doing freelance web design for about a year now and we've been completely shocked at how quickly some people will hire you while only knowing that you are 1) a generally respectable person and 2) a web designer. Our number of clients seems to correlate directly with how many people we meet rather than any particular strategy.

</comment></comment></comment></comment><comment> pablo-massa I wrote an article [1] with a personal list of websites to find remote work as a freelancer, here is the list:

Job boards

* [http://weworkremotely.com](http://weworkremotely.com)

* [http://remoteok.io](http://remoteok.io)

* [http://remotebase.io](http://remotebase.io)

* [http://linkedin.com/jobs](http://linkedin.com/jobs)

* [http://workingnomads.co/jobs](http://workingnomads.co/jobs)

* [http://angel.co/jobs](http://angel.co/jobs)

* [http://authenticjobs.com](http://authenticjobs.com)

* [http://folyo.me](http://folyo.me)

* [http://getonbrd.com](http://getonbrd.com) (latam)

\</comment><comment>----

With broker

Here you apply as a professional, they approve you (or not) and then assign you projects.

* [http://toptal.com](http://toptal.com)

* [http://workmarket.com](http://workmarket.com)

* [http://crew.co](http://crew.co)

* [http://hired.com](http://hired.com)

* [http://onsite.io](http://onsite.io)

* [http://workingnotworking.com](http://workingnotworking.com)

* [http://gun.io](http://gun.io)

\</comment><comment>-----

I do not recommend

* [http://upwork.com](http://upwork.com)

* [http://freelancer.com](http://freelancer.com)

* [http://nubelo.com](http://nubelo.com)

* [http://fiverr.com](http://fiverr.com)

* [http://workana.com](http://workana.com)

* [http://guru.com](http://guru.com)

\</comment><comment>-----

Not reviewed yet

* [http://gigster.com](http://gigster.com)

* [http://wearehirable.com](http://wearehirable.com)

* [http://localsolo.com](http://localsolo.com)

* [http://speedlancer.com](http://speedlancer.com) (looks fishy)

* [http://yunojuno.com](http://yunojuno.com)

* [http://coworks.com](http://coworks.com)

* [http://theworkmob.com](http://theworkmob.com)

[1] [https://medium.com/@pablomassa/sites-to-get-remote-work- as-a...](https://medium.com/@pablomassa/sites-to-get-remote-work-as-a- freelancer-16092a954e21#.y8b5nzm3o)

<comment><USER30> Several people have mentioned Upwork positively in this thread (first I'd heard of it). Why don't you recommend it?

<comment><USER31> \- because they take 20% of fees

\- they treat freelancers badly

\- there're also a lof of other kinds of downsides about working there. google "why upwork sucks". or "odesk sucks".

<comment><USER32> how do they treat freelancers badly?

Disclaimer: I have used it three times, made requirements clear, and paid workers fairly, and had no problems.. but I am interested to hear about others' experiences.

<comment><USER31> I've used it for a few years.

they've introduced job success, now those who know how it works more or less or newbies with an empty job history -- are the top freelancers, whereas those who have been there for a long time, for years -- at the bottom. Needless to say, upwork doesn't disclose the exact formula used to calculate your job success.

more over: upwork claims it's guaranteed 100% you get your money if a job is hourly paid. No. they still can take your money and return it to a client.

they're many good freelancers who have been banned for no wise reason, among them are the top ones.

there're many other insights.

</comment></comment></comment></comment></comment><comment><USER33> Join Gigster: [https://gigster.com/](https://gigster.com/)

It's way easier than constantly hustling for new jobs. Don't waste your time on Upwork—you'll make peanuts.

<comment><USER34> Isn't it invite only?

<comment><USER33> You can apply online: [https://www.onboardiq.com/gigster-e787c98b-90dc-41dc-a8e3-8c...](https://www.onboardiq.com/gigster-e787c98b-90dc-41dc-a8e3-8c7d18c65e47/apply)

<comment><USER35> Where did you find that? Last time I looked at their website, I couldn't find anything remotely like that.

<comment><USER33> It's right there in the footer.

<comment><USER35> I don't know if that link wasn't there last time or if I was just blind. Cheers.

</comment></comment></comment></comment></comment></comment><comment><USER36> >Sure there are sites like Upwork or Freelancer, but they limit the amount of jobs that you can bid for.

Yes, bid limits are there but you can pay a (very) small amount to get a (much) higher number of bids. At Freelancer.com, it is something like <$10/mo. for 300 bids. I have also found PeoplePerHour.com [1] to be a good market place. Over there, after the free bids, it is more expensive to buy additional bids but I've found the overall quality/mix of buyers to be at least somewhat better comparatively.

[1] [http://www.peopleperhour.com](http://www.peopleperhour.com)

</comment><comment><USER37> I guess it depends on what kind of software you want or can develop. I just started freelancing as web and hybrid app developer this year and what works for me is going to meetups, especially startup/entrepreneurship meetups. There are always founders there looking for developers. For me, this is the place to collect leads. And it's pretty easy, too, because developers are rare. If you tell them your a developer, the founders who are looking for one will probably approach you.

</comment><comment><USER38> A number of startups have begun hiring freelancers on Hired.com (which is, in full disclosure, my employer) - developers can choose to go on our platform as contract only. [https://hired.com/freelance](https://hired.com/freelance)

A few other platforms with a focus on contractors you might want to check out are Toptal and Gigster.

</comment><comment><USER39> Spitshine your LinkedIn to a high polish. Focus on projects without jargon and their benefits to the client/employer. Dollars saved or earned go further than the latest buzzwords. When I moved to NYC, all my gigs came from LinkedIn.

</comment><comment><USER40> My apologies about possibly deflecting this thread... If you're a remote only (nomadic developer, can develop anywhere I have a 'net connection), are the methods to find work the same?

<comment><USER41> It also depends on the timezone you are in. For me when being in South East Asia I found it hard to get clients from USA because of ~12h time difference. I go mostly contracts as referrals from other freelancer friends. Stay in touch with them and let them know that you are currently looking for a project.

Contacting agencies my be a good bet - but so far I found still a lot of them don't want to work with remote/nomadic developers.

As for me, when I don't have contract I keep working on my own apps and put them on shelf when a new client deal is finalized. Most of the time finalizing a deal takes time.

</comment></comment><comment><USER42> Do you have a github account with projects that can help get your name out there?

</comment><comment><USER43> Commenting to read later.

<comment><USER44> Quick advice: You can simply upvote the article. If you look in your profile, there is a history of articles you voted on, and you don't contribute to comment spam

<comment><USER21> You could also favorite this article. Your favorites are probably less crowded than your upvotes.

<comment><USER45> I use pocket and there's a subtle "save to pocket" option after comments number on the main page. Does well enough for me.</comment></comment></comment></comment>


Protocycler recycles plastic bottles into 3D-printing material - <AUTHOR> http://www.sciencealert.com/this-new-device-recycles-plastic-bottles-into-3d-printing-material

<comment><AUTHOR> Wonder if this is some kind of a hoax... Sounds a bit too good to be true to me. I would love to know How does the colouring work and what does it cost? If you throw in legos and whatnot how guaranteed is it to work with manufacturer X printer? Doesn't different plastics have different properties and don't these properties change if the plastic is melted over and over again?</comment>


45% of college students show no significant learning - <AUTHOR> http://www.msnbc.msn.com/id/41136935/ns/us_news-education/

<comment><USER2> Same story from several sources a couple of weeks ago:

<http://news.ycombinator.com/item?id=2118460> <\- This has lots of comments.

<http://news.ycombinator.com/item?id=2116404>

<http://news.ycombinator.com/item?id=2115727>

</comment><comment><USER3> While learning is important on college. The networking and social aspects are just as important.</comment>


Show HN: A furniture e-commerce site built entirely in Notion - <AUTHOR> https://mixandmatch.me <comment><AUTHOR> I'm constantly impressed with how flexible Notion is and wanted to see how far you can push it.

I wanted to create a functional e-commerce site, complete with a searchable product database, recommended collections as well as features like chat support, newsletter and analytics.

I picked furniture because I recently had a really hard time buying furniture online I just never know what goes well together. So I built a site where you can browse pre-designed collections of furniture and shop products to recreate the designs yourself

The hardest part was actually building the inventory haha, but here are some of the tools I used to build the site.

External tools:

Fruition: to link my domain, as well as to add scripts like the chatbot and analytics

LiveChat: for the chatbot feature

Chillipepper: to create an embedded form that adds data to a Notion database

MailChimp: to create a newsletter

HtmlSave: to add the mail chimp embedded signup form to the page

Notion Features

Notion Relational Databases: to link the product database and collections database

All products are tagged with item type, price, dimensions and url

All collections are tagged with room size, style and designer

Currently there is no checkout on site. It just links you to the original site. But you can easily add checkout with an embedded Stripe form. Right now the goal is that anyone can submit an inspiration image they find and I will recreate the look with affordable furniture sourced from several retailers. Would love to know what you guys think!

</comment><comment><USER2> Gives me another reason to like Notion!</comment>


3.99 One-Day shipping no longer mentioned in Amazon Prime - <AUTHOR> http://www.amazon.com/gp/help/customer/display.html?nodeId=200444160 <comment><USER2> "free access to Amazon Instant Video"

should read "free restricted access to Amazon Instant Video" the restrictions are many (no HD in a browser) and many venues you would expect are simply closed, such as Tivo. They intentionally mislead all over their site as to what it really means.

</comment><comment><USER3> One-day shipping is still listed on the Prime Shipping upgrades page [1].

[1] [http://www.amazon.com/gp/help/customer/display.html/ref=hp_l...](http://www.amazon.com/gp/help/customer/display.html/ref=hp_left_v4_sib?ie=UTF8&nodeId=201118070)

<comment><USER4> That page says "as low as $2.99 per item".

The point of the original post is that it used to be a flat $3.99 per item.

</comment></comment><comment><USER5> Recently I saw where the shipping increased based on the price of an item. I bought Fujitsu ScanSnap iX500 ($419) and the Prime next day price was $7.99. I guess they figure that if I'm spending $400+ on an item, a couple bucks more won't make-it-or-break-it for me.

</comment><comment><AUTHOR> I distinctly remember One-Day shipping at 3.99 when I signed up for Prime about 5 years ago, two days ago when I was about to purchase something FREE Two-Day was available but One-Day sipping was 11.96 on one item and 15.35 on another.

</comment><comment><USER6> I guess it was too good to keep up. I always spent the 3.99 for anything over $100 or so for piece of mind (and shopping satisfaction admittedly). I'll probably do it a lot less often now.

<comment><AUTHOR> From amazon's standpoint it makes sense, but a notice/announcement would have been nice - "hey, we are changing terms of your agreement - you ok with that?"

</comment></comment><comment><USER7> 3.99 One-day shipping is no longer there for months. Price varies from 2.99 to 6.99 from what I saw on several items during christmas time shopping.</comment>


Credit Deflation and Gold - <AUTHOR> http://dailyreckoning.com/credit-deflation-and-gold/ <comment><USER2> When people write something like this in a piece : _" Since credit was expanded out of thin air by banks without underlying stocks of gold to cover it, ..."_ you know they are confused.

Banks don't "expand credit" out of "thin air" they capture future economic output by funding it in the present. You say to the bank "loan me $100,000 to build a house." and the bank says "sure if you agree to pay me 5% of that loan amount every year for the next 30 years." They have agreed to loan you money today, and you are going to give them all that money back _and_ you are going to give them some additional money (5% of the loan amount per year) that you make over the next 30 years as well. And then they calculate what the total amount would be over 30 years and they divide that by 360 months, and that becomes your "monthly payment".

So no money was "created out of thin air" rather future money that doesn't exist yet, but the bank has reason to believe will exist, has been allocated to that bank because you are going to give it to them. And to get that money to loan you they tell other people, "hey, we'll pay you 2% interest on your money if you keep it in our bank." They net the difference (3%) and the world goes around and around.

</comment><comment><USER3> Gold is at a 5 year low because the market is up. The value at $1165 per ounce is a bubble still. I sold my Eagles and other coins at $1600/oz. After a lot of study I've concluded Gold isn't all that heavily used in Manufacturing and industry. Not much more than Silver. For every ounce/pound of Silver that comes out of the ground we get 1/17.5 that much gold. If all that research is correct gold should be at $259-350 per ounce.

However, people don't listen. This means that if I get any sense the market is going to crash again I will immediately buy Gold bullion again and profit again I'm positive. Simply because people are herd animals and will always buy high and sell low. As the market crashes they'll get scared and shelter up in gold again.</comment>


Ask HN: using dependency diagram as the primary way of browsing code? - <AUTHOR>

XCode, as any other IDE I know, shows you the source files as a hierarchy of files and folders - a tree. Recently I realized that a better way to browse the source for me is a dependency diagram - a directed graph (this graph should be also be acyclic if I did everything right). So, I have a couple of questions for my fellow hackers:
1. Are there tools that help build and visualize dependency graphs? In particular, for Objective C but any other language is also interesting.
2. Are there IDEs (or IDE plugins) that use dependency graph as the primary way of browsing code, in lieu of the directory structure? <comment><USER2> CFlow does what you want:

<http://www.gnu.org/software/cflow/>

It's primitive compared to the stuff you find in with more reflective languages, at least Common Lisp and Smalltalk, or for that matter _binary_ analysis utilities like IDAPro.

But, theoretically, you could do that only with C-like languages and binary executables: i.e. languages that have a "program entry point".

<comment><AUTHOR> That looks like control flow, not a dependency diagram. Control flow is too complicated for my purposes - I only want to see compile-time dependencies, really just visualization of #include directives would be perfectly fine.

Suppose class A comes with callback interface AC. Class B calls into class A and also implements AC, so that A can call it back if needed. In the dependency diagram I want to see dependency from B to A, but no dependency from A to B. The reasn is that A can be understood in isolation without B, but B can not be understod without A. I think compile-time dependency makes for a pretty good proxy of this "understanding" thing.

</comment></comment><comment><USER3> In Xcode, look under the "Design" Menubar item.

[http://edr.euro.apple.com/documentation/DeveloperTools/Conce...](http://edr.euro.apple.com/documentation/DeveloperTools/Conceptual/XCodeDesignTools/Introduction/Introduction.html) looks like a decent introduction to the menu (note: I don't use this menu and only skimmed this doc, so no promises)

<comment><AUTHOR> I can only get it to show inheritance diagram, not thedependencies diagram... am I missing something?

</comment></comment><comment><AUTHOR> I think this does what I want but only for .NET:

[http://codebetter.com/blogs/patricksmacchia/archive/2008/09/...](http://codebetter.com/blogs/patricksmacchia/archive/2008/09/09/interactive- code-dependencies-graph.aspx)

It also seems that Doxygen <http://www.stack.nl/~dimitri/doxygen/diagrams.html> can generate the diagrams I need. Now all I need is to integrate this into XCode...

</comment><comment><AUTHOR> The best I could do so far is to make a "rule" for myself that files in the list can only reference other files above them, not below them. This seems to preclude formation of cycles, but is still too coarse.

<comment><USER2> You mean like ASDF's :dependens :serial clause?

<http://common-lisp.net/~mmommer/asdf-howto.shtml>

<http://constantly.at/lisp/asdf/> [manual]

I am usually thrilled about everything Lisp, but ASDF .. let's just say ASDF if fun fun fun.</comment></comment>


The Daily Digg app for iPad - <AUTHOR> http://www.youtube.com/watch?v=R3PttqVY7P4

<comment><USER2> How come Digg hasn't gotten on this yet? I have heard that many developers have been having difficulties with News related applications as Apple is getting much flak from media sources about "stealing" their spotlight. Is this true?

This app looks gorgeous. I will be sure to try it out.</comment>


Any vetting for getting into YC female founder conference? - <AUTHOR> Does anyone know if there was a vetting process? Or just everyone gets an invite? <comment><USER2> Hm, good question! Don't know, but I think they take almost everyone. I also got an invite but can't attend this year. I went last year and it wasn't that interesting because there were so many random people.</comment>


Show HN: drive-db: A Google spreadsheet database - <AUTHOR> https://github.com/FranciscoP/drive-db

<comment><USER2> Also a simple spreadsheet API: [https://assembly.com/gridspree](https://assembly.com/gridspree)

The two look to have a lot in common.

</comment><comment><USER3> This is great and awesome.

<comment><AUTHOR> Thank you so much. Please note that it's being developed right now, so few changes are expected. Also if you think there's something that can be improved, please say so. I have just updated it in github and created documentation.md</comment></comment>


Analyzing Radioactive Glass from the Trinity Test - <AUTHOR> http://www.hscott.net/analyzing-trinitite-a-radioactive-piece-of-nuclear-history/

<comment><USER2> The Trinity site is open twice a year to visitors. When I went 10 years ago there were still bits of the blueish-green glass mixed in with the grass and sandy soil. A small section was preserved and coverered with a low windowed box. The ground inside was entirely covered with the strange material.

[http://www.wsmr.army.mil/PAO/Trinity/Pages/HowtoGetThereDire...](http://www.wsmr.army.mil/PAO/Trinity/Pages/HowtoGetThereDirectionstothesiteforthebiannualopenhouses.aspx)

<comment><USER3> I tried to do this tour about 10 years back - be aware that there are some quite u expected requirements for non US nationals wanting to do the tour. (or at least there were back around 2000/2001)

Still disappointed I didn't manage to organize that…

</comment></comment><comment><USER4> As an undergrad at Georgia Tech you should know that if one of my professors caught me writing some significant digit nonsense like 1.0272303 ± 1.031768 Bq/kg I would not have gotten a degree.

1.0272303 ± 1.031768 Bq/kg or rather 1.0 ± 1.0 Bq/kg means that your experimental error is so large that your result is compatible with both 0 and 2 Bq/Kg. What's the point of adding all those significant digits if you're telling us that your result is imprecise, or rather that your experiment can't effectively tell if there is any activity from Cs-60.

(edit: I wasn't an undergrad at GT)

<comment><AUTHOR> That data came from the HPGe, which really does have that precision. I know it seems like the accuracy is bad since, like you said, it could be either 0 or 2 Bq/kg. However, a Bq/kg is REALLY tiny and that accuracy (which is proportional to the length of the experiment) is good enough for this analysis. So the precision is fixed based on the HPGe and the accuracy increases with the length of time the HPGe took measurements.

<comment><USER4> My point stands: just write 1.0±1.0. If 1 Bq/Kg is small then giving a precision of 0.1 nBq/Kg is just plain insane.

<comment><AUTHOR> You're right, I'll correct it.

<comment><USER4> That's great! I see you're not a physics major, so I apologize if I came out as aggressive.

In general you want to keep 1 or 2 digits in the s.d. and align the precision of the mean accordingly.

</comment></comment></comment></comment></comment><comment><USER5> Both of the videos at the end of the article are absolutely fascinating (as is the rest of the article, but I almost skipped the videos; I'm glad I didn't).

<comment><USER6> The first video is amazing. The structure to the explosion is so beautiful, but at the same time, I feel like I'm looking at the face of death.

<comment><USER3> I actually stopped watching git 10 seconds or so in, assuming the whole thing was just going to be Ken Burns-ed stills of photos I'd already seen. Thanks for making me go back and watch it all…

I'll also drop in a recommendation for the boom "100 Suns" for anybody who finds pics like that beautiful...

</comment></comment></comment><comment><USER7> A Quote: "Kenneth Bainbridge, director of the Manhattan Project, was not amused with Fermi scaring all the guards."

Correction. Leslie R. Groves, Jr. was director of the Manhattan Project.

<comment><AUTHOR> Thanks, fixed.

</comment></comment><comment><USER8> Wow, amazing

So I suppose what points this to being Trinity is the ratios, since the values are very off from the Trinity data in the tables (because of decay)</comment>


A fast and modular approach to building powerful web and mobile interfaces - <AUTHOR> https://decorator.io/modulr/ <comment><USER2> This is probably a pedantic concern, but is pointing an "About" page to a twitter/linkedin/etc. link a new thing?

I'm hoping to learn something about not just who came up with the framework but who else is involved, what sparked the need, etc., but all I get right now is a link to what I presume is the developer's twitter page.</comment>


Tower.js - JavaScript Framework for Node.js modeled after Ruby on Rails - <AUTHOR> http://towerjs.org/ <comment><USER3> Thanks for the efforts and the framework. Unfortunately, I cannot properly appreciate it for the following reason:

Please don't call something JavaScript if it's actually all in CoffeeScript (even if it's just the documentation). A lot of us have not bothered to learn CoffeeScript and a good many of them have no intention of doing so. My time was wasted following a link that says "JavaScript", a language I know well, only to discover it was in CofeeScript, a language I have not bothered to learn, nor do I plan to anytime soon. I would down vote this if I could merely for the mislabeling. If you love CoffeeScript enough to use it as you obviously have, own it, advertise it openly and stop being in denial that CoffeeScript as a written language is different from JavaScript as so many CoffeeScripters seem wont to do.

<comment><USER3> To the down voters:

My comment is civil and explannatory. You may not like my sentiments, but down votes are not intended for unpopularity. Not only that, but in this case, my comment serves to reinforce the standards of HN regarding mis-titling of links and it is being downvoted.

A house divided against itself cannot stand.

<comment><USER4> "a language I have not bothered to learn, nor do I plan to anytime soon"

That's why I down voted you. Is a JS compiler beneath you? Fine. Then post about that. Don't try to slip it into a veiled complaint about title accuracy.

<comment><USER5> So it is fair to call any library written in C an ASM library? C compiles to ASM (in most implementations) after all...

<comment><USER4> Oh, come on. How can you be at all familiar with JS and not be able to figure out what a CoffeeScript snippet is doing? It's not quite the difference between C and assembly.

<comment><USER6> That's not the point of his comment. It's labeled javascript when it is actually coffeescript. Call it tower.coffee, not tower.js.

If I can't fork and contribute to the project in javascript, but instead have to set up my environment for coffee script to contribute, then it's not javascript.

This isn't just about readability and comprehension, it's about contribution as well.

If the compiled javascript is bundled in there and I can read it, fair enough. If you can't accept patches and code contributions in javascript, then that's not javascript.

</comment></comment></comment></comment></comment></comment><comment><USER7> So I see the rage is all about dissing Rails as often as possible these days, more often than not in the Node community. Yet Tower is a virtual copy and paste of the popular Ruby web framework and it's pure awesome.

There is something of a schizophrenic behavior at work here. I am a Rails dev, I love the framework for all its strengths and would choose to live with its (relative) shortcomings any day but I think there's something not healthy about how it seems that a new (web framwork|language|paradigm|whatevs) always has to (kill|take a dump on) the competition to claim the spotlights.

The two technologies can co-exist without a problem, there are many pieces of software to fill that gap without having to reinvent the wheel where Rails does the job just fine.

And to anyone saying Rails has become "bloated", quit the catchphrases-based rhetoric already, a Rails project is nothing more than a set of conventions and classes, the developer (that's you) has a choice of tools every step of the way, so if your app is bloated, stop producing bloated code or hopelessly waiting for a silver bullet, IT IS NOT HAPPENING. NEVER. NODE WON'T BE IT EITHER.

Three years from now, some clever dude will come up with a new fresh concept, Node will suddenly be so 2012 but deep down you'll know.

You'll know it's the same old caper below the latest layer of paint and glitter.

Props to the people who worked hard on Java frameworks who make tons of people happy in the heavy infrastructure enterprise realm, props to the people behind PHP and associated frameworks, props to Rails dev for pushing the envelope and making me enjoy programming again and props to Ryan Dahl, Google and Joyent for making Node happen and shaking the bottle once again.

It does NOT have to be X VS Y VS Z.

</comment><comment><USER8> Regarding the Coffeescript-Javascript difference, Coffeescript and Javascript can be used transparently in node. Once require('coffee-script') is run, the module replaces the require function with one that can load both Coffeescript and Javascript.

This means that if there is a file ./lib/foo.coffee, the following code in bar.js will work:

        require('coffee-script');
        var foo = require('./lib/foo');

Yes, some people may not like Coffeescript anywhere in their project, but this functionality makes it easy to add Coffeescript to an existing Javascript project or use Coffeescript modules as a blackbox in a Javascript project.

<comment><USER3> That's pretty cool. I didn't know that worked so seemlessly.

Nonetheless, in order to use a library, you must either read the documentation or the source. The biggest issue is that most CoffeeScript projects document with CoffeeScript. Technically, you could read the compiled source, but that's usually a non-starter unless I truly need your project. Otherwise, I'm more likely to find someone else that's solved the same problem, but has written their docs / source in JavaScript.

</comment></comment><comment><USER9> am i the only who is not excited by any "RoR"-like framework?

i like node because it lets me build small standalone programs/apps which i can link together to act like on big project.

i - for one's part - found that having one master-overlord framework kills a lot of the joy of programming.

ok, there is the "it's much more manageable" argument, but well, my experience is that big apps on RoR need much more maintenance work then similar programs on much uglier stacks (i.e. webprojects using LAMP)

said that - after reading some of the docs - i will probably give towerjs a try.

<comment><USER10> The bulk of today's web devs are coming from Rails and it's nice to have that hand-holding when you're trying to cross that chasm. Besides, a lot of the concepts that RoR were built on are sound (i.e. don't reinvent the wheel every time you make a new project), even if Rails has become as bloated as the technologies it replaced (J2EE, .NET).

<comment><USER11> >The bulk of today's web devs are coming from Rails

Ahem, you're exaggerating there just a little bit. There are probably around a dozen web frameworks that are competing for the spotlight right now. With Zend, CI, Django, Symfony, Struts, Cake, etc. all equally if not more popular it's hard to say Rails has the "bulk" of today's web devs. I wouldn't even go as far as saying that the bulk of today's web devs appreciate MVC.

<comment><USER12> Who cares how many people use these frameworks, most of them are using the same MVC structure and are just stealing features from each other.

Some of the Node people like things small but when applications get bigger putting things into an MVC structure often makes your code more organized. Until someone comes up with a better idea that takes off this is how things will be done and I think it's great that Node has a few choices now to do this.

<comment><USER13> There's a difference between using an MVC pattern (which is easy with Express, but is completely optional) and relying on an ORM (which the project forces on you). One of the great things about minimilist frameworks like Express is that you can build it out and customize it like you need.

The types of projects that benefit from being in node.js instead of Rails, Django, etc, don't really benefit from having all those decisions made in advance. If the "Rails Way" works for your project, you'll probably benefit from doing it in rails. There's certainly more library support and it's easier to find more experienced developers for Rails than node.js.

There's a tendency to put all kinds of projects in node now, just because it's "hot". Some projects benefit from node, and some would be easier to do in some other language/framework. If you're experienced with Rails and are working on a project that fits that style, you're probably better off just doing it in Rails rather than switching to node and using a Rails flavored framework.

<comment><USER14> "relying on an ORM (which the project forces on you)"

By the project, I presume you mean Rails. Because Rails doesn't force ORM on you. It assumes that by default, but if you don't want to use an RDBMS and ORM, you simply remove the inheritance from ActiveSupport::Base from your model class and write a class that talks to whatever you prefer.

Rails makes the reasonable assumption that most people will be talking to an RDBMS. It could omit that and instead you could "build it out and customize it like you need", but that way lurks 7,000 line XML config files and all the other crap lots of Rails folk were trying to escape from. The point of convention over configuration is that for some baseline assumption of normal, it comes ready to rock and roll.

<comment><USER13> No, the Rails inspired node.js framework forces an ORM on you. My advice throughout this thread has been to stick with Rails if the Rails conventions do it for you. There's certainly nothing broken with that approach. I don't think Rails is the right tool for every problem, but for the ones that it is, people will probably be better served using that, rather than re-implementing it in node.

I'm neither anti-Rails or anti-ORM. But the types of projects that actually benefit from being in node, rather than Rails generally benefit from not being tied to those conventions. If what you're doing fits the Rails pattern, that's probably a better solution than anything in node. If you're doing a project that doesn't fit that, and you need lots of customization, you're probably better off doing that from scratch (or with a minimal un-opinionated framework).

I think both have their places. It really depends on the project.

<comment><USER14> Ah okay. I thought you were referring to Rails, my mistake.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> For anyone turned off by the CoffeeScriptiness of the page, here's a bookmarklet that will compile the CoffeeScript into JavaScript:

      javascript:(function(e,a,g,h,f,c,b,d)%7Bif(!(f=e.jQuery)%7C%7Cg%3Ef.fn.jquery%7C%7Ch(f))%7Bc=a.createElement(%22script%22);c.type=%22text/javascript%22;c.src=%22http://ajax.googleapis.com/ajax/libs/jquery/%22+g+%22/jquery.min.js%22;c.onload=c.onreadystatechange=function()%7Bif(!b&&(!(d=this.readyState)%7C%7Cd==%22loaded%22%7C%7Cd==%22complete%22))%7Bh((f=e.jQuery).noConflict(1),b=1);f(c).remove()%7D%7D;a.documentElement.childNodes%5B0%5D.appendChild(c)%7D%7D)(window,document,%221.6.1%22,function($,L)%7B$.getScript(%22http://cdnjs.cloudflare.com/ajax/libs/coffee-script/1.2.0/coffee-script.min.js%22,function()%7Bvar%20a;a=$(%22code.coffeescript%22);a.each(function()%7Bvar%20a;a=$(this).text();return%20$(this).text(CoffeeScript.compile(a,%7Bbare:!0%7D))%7D);return%20a.each(function()%7Breturn%20prettyPrint(this)%7D)%7D);%7D);

Aside from CoffeeScript's __hasProp and __extends boilerplate at the top of each code sample, it's pretty readable if anyone's interested.

I still think it ought to decide whether it wants to be a CoffeeScript or JavaScript framework, though.

</comment><comment><USER16> Who cares?

There is express, geddy, railwayjs, djangode, drty, Locomotive, spludo and probably a few others that I missed. _All_ of them are modeled after rails/django.

The last thing the node-ecosystem needs is yet another half-baked rails-clone.

This may come across harsh but I really don't understand why people keep beating that dead horse instead of tackling the node-vision: Build a framework that spans client/server. Make it good. Start by not pouring your time into yet another rails-clone...

<comment><USER17> I disagree that node doesn't need more projects like this. And I disagree that express/geddy/etc are 'modeled after rails/django'.

But, a framework that spans client/server could be really interesting. Have you seen Derby? <http://derbyjs.com/>

</comment></comment><comment><USER18> The best part about this in my opinion is that the controller system works on both the client and server. I've been waiting for this, was planning on building it myself if no one figured that out.

I hope this grows. I'd love to contribute too.

</comment><comment><USER19> Would some node.js experts mind weighing in here with pros and cons of this framework as they see it? I'm too new to node to really understand the tradeoffs here. Thanks!

<comment><USER20> Second. While I'm no expert, I did attend a Node.js Bootcamp this past weekend. One of the topics brought up was Coffeescript and how unwieldily it can be, especially if you mix it with straight-up Javascript, and by extension jQuery.

While avoiding any new FUD, and since Tower.js is Coffeescript and jQuery top heavy, wouldn't this inevitably lead to conflicts?

(Side note, at the bootcamp the framework recommended was Express.)

<comment><USER21> Then I'm sorry to inform you that some FUD did indeed rub off on you at your Node.js Bootcamp...

CoffeeScript semantics are just JavaScript semantics, which means that CoffeeScript can seamlessly use any JavaScript library, and vice versa, without any special effort needing to be made. This is perhaps the most significant difference between CoffeeScript and most other compile-to-JS languages ([https://github.com/jashkenas/coffee-script/wiki/List-of- lang...](https://github.com/jashkenas/coffee-script/wiki/List-of-languages- that-compile-to-JS)).

The one feature that you might find yourself relying on in a project like Tower.js is easy access to the prototypal inheritance found in CoffeeScript's "class" keyword ... but you can easily have your library expose that as a helper function.

<comment><USER22> Come on Jeremy, this is so disingenuous.

> CoffeeScript semantics are just JavaScript semantics, which means that > CoffeeScript can seamlessly use any JavaScript library, and vice versa, > without any special effort needing to be made.

> The one feature that you might find yourself relying on in a project like > Tower.js is easy access to the prototypal inheritance found in > CoffeeScript's "class" keyword ... but you can easily have your library > expose that as a helper function.

Those two statement contradict each other. People who make libraries for CoffeeScript don't go to the trouble of writing a helper function. This doesn't. Batman.js doesn't.

So to consume this a JavaScript user needs to write (or use an existing) extends function. Not hard, but definitely qualifies as "special effort".

<comment><USER21> No, I'm actually trying to be completely ingenuous.

I agree with you that Tower and Batman.js should both have "extends" functions built-in (*Ahem: <http://backbonejs.org/#Model-extend>). It would be a line or two of code for them to add, and make it easier for folks that don't have other library or CS support for setting up prototype chains.

The point is that because CS classes are the same thing as JS prototypes + constructor functions, it all just works together ... in a way that fancier class systems built on top of JavaScript do not.

<comment><USER23> So I agree (for the most part) that using them together is not a problem, but I think there still is some justification for the "unwieldly" argument - <USER2> may or may not have been what was discussed at the bootcamp.

1\. Some people seem to be under the impression that since they're interoperable, it's fine if half your team is doing raw JavaScript and the other half is using CoffeeScript. At some point, one of the JavaScript authors is going to try to modify the generated JS, which will likely be checked in if there's no asset packaging (I've seen this in practice).

2\. The way that people design APIs in CoffeeScript and JavaScript is very different, because the things that are easy in CoffeeScript and easy in JavaScript are different. Namely, CoffeeScript libraries tend to leverage the OO capabilities in a way that makes them ugly to use in raw JS. For example, the `@field "title"` stuff would have to expand in a way that's not particularly obvious or concise.

Another example would be trying to use an API like CoffeeKup in JavaScript - the `->` is not visually distracting in CoffeeScript, but having `function() { }` everywhere in the JavaScript code completely destroys the concise nature of the API. In JavaScript, it might be more natural to implement it as an object literal as opposed to nested callbacks.

</comment></comment></comment></comment></comment></comment><comment><USER24> GitHub Repo - <https://github.com/viatropos/tower>

Source for towerjs.org (written with Tower.js) - <https://github.com/viatropos/towerjs.org>

</comment><comment><USER25> Is there any way to share models with the client and the server ?

I'm not sure a pure MVC (or a Model2) is the best way to architect node web applications. The config part looks great, I'll read that more carefully tonight.

</comment><comment><USER26> Unfortunate naming conflict... <http://towerjs.com/>

</comment><comment><USER27> I'm admittingly a little ignorant when it comes to node, but isn't making it more like Rails a step in the wrong direction?

<comment><USER18> Node isn't an application framework, it's an event-driven javascript-based server. This is totally an acceptable way to handle it, so long as it takes advantages of Node's event-based system.

</comment></comment><comment><USER28> Locomotive is another option writing MVC web applications in Node, using the familiar structure from Rails: <http://locomotivejs.org/>

It's strictly focused on the backend, and remains strongly view and database agnostic.

</comment><comment><USER29> I "like" how there are currently 96 comments in this thread and not even one touches the subject, discussing merits of tower.js.

<comment><USER30> I thought of the same as well, would really like some constructive discussion on the differences.

</comment></comment><comment><USER31> Another Rails-inspired Node framework built on Express: <http://railwayjs.com/>

<comment><USER32> Looks like it may have been abandoned. Last commit was 5 months ago. [https://github.com/anatoliychakkaev/railwayjs.com/commits/ma...](https://github.com/anatoliychakkaev/railwayjs.com/commits/master)

<comment><USER31> That is the repo for the project's website, not the prohject itself.

Here's the project repo: <https://github.com/1602/express-on-railway>

</comment></comment></comment><comment><USER33> This looks good. I've messed around with Railways <http://railwayjs.com/> but some parts are funky and the docs haven't been updated since they opened the project. Also looked at Matador <http://obvious.github.com/matador/> and actually was re-writing it in coffeescript to use CS' classes instead of the Klass plugin, but lacked docs. Zappa <http://zappajs.org/> is written CS but really isn't an MVC. This looks well documented and it's in CS which I like. +1

</comment><comment><USER34> I got really excited about this, thinking it was a Rails-style front-end framework. It's still really cool as a server-side framework, but I'm totally hankering for a full Rails stack in the browser.

I've used Backbone and played with Spine - I just can't help but feel as though they could go all the way. I wonder whether that's viable?

</comment><comment><USER35> I had a similar endeavor having it built on top of Express.js ecosystem: <https://github.com/umbrellacorporation/umbrella/>

</comment><comment><USER36> Why don't you put the link to the source code[1] on the website? I have to actually search it via google.

[1] <https://github.com/viatropos/tower>

<comment><USER17> Link is on the upper right of the page. 'Fork me on GitHub'.

</comment></comment><comment><USER37> This has turned into a debate on coffeescript. Would love to get more explanation from a Rails developer point of view about how the integrated javascript client/server model works.

</comment><comment><USER38> Geddy is another framework for node that is "rails-like" - the models work on the client side too. <http://geddyjs.org>

</comment><comment><USER39> I have an API in rails that I'd like to move to Node without having to re- write all the ActiveRecord code as SQL. Am I right to assume this is a good tool for that?

</comment><comment><USER40> Has anyone tried deploying a tower.js app to Nodester yet? Let me know if you need a hosting coupon - email@example.com

</comment><comment><USER41> Where/how do events fit within this framework? Couldn't find any explanation of it on the project page (or here...).

</comment><comment><USER42> i don't see why you should force someone to use coffeescript though

<comment><USER23> While I agree with some others here that calling it a JavaScript framework is a bit of a stretch, there are legitimate reasons to do this in coffeescript as opposed to javascript.

In particular, the Rails-y way of doing things requires particular concise classical OO abstractions that are difficult to provide in a pure prototypal JavaScript way without introducing your own class library (which there are far, far too many of).

For example, if you look at the definition of the App.User here: <http://towerjs.org/models>, trying to do the same kind of thing where you can quickly declare a class that extends a base class and adding things to it can become quite awkward.

You'd have to manually construct the prototype chain (or use the library- specific class DSL) and have to repeat the class name in order to call the "field" method there.

TL;DR Rails uses mixins and classical OO extensively, CoffeeScript facilitates this, JavaScript makes it difficult.

<comment><USER43> Thank you for taking the time to explain that, I hadn't even thought about it like that, the venom in some of the other responses to people who are skeptical of coffeescript is really alarming.

</comment></comment></comment><comment><USER44> Nice and finally a Node.js framework I will be able to understand.

</comment><comment><USER45> Title update:

Tower.coffee - CoffeeScript Framework ...

</comment><comment><USER46> This looks amazing.

</comment><comment><USER47> Looks interesting. I will download and have a look.

</comment><comment><USER48> moar rails? moar coffeescript?</comment>


Making a site that can handle #1 on Hacker News - <AUTHOR> http://blog.appraptor.com/ <comment><USER2> Your site apparently got ~2250 visits per day (so, less than two per minute) at the height of your "surge", and seems to consist of three pages (/, /about, and /open-source). Most people are only going to look at just /, so let's say 3000 pageviews. The day after was still seeing good amounts of traffic, so it wasn't some kind of momentary "all 3000 hit the site in the same minute" situation: it seems like a fairly benign decay. How could you possibly have been dealing with 287 concurrent users?

My website (saurik.com) is seriously written in JavaScript. I was doing this long before node was popular, and so it is designed "horribly sub-optimally": it is using Rhino, which is not known for speed. I use XSL/T as a templating engine to build the page layouts, which is also not known for speed. Every request is synchronously logged to a database. I get over 50k HTML pageviews a day, most for one recent article which I posted a few weeks ago: when I posted it, I was getting well over 3k pageviews per hour.

I do not do any caching: I generate each page dynamically every time it is accessed. I seriously dynamically generate the CSS every request (there are some variables). Even with 3k HTML pageviews per hour, that's less than one complex request per second. How does one even build a website that can't handle that load? That is what I'd seriously be interested in seeing: not "how do I handle being #1 on Hacker News", but "why is it that so many websites are unable to handle two requests per minute".

<comment><USER3> Surely there's an opportunity here. It's mind boggling how people are having performance issues here, but they are. It's an opportunity for someone to make some money and improve the internet, by fixing whatever tools they're using.

To amplify your comment, processors today process billions of instructions per second. Even if all 3000 pageviews _did_ hit within one minute, thats hundreds of millions of instructions available per pageview. His pages just aren't complex enough to require that many instructions to serve.

tahoecoder's image to "prove" his load indicates he had 287 visits within a 45 minute window. Allowing hundreds of _billions_ of instructions per page served. Please do give me a break.

At Quantcast we handle 800,000 HTTP requests per second, and process 30 petabytes a day, so it really is possible to handle actual high loads.

<comment><AUTHOR> Lots of people are misunderstanding that chartbeat figure. It's not 287 visits in a 45 minute window. These are visitors who are currently interacting with your site. Some are idle but most aren't.

<comment><USER2> Can you give us a more useful understanding of how many pageviews your site actually had? You only have three webpages. If we assume that for each visit the user visited all three of them and then further reloaded your home page twenty times, that's still fewer than one pageview per second.

As you had a spike to 282 concurrent visitors (four times your average), even under that unrealistic amount of reloading, that's less than four requests per second. (Again, really: one way to look at that figure is "in a 45 minute window"; I provide the broken-out math below to make it clearer.)

</comment></comment></comment></comment><comment><USER4> While the sentiment is clear, I had an uncached Wordpress site on shared hosting withstand #2 or #3 (I forget where exactly it peaked). HN isn't all that huge a traffic deliverer. It's just about the quality of that traffic.

<comment><USER5> > HN isn't all that huge a traffic deliverer. It's just about the quality of > that traffic.

what?

<comment><USER6> He means that the readership of HN is high value. Name recognition amongst the HN readership might reasonably be considered to increase your chances of getting a nicer job, a book deal, a Y Combinator spot, a freelance contract, an investment round etc etc.

</comment></comment></comment><comment><USER6> Without wanting to seem unnecessarily rude, it's not that hard to survive #1 at HN. I had a blog post submitted by someone else hit #1 for two days. It was worth about 25k visits. I've had other stuff do 100k visits in a day on the same system during a natural disaster; that little network is basically idling at what used to be vanity numbers (millions of views per month, guys, time to list on NASDAQ!)

If you're on Wordpress, install WP Supercache. That's 80% of the solution, right there. Install equivalent whole-page caching for any other framework or system and tell your HTTP server how to pick it up; that should leave you prepared for hundreds of RPS.

We're at the stage where people are posting the equivalent of "how I survived skipping lunch". It's not 1997 any more, tens of thousands of visits is a link from a moderately popular twitter account or a medium-size metropolitan newspaper.

I'm sorry to seem so uncharitable. I'm just not sure what value these posts add.

<comment><AUTHOR> A lot of people on HN are still learning things like this. I understand that a post like this doesn't add any value to someone like you who probably knows this stuff inside and out, but I'm grateful for posts that give me insight into new tools that can help me. This isn't just a community for people with 10 years of programming experience.

Should I not try to help out the community with blog posts about my experience? Should we just cater to the experts?

<comment><USER6> I feel like we're going to sail off into old/new user debate territory. "It's been done before" / "I'm new and so it's novel to me" etc etc.

I'm not sure what to tell you, except I fall squarely on the "old" side of that divide, having had to nurse Wordpress installations for nigh on 10 years now.

But every time -- _every_ time -- an uncached Wordpress blog is linked to and dies with the famously unhelpful "Error establishing a database connection", somebody pops up to mention WP Supercache and/or W3 Total Cache.

Actually, if I have a pet peeve, it's that non-terrible caching isn't part of the Wordpress core. Probably breaks on gawdawfulhost.com or something, god forbid that 99.999% of the internet be better off from core architectural improvements when we could be working on the fifteenth new admin redesign!!1!

Edit: I realise now that you weren't talking about Wordpress and thus, my own pet obsession is clearly revealed.

<comment><AUTHOR> Fair enough. I think we are all sick of hearing about WP Supercache.

My post was about middleman + s3 + cloudfront, however. I think this combination of tools isn't as well known and some people could benefit from knowing about them.

<comment><USER6> In my opinion (given my superficial understanding of the prior situation), your problem was Apache + mod_php. The default settings for that combination are to chew memory until the bad people go away.

Out of curiousity, why middleman when you're already using Jekyll/Octopress?

(My dog in the static site generator fight is Nanoc, fwiw).

<comment><AUTHOR> My main site, AppRaptor, isn't on octopress. Just this blog. I agree with you 100% that the problem was apache + mod_php. Nginx would have probably been better. I decided to try out this s3 + cloudfront solution instead, though. I'll take a look at nanoc. Thanks for the info.

<comment><USER6> Nanoc is hard to get used to but as far as I'm concerned it's a bucket filled with magic.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> You have no dynamic content and your website crash at 200~ concurrent users?

You're doing everything wrong then. I had a website going through 6000 concurrent users sometimes and which was hosted on a very cheap mutualised server! I didn't realize so many people had no idea about simple caching techniques.

<comment><AUTHOR> The issue is a static site shouldn't even need to use caching techniques.

When I'm building an app I will use memcached with redis. But this post was just about getting a host environment/workflow for situations in which you want the ease of development that server side languages provide (shared code includes, etc.) and not have to deal with things like caching.

<comment><USER8> This is your #1 most hilarious comment.

<comment><USER7> I guess that's what happens when people learn a lot of technologies in school and don't really know when to use them.

</comment></comment></comment></comment><comment><USER9> A lot of people commented on the original submission in which he asked for feedback on his site and ... nothing's improved, not even the grammatical errors!

The only thing that's changed is the site's migration to S3 from Linode, and the addition of Cloudfront!

<comment><AUTHOR> I beg to differ. I changed a lot of stuff which was recommended by HN. What errors do you see? The main thing I didn't change was I kept the open source stuff highlighted because the vast majority of people visiting the site will want to find those resources.

<comment><USER9> "Get Perks at Local Restaurants & Bars" shouldn't be title cased. It should be "early beta" not "early Beta". The ellipsis after the "etc" should be a period. There are many others too.

There were a ton of comments that were incredibly constructive and valid. I appreciate it's your site and you're not beholden to anybody, but almost all the criticism that was given was ignored.

Also, you can edit comments on HN rather than leaving a second as an afterthought.

<comment><USER10> I just saw the webpage for the first time. I agree with you. The writing is very poor on this webpage. Many sentences were awkwardly worded.

>Perks include offerings like free appetizers, complimentary drinks and more.

This is one of the awkward sentences that I found hard to comprehend at first..

And "early beta" is still not changed..

</comment></comment></comment></comment><comment><USER11> Actually you can combine middleman and dynamic pages to get fast static pages and still keep a few dynamic endpoints. We did this on our website <http://hull.io> for email registration, and blogged about it here : [http://blog.hull.io/post/45912703356/the-perfect-almost- stat...](http://blog.hull.io/post/45912703356/the-perfect-almost-static-site- setup) \- when 90% of your users only consume static content, you greatly benefit from this.

</comment><comment><USER12> If you're not super keen on spending time on this yourself and don't want to give up any convenience of a fully dynamic site, that's part of what we built Webpop (<http://www.webpop.com>) for...

Of course tweaking web servers and playing with your stack can be fun, but if you just want to build your site and let someone else handle the back-end performance and scaling issues, then there are solutions for that.

</comment><comment><USER13> Another method, if you decide against a statically generated site, is microcaching [1] with nginx. Your backend only needs to render the page once each second and subsequent requests see the cached version. You should be able to easily handle 2000 req/s using this method.

[1] [http://fennb.com/microcaching-speed-your-app-up-250x-with- no...](http://fennb.com/microcaching-speed-your-app-up-250x-with-no-n)

</comment><comment><USER14> Yep, static is the way to go if that's all you need. I didn't even hit #1 on HN but got 5,000+ page views in a few hours. All on a 128MB RAM VPS:<http://linuxterm.com/static-sites-for-fun-and-savings.html>

<comment><USER15> I believe I have touched #1, garnering 30,000+ views in a day. It was a static site on an Amazon Micro instance served with nginx, no hiccups. I have not minified any of my assets either.

</comment></comment><comment><USER16> I dont understand what the problem is with using a slow backend even for static content (just because it is easier to program). Just use varnish to cache the pages and you're good, right? Or am I missing something?

</comment><comment><USER17> If only there was a way for young adults to learn how to be respectful and understand "time and place" for various behaviors. Oh yeah, there is, _parenting_.

</comment><comment><USER18> Google App Engine also provides instantly (almost infinitely) scalable hosting, and super easy static content deployment.

</comment><comment><USER19> So, it's down for me right now. Back to square one?

EDIT: it's back, one or two refreshes later.

<comment><AUTHOR> Must be your internet. My server load time is hanging steady at 455 ms.

</comment></comment><comment><USER20> all he had to do was host on nginx.</comment>


How the World Got Better in 2019, in Charts - <AUTHOR> https://time.com/5754155/global-advances-2019/?linkId=80046780 <comment><USER2> At COP25 (December 2019) the W.H.O was still very concerned that not enough was being done to reduce/prevent air pollution's deadly effects ...

[https://www.who.int/news-room/detail/03-12-2019-pollution- po...](https://www.who.int/news-room/detail/03-12-2019-pollution-pods-at- cop25-show-climate-change-and-air-pollution-are-two-sides-of-the-same-coin)</comment>


We Don't Sell Saddles Here (2014) - <AUTHOR> https://medium.com/@stewart/we-dont-sell-saddles-here-4c59524d650d <comment><USER2> Selling results, not tools - that reminds me a lot of what patio11 has said over the years. And, clearly, it's been effective. Slack is an extremely popular and common tool today. :)

But, it's been hard for me as a nerd to care about results - my specialty and personality is to _deeply care_ about the tools and how they are excellent; results are largely less interesting. I've adapted and learned to care, but it was not _natural_. I think that's a critical distinction between effective sales and ineffective sales.

<comment><USER3> that's an interesting perspective.

As a fellow programmer myself, I care more about the results than the tools, but I have worked with many programmers who, like you, care more about tools than the results.

As humans, aren't we all conditioned to care more about the result? E.g. I eat pasta, without spending time tinkering with pasta-making tools.

Can you help me understand what past experiences made you deeply care about the tools, while finding the results largely less interesting?

Because I want to understand this perspective more, so I can practice better empathy with my co-workers and better put myself in their shoes. Thanks!

<comment><USER2> Results are contingent on tools. Further, results are so profoundly contingent on tools and the process of the tools, that without deeply understanding tools, often the result is simply misunderstood or mishandled.

This is particularly striking when commenting about business metrics and how they are generated. Not understanding the query and what it doesn't say often leads to misunderstanding.

In a certain sense, while you may be conditioned to care more about the result, I care more about the art and craft, because that defines the result and the backpropagation of information into the tools.

Let me explain more: Slack defines an experience. That is the tool. The result is consequential of the tool. Change the tool, change the result. One compiler produces _one_ output, another produces a _different_ output, more readable. Change the tool, change the result. The locus of interest and control is the tool - although the zoomed out reality is the result is the relevant bit to the user, mostly.

Joel talks about leaky abstractions: tools are abstractions; understanding the tool takes the cover off and lets you create new abstractions and understand without leaks. Understanding tools gives you the ability to recombine and build the new tools - one begins to realize the independent variable is the tool.

And again - lack of understanding produces embarrassment and inability to properly use the tool - understanding gives lucid and clear capability.

With respect to your remark about pasta: I would, frankly, be happier to make my own pasta if I had the time. Same goes for the other food I eat.

I paint for a hobby; I have paintmaking supplies and will, in time, as I use up my tubes, transition over to making the paint that I paint with. I am learning how to make brushes. I often prepare the wood for painting upon. In time I will prepare canvases and likely I will learn the process of pressing and refining flaxseed into linseed oil.

Time and experience have persuaded me not to talk about the tools and so forth to the non-nerd crowd such as, e.g., The Business, because it's not considered useful to them.

Hope that helps.

<comment><USER4> Great comment. What you are talking about though is useful levels of abstraction.

When you are talking to 'the business' I find it helpful to remember you are their 'tool'. How you do what you do, or what you use to do it may be an unhelpful abstraction.

To use your painting analogy, it is like talking to the painter about the soil in which trees grow, which produce the wood used for the brushes. While the binding of the brushes, the making of the substrate or the production of paint may be useful, correct mulching may well be a step too far.

<comment><USER2> > When you are talking to 'the business' I find it helpful to remember you are > their 'tool'. How you do what you do, or what you use to do it may be an > unhelpful abstraction.

Oh, I am aware. I don't resent it - I've grown past that (I was, once - I was more dogmatic nerd then). It's rather that there's often a mismatch between the technical ground reality and the business reality - focusing on bridging that gap would be helpful for all involved. Part of that is my role, part of that is the role of the business. :)

</comment></comment></comment></comment></comment><comment><USER5> IMHO typical startup-culture memo trying to pump morale before major release.

I always translated this type of memos as "please do more spending less money"

<comment><USER6> On the contrary it gives insight into something I'd always wondered about. How did a chat app get such big mind share - its clear the strategy was deliberate, and that it worked.</comment></comment>


Ask HN: Is OpenID dead? - <AUTHOR>

Between 1-2% of our users use OpenID. That's half of what it was a year ago and the drop has been pretty consistent even when we control for demographics. When we look at slightly-tech-savvy or mainstream demographics usage is almost zero.
What are other people seeing? What about with other options like Facebook Connect? Was there anything you were able to do to boost usage?
Here's the data I pulled from CrowdVine on this: http://blog.crowdvine.com/2009/04/02/declining-openid-usage/ <comment><USER2> I've used OpenID to access StackOverflow, and it's a somewhat disconcerting process, involving visiting another web-site, which I do NOT want to think about, since I want to access the visited site.

On this evidence, as Joe User, OpenID simply has too many moving parts and will fail.

I'd be interested in what the SO experience is. Is it even possible to get on that website without OpenID?

</comment><comment><USER3> For your website, security is unimportant, so the user can just use the password "password" that they use for all other sites where the password isn't important. Logging into every site as email@example.com/<generic password> is noticably more convenient than logging in with OpenID.

Logging in with a username and password is faster than logging in with an OpenID, because the OpenID protocol requires several HTTP requests per authentication, whereas a usernmae/password only requires one.

</comment><comment><USER4> OpenID is a great idea, but the execution is off. For one, there's too many providers, so I have to remember a weird URL just to login (myvidoop.com? really?). The whole process is inherently awkward.

On the other hand, using your Facebook, Google, Twitter, or Yahoo login is easy and familiar. These services don't have the openness we want, but if the goal is to increase engagement I think its a net win.

</comment><comment><USER5> I expect OpenID usage to increase as sites adopt usable UIs for it, but I am an optimist.

<comment><AUTHOR> And what constitutes a usable UI? Have you ever seen any stats on usage jumps between one UI and the next?

<comment><USER5> Something like <https://rpxnow.com/>

<comment><AUTHOR> How do you know it's more usable? If you asked me to bet, I'd agree with you that RPX would improve our adoption rate. But I also would have bet that expanding our support to include OpenID 2.0 would have helped as well. It didn't. I put this out there partially to see if anyone else was looking at the hard numbers.

</comment></comment></comment></comment><comment><USER6> Logging in with OpenID on StackOverflow is fairly easy for me since I've always got my gmail account opened up in another tab. I just click the little Google provider button and I'm logged in, no typing involved.</comment>


Snapchat Releases First Hardware Product "Spectacle" Destined to Fail - <AUTHOR> http://nerdsmagazine.com/snapchat-releases-spectacle-first-hardware-product-destined-to-fail/ <comment><USER2> Snapchat has a winner here. I'm not the target audience since I don't use snapchat. But I see how these glasses could be seen everywhere. They have style plus they are using models to present them. They are taking a good approach to marketing. They're missing an opportunity by not making it a product with long term prospects.

Many are comparing them to google glass but glass was much more expensive, they had no defined purpose, plus they looked goofy on people. One of the first shots we all saw was sergey brin with them on. He's a very presentable guy but he's not the one you choose to present your new world changing gadget to the selfie generation.</comment>


Show HN: Search and filter the web with attributes you've never seen before - <AUTHOR> https://millionshort.com/ <comment><USER2> I can see the filters being used for research/academic use. Well executed!</comment>


Widow tries for months to get money from dead husband's PayPal account - <AUTHOR> https://www.cbc.ca/news/canada/british-columbia/i-m-at-my-wits-end-widow-tries-for-months-to-get-money-from-dead-husband-s-paypal-account-1.5312460 <comment><USER2> I'm not dead but PayPal blocked my ability to transfer my account balance to my bank account. Ultimately I only got my money out by transferring money to another PayPal account and pulling it out via bank transfer -- after which __that __account was suspended. I 've stopped using PayPal and am switching over to Stripe for all online merchant activity.

</comment><comment><USER3> I wish more would stop using Paypal.

paypalsucks.com

<comment><USER2> How about a Venmo alternative since Venmo is owned by PayPal?

<comment><USER3> Think it depends on your use case. For web stuff, I've used Stripe. For personal stuff I used crypto, or Cash App.</comment></comment></comment>


Portrait credit cards – because that's how they're used today - <AUTHOR> https://www.starlingbank.com/blog/new-bank-card-design/ <comment><USER2> Its an interesting change as this is how I tap most of the time nowadays. I like the card details hidden on the other side so others can't oversee it.</comment>


Noam Chomksy shares his thoughts on the meaning of love - <AUTHOR> http://www.thisisbrandx.com/2010/03/big-think-noam-chomksy-on-love.html

<comment><USER2> Here is a different view of love:

"To love is to value. Only a rationally selfish man, a man of self-esteem, is capable of love — because he is the only man capable of holding firm, consistent, uncompromising, unbetrayed values. The man who does not value himself, cannot value anything or anyone."

\---

"One gains a profoundly personal, selfish joy from the mere existence of the person one loves. It is one's own personal, selfish happiness that one seeks, earns and derives from love.

A "selfless," "disinterested" love is a contradiction in terms: it means that one is indifferent to that which one values.

Concern for the welfare of those one loves is a rational part of one's selfish interests. If a man who is passionately in love with his wife spends a fortune to cure her of a dangerous illness, it would be absurd to claim that he does it as a "sacrifice" for her sake, not his own, and that it makes no difference to him, personally and selfishly, whether she lives or dies."

"[Selfless love] would have to mean that you derive no personal pleasure or happiness from the company and the existence of the person you love, and that you are motivated only by self-sacrificial pity for that person's need of you. I don't have to point out to you that no one would be flattered by, nor would accept, a concept of that kind. Love is not self-sacrifice, but the most profound assertion of your own needs and values. It is for your own happiness that you need the person you love, and that is the greatest compliment, the greatest tribute you can pay to that person."

I'll leave it to you to google around if you want to figure out who I'm quoting (assuming you can't tell already).

</comment><comment><USER3> the actual source: <http://bigthink.com/noamchomsky> (with more of his videos)</comment>


Are there any Y Combinator Companies' Facebook Applications apart from Socialmoth? - <AUTHOR>

<comment><AUTHOR> Social Picks: <http://apps.facebook.com/socialpicks/>

Summer 2007 yc startup

</comment><comment><AUTHOR> iminlikewithyou: <http://apps.facebook.com/iminlikewithyou/>

Found another one. Yet to investigate its functionality.

</comment><comment><AUTHOR> socialmoth: <http://apps.facebook.com/socialmoth/> \- Like the integration idea but it looks a bit rushed.

<comment><USER2> you better believe it : )

scaling the first week was hell. now i'm doing more features.

</comment></comment><comment><USER3> and scribd too

<comment><AUTHOR> i can't see it

<comment><USER4> [http://www.facebook.com/apps/application.php?id=2349954053&b;](http://www.facebook.com/apps/application.php?id=2349954053&b)

<comment><AUTHOR> nice, though there application page looks a bit cluttered. Seems like they are loosing branding by calling themselves Docs instead of scribd, but I see why they do it.

</comment></comment></comment></comment><comment><USER2> thanks for the mention</comment>


Ask HN: What's the difference between a cool research project and a startup? - <AUTHOR>

In academia I see many seemingly-useful research papers and projects where I think, "Damn, that could be pretty valuable! Why aren't they doing a startup?" It seems like there is much more "raw value" (if that makes sense) in these research projects than what others have tried making into startups (insert redundant "X for Y" or clone app).<p>Thoughts? <comment><USER2> Mine isn't from academia specifically. It was along the same vein though. I wanted to figure out how different components worked and ended up making my own full stack NLP platform exploring every topic (question answering, named entity recognition, summarization,...). Within about nine months or so, I got it done enough (fully implemented, maybe not perfect like a full team of engineers could do) to build things on top of it. However, it's accurate enough relative to competing or similar products.

I decided to think of ways of making money on it, and just built something on top of it, now I have customers and all that fun stuff.

A research project and a startup (software obviously) both have code parts to them.

It really comes down to the problems you're attempting to solve.

In my case, I love the position I'm in now since I have the ability to make a lot of different kinds of products by just adding a web app in front of a rest API.

As long as it solves a particular need, customers don't care how or even when you built it as long as it does what's advertised.

Research projects are how startups can start though. That's why I think they say get out there and just build something interesting to you (in this case a research project) and see where it takes you.

</comment><comment><USER3> At risk of simplifying too much: they fulfill very different goals, acquiring public knowledge vs getting rich.

You might be forgiven :-) for thinking that an academic research project can be identified with its publications and declared outcomes, because that's what is usually presented.

At its best, an academic research project is an exploration of some narrow corner of the space of ideas, perhaps with no immediate application. Depending on the area, its publications represent both improvements and dead ends. (At its worst it's just a load of exaggerations and distortions of the truth designed to fool an already self-deceived funding body into providing salaries, a travel budget and equipment. Most projects strike a balance).

On the other hand, startup=growth [1].

[1] [http://www.paulgraham.com/growth.html](http://www.paulgraham.com/growth.html)

</comment><comment><USER4> I think it has more to do with the intent behind the project.

Startups are businesses, and the intent behind them is typically to make money.

Research projects don't intend to make money. Or, they do, but as a fairly low priority.

It seems to me that research projects typically come across as "cooler" or more interesting because they don't exist to earn money, they exist to see if something cool could be done. To me, it seems that the reason a large number of startups are uninteresting is because they're attempting to piggyback on existing success (hence the X for Y stuff).

</comment><comment><USER5> A useful idea from academia can be used to create a startup, but a startup is more than idea. The key thing that is there is that it must have growth. From Steve Blank: "A startup is a temporary organization in search of a scalable, repeatable, profitable business model." Paul Graham also has the essay [http://www.paulgraham.com/growth.html](http://www.paulgraham.com/growth.html) where growth is again emphasized.

</comment><comment><USER6> > Ask HN: What's the difference between a cool research project and a startup?

The outcome. If the outcome is a success, that was the plan all along. If the startup fizzles out, it was really an interesting research project.

</comment><comment><USER7> In 'Academia', researchers may not actually own the intellectual property resulting from their research.</comment>