Ask HN: How do you find clients? - <AUTHOR> Hi, I'm thinking about doing some freelance web design and marketing for a bit of extra cash.<p>Aside from cold calls what are some good ways to obtain clients? <comment><USER3> A hack that worked for me when I was freelancing, was to put my resume on various job boards as if I were looking for full-time employment.

When companies called me to set up interviews, I said (on the phone) "Turns out I decided I'm going to freelance. What was the project you wanted to interview me for? Perhaps I can help with that, as a freelancer."

I got a lot of business that way and it pretty much started my career.

<comment><USER4> Tried that for a while when attempting to do the same thing, and it would effectively kill their interest. Perhaps it's market or location dependant?

</comment></comment><comment><USER5> Word of mouth is the absolute best way to get clients bar none. That's how we get 90% of our work for <http://consultutah.com>

Of the rest, 9% is from ads places in local newspapers and 1% from random web traffic.

Getting started is the hardest part to getting good word of mouth referrals. You need to talk to everyone about your business. Tell your friends about your freelance work. Go to job fairs and talk with prospective employers (look for the smaller places where the owner rather than an hr rep is there). Find where business people congregate and talk to them.

I had to learn the hard way that the only way to get work was to step completely out of my comfort zone and start talking to people.

Good luck!

<comment><USER3> This is good advice. Make sure all of your friends and parents' friends and everyone else in your life knows what you do. Chances are, one of them knows someone who needs you.

</comment></comment><comment><USER6> The best way I've found to get freelance jobs is to tell people that yes you are unemployed but you're not interested in the kind of work they want done, even though you could do it in your sleep. Then when they push back, quote them an absolutely ridiculously high rate that they wouldn't possibly accept.

Then, for some reason I haven't quite fathomed yet, they often say "yeah, that's fine. See you this afternoon."

This is why, yesterday, I was paid $1000 to get someone's new laptop talking to their printer and copy some files off the hard drive of a dead PC (which in reality just had one dead stick of RAM and a family of cockroaches to whom I served an eviction notice.)

Ultimately, this is just the time value of money + "I can't be bothered learning how to do this trivial task because hopefully I'll never have to do it again." + "If I just pay this guy what he wants it'll be done today, and I can quickly forget about what it cost."

This probably only works on rich people, and because I'm not one myself it seems pretty weird. If I was rich enough, paying $1000 to not be annoyed any more probably would make sense.

<comment><USER7> It's not necessarily just 'rich' people/clients, but the effect is more easily seen there. What you're really talking about is 'value' pricing. Figure out what value something has to someone, price based on that value, not on the value or cost of your time, and see what happens.

I did a job for someone that took 20 minutes (including time to invoice) and I sent an invoice for $200. My understanding was that they'd had a couple people trying to fix the issue for an entire day before that, and they had a TV deadline (ads going out that night with a link to a broken website). $200 was nothing compared to the time cost of adding more people who couldn't find the problem, or having their client paying to send people to a broken site. The fact that it took me 20 minutes didn't factor in to their thinking when paying the invoice.

<comment><USER6> Yeah, it is 'value' pricing, but I think key to its success is both parties having some understanding of the concept. If the vendor prices by value, and the payee doesn't grok the concept, they'll likely think it too high. In my experience, rich people tend to have a better appreciation of this.

</comment></comment></comment><comment><USER8> Build a portfolio site that houses your work. If you don't have a portfolio, make some sites for your friends for free or cheap to get started. Then go to networking events, or find businesses that do not have websites, or who have really shitty websites. Unfortunately, knowing the person makes it a lot easier than going cold, but cold also works. If you want to do something for a local business, find one with a Flash website or no website and approach them in person if possible. This works a lot better than cold calling or cold emailing, but not to say that those don't work. I send 500+ emails some days and if you hit that volume you are guaranteed at least some responses...

</comment><comment><USER9> Give away some kind of free software that is useful and production-quality. That something should also be related to a larger, growing trend. You'll generally get higher quality clients, a non-low rate, and a more fun project (since it's centered on using a tool that you built). And you also don't have to make cold calls--the software should stand on its own and send the leads to you.

I've learned this from my own experience writing/maintaining various open source libraries centered on using Parse with Ruby. The rapid growth of Parse has caused at least a handful of their thousands of developers to want to use it with Ruby (either for a Rails app, or a native iOS app with RubyMotion). Of those people, at least a handful have contacted me looking for a freelancer. Of those people, some have become paying clients.

<comment><USER10> I can confirm this. I wrote quite a bit of open-source software that has attracted thousands of users over the years and now my clients find me instead of the other way around.

You need to do more than just write the software though -- you need to be active in discussions where people are looking for software like yours, because that's often how people end up arriving at your software. Ideally the software you're building also supports some other software with a decent user base rather than trying to do something completely independent; that way you have a pre-established target user base who may already be looking for your solution.

Additionally, I started out doing contracted development work, and now I mostly do consulting. It's less stress and easier to predict how long it will take. And I get to spend my development time on my own projects.

A final note: if you contribute to other open-source projects, sometimes you can get in touch with the primary maintainer and have that person forward you work they don't have time to do.

<comment><USER11> What do you do for consulting and how did you transition into it?

<comment><USER10> There are a lot of different situations. Some common ones:

1) When people come to me and say "I need someone to build X for me," I usually say "I can help you make sure X gets done right." If the person contacting me isn't especially technical, that means I remove the weight from their shoulders of verifying that they actually got what they paid for when they hire another freelancer/contractor to do the job.

2) Sometimes people already have devs either hired internally or managed externally, and they're having trouble and just need someone to come in and tell them how to get back on track. This might involve some code but it wouldn't actually be my job to write the code, just more of a training thing / someone to call.

3) Sometimes startups with non-technical founders in particular just need guidance on what they should actually be doing with technology. They don't know how it could improve their business, but they do know that they like what my software says it can do, and they're not sure what to do next. Usually these people are trying to compensate for a lack of a technical co-founder.

4) A lot of the time the initial email to me isn't looking for a consultant, and the business may not even have considered the idea; but sometimes especially larger institutions know that they want a consultant with intimate knowledge of the software they're working with. You can't get that by hiring a consulting firm.

Transitioning was easy -- I just started telling people I would do consulting instead of development work when they contacted me. I had intentionally not take development work that involved maintenance agreements for some time (I rarely built complete sites; I just built components or additions to my own open-source software). It also helped that I had spent a lot of time meeting with entrepreneurs and hearing about the businesses of people who had previously hired me. But there is a lot to know about consulting just like there is a lot to know about development and it takes some research and experimenting to deliver good experiences.

</comment></comment></comment></comment><comment><USER12> I was surfing on StumbleUpon the other day and I ended up on FreelanceSwitch. They posted an article that might be of interest to you. "The Secret to Landing Clients Nearly 100% of the Time" and its really good. You should give it a try. I personalize the method to fit me and it worked great so far. Didn't work 100% of the time but pretty close. Its where the "Nearly in the title comes in" it depend on your selling skill but I am sure you will be fine ;-)

Here the link to it: [http://www.stumbleupon.com/su/95nDR8/:IPAD5_eU:aOVZRh4+/free...](http://www.stumbleupon.com/su/95nDR8/:IPAD5_eU:aOVZRh4+/freelanceswitch.com/finding/the- secret-to-landing-clients-nearly-100-of-the-time/)

Hope it helps

</comment><comment><USER13> Cold calls rarely work -- unless you are as good at selling (yourself) as you are as a web designer. That's a rare combination.

Word of mouth is the most powerful way to get business, of course. So the first step is to let the people you know know that you're available. Tell the people who might need your skills that you have them; if they don't need you, they might know someone who does. (This is a good use for LinkedIn.)

Have an elevator pitch ready that summarizes your tech specialties (e.g. HTML5, Dojo), business expertise ("have created several websites for realtors"), and a sense of the best match that hints at your rate ("affordable for small businesses"). Have a web portfolio ready. Update your LinkedIn page.

Depending on how much "a bit of extra cash" you can get started with sites like elance.com but my sense is that the money isn't all that great. (That perception might be inaccurate.) If all you're looking for is "a little extra" and an opportunity to expand your skills, it might still be a good idea.

<comment><USER14> I am a huge believer in the word of mouth method. I've been doing web design and programming for over 10 years and have not once cold called or advertised my services.

I think there are two important aspects of "word of mouth" however. First, is you have to get the word out. Don't be shy about telling family, friends, colleagues, people you meet in a bar, etc. about what you do. Depending on your audience, be prepared to "present" your skills in an appropriate way. For people who may not be your direct client but will be acting as the courrier of your message, keep it simple – you probably won't get the business because of what you say to them but because of how they know you out of context from business.

The second important part is to give your clients a great service experience. You don't have to be the best at what you do as long as you find a way to make your clients happy. Clients can then speak to both your product and your service. Client referrals are over 80% of my new business.

<comment><USER8> Word of mouth is definitely the best way to go about it. I have also had success by going through friends who work at smaller digital agencies and PR firms. Places like that sometimes lack technical people, but they have a portfolio of clients who may be in need of web work. They basically refer the job to you or you work as a contractor under them.

</comment></comment></comment><comment><USER15> If you are willing to work for less than stellar rates, I have found work through oDesk and Rent-A-Coder (now vWorker). If you live in the US and have kids or want to be comfortable, its going to be really hard to make enough money on those sites. But if you are like me and are just trying to get by, you can find work that pays enough to live on on those sites. If you live in a place with a significantly lower cost of living, I would definitely take advantage of sites like that without hesitating.

What I do is I find the rare project post that contains an actual specification of some sort which doesn't seem completely ludicrous and is something that I can make a fair start on within 1-3 days of work. I build out a prototype hitting on a few of the major technical aspects of that spec. A significant portion of the time I win the bid after sending them a link to the prototype or a video of it in action.

Another place I found a client was on reddit. Someone posted a job as an ad at the top of the page. It didn't have a real spec but it did hint at some specific technical aspect of the project, so I built a quick prototype based on a related open source system. Then I told them that I wasn't interested in a regular job but rather wanted to work in a freelance capacity (because that is what I wanted).

</comment><comment><USER16> So once you have got a good portfolio, make sure that you do build your personal website. It took me a weekend to develop my own ( <http://akshayagarwal.in> ) and the rewards have been excellent because any potential client would want to have a look at what you have done already and when he sees that you have a proven record of awesomeness, the deal is yours! Also, make sure to maintain a decent and updated LinkedIn profile because thats where I get a good amount of leads. You should also have some cool sideprojects open sourced on Github, they dont need to be big, they can be just some minor hack that you did over a weekend but it helps you demonstrate your love for programming and technology. Lastly, network, network, network, its the biggest investment you will ever make in your business.

</comment><comment><USER17> Don't avoid cold calls. I started doing web development for myself almost 3 years ago and I was able to support myself and then was picked up by a much larger tech company in Chicago. I work at both now and this is how I made it:

Did one free job for a local small business. I sought them out. I just called, told them honestly that I needed to start a portfolio and offered them a free site. I did it quick, on Wordpress and used the experience to gauge how much time and effort a typical site would take and I based my first fees off this.

I wrote down names of businesses around town that I came across then looked to see if they had a website. Amy time I saw an awful website I'd contact the place and sell myself. At this point my rates were so low they might as well have been free and I bagged a few clients.

After I got about 4 sites under my belt and on my portfolio I raised prices, offered web app development and marketing and then joined a local group of business owners that met for lunch weekly. I made connections there and at various networking events held by local chambers around the Chicago suburbs.

Through these connections I got a few more clients. Once I got to job six or seven I tripled my rates and the strangest thing happened. I got less leads but the majority of the leads that came to me we're eager to close and easier to close. I was working less to close deals and those deals were worth three times as much as before.

I then slowed way down on reaching out to prospective clients as I had a steady stream of them contacting me first. The last group I contacted was a new non-profit in town whose cause was something I related to. They paid for my services and asked me to join their board of directors after I finished their (now "our") site.

Through that I made connections in the non-profit sector, state and local government, and with lots of people in the medical field.

I bumped up prices a bit more and saw an opportunity. Until then my market was anyone who wanted a website. Even though I weeded out a lot of the crappy clients by increasing my price I still got a lot of awful people to deal with. So I then focused in on non-profits, government, and social services (which was close to what all the connections I made in the medical field were into).

I'm three years in, work for an awesome and growing company, and my own freelance work is booming. I make a minimum of $2k for a run of the mill business website.

Things to note: throughout that time I used AdWords (about $400 worth of Google's free gift cards in total), I had a website from day 1, and I forced myself into lots and lots of social situations that were awkward for me. I also made sure I was on Yelp, Google Places/Maps, and every business and/or web design directory I could find.

It's important to know your market too. Where I am, even a halfway decent designer can look like a genius because all the local design firms create sites that look like they came straight out of 1997 GeoCities. I've had multiple clients turn to me after being pitched by them. I'm not a great designer either. I'm so-so. You can see for yourself how truly unimpressive I am at <https://chooseclever.com>. I'm not awful but I'm not above average by any means. Is your competition great? If so then do you compete on price or quality?

One thing I've learned along the way is that most everything you read about clients in different web design blogs is true. Same with pricing. I didn't listen and had to learn the hard way.

<comment><USER18> Just giving my honest opinion, but those "so-so" websites look like websites from the mid to late 90s.

<comment><USER17> Thanks for trolling by.

<comment><USER18> Your portfolio website itself is nice, but not so much for some of the clients. I don't see how this is trolling. I guess, maybe because it doesn't align with your opinion? Honestly, this looks really amateur to me: <http://billpatrianakos.me/img/portfolio/full/ydt.png>

But nevertheless, you are making money with your business so that's awesome.

</comment></comment></comment></comment><comment><USER19> Here's what i did to build <http://www.cloudshuffle.com> from a single dev(me) to a team of over 6 devs(+ a designer) in various countries. Also, from building social network clones(for $200) to building proper webapps for well known startups and companies like Compete, Hubspot.

* Sign up for all freelancer Marketplaces: Elance, Odesk, Guru, Freelancer, RentACoder.

* Sign up for RSS feeds for jobs(full time/freelance) in your domain.

* Start bidding, sending out emails to all of the above that apply.

* You're bidding against devs from 3rd world countries(so you will have to price somewhere in the median atleast until you get your first decent folio piece done)

* Also it doesn't matter if your request doesn't exactly apply. Don't be self-selective. Also even if you don't expect to get that job, apply still. Get your name out.

* Be very communicative, friendly and more open than a simple 'Here's my folio' etc. You're trying to sell yourself, so figure out what the client want, customize your pitch. This part will take a bit of hit and trial on your end to figure out how to get the first client reply. If your post looks like others, then you won't get one.

* Work on the side on your own project, something that's production worthy and you can showcase if the above steps haven't worked till then.

* Reply to posts on HN, Ask HN like Who's hiring + Who's hiring a freelancer. Even add yourself to HN contractor list and anything similar you see elswhere.

* Market, Market, Market every chance you get. I used to spend atleast 3-4 hrs initially just sifting through job posts, replying, emailing everyday.

* Remember to raise your prices sooner than you think.

* Recently i've been trying out Google adwords, which haven't really led to a lot of hits. But i've been getting like 1 really good query for like 100 clicks. For the average amount i make per invoice, that ad costs are very minor even at the ridiculous CPCs to hit the front page.

* A lot of people mention word-of-mouth here. This is really the best way. For every satisfied client you're essentially expanding your network exponentially and getting in touch with people you would never have come across. But initially since you might not have a portfolio, it will be difficult to get work this way. Also until you're able to price your work higher than average, you won't get the right kind of clients. And without the right clients you won't get paid higher. So it's a vicious cycle you need to get out of by piling up showcase work as soon as possible.

* With lower rates it will be difficult to sustain work, since you would have to take on more work before the current one is over. Hence your focus suffers and work quality too. So you're hampering your prices, word-of-mouth network further if you take on work and underdeliver. I've been guilty of doing this(probably still am).

* So as soon as you get too much work to handle, double your rates.

PS: I'm one of the third world dev that people on HN are very fond of :-)

PS2: Since i posted the link to my site <http://www.cloudshuffle.com> at the top of this post. So far i've gotten 51 visitors in 20 minutes. Cheeky i know! but it was on-purpose to prove my point about marketing yourself when you get a chance.

PS3: Also a weird point i noticed. Almost 95% of the traffic so far is European, and not American. That's completely different from Who's hiring/freelancer thread trend i've been seeing for the past 6+ months.

<comment><USER20> When bidding, you don't need to go below everyone else - I go above every single time, and also explain to potential clients why I'm the best choice (top quality, deliver on time). Of course you need some kind of portfolio to back up your statements. And deliver the promised quality.

This approach also has a beneficial side-effect. Cheap clients deny the bid. Usually these clients turn out to be the most demanding ones with little understanding of scope or appreciation of your work.

<comment><USER21> Does anyone ever game the system by posting with 2 accounts: one with a really high bid and a lower one, to help the customer 'pick you'? I'm not freelancing nor have ever used these sites, but I'm curious how above-board they are.

<comment><USER19> Don't think that'll help much or is the right kind of strategy. Firstly you have a better chance trying to showcase your portfolio. If you don't have that yet, then it doesn't warrant the higher rate and you might anyways get rejected on the lower end. If you have a large enough folio to split into two, then why not put them into one compelling bid.

IMHO one's better off spending time building a few simple apps and communicating your worth to the client than go blackhat from the start.

</comment></comment></comment></comment><comment><USER7> networking and word of mouth - both take longer, but will have longer term results. I made a couple connections in 2006/2007 that I can directly attribute $200k in income to, because of their word of mouth referrals. That came just from local meetups and such.

There's plenty of people I've met which _haven't_ directly contributed to my bottom line, but to try to look at everyone as a potential $ is a wrong approach. I enjoy trying to find referrals for other people I meet, and I think that's come back to me a few times (unexpectedly, but not that surprising, perhaps).

Couple other random thoughts:

"Selling the Invisible" (beckwith?) - useful to read. Not specifically tech- oriented, but will get you in the right frame of mind.

"Million Dollar Consulting" (weiss?) - may give you a different perspective on freelance consulting.

Contact local design shops to see if they need an extra pair of hands on call.

Put up a portfolio website with a phone number. Then answer the phone if someone calls.

gentle yet shameless plug: <http://indieconf.com> is being held again this year to cover precisely these sorts of topics - how to get clients, how to not get ripped off, etc - we'll have 18-21 sessions total - I'm confirming them with speakers this week, so the site doesn't yet reflect the full schedule.

<comment><USER13> I'd add Jerry Weinberg's _Secrets of Consulting_ to the reading list. It had a major impact on my ability to turn my tech skills into a business. For example, it helped me understand that the right answer to a client request is, "Yes, I can do that. And this is what it will cost."

<comment><USER7> I was in a meeting last week and person A said "can we do X?" and person B said "Anything's possible, it's just a matter of time and money, right Mike? That's what you always say, right?" and she laughed as she said it. I've trained them well. :)

I don't quite have that as a standard reaction to all client requests all the time, as I'll often ask more questions and try to engage them a bit first before the 'this is what it will cost' bit, but that's generally the direction I go in.

I think tech people have a hard time with this response because they're often unsure of their own skills. At least, I know that's the case with a few friends of mine who rarely think about "the business side" of things. I've done this long enough now where i know that anything someone asks me for _can_ be done, it's just a matter of figuring out how.

However, the flip side of this is that I've seen the result of people (and possibly even _been_ this person) just saying "yes" to everything, building it, and it not really working. I do think some customers have been burned by that - a dev who claims to be able to do anything, then delivers them crap, charges a fortune, then leaves a mess for someone else to clean up. After they've gone through that a couple of times, they're wary of anyone who claims to be able to do anything.

I've learned to try to be more cautious how I phrase my abilities, because I know how it can appear. In general, anything someone wants done, I can make happen. It doesn't mean _I_ will be the one doing the work, but I can bring in the appropriate skilled people when needed. That's a function of age, in that my network is more useful than it was 10 years ago, and possibly wisdom. 10-15 years ago I'd always try to build everything myself, and sometimes ended up with subpar stuff.

</comment></comment></comment><comment><USER22> One thing I really emphasized in my book on pricing freelancing services (ships today, btw: <http://doubleyourfreelancingrate.com>) is to build a sales-driven website. Look at your favorite SaaS product's marketing site: captivating headline, bulleted copy of benefits, a _clear call to action_.

Way too many freelancers/consultancies botch this up and don't build their websites with conversion rates in mind, and worst of all, don't ask for visitors to contact them (the call to action).

Also, use wording that resonates with businesspeople (who hire you) instead of just technology. i.e. Are you a Wordpress developer, or do you help brick and mortar businesses get more sales (and happen to use Wordpress to get there?)

Instead of just listing out some screenshots of sites you've worked on, talk about how you helped your past clients. Continually emphasize your abilities to deliver _business_ value.

</comment><comment><USER23> My most reliable clients have been through contacts I made when I had crap cubicle jobs. I don't know your situation but it may be worth snagging a cube job long enough to meet people. And it may be totally counter-intuitive and potentially mind-crushing, but the people in sales meet all the clients who have money to spend on development. If you could find your way into the social events that sales people go to you'll be halfway there. It's cynical, but getting gigs depends on people seeing you as "a good guy" more than whatever skills you have.

That said, one trick I learned was to always scan the local news looking for local businesses who recently got grants or some other windfall of funding. I assumed (usually correctly) that they would spend some of that windfall on building or revamping their website. I got some good long-term work that way. It was a cold call, but one with research behind it

</comment><comment><USER24> 1\. Meetup Groups; 2. Startup Weekend; 3. Hackerspaces

Any Meetups related to the web -- events for developers, UI/UX, and biz meetups -- are great for networking. I'm a developer who gets emails from designers who want to talk on a big job that requires custom dev. You should be able to do similar -- find people who want to take on a job that requires more design or marketing than they can (or want to) personally do. (This may be a good way to meet people directly who need your services, not just people who will give you referrals.)

Attending a Startup Weekend hosted in your town is a _fantastic_ way to meet people, especially if you can talk shop with them like many HNers can.

It's quite the commitment, but co-founding a hackerspace has worked wonders for me. I meet a lot of smart people -- many of whom aren't web developers -- who then refer people they know to me.

If you're a designer or biz person, wander into a hackerspace near you.

</comment><comment><USER25> Most business owners are not looking online for a website/marketing guy, they typically chose based on recommendations and people they already know. This means there are much easier ways to get clients than seo or adwords.

Focus on people already spending money on marketing. You can find this out by looking at local publications, look at their google adwords spend, look at their website etc.

I'd also add check you are selling the result people want not the service. Selling a wordpress site...so is the offshore freelancer for $5 an hour.

Selling a 10% increase in profits through effective online marketing, bingo (of course you need to be able to actually deliver). When you do this you need a lot less customers and they appreciate you a lot more.

Cold email to a niche with your offer and educational content works a treat. Also networking events, partner up with non competing services etc.

</comment><comment><USER26> I rely on word of mouth only.

All my latest gigs came from Twitter or from people contacting me directly after seeing a presentation in conferences (like [1] [2]) or sites I made like hackerbooks [4].

I also get very specialized leads via the open-source project I maintain and which match one of my skills (ETL, activewarehouse [3]).

Make sure you learn skills in demand and create small "marketing/learning" projects while you are not billing!

[1] <http://lanyrd.com/2012/rulu/swxtt/>

[2] [http://lacantine.ubicast.eu/videos/8-mongodb-etl-et- indexati...](http://lacantine.ubicast.eu/videos/8-mongodb-etl-et-indexation- solr/)

[3] <http://www.activewarehouse.info/>

[4] <http://www.hackerbooks.com>

</comment><comment><USER27> I've found Linkedin to be pretty good at getting the odd job. Just connect with any one who looks like they might have occasional freelance gigs (e.g. agency directors, recruiters etc).

Once you get a couple of clients that have regular work your pretty much set

</comment><comment><USER28> Hrm, surprised nobody suggested Craigslist. I bootstrapped myself into a data scientist/consultant with gigs from Craigslist. (Well, grad school helps too, but the initial contract leads were pretty much all from CL.)

<comment><USER29> What was the response rate for you?

Because I tried this, and it turned out to be pretty low - like 1 - 2% (which was on the high-end).

So just to get a response, I had to send 50 - 100 emails. Maybe I am misremembering, but it is something like that.

<comment><USER28> Weird. For me it was literally like 10 out of 10 replies. Though I pretty much had it set to search for "data scraping", "data mining", "data science", "big data", "machine learning", and "data analytics", then have it forward gigs/jobs/etc. to me via RSS.

<comment><USER29> Interesting...oh right...I can see why you would get more replies. That's a good idea.

Looking for smaller niches where the respondents won't get 200 replies - <USER2> probably a better use case.

That's interesting.

</comment></comment></comment></comment><comment><USER30> Twitter Lists can be very powerful.

\- Create list of potential clients you want to work with. \- Get their twitter accounts, and create a list containing their twitter handles. Name the list something cool (Wedding Businesses to watch)

\- You will have a list of tweets from people you might get work in near future.

\- Engage with them on Twitter.

\- After 3-4 INTELLIGENT replies - all of sudden you are in the online friends category with them

\- You dont need to pitch now, if anyone of them is interested they will find about your website from your Twitter Bio and will call/email/message you.

It really had worked for me. I was spending 20-30 mins on that list daily.

</comment><comment><USER31> I have polled many freelance devs and designers about how they find their clients. They almost always reply that they are found via word of mouth. Many that have tons of work, don't even have a portfolio.

</comment><comment><USER32> Adwords worked best for me by crafting ads targeting specific niche specializations that would grab long tail traffic. In my case, it was converting websites to WordPress. I didn't need every single person looking for WordPress work; 50 clicks per day worked out just fine for my capactiy.

By some optimizing, keeping my bids low, and disabling Content Network, I was able to get CPA to ~$10; as long as I was converting more than 10% of my leads (which I was), I came out significantly ahead.

<comment><USER33> Did you rely on any particular tools for optimization? How did you decide which initial words to target? Was it solely based on pricing?

<comment><USER32> Just Adwords and Google Analytics.

Web Development keywords tend to be expensive, so it was cheaper to focus on many long tail terms rather than compete for "wordpress", "web development", etc.

I started out with hundreds of terms related to building and converting sites to WordPress , and used Adwords and Google Analytics data to kill off any term that was costing me significantly without bringing in any leads.

Incidentally, I started out with Content Network enabled, but found that it brought no leads and cost more than search clicks. Not sure if that was click fraud or what, but killing Content Network was the best optimization decision I made.

</comment></comment></comment><comment><USER34> I've had best success by releasing free or paid stuff and then getting customization inquiries. (I've elaborated on [http://pimteam.net/freelancers- here-is-the-best-way-to-find-...](http://pimteam.net/freelancers-here-is-the- best-way-to-find-work/)). It's not hard to get to the point where you'll start turning down work unquiries from customers (unless you can grow to a team which isn't my cup of brandy)

</comment><comment><USER35> I started back in the day with MySpace, then Craigslist. Over time, I built up word of mouth referrals and also did freelance work for a bunch of agencies/companies for a period of time, sometimes finding them through (crappy) recruiters.

If I were starting today, I'd use matchist (matchist.com, the new startup I'm building). Our goal is to become a trusted referral source in your inner circle.

</comment><comment><USER36> As a designer, Dribbble (<http://dribbble.com/ahwng>) has become a great way to get consistent leads. Once every 2 or 3 days, another startup will contact me about a freelance opportunity, saying they found me through Dribbble.

Aside from that, just network as much as you can. All of my other leads come from friends and acquaintances.

</comment><comment><USER37> 1\. The Unbeatable Word of Mouth (this is and probably will always be the No.1 way to get more business.)

2\. Serendipity (I know sounds odd and I will probably get down-voted for this.) Don't leave a chance to get your work shown or known. Sometimes, small and seemingly useless leads can lead to huge opportunities.

Try to leverage Social Media, local PR firms, Freelance websites etc.

</comment><comment><USER38> Although I've just started out, my client came to me because I started a Ruby user group in our area. My name is still attached to "Ruby Cork" even though the group fizzled out 2years ago. Now I'm working with Rails full-time again, I'll be restarting the group this month.

In short: start or get involved with local tech groups

<comment><USER39> +1 on this.

I manage a user group for the primary language I use, and in over 3 years of full-time freelancing, I've never been without work.

<comment><USER40> Out of curiosity, which language?

<comment><USER41> It's ColdFusion.

At a former employer we hired him on as a contractor and in the ~3 months he was on contract not a single line of code was ever produced even though there were promises made every week. Would not use again.

That said, as a past CF developer there is TON of ColdFusion work out there. Sure it is not glamorous but there are a lot worse things you could be doing for $$ :)

<comment><USER39> I have certainly had a few failed projects, as I've taken on too much work before. As some of the commenters to the OP pointed out, this is a challenge that many freelancers face. Indeed, as with any mistake, we learn and grow.

That said, I feel you are calling me out in a public forum is a bit inappropriate. To say I didn't produce a single line of code is a bold statement. As you called me out in a public forum, I'd be interested in discussing publicly. As your statement has the potential to cost me hundreds of thousands of dollars over my career, I realize personal litigation is an option, but I'm a civil person who would prefer healthy discourse, even when my character is attacked. However, that doesn't seem possible, as I have no clue who you are. I have chosen not to hide behind a made-up identity. You, however have the username "hackernews": I assume you are an employee of YCombinator? I doubt it, and to that extent, your username has the potential to be a libelous misrepresentation of Paul Graham's brand.

If you do not have the professional integrity to identify yourself, feel free to let me know who you are at a ColdFusion conference; I am a speaker at many of them.

</comment></comment></comment></comment></comment><comment><USER42> Networking. Once you get a few projects under your belt, your hopefully happy clients will start referring you to their contacts. Connecting with the local business community is the single most effective way of getting new leads and establishing yourself as an expert and trusted service provider.

</comment><comment><USER43> This discussion is the reason why I'm starting a site to send freelancers better projects. Check out matchist.com...we're going to start the developer beta next week. The idea is to be Hollywood agents for freelance devs. Any feedback is appreciated!

</comment><comment><USER44> Here is a little post I wrote regarding freelance marketing. [http://orangethirty.blogspot.com/2012/08/freelance- marketing...](http://orangethirty.blogspot.com/2012/08/freelance-marketing- that-has-worked-for.html)

</comment><comment><USER45> Another option is a site like elance. Some pay higher than others and I've been told elance and odesk pay higher than most sites.

This will help you find your initial contacts, and then hopefully find some ongoing/long term work.

</comment><comment><AUTHOR> How effective are ads in local papers or even online search results?

</comment><comment><USER46> In general I would like to hear what company/website/.. you started and how you got your clients/users.

</comment><comment><USER47> I wrote a post on this long time back in 2009. Built a company from 4 people to more than 60 developers based on some of the fundamentals mentioned in the post. Pasting it here.

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

With my three friends I am running an IT service company for more than 5 years now. We have learned things the long and hard way during all these years. There was actually no single person to guide us regarding any aspect of the IT business though we have had many well wishers so far.

So to help entrepreneurs who are also planning to start their own company or who have just started the company I am planning to write series of articles which can help them in this journey. So here is the first one for you guys.

During these 5 years we have faced many challenges technically as well as in managing projects, clients and people. But one of the most challenging part of our business right now is scaling. We plan to double the revenue and increase the profitability without increasing head count considerably. We have around 70 people team right now and we plan to maintain the same. So now one of the challenges is to get quality projects from which you can earn more.

Following are few ways using which you can fetch software development projects from the market:

1) Contacts. Contacts. Contacts. Exhaust all your contacts for fetching the first project for your company. Do it for free if needed. You have to have experience to fetch some serious work. In your initial stage, contacts are the best thing you can have. This is perhaps the best time to use your family contacts and relatives.

2) If you are couple of years old company, make a list of all old clients and send them personalized mail saying if we can be of any other help.

3) Join the bidding site such as oDesk and Elance and start building a great profile. oDesk is my favorite site for getting new work as it has a unique model which makes a win-win situation for both buyers and providers. The other best thing about it is that you mostly get hourly projects over there and weekly payments. Payment for your work is guaranteed. Elance is good for bigger size fixed projects. There are many other bidding sites such as Guru, Rent-A-Coder etc but these two are my favorites.

4) Become a Microsoft Partner and access their database of companies. Email them, call them for building relationship.

5) Get your company or yourself registered on Facebook and Twitter. Use their search functionality to find out what people are looking for.

6) If you have little extra money try Google Adwords for keywords like "hire a programmer", "companies in india", "outsourcing" etc

7) Get it from most popular classified site craigslist.org

8) Tie up with local partners who can outsource you projects.

9) If you are a new company start developing on the latest technologies. For e.g. Developing iPhone Applications will get you far more projects than developing in PHP or .NET right now.

These are just the few ways and there can be many other ways to fetch software development projects. Please leave me a comment if you have other ways of fetching the projects. We all will be happy to know.

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

Original post: [http://abhishekdesai.com/how-to-fetch-software- development-o...](http://abhishekdesai.com/how-to-fetch-software-development- outsourcing)

</comment><comment><USER48> google</comment>


Linux Wall Wart Works Wonderfully - <AUTHOR> http://www.linuxplanet.com/linuxplanet/reviews/6987/1/

<comment><USER2> The wall wart hardware is the SheevaPlug from Globalscale Technologies [http://www.globalscaletechnologies.com/c-2-globalscale- techn...](http://www.globalscaletechnologies.com/c-2-globalscale-technologies- products.aspx). TonidoPlug adds software to the SheevaPlug hardware.

FWIIW, Globalscale has a new wall wart version coming in April, the GuruPlug <http://www.globalscaletechnologies.com/c-4-guruplugs.aspx>

<comment><USER3> The SheevaPlug dev kit is distribtued by Globalscale among others, and is a Marvell reference design ( <http://www.marvell.com/platforms/plug_computer/> ). The GuruPlug looks like a nice boost in terms of connectivity, but I'm waiting for the version announced at CES this year with a 2.0 GHz processor ( [http://gizmodo.com/5440702/marvell-plug-computer-30-the- tiny...](http://gizmodo.com/5440702/marvell-plug-computer-30-the-tiny-linux- brick) ).</comment></comment>


Just launched Wishgram - A Christmas wishlist app for parents and kids - <AUTHOR>

So, I've been working on a little project with a colleague while attending the Flatiron School in NYC, and I'm proud to finally have gone live with Wishgram (http://wishgr.am). It is a web-app that lets parents create a set of wishlists that theirs kids can fill with items they desire for Christmas, and after the wishlists are "sent to Santa", the parents can then add all items to an Amazon shopping cart in one easy step. The goal was to make it entertaining for the kids, while saving the parents time in finding this one popular Christmas gift that their kids want. The app itself was created in 2 weeks, but we are continuing to work on it. Please take a look and leave comments about Wishgram. It is much appreciated. <comment><USER2> I love it. My girlfriend just asked me why she got a text from Santa.

This is the first time I wished that I had children.

</comment><comment><USER3> Design is awesome except the horizontal scrollbar, which is quite annoying

</comment><comment><USER4> linky [http://wishgr.am](http://wishgr.am)

</comment><comment><USER5> Beautiful :)

</comment><comment><USER6> Looks great!

</comment><comment><USER7> love it! great work guys!

</comment><comment><USER8> Awesome!

</comment><comment><USER9> awesome.</comment>


Floating Point Benchmark: Rust Language Added - <AUTHOR> http://www.fourmilab.ch/fourmilog/archives/2014-10/001537.html

<comment><USER2> > It is a compiled language .... and has a reference-counted memory management > architecture which avoids the overhead of garbage collection ....

Reference counting is optionally available but is not the default approach to memory management.

</comment><comment><USER3> Am I missing something or is this benchmark indicating that VB.NET has superior floating point performance to C?

<comment><USER4> Everyone knows that when performance counts, you turn to VB.Net on XP. Accept no substitute :)

</comment></comment><comment><USER5> Some of those are really old. Ruby 1.8.3??</comment>


To save the monarch butterfly, scientists are moving a forest up a mountain - <AUTHOR> https://www.latimes.com/world/mexico-americas/la-fg-col1-mexico-monarch-butterfly-20190409-htmlstory.html <comment><USER2> It's nice to see more charities popping up focused on narrow goals, like planting milkweed for monarch butterflies, and flowering plants for bees.

</comment><comment><USER3> Mother Nature has had a tough time of late. It's nice to know that there are people of action in 2019.

</comment><comment><USER4> And it will go on and on... Animals with summer and winter coats (e.g. rabbits, ptarmigans, foxes) moult based on the amount of daylight, not temperature or snow-cover, so their camouflage will go out of sync. Others, like pikas[1], are doomed for other reasons.

We've never managed to _over_ estimate the cost of global warming.

[1] [https://www.usgs.gov/news/pikas-disappearing-parts-west- due-...](https://www.usgs.gov/news/pikas-disappearing-parts-west-due-climate- change-0)</comment>


Programmer Competency Matrix: Do you use it when hiring? - <AUTHOR> http://www.starling-software.com/employment/programmer-competency-matrix.html <comment><USER2> To the folks at Starling:

Do you even realize how obnoxious and full of yourselves you sound?! Let's see: suppose I'm a person who ranks highly on a lot of the lines in your matrix. You expect me to send you a resume (which you say you won't really consider), then to rank myself on a 10-page matrix of skills and abilities (but you won't care much what I have to say), then to write some rather non- trivial sample programs for you, then to come to Vancouver, or maybe Tokyo (no mention of paying my expenses) and sign an NDA (a freaking NDA!) so that I can work on your code with you, and then you will decide if I'm worthy of working in a company which only mentions two people on its "About us" page, and then says that both of these people have left.

Please splash some cold water on your faces and realize that people with the sort of intelligence, knowledge, drive, and leadership skills that you imply you are seeking can pretty much write their own ticket. And it won't be a ticket to get into your company, which frankly doesn't sound like it's setting the world on fire.

<comment><USER3> Not to mention that there's a grammatical error in the first sentence of the text on their front page - "Starling Software is currently dormant, as the principles are both deeply involved in projects that grew out of it." So they fail on that component (communication skills).

<comment><USER4> Spelling, not grammatical. (i.e. I think they meant "Principals")

<comment><USER3> I did mean that, but I'm not sure whether using the wrong homonym should be classified as a spelling or grammatical mistake. It's spelled correctly, but is the wrong word.

<comment><USER5> I'd classify it as a spelling error, similar to to/too/two and their/they're. They know the word, but not the right letters to make it.

</comment></comment></comment></comment></comment><comment><USER6> I prefer Joel's competency requirement:

"Smart and gets things done"

Although Warren Buffett has an important refinement to consider:

"Somebody once said that in looking for people to hire, you look for three qualities: integrity, intelligence, and energy. And if they don't have the first, the other two will kill you. You think about it; it's true. If you hire somebody without the first, you really want them to be dumb and lazy."

\-----

Personally, I think there are some key indicators of how good a place to work is, and they all come down to time:

(1) how long does it take to compile and run the code ... there is simply no substitute when testing for actually running the code, and you should be frequently testing your assumptions. Faster is better. There is a point at which if it takes too long you will be punted from "the zone", and even good programmers will produce either much lower quality code or a greatly reduced quantity (of features fulfilled, I am not so naive as to believe that lines of code measures are important)

I've seen some real horror stories, upwards of half an hour to compile and run... _twitch_

(2) how long does it take to get a new programmer set up. There are four key hurdles here:

(2a) physically getting them a computer and login

(2b) setting up a development environment

(2c) getting access to shared resources (e.g. CVS passwords) and environments (e.g. dev server login)

(2d) ... forgot what this one was ...

NB: one of the few "Agile practices" that is worth the hot air and spittle is keeping an internal wiki that contains _everything_ the new dev needs. And of course, the first thing you get the new guy to do is to update the wiki

(3) How long does it take the organization to admit to a mistake and change course. If there is a wonky requirement, and it takes weeks or months to _get permission_ to fix it and/or change the spec, they've got issues.

<comment><USER7> Not an actual disagreement, but remember to consider General von Manstein's thoughts on intelligence and energy too:

"There are only four types of officers.

First, there are the lazy, stupid ones. Leave them alone, they do no harm.

Second, there are the hard-working intelligent ones. They make excellent staff officers, ensuring that every detail is properly considered.

Third, there are the hard-working, stupid ones. These people are a menace, and must be fired at once. They create irrelevant work for everybody.

Finally, there are the intelligent lazy ones. They are suited for the highest office."

<comment><USER6> Excellent! :D If this was Reddit, each successive poster would quote N+1 rules for hiring people and/or running an organization. Since this isn't, I will just skip ahead to N = 14

[http://www.lockheedmartin.com/aeronautics/skunkworks/14rules...](http://www.lockheedmartin.com/aeronautics/skunkworks/14rules.html)

I think the requirement to reward managers for having small (but effective) teams is particularly insightful. We know about Fred Brooks and the Mythical Man Month, and we explain to the managers of our projects that 9 women can't produce a baby in 1 month until we are blue in the face, but they never seem to 'get it'. Surely one of the core problems with them 'getting it', is that even if they really did 'get it', in most organizations the incentive is towards larger groups, not smaller groups.

Economists and psychologists have been telling us that incentives matter for a long time now, perhaps it is time to apply that to an organization structure in a genuinely scientific way.

</comment></comment></comment><comment><USER8> Previous related submissions:

<http://news.ycombinator.com/item?id=232192> <\- This one has comments

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

<http://news.ycombinator.com/item?id=554338> <\- This one also has comments

<http://news.ycombinator.com/item?id=1022394> <\- This one has even more comments

<comment><USER9> Repeated submissions: the sign of a good article? Incidentally, I'd first seen it on the original website[1].

[1] <http://www.indiangeek.net/programmer-competency-matrix/>

<comment><USER10> How do you know that's the original? I'm not saying you're wrong, but the submitted article cites other sources than that one.

<comment><USER11> Pagerank can be a good indication: [http://www.google.com/search?hl=en&biw=1280&bih=791&...](http://www.google.com/search?hl=en&biw=1280&bih=791&q=%22Programmer+Competency+Matrix%22&aq=f&aqi=&aql=&oq=&gs_rfai=)

Indiangeek comes first, so it is probably online the longest. Not to mention that the hacker news post about it is 881 days old, and is the second result on Google.

</comment></comment></comment></comment><comment><USER12> Seems a bit Windows-centric. I've never heard of "Scott Hanselman's power tools". Not a single mention of Vim, Emacs or UNIX.

<comment><USER13> That entry was the only Windows-centric one in the whole table. Plus it was prefixed by 'e.g.'. And finally even if all the examples were in Windows terms, I hope that someone given the responsibility to interview new hires would be able to abstract from examples to general principles.

(he uses 'methods' somewhere also to talk about code organization. I hope we're not going to say 'it's Java/C++ centric because in C there are only 'functions'')

<comment><USER12> > That entry was the only Windows-centric one in the whole table

The table also mentioned Powershell, VS.Net and VBScript

> And finally even if all the examples were in Windows terms, I hope that > someone given the responsibility to interview new hires would be able to > abstract from examples to general principles.

That may be true but I think Unix is something any programmer should at least be aware of.

<comment><USER13> "The table also mentioned Powershell, VS.Net and VBScript"

Selective quoting, much?

\- The context in which it mentions VS.Net: "Limited to primary IDE (VS.Net, Eclipse etc.) "

\- The context in which it mentions Powershell and VBScript: "Perl/Python/Ruby/VBScript/Powershell "

So it describes a number of alternatives, some of which are for Windows-only, and all of a sudden the table is 'Windows-centric'?

I mean if you don't like Windows, fine, I don't care. But playing ostrich for anything Windows is just ignorance, and I mean that not in the 'not knowing' sense, but in the 'not wanting to know and proud of it', the 'ignorant hick' sense.

The 18 upvotes (as of now) of the GP make me sad. It makes me feel like many people voting are offended by the table because they don't score very well on it, and are looking for a reason to dismiss it, and oh look - something about Windows, that must be bad, because anyone using Windows or programming for it must be a moron.

I don't agree with all the details in this table, either; but that's irrelevant. This is a conceptual framework, a skeleton to apply further critical thinking on. It's been around for years and has been repeatedly upgraded and refined. It's not perfect but it's at least something. Outright dismissals of attempts at making programming and software engineering more quantitative processes, and - dare I say it - more like 'real engineering', and especially the dismissals based on hype technology fetishism, hold back real progress down in the trenches.

(oh and yes, I'd subtract just as many point for not knowing what 'PowerShell' is as I would for not knowing what 'Ruby' is, if any, in any interviews I'd do around this chart.)

<comment><USER13> "It's been around for years and has been repeatedly upgraded and refined."

Hmm looks like I have to retract this part - I'd swear I read this at least 5 years ago in a slightly different version and that I'd seen several updated versions since then, but now I can only find it going to 2008 on indiangeek.com. So I probably misremembered that part.

</comment></comment></comment></comment></comment><comment><USER14> I don't see this in the matrix:

Has the business skill to figure out the technical needs of the organization, and the political skill and motivation to introduce and deploy changes as needed.

</comment><comment><USER15> The last item is especially weird.

"Has heard of them but never got the time."

"Maintains a blog in which personal insights and thoughts on programming are shared"

Why do I care if someone writes a blog or not?

<comment><USER16> I'd care because it shows that the candidate cares about their craft to the point that they are trying to share their opinions with others. Granted, the vast majority of people in the world don't blog, so in my mind its only a "plus", but being able to read someone's written thoughts does give you extra- credit insight into their way of practicing their art (given the blog is on topic, of course).

<comment><USER17> But surely you get credit based on what you write, not just for writing it?

There are some pretty bad blogs out there and, IMHO at least, it wouldn't take much to write something which was worse than not writing at all. Caring about your craft is good but whether they're actually good at their craft is best judged by the content of what they are posting rather than it's mere existence.

<comment><USER18> To me, a candidate who has a tech-oriented blog (and has maintained it for some time) gets a big bonus. One who has a GOOD tech-oriented blog is a whole other story -- that puts you in the category of people who can skip the normal evaluation process. But GOOD blogs are rare enough that I've never seen this come up. Even poor blogs are a very good sign.

</comment></comment></comment></comment><comment><USER19> I don't believe this works so well, after skimming the tables I noticed that I have knowledge of some Level 3 information but not Level 2 (or 1) in the same line.

<comment><USER13> So what do you mean? It doesn't work so well because you would score low(er), or because you think the methodology is fundamentally flawed? When someone skips a few steps, e.g. jumps straight to writing a book and skipping the 'read books and discuss with peers' steps, is that a net positive or net negative thing?

<comment><USER20> Well, I'm a 'tard designer who hangs out here, and I've played with B and Splay trees, but I've never heard of a Linked List.

Kinda like that.

<comment><USER21> A linked list is a way to build a list out of nodes.

Each node has a piece of data, and a pointer to the next node (or null if you've reached the end of the list). In a doubly linked list the nodes also has a pointer to the previous node.

This structure lets you build a list of arbitrary length without having to know in advance how much memory to assign it. You can append and iterate over elements in O(1), however seeking to an individual list element is O(n).

Most dynamic languages do not make much use of linked lists since it is easier just to use dynamically resized arrays. Any time you fill it you allocate a new array that is, say, 20% bigger and move the data. These allow you to seek to any element (including the next one) in O(1) with better average performance than linked lists. They also let you append in amortized average O(1) cost. Meaning that when you average out the cost of n appends, the overhead is O(n). However that cost is born unfairly, most are cheap but very occasionally you need to allocate the next bigger array and move existing data. For many applications (eg building a web page) this is fine. But if you're working in real time code then amortized average O(1) is not the same as O(1), and you must use a linked list.

There, now you know what a linked list is.

<comment><USER20> Thank you! The _why_ is very illuminating.

</comment></comment></comment></comment></comment><comment><USER22> This seems to come around on a regular basis, so there's got to be something to it. To summarize my thoughts on it: 1) yes, there are tons of things that could be improved in it, 2) even with such improvements, it's a fairly limited tool, and thus, 3) you can't place any more importance on this than you'd place on, say, a resume.

The most useful part about this tool, in fact, is not the specifics, but to see how the candidate rates himself, and compare your rating of his skills and experience to his own. If your rating and his come out radically different, one of you has a problem. :-)

</comment><comment><USER23> No mention of security :-(

<comment><USER24> What would be the corresponding levels for security knowledge?

I ask, because I feel it is a weakness in my knowledge base, and would like to see the steps to improve my learning in that area.

<comment><USER25> As a web developer, this would be a good place to start: <http://www.owasp.org/index.php/Main_Page>

Systems-level security programming is outside of my domain. Anyone want to chime in?

<comment><USER6> Probably something like:

Level 2^n: uses string concatenation in his SQL, for web forms passes plaintext passwords around in Javascript, has already been rooted and doesn't know it.

Level n^2: uses stored procedures, knows that cross site scripting and sql injection is bad, stores passwords in a form other than plain text, may block certain kinds of 'naughty' inputs (e.g. <http://xkcd.com/327/> )

Level n: uses whitelists to validate input, does not use windows or SQL Server for anything, understands that security has a price (eternal vigilance) can explain what salting and hashing are, can protect your password against malicious database admin.

Level log(n): can protect against social engineering, audits OpenBSD for jollies, has transcended the need for users to create accounts and enter passwords, is completely unable to communicate with outside world since all their email has been PGP encrypted since the late 90s.

<comment><USER10> Some comments:

Level n: as much as I dislike it, Windows' security isn't actually all that bad nowadays. This, of course, assumes that you don't ever start IE, install no Adobe products, configure it properly, etc - but that's common sense for a server. Also, "eternal vigilance"? I think you need _one_ patch to make a five-year old OpenBSD server as secure as pretty much any other system out there.

Level log(n): again, you _can_ be pretty secure without being completely useless. Should include HMAC and PBKDF2/OpenBSD's Blowfish scheme/scrypt. May include full-disk encryption.

<comment><USER6> (Note: The log(n) stuff was a mildly humorous reaction to the 'pie in the sky' nature of some of the log(n) levels in the article, though the concept of solving the identity problem without getting people to create usernames and passwords blew my mind recently)

I do however stand 100% behind the eternal vigilance comment.

I wasn't expecting an example so quickly, but this serves as a case in point:

<http://cvk.posterous.com/sql-injection-with-raw-md5-hashes>

<comment><USER23> But the problems with that script are primarily to do with selecting an option for mapping the binary hash value to a string that is really stupid (i.e. will generate all kinds of characters rather than a nice hex string) and then creating a SQL statement by string concatenation.

Anyone who is half sensible won't be doing either of these so I'm not sure what it proves.

</comment></comment></comment></comment></comment></comment></comment><comment><USER26> Also works as a good set of benchmarks for self-learning.

<comment><USER27> I used it for this purpose about a year ago and found it to be useful. It was definitely worth the time to do so.

[http://mikevallotton.wordpress.com/2009/07/25/are-you-a- comp...](http://mikevallotton.wordpress.com/2009/07/25/are-you-a-competent- programmer/)

</comment></comment><comment><USER28> Out of interest, how many people here reckon they can tick the top box for more than 60% of the categories (I say 60% because some the top categories seemed kinda optional, like writing a blog, publishing a framework...)?

I think I'll print this off, put it on my wall and use it as a road map for the next ten years (ok, maybe not on the wall, maybe in a drawer where nobody else gets to see it until it's finished ;) )

</comment><comment><USER4> A person who ranks highly in a lot of those areas is not sitting down with you for an interview.

Instead, you're buying him/her dinner a nice restaurant and you will discuss how each of you can come up with a mutual agreement that benefits you both, like any other deal between equals.

More importantly, this "matrix" was clearly written by a programmer, and not a business thinker. There is no way I would even give a rat's ass if a candidate used menus or keyboard shortcuts in an IDE, any more than I'd care which side they part their hair on.

What's left out:

Communication: \- Can not only communicate clearly, but can adapt language to a given situation to ensure clarity without creating offence. Understands not everyone is a programmer, and doesn't fault them for it.

Business: \- Understands normal business flows and how computer programs can make these flows more efficient. \- Knows when to call it shippable and move on \- Understands that favorite os/language/platform is not used exclusively, and doesn't intend to rewrite entire systems because the output is a period instead of a comma.

etc, etc.

</comment><comment><USER29> Original version: <http://www.indiangeek.net/programmer-competency-matrix/>

</comment><comment><USER30> I would add a "Discrete Math" row under Computer Science. Of course you can manage without it but it's true for other items as well.

</comment><comment><USER31> Decision matricies fall into the trap of treating qualitative data quantitatively. I would sincerely hope anywhere I am looking for a job is smart enough to know that this is fundamentally unsound.

<comment><USER28> It's still a good document for presenting qualitative standards though.

</comment></comment><comment><USER32> There are several things missing from this matrix that I think are super important. One is communication ability, the other is learning.

I really don't care about most things on that list, as long as someone has the ability to grasp the concepts, the tools and experience to learn the things that are relevant, and few bad habits. Obviously someone down the left column is going to take longer to come on board, and it may be an indication of an inability or unwillingness/lack of motivation.

</comment><comment><USER33> Some of these seem a bit outdated. For instance, I wouldn't consider knowledge of git to be uber-hardcore these days.

<comment><USER34> What would you consider uber-hardcore?

<comment><USER35> Implementing git.

<comment><USER10> That's well above the "O(log n)" level from the rest of the list. After all, "algorithms O(log n)" is not "you are Knuth".

</comment></comment></comment></comment><comment><USER24> This is also an outstanding resource of things to review before going into a job interview.

<comment><USER36> agreed

</comment></comment><comment><USER37> This seems a bit unfair to people who learned programming by way of web development and tinkering with scripting languages because it seems to assume the usual undergrad CS course load.

<comment><USER10> Why do you feel that's unfair? If you've only ever done Ruby on Rails, never wrote any algorithmic code and never done any algorithm course, you will indeed score low in the "Computer Science" section. Apparently you managed without those skills, but that doesn't mean that the assessment is not accurate.

<comment><USER38> But if you're filling a RoR web development position does it matter?

<comment><USER39> _But if you're filling a RoR web development position does it matter?_

Yes, it most certainly does. In the long run, the developer with the better grasp of fundamentals (e.g., discrete maths, data structures, algorithms and so on) will produce better code. NB, I'm not saying that the "naive" web coder can't produce good code. Nor am I implying that CS education always makes you a better developer. On average, however, that's exactly the case.

Even with generic web 2.0 stuff.

<comment><USER40> The fact that people with a CS education are better coders does not imply that the CS education made them better coders. Without more evidence it's just as likely that people who are, or will become, good coders anyways tend to get CS educations. Do you have any evidence besides correlation that a CS education makes you a better web developer?

<comment><USER41> I guess you're either asking one of two questions, both which seem strange:

1) Do you receive magic fairy dust during college that makes you more productive and removes bugs from your code? No, I don't think so.

2) Will someone who knows the things taught in a typical 4-year undergraduate CS education be a better web developer? Obviously (?) yes; you can look at any of them and clearly see that they are good things to know. Will you point to some particular thing that you think is useless? Let me list some that seem reasonable for a lot of web development: non-trivial data structures, for understanding databases; experience with multiple languages; continuation- passing style; general system and network architecture (e.g. the OSI model) -- and so on.

If by "web developer" you mean writing <http://www.hasthelhcdestroyedtheearth.com/> then I guess no, you don't need to know much about anything for that.

<comment><USER40> I wasn't arguing that CS fundamentals wouldn't make you a better developer. I was just asking for better evidence than a mere assertion, which you provided by citing specific examples. So, thanks, that's informative.

</comment></comment></comment></comment></comment></comment></comment><comment><USER42> Hrm. I'm split almost 50/50 between n and log(n). That's pretty cool.

</comment><comment><USER43> Part I

In all my career in computing and related work, I've participated in interviewing for hiring and evaluating the candidates, and I hope to be hiring next year.

So, would I take that 'matrix' seriously in hiring?

Not really!

Looking back, some of my thoughts on hiring were wrong! I suspect that using that matrix would also prove to be not very good!

Some of the stuff in the matrix is okay to know but, really, next to trivial to learn: E.g., early in my career I skimmed through all three of Knuth's three volumes of 'The Art of Computer Programming' and studied fairly carefully his volume 'Sorting and Searching' and there sorting and trees. I programmed a lot of that material -- heap sort, quick sort, Shell sort, merge sort, binary search, minimum spanning trees, etc. -- for my career.

Eventually I got a lecture from S. Kosaraju, and he covered all those high spots in a one hour lecture. I already knew the material, but it was nice to see that it could all be covered in an hour. So, really, for the 'computer science' material, mostly all that a person might be missing is one or a few lectures of an hour each. Not a biggie.

Curiously the matrix mentions dynamic programming. Okay. It's a nice idea, with various versions and applications. E.g., it is the core of one of the more important network shortest path algorithms.

One of the nicest parts of dynamic programming is that it is the core of 'stochastic optimal control', that is, best decision making over time under uncertainty, and, thus, one of the most general approaches to 'real time control'.

To make this 'approach' solid mathematically, really need to address the subject as Markov decision processes since the Markov assumption is really what makes the crucial 'decomposition' into 'stages' justified. So, for much more on the Markov connection, there is

E. B. Dynkin and A. A. Yushkevich, 'Controlled Markov Processes', ISBN 0-387-90387-9, Springer-Verlag, Berlin.

Once I had a practical problem that could use these ideas, got a 90 second lecture on the subject from George L. Nemhauser as in

'Dynamic Programming', ISBN 0-471-63150-7, John Wiley and Sons, New York.

had to run to catch a plane, and by the time the plane landed basically saw how that worked. It's nice. After an advanced course, I worked harder on the math (e.g., the tricky subject of 'measurable selection'), the 'computational complexity' (commonly a problem), and some applications and wrote my Ph.D. dissertation in the field. So, George 'directed' my Ph.D. dissertation in 90 seconds before I started grad school! Thanks George. Actually he liked what I wrote and chided me for not publishing it. I didn't want to publish it; I wanted to sell it!

Dynamic programming is a nice subject, but in hiring I wouldn't vote anyone down for not knowing it. I would vote someone down for thinking that dynamic programming is a biggie. If you don't know the basic idea of dynamic programming, then study the topic for an hour or so and you will get the idea. If want to get deeper into the subject, work through, say,

Stuart E. Dreyfus and Averill M. Law, 'The Art and Theory of Dynamic Programming', ISBN 0-12-221860-4, Academic Press.

and notice the 'deterministic equivalence' for the case of 'linear plant' (the system being 'controlled'), quadratic objective function (say, reduce cost or risk), and Gaussian exogenous effects (the 'stochastic' part trying to 'control' against) -- called the LQG case. So, there 'deterministic equivalence' can save "a pant load" of computer time. For more look at the papers of R. Rockafellar at U. Washington.

So, just above I totally 'blow away' the mention of 'dynamic programming' in the matrix. But, again, the subject is just not very important for hiring.

Somewhere in that matrix is mention of 'system monitoring'. Yes, there is some importance here. Once I worked in a high end project applying 'artificial intelligence' to 'system monitoring', did some 'architectural' work, wrote some tricky code that helped the project a lot (won an award), and then took a very different direction, did some original research, and published a paper in a peer-reviewed journal. At one point the work needed a multi-dimensional 'nearest neighbors' search algorithm, so I did something like binary search on each of the several dimensions. Later I discovered that I had reinvented k-D trees -- k-dimensional binary search trees. So, there is a tree, and do a depth first traversal. But then have to do a 'depth-first backtrack traversal' of a containing 'subtree' with some 'cutting planes' to be sure have found the actual 'nearest neighbor' or, if desired, the 'k nearest neighbors' for some positive integer k (not the same k as in k-D!). In the end the work became, from all I can tell, the first, and quite general, approach to multi- dimensional, distribution-free statistical hypothesis testing (which 'system monitoring' has to be close to). Okay. So, here 'blow away' the matrix on 'system monitoring'. But I wouldn't hire based on such work.

The matrix is big on 'integrated development environments' (IDEs), but so far I've seen no good reason in MY work to use them and some big reasons not to: I do my programming depending heavily on (1) the hierarchical file system to support an implicit 'taxonomic hierarchy' of 'nested' work, now, finally, being appreciated by Microsoft in how 'XCOPY deployment' and IIS use subdirectories (and they can do still more with good use of file system 'access control lists'), (2) a scripting language for command line scripts (easy enough to type at a command line and then really easy to drive from more scripts!), and (3) the one, same programmable text editor I use for as much as possible of everything I type and read.

So, with the file system, scripts, and an editor, I get to do essentially all my programming using just a few good tools I know well and can use for much more, e.g., writing papers in TeX, doing projects, keeping notes, writing e-mail and this post, etc. So here are a few tools easy to use that, for MY work, work great. Have about as much chance of getting me to give up my favorite programmable text editor as getting a violinist to give up a Strad; moreover, the violinist does essentially all his music with his Strad, and I do essentially all my typing with my text editor. Sorry 'bout that IDE developers!

<comment><USER43> Part II

In more detail, I had to pick an operating system I would use as the main one for my work -- I picked Windows. Then I had to pick a compiled language -- I picked Visual Basic .NET (VB).

Then to develop VB code I discovered that actually the VB compiler is in file VBC.EXE. Then if install .NET Framework 2.0, 3.0, 3.5, 4.0, etc., in each of them is just one file, VBC.EXE, and it IS the VB compiler. To run it, just RUN it by having a simple script give the full tree name on a 'command line'. The options needed are minimal. The compiler seems to be fast and to generate small EXE files. I find the error messages to be good. So far I've found no bugs at all. It's easy to suppress many sources of problems with just the source code statements

Option Strict On

Option Explicit On

Works fine. For MY work, I don't see that an IDE could be much better.

For interactive debugging? So far I've not needed it and have not looked at what is available.

Why VB? Because it has very little 'idiosyncratic syntax' and more generally is easy to read on the page, and it offers essentially full access to .NET and its ASP.NET for Web site development and ADO.NET for relational data base access. Its 'object model' based heavily on 'interfaces' is SIMPLE but powerful enough. Its 'managed memory' can be a big help. The complier is fast. The complied code is plenty efficient. Good enough. Decision done.

For an IDE, I've seen several of them. Each is a complicated new tool to learn with a lot of time and effort for the learning. Generally the documentation just SUCKS: E.g., I never could find any clear statement of what Microsoft meant by a 'dockable' window or why I should care, and I very much did NOT want to figure it out.

Then there is the issue of how to write macros for the IDE and/or how to script the work, and I've so far never seen how to do that or any reasonably clear documentation for how. Then there's the issue of what the heck is the IDE doing for (to!) me -- I don't know, and won't know. And when what it does for me no longer works, guess who gets to diagnose and fix the problem? So I would be depending on something complicated I don't understand and, then, have to fix it, when I don't understand it. Then in the first few trials I saw that just for a program "Hello World" the IDE created a big subdirectory tree with maybe 50 MB of who knows what the heck; when things didn't work, I'd have to work with all that glop, gorp, and goop -- NO THANKS.

Uh, long ago I discovered that the key to 'ease of use' is not some tool doing a lot for (to) me but just a tool that is reliable, well documented, easy to 'script', and easy to understand. Thus, I don't want an IDE! Uh, in my kitchen, I REALLY like my 10" classic French chef's knife and various cutting boards, and I want no Rube Goldberg contraption just for cutting onions, another just for slicing carrots, another just for shredding cabbage. Similarly for software tools.

The matrix omitted some of what I do consider crucial in programming:

First, in the work, what is most important is the significant 'meaning'. There is, so far on this planet, exactly one way to record and communicate meaning -- a natural language, and of these, now, the most important is also my native language, English. So, I want the important 'meaning' to be recorded and communicated in English. Math? Actually, when done well, e.g., by P. Halmos, it is written in complete sentences. Same for mathematical physics. The symbols? They don't mean anything until carefully described in the natural language and, then, remain essentially as just abbreviations for the natural language definitions, descriptions, explanations, and examples. To be more clear, the symbols and the source code, without the English, mean NOTHING, mean zip, zilch, zero. Don't fool yourself into thinking otherwise. I don't say this because I like English literature (I HATE it) or hate math (my field is really applied math, and I do like it); I say this because it is what I have concluded is true. Knuth's old idea of 'literate programming' may be close.

So, some of the best examples of how to communicate 'meaning', ESPECIALLY about technical material, in English are in good college texts in, say, math or mathematical physics.

That's where we have to start on 'meaning'.

Second the work of software is to create 'systems' that have useful 'meaning'. So, this meaning needs to be recorded and communicated, for both developers and users, in English. There is NO substitute: Here are software techniques that are sometimes helpful -- long, mnemonic symbol names; pretty printing of source code; software 'objects'; IDE GUI 'panels'; software 'functions' and/or 'functional programming'; 'declarative' programming; desktop GUI UI 'icons' and 'windows' -- but none of these has meaning or is a substitute for English for recording and communicating meaning. Sorry 'bout that.

In particular, to me source code should read much like a good college text in math or mathematical physics. So, the English is in the source code 'comments'. On first reading the source code file, read just the comments. The code itself has no meaning. Even 'object oriented' code with long, mnemonic symbol names has no meaning. The meaning depends heavily on the English in the comments. In well written software, between the code and the comments, far and away the comments are the more important.

Commonly well written technical material has references that provide support for smaller details. Good. So source code should have such references, and mine does: My code is awash in file system tree names of files of documentation, mine or otherwise usually an HTM file of a Web page. For my source code in my favorite programmable editor, one keystroke displays a reference.

All the crucial issues, e.g., checking the inputs, the 'edge cases', issues of 'memory leaks' and threads, should be discussed in English in the comments with explanations of how the issues have been handled.

Yes, more important than code with English comments can be 'external' documentation all in English with no code at all! Then, of course, in appropriate places the code comments will reference the external documentation.

Net, by far the most important typing in software is the English documentation, NOT the 'code'.

For 'source code control systems', I can believe that in some projects, although maybe ones a bit too large to be effective, such tools could be useful. However I've been on significant software projects with eight or so people, and we did well with no such tools at all.

For my work now, everything particular to some one 'version' of the software is in a file system directory subtree. Then for a new version of that software, I start by just making a copy of that subtree; then I document, right, in English, the purpose of the copy and go to work on the copy. Works well.

Next, to me the most important lesson in work that needs software is to be clear on what the work is and what contribution the software is to make to the work.

Next, for the software, the most important need is to describe what, in terms of the real work, the software is to do.

Next, within the software, the most important step is to use 'divide and conquer': At one point in Rome in the Middle Ages, there was a big project to move a large, stone monolith some dozens of feet in a plaza. Big project. Complicated. Expensive. Famous.

But, before getting too impressed, how the heck did that rock get there in the first place? Over 1000 years earlier, Caligula's slaves cut the rock as one piece somewhere in the headwaters of the Nile, floated it down the Nile, across the Mediterranean, and to Rome and put it in place.

How'd they do that? They used 'divide and conquer', that is, broke the whole project into pieces, broken into pieces, etc., until each of the pieces was doable. What else? Summon spirits from the vastly deep?

Same for software: Break the work into doable pieces. Hopefully each piece is easy to understand, document, code, test, and modify and likely changes in what the software is to do need affect only a few pieces. That's it.

Next, for getting people productive in programming, my experience is that someone, maybe the project leader, needs to have cut through the millions of acres of swamp of glop, gorp, and goop and gotten the work and the tools all simple, clear, and easy to understand. Then can take a bright, well motivated person with no background in programming at all and in a few hours of instruction get them quite productive. The person needs to know how to read with understanding, learn, analyze, and create meaning by writing English.

So, in interviewing, I want such a person. 'Dynamic programming' and Knuth's 'Sorting and Searching' or 'functional programming'? I don't care.

How 'bout that!

<comment><USER44> I wonder if the people who up-voted you took the time to read both of your posts in their entirety, especially the second half of "Part II".

<comment><USER45> Yeah I was ready to stop at 'VB is easy to read' ;-)</comment></comment></comment></comment>


Distributed configuration data with etcd - <AUTHOR> http://coreos.com/blog/distributed-configuration-with-etcd/ <comment><USER2> Has anyone put this software into production use yet?</comment>


Rise4fun - from Microsoft Research - <AUTHOR> http://www.rise4fun.com/ <comment><USER2> "all tutorial automata concurrency design infrastructure languages security testing verification"

I attempted to parse that as a sentence before realizing it was a navigation bar

<comment><USER3> Sadly, I did not realize it was a navigation bar before reading your comment.

I thought it was something generated by a poorly constructed markov chain.

</comment></comment><comment><USER4> Note that the projects are at wildly different levels of availability/maintenance, so if you see something interesting, google [edit: or bing :-] to find its MSR project page (not sure why those weren't linked).

At one end of the spectrum, the graph layout engine (AGL) costs $279, and its last release was Automatic Graph Layout 2007. At the other end, the Z3 theorem prover, while closed-source, has a free binary download, three MSR employees developing it, active maintenance and support, and good documentation/examples.

<comment><USER5> I guess it could be very uncomfortable to use a theorem prover that is not open-source, especially if your work is at stake. Closed-sourceness abruptly cuts the chain of trust at Microsoft.

<comment><AUTHOR> You don't have to trust a theorem prover, it gives you either a proof or a counter-example. You can use another tool to verify them.

</comment></comment></comment><comment><USER6> The regex thing is amazing: <http://www.rise4fun.com/Rex/>

<comment><USER7> It sort-of does something I've wanted: given a regex R generating a language L, produce a few strings from L in a helpful way.

Of course, L is usually infinite, so it's easy to generate strings in an unhelpful way.

For instance, the phone number one:

<http://www.rise4fun.com/Rex/phone>

and the URL one:

<http://www.rise4fun.com/Rex/weburl>

You can modify the given regex, click "ask rex", and wait a while, and it will return two patterns from the regex. Just two...

<comment><USER4> There was a discussion of that on HN a few years ago, but the site that was linked seems broken now: <http://news.ycombinator.com/item?id=1725447>

<comment><USER7> Thanks for that, which was new to me. It seemed to do what I had in mind.

I raised this a few months ago, but commenters thought I wanted to solve a different problem, such as a tool to check a regex against a group of strings that I would supply myself:

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

</comment></comment></comment></comment><comment><USER8> Z3 is great. It pretty much destroys all other solvers in _both proof power and performance_.

<http://www.smtcomp.org/2011/>

<comment><USER9> Theorem prover seems to misleading. It seems to be an SMT solver, not a competitor to Isabelle, Coq, etc.

<comment><USER8> Well, SMT solvers do prove theorems, just not kind of theorems that mathematicians care about.

Wikipedia thinks the usage is OK. "Theorem prover may refer to: Automated theorem prover, or Proof assistant, an interactive theorem prover." <http://en.wikipedia.org/wiki/Theorem_prover>

</comment></comment></comment><comment><USER10> I hate to criticize a clearly awesome effort on MSFT's part but: why are those links not  tags? The result being a user is now unable to right click and open the examples in new tabs...

<comment><USER11> It's been fixed now, as far as I can see!

</comment></comment><comment><USER12> More of this, less Sharepoint MS

</comment><comment><USER13> Microsoft Research should be the core focus of the consumer facing parts of the company!

What I would do if I wore Steve Ballmer's shoes for a day: [http://www.rayhano.com/post/11818893068/microsoft- research-s...](http://www.rayhano.com/post/11818893068/microsoft-research- stores)

</comment><comment><USER14> Mostly closed source, sadly.

<comment><USER5> I guess the next "evil" step would be to remove also the binary-only closed- source downloads and allow access to these tools only via rest api.

<comment><USER15> And then start billing the calls after someone builds a successful business on them. ;-)

</comment></comment></comment><comment><USER16> All these are actually pretty cool!

</comment><comment><USER17> MSR is fun. Love their work very much.

</comment><comment><USER15> I'm always impressed by the number of domains Microsoft registers. What's wrong with microsoft.com?

</comment><comment><USER18> <http://www.touchdevelop.com/>

nice, incentive to write code on mobiles finally. I guess the mobile revolution will came from microsoft after all. oh the irony.

<comment><USER19> TouchDevelop is nice, but it still uses its own marketplace for applications. Hopefully with Windows 8 they'll extend it, add in a few more libraries, and allow code to be published to the official Marketplace. What's nice is that the TouchDevelop code on the unofficial marketplace is open source, you can fork the code and push your own variant back.

<comment><USER20> TouchDevelop scripts can be submitted to the "real" WP Marketplace, see <http://www.touchdevelop.com/help/wp7app> . IIRC this is a new-ish feature, it may not have been there when last you looked.

</comment></comment></comment><comment><USER21> Wanted to quickly "open in background tab" through each of them but couldn't it. Leave it to Microsoft research to not deliver web links that work right. "When you're so advanced, you can't even do the basic things!"

<comment><USER22> Man tough crowd. Can Microsoft do _anything_ right around these parts? Sheesh.

<comment><USER23> I think it's constructive to tell them their site is broken (which I also agree that it is[1]). However, you are also right that your parent was unnecessarily condescending.

[1] There are billions of links which are just plain , so the fraction of the ones that do something weird (like this, or target="_blank") really break the browsing experience for people.

</comment></comment></comment><comment><USER24> Sorry for the link to twitter but it's the only way I could attach a screenshot from my phone.

<http://t.co/Belra6Lw>

I literally have no idea what this page is supposed to be, given how absolutely _horrendous_ it renders.

<comment><USER25> Rise4Fail? Really? So basically since the book's cover is ugly the story must be a fail? Obviously that's the case. Brilliant researchers always have great looking websites, right?

<http://www-cs-faculty.stanford.edu/~knuth/>

<comment><USER24> I commented on the unusability of the site that was linked to. Mr. Knuth's site is perfectly readable because he's using regular html which renders just fine on a modern mobile browser. Meanwhile I have no idea what is going on on the parent page, except that it's unreadable. Another person shared a similar screenshot in another comment.

You may dislike my snarky little hashtag on Twitter and that's fine. I was not being snarky here on HN in my comment. I _was_ making a perfectly valid criticism about usability.</comment></comment></comment>


FriendFeed Is The Social Network For Power-Users - <AUTHOR> http://www.informationweek.com/blog/main/archives/2008/04/friendfeeds_get.html

<comment><USER2> Self-proclaimed "technologist"-journos, especially those focusing on social networking and "Web 2.x" coverage, don't seem to have any sort of expectation towards the quality of their own reporting.

So this InformationWeek dude initially tries out friendfeed for a very short time and does not like it. He does so again a second time, investing "more time" and all of a sudden sees more of a light. The time he invested the second time around turns out to be a day. Even though he writes it is "too early to pass judgement", the one day experience seems to be enough to serve as foundation for an article.

Doesn't anybody strive a little more for something more conclusive?

Btw, I like and use friendfeed (<http://friendfeed.com/codesurgeon>) a lot. I just wonder what kind of deep insights some reporters get from a day's usage and interaction.

<comment><USER3> Old school reporting was about doing a lot of work and then passing informed judgement. So, I think this was a little im/pre-mature.

What I've decided, having used FriendFeed for a while, is that the direction everyone needs this to go is a standards-based feature of the feed-producing platforms themselves. Having to go to FriendFeed to see what my friends are doing in a site which should incorporate the other sites is akward and annoying.

I'm not ragging on FriendFeed. I like that they're tackling this. But signing up for Facebook, then Flickr, then signing up for FriendFeed and telling FriendFeed that I use Facebook and then Flickr and then adding the FriendFeed app to Facebook and not being able to do it to Flickr is just dumb. Hopefully FriendFeed or something like it can become a de-centralized value add of any serious social network, based on an open standard, while not losing the ability to import or fake friendships for the other 75% of users.

One day, I would like to add a friend on Twitter and have Twitter ask me if I'd also like to friend her on Facebook, Flickr and [insert x here], since we both use both services.

<comment><USER2> I don't really mind that I can't interconnect all of my webservices/online personas, i.e. in the sense of all n services being connected with the remaining (n-1). This does not seem to make a lot of sense for most of those.

What I would like to be able to do is interact with the services via a central location such as ff - not just consume/aggregate.

Along those lines, the ff team has included a "feedback channel" (i.e. easy replying) for twitter which serves the purpose very well. If they'd do the same for comments on flickr, disqus, youtube (you get the idea) accounts, I'd be even happier. Their service would allow for some sort of two-way centralized communication that would save me from touring all of the respective sites for even the most mundane tasks.

In general, I agree with you on openness and standards but can't say that I'd be currently missing them WRT this domain/application.

</comment></comment></comment><comment><USER4> Aggregators are going to be huge. The social networking sphere is going to become increasingly fractured over then next couple years and we'll need services like this to get us through the chaos till the dust settles .</comment>


CloudFront / Route 53 Edge Location in Sydney, Australia - <AUTHOR> http://aws.typepad.com/aws/2012/06/cloudfront-route-53-edge-location-in-sydney-australia.html

<comment><USER2> The most exciting aspect of this for me is that they aren't announcing they are putting it together or rolling it out. You see the announcement and right now you can ping your cloud front or refresh your site and see the dramatically improved asset load times.

</comment><comment><USER3> Makes a lot of sense, given that Australia has a lot of people who want cloud services. Great position for the rest of Oceania too!

</comment><comment><USER4> Great news! Now I want EC2..

<comment><USER5> Why wait for EC2, there is already a high performance compute cloud in Sydney thanks to <http://orionvm.com.au>

And according to trace route they are in the same DC.

<comment> T-Winsnes At $0.8 per gigabyte of transferred data? no thanks. Amazon prices at $0.19 per gigabyte for first 10gb, then less for additional data transfer.</comment></comment></comment>