DHH: The HEY stack Vanilla Ruby on Rails, MySQL, redis, stimulus, elastic search - <AUTHOR> https://m.twitter.com/dhh/status/1275901955995385856 <comment><USER2> What I think is even more significant than Hey's backend stack is its _frontend_ stack. There's no complex JavaScript framework; it's all server side rendered HTML with a few touches of lightweight JS (mostly Turbolinks and StimulusJS, afaik) on the client to add basic interactivity. And it feels just as fast—if not faster—than any other modern, well-built web app.

It goes to show that libraries like React and Vue are _not_ necessary to build smooth, modern, and fully-featured web interfaces.

Edit: removed mention of Angular because, yes, it's a framework, not a view library.

<comment><USER3> I would call the Hey UI and UX straight out of 2007. Opening an email requires a page reload.

<comment><USER4> Why is either of these a bad thing?

<comment><USER3> I'm not complaining about it. I paid the $99. I'm pushing back that it's a modern UI and modern UX. It works, but from my perspective it's pretty ugly and dated.

It's opinionated nitpicking, not scientific analysis.

<comment><USER5> Totally this. Maybe a great email client doesn't need to be a SPA. I love a lot of the decisions HEY made, and think the onboarding was lovely. But I think people are over hyping the core UI/UX. Is it fast? Yes. But what data are they really loading? It is also clunky and has obvious design decisions that seem made to get around needing to use more JavaScript.

I will be very interested to see it after a year of polish however.

</comment></comment></comment></comment></comment><comment><USER6> Noteworthy how they tout the success of their "magic" frontend stack made with vanilla JS, lack of a trendy framework, etc. But if you use the app, the UX is fairly laggy, requires frequent refreshes, all the animations and interactions are off - the list goes on and on. It's noticeably subpar (and I _like_ Hey).

Seems to me that the proof is in the pudding wrt their stack, but it's probably not what they wanted to prove. I would take a well tuned React SPA over this any day of the week.

<comment><USER7> > the UX is fairly laggy

I don't really find that to be the case. All of the actions seem to be done for me in under 400ms which is to say under the Doherty Threshold. That mean's that they are largely imperceptible. Sure it doesn't have fancy animations, but there isn't really any time for them.

Can you cite an example of a popular React SPA that is less "laggy" in your opinion? I'm curious to compare the UX.

<comment><USER6> Sure, a fairly best in class example would probably be Notion. Switch between pages, move some elements around, etc. There's a level of interactivity and responsiveness that I just don't see with Hey.

<comment><USER8> While I haven't used Hey yet, I find Notion on iOS to feel very sluggish and out of place compared to native apps. That's not a benchmark at all in my opinion.

</comment></comment></comment></comment><comment><USER9> Idk,I actually don't understand the obsession of many with Tech Stack or predicting the doom of a language. Because Facebook uses PHP for their service, Would you still use PHP? A lot of people despise PHP. But there's PH maker Mubs, most of his indie products LAMP stack. The main lesson I get from any of these is that pick the one that you're comfortable with and deliver the project than looking for what's the best tool in 2020

<comment><USER10> Yeah, tech stacks are important, but which one is right is so dependent on the specifics of a given project, which is what most of these tech-stack-hype conversations ignore. My small company pays out the ears in so many different ways to run our Python service, but we picked it because certain big companies can use Python at much larger scale than ours. Of course, those companies are mostly just doing CRUD operations to a database and often errors don't matter nearly as much because it's social media or whatever, and also they aren't as cost-sensitive as our business. Instead, we're fighting tooth and nail to keep our requests below a 60s HTTP timeout threshold when they could probably be on the order of a few seconds without optimization if we used a more performant application language like Java, C#, or Go (although the first two might involve some tradeoff on developer productivity; Go would probably improve developer productivity and it would certainly be a significant improvement to the tooling/deployment/etc story).

<comment><USER11> > tech stacks are important

I'd argue that tech stacks are unimportant 99% of the time. It really doesn't matter if you use Java or PHP or Python or Node.

Failures that I have seen due to the choice of tech stack include:

\- Technologies that your team doesn't know well

\- Technologies where hiring is difficult (I've seen attempts to turn C# devs into F# devs and Java devs into Clojure devs and productivity suffered)

\- Choosing the flavor of the week, whether that's the hottest Javascript framework or newest NoSQL database

\- Over-architecting thinking you were Google-scale with the added complexity hurting velocity (it doesn't matter if you can scale to millions of users if you can't get there)

Generally boring tech stacks work. By the time your Ruby/MySQL monolith has performance issues, hopefully you're successful enough that you can scale out the worst performing parts in some other language/datastore combination. You'll be in a better position to fix performance problems are when you have them rather then when you are trying to predict them up front.

<comment><USER10> > I'd argue that tech stacks are unimportant 99% of the time.

I think this is true if your product is so wildly profitable that differences in tech stack are relatively unimportant--use whatever lets you move the fastest and just solve performance problems by scaling vertically or horizontally. If your business is cost-sensitive and your cloud-bill is a significant portion of your expense, then tech stack starts to matter a lot. Further, your tech stack doesn't matter very much when you're just writing a CRUD webapp--you can use whichever stack and you won't run into issues unless you're massively successful; however, if your app involves a lot of data crunching per request, the stack and architecture matter a lot more (you might have to do more than naive vertical scaling to meet performance requirements). Note that I'm a big proponent of "boring", but "boring stacks work" is orthogonal to "tech stacks don't matter [much]".

Maybe these cases are really only 1% of cases, I'm not sure--there are a lot of CRUD webapps out there, so maybe this is true. But it's not much of a consolation when your use case is one of those 1%.

<comment><USER11> If your app involves a lot of data crunching and that crunching is the bottleneck, then it makes sense to optimize that part.

It's better to have something slow and correct to optimize, so writing it first time round in a slower language isn't a bad thing.

Secondly, shunting work out of your app is easier now than it's ever been. Enqueue and process in a serverless way. Then you can write whatever code that makes most sense for that problem.

<comment><USER10> > It's better to have something slow and correct to optimize, so writing it > first time round in a slower language isn't a bad thing.

It's better to have something that's fast and correct the first time. Rewrites are typically prohibitively expensive, and we're not getting anything from using a slow language (negligible productivity gains vs Go, for example). Moreover, there isn't much room to optimize with Python for many applications --you can't always subprocess or rewrite in C because the de/serialization costs will eat any savings from parallelism or C. Not to mention increased complexity.

<comment><USER12> > Rewrites are typically prohibitively expensive,

Big bang rewrites are (and, moreover, tend to lose correctness from the source), Ship of Theseus ones are not and do not have that tendency. If you can do component-wise replacement, then fast-to-develop and correct but suboptimal performance is a better deal than anything which trades off either of the others for performance.

<comment><USER10> It's feasible, but it's still very costly. And again, there's no reason to pick a language that is going to force you to do a rewrite (incremental or not) when there are languages that offer good performance and good iteration velocity.

<comment><USER13> In practice 'good iteration velocity' is often dependent on using a language/stack that you and/or your team is comfortable with and proficient in.

When one can choose between multiple equally-mastered stacks, then choosing the most appropriate/performant one is perhaps a good choice. But even then there are other things to consider.

For example, I worked for a startup where my ideal choice would've been a performant stack that I'm pretty good with (Elixir/Phoenix), but we ended up going for Python/Django because the founders felt that 1) it would be easier to find more programmers locally, and 2) apparently some investors do care about this. Both seemed like valid reasons to me.

<comment><USER10> > In practice 'good iteration velocity' is often dependent on using a > language/stack that you and/or your team is comfortable with and proficient > in.

This is true, but some stacks impose such a high cost that the costs exceed gains from familiarity. Basically you need to evaluate the savings of switching to a better stack and how long it's going to take before that savings equals the cost of switching to the new, less-familiar stack. For greenfield projects, the cost of switching is just the opportunity cost of slower initial development velocity while the team learns the new stack; for existing projects, there may also be the cost of rewriting in the new stack, which quickly becomes prohibitive.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I am a huge fan of server side rendering with progressively enhancing Javascript. It simply feels right to me:

      * Search engine indexing works as expected.

      * Informational web pages don't need a lot of interactivity anyway.

      * You don't need crazy amount of build tools.

      * You don't need extra browser extensions just to debug the JS.

      * If for some reason there's one JS error, most of the pages are still functional.

      * I am unconvinced that SPA is faster than server side rendering.

      * Separation of concern is natural, business logic is handled by BFF, UI interaction is handled by JS.

      * If you super love Javascript, you can write the BFF in Node.js.

I am glad that Hey is another high profile app exemplifying this.

I can't wait for the pendulum to swing back.

<comment><USER15> I guess it really boils down to.

Are you building an app? if so build an app. All UI is static hosted on CDN with content based urls that can be cached forever and all dynamic data coming in purely via REST apis.

If you are building a website, then serve html pages with sprinkled widgets here and there for interactivity.

Don't conflate the two. Users don't mind a slightly slow first load but super fast subsequent loads for an app. They'll love offline/PWA support, something that behaves like a native app. Search engines shouldn't care about indexing apps.

Web pages should behave like web pages. Search engines expect html as the format. Users expect the first load to be blazing fast. Proper href links, yada yada.

The worst is when its a half assed slow loading web page that wants to be an app, but is not an app.

</comment></comment><comment><USER16> I tried hey and was put off by its bulbous, fisher-price UI. Signing up and having to press "next" after every single bit of information they collected should have been my first clue at the brain-dead thinking that went into this product.

About the UI -- Why is there a trend in designers to add padding to an interface as a disguise for limited features? It's like, does a button really need to to take up half the screen? Oh yeah, that's right, it does if you only have a single feature.

Even the name is annoying. Hey is what you say to get someone's attention in dating app.

<comment><USER17> > It's like, does a button really need to to take up half the screen?

Bit of an exaggeration. Extra padding on buttons is more to do with enabling an increased hitbox for mobile and touch users, what with fingers being less precise than mice.

</comment></comment><comment><USER18> It's rare for tech to be a determinant to a products success, which is why I'm confused at all the extrapolations here.

What's working for Hey is years of brand development and marketing that allowed them to do such a hyped launch. It could've been written in php with jquery and it wouldn't have made much a difference.

<comment><USER19> Plus it's way too early to even call it a success.

<comment><USER20> We're talking about the tech stack here. It's already a success because there's a working product. No-one is arguing that the use of this stack guarantees business longevity.

</comment></comment></comment><comment><USER21> All the comments here are about frontend (which honestly comes as no surprise if you know a bit Basecamp [1]) but the interesting one for me is Kubernetes. It totally makes sense but I expected Basecamp to use something more "old fashion" (somehow like the rest of their stack).

[1] [https://basecamp.com/about/open-source](https://basecamp.com/about/open- source)

</comment><comment><USER22> I've switched to Stimulus since seeing a presentation on it at last year's Railsconf and it has been a real joy to use.

This is really the bit Rails was lacking for a long time. JS always felt like a second class citizen in Rails before, but webpacker finally brings the two worlds together in a way that makes sense. And with Stimulus, I actually find it a joy to write well organized js that is easy to reuse across my app. It's minimal, but just opinionated enough to keep me from mucking things up badly, the way I did in the asset pipeline days.

I wish Stimulus got more attention. It really is all most web sites need, and it works so well with the well proven Rails way of server side html added to judicious js. It's also a good tool to use as glue while you migrate legacy js over from the asset pipeline, you can just load your old js in a Stimulus controller and go.

I kind of wish Basecamp would promote it more, maybe even optionally bundle it with Rails, because it really is the missing piece that almost any Rails app could take advantage of. Having a little more guidance here would really help new Rails developers :)

<comment><USER5> Honestly stimulus is great if you have constraints around what you want to do with your JavaScript. However after working with it in a larger application, it is quickly obvious that more complex tasks are made extra hard and that lack of opinion turns into a wild west of different implementation patterns. When you start trying to get multiple stimulus controllers talking together.... Good luck.

</comment></comment><comment><USER23> Am I misreading something, or can you only use a *@hey.com address and not your own domain? So if Hey lock you out you potentially lose access to all of the accounts you set up using that address. PayPal can't send their 1 time code, your bank can't reset your login. Your password manager can't do 2fa. If you own the domain you can switch there dns to someone else and regain your life. If you don't own the domain to your main email you are running a risk I wouldn't run.

<comment><USER24> This is a valid concern with using any third party mail provider. Even if you own the domain though, you probably use a domain provider, for which it would be un-wise to use your own domain as the login email. Do you really have full ownership of any email address?

</comment></comment><comment><USER25> Ruby on Rails is the stack I've felt most comfortable in for well over a decade and it's always great to see it's continued progress!

That said, I do think it's unfortunate that Rails has yet to have a "canonical" and opinionated approach to JSON-based API design, alongside the page rendering.

There are multiple JSON/API gems, but they come and go over the years, with inconsistent maintenance and development.

So, I will pick no fight with Basecamp about using server-side rendering for Hey, but I'll still be a bit disappointed that this hasn't become an opportunity to extend Rails support in another direction.

<comment><USER26> I could be mistaken, but I believe more recent versions of Rails have out-of- the-box tools for creating and maintaining JSON APIs. Many of the bootcamp grads I work with seem to have had experience building JSON APIs using a vanilla rails app.

<comment><USER27> It has included jbuilder for a long time, which has a DSL for rendering JSON responses.

[https://github.com/rails/jbuilder](https://github.com/rails/jbuilder)

For a few years now, it has included the ability to focus strictly on APIs, leaving out the pieces you'd need for a full-blown browser-rendered app.

[https://guides.rubyonrails.org/api_app.html](https://guides.rubyonrails.org/api_app.html)

</comment></comment></comment><comment><USER28> It uses ElasticSearch? Does this mean that HEY only supports searching when the device is online? I would expect search to work on a mobile app with no internet access when I'm paying $100 for an email service...

<comment><USER29> I assume this is their web stack. For their mobile apps they most likely use native iOS / Android codebases. The typical stack for a data heavy native app is to use an SQL store (or just filesystem) to cache data locally so its available offline. You won't obviously be able to search all of your emails offline though, only your most recent ones that happened to be loaded during online usage.

<comment><USER30> They don't, it's all online with webviews on iOS and Android. I don't think there is offline functionality (still haven't gotten an invite).

</comment></comment></comment><comment><USER31> > \- MySQL for DB (Vitess for sharding)

Curious why not postgres?

<comment><USER32> They probably use MySQL for Basecamp and it's worked for them so they're also using it for Hey (same team developing both). As for Vitess it makes sense since it's made to work nice with Kubernetes (which they are using). I don't know of a Postgres equivalent.

<comment><USER33> Is there a Vitess for Postgres?

<comment><USER34> Isn't Citus sort of the same?

[https://www.citusdata.com/](https://www.citusdata.com/)

<comment><USER33> Yes but I feel Vitess is much more widely used than Citus. MySQL community, last time I check has formed a more mature ecosystem and conscious on HA and Clustering.

Postgres still feels more like throwing you a bunch of options and you are on your own.

It is not that a solution being more widely used means it is good, you are just less likely running into edge cases with no help at all.

</comment></comment></comment></comment></comment><comment><USER35> I am wondering have you considered the open source NewSQL database solutions like TiDB, CockroachDB? They have the best of both traditional RDBMS and NoSQL and would be the perfect choice to the hyper-growth scenarios.

TiDB could be considered as a scale-out MySQL and CRDB a scale-out Postgres. They are all Spanner-inspired solutions that can help avoid manual sharding.

</comment><comment><USER36> If it does the job, the experience is good and ends up reducing the complexity for the development team, looks like a good solution for that particular kind of product/service.

</comment><comment><USER37> For more detail see the Gemfile for Hey [0], posted in a follow-up tweet. [1]

[0] [https://gist.github.com/dhh/782fb925b57450da28c1e15656779556](https://gist.github.com/dhh/782fb925b57450da28c1e15656779556)

[1] [https://twitter.com/dhh/status/1275917612556226562](https://twitter.com/dhh/status/1275917612556226562)

<comment><USER38> Is the "magic" this line here?

> gem 'turbo', github: 'basecamp/turbo'

I get a 404 when trying to access it, so maybe still private till the big reveal?

<comment><USER39> Both Turbolinks and Stimulus will be launched in new versions so probably a private beta version.

</comment></comment></comment><comment><USER40> dang was this flagged for some reason? It seemed to be pushed off the front page really fast.

<comment><AUTHOR> OP here.

indeed, it was at the top of the front page for having the highest vote. Now it was sent the second page.

Weird, why could this be?

<comment><USER41> Happens with different posts regarding Basecamp/dhh ... but who knows

</comment></comment></comment><comment><USER42> While learning about another tech stack is lots of fun for an engineer, I believe that great products aren't written by great tools. They're built by great engineers. A great tool helps but is not sufficient to build a great product.

</comment><comment><USER43> i have to admit i don't get it. there seems to be zero compelling reason to use hey over; eg, fastmail.

fastmail is to this day the fastest website ive ever used

<comment><USER27> Perhaps their target market are those who have been on Gmail for a long time, which I presume is a substantial number.

</comment></comment><comment><USER44> how does MySQL work for a site like this? I think he said its one instance. Do they have a table for each account?

Also is every mail stored in a row? Attachments too? That isn't how I'd expect it.

<comment><USER45> Very likely a monolith database (the sharding gives it away) that uses a multi-tenant architecture (`WHERE account_id = ?`)

</comment></comment><comment><USER46> Has anyone managed to find a needle in the HEY stack?

<comment><USER47> PHPer here

</comment></comment><comment><USER48> anybody know what they're using for the imap/smtp/pop core?

<comment><USER49> Postfix

<comment><USER48> Thanks!

</comment></comment></comment><comment><USER50> 243 character original DHH Tweet:

> The HEY stack:

\- Vanilla Ruby on Rails on the backend, running on edge

\- Stimulus, Turbolinks, Trix + NEW MAGIC on the front end

\- MySQL for DB (Vitess for sharding)

\- Redis for short-lived data + caching

\- ElasticSearch for indexing

\- AWS/K8S

<comment><USER51> Yes, based on replies on Twitter, the "NEW MAGIC" is almost certainly something like "reactive ActionView::Component". ActionView::Component didn't make it into Rails 6 but will likely land in 6.1 and this news from DHH makes it seem like they're going to support some kind of real-time piece a la Phoenix LiveView. The current Rails-land answer to this is Stimulus Reflex but it falls short in a number of ways and I'm not surprised Hey didn't use it. We ended up releasing our own version of this paradigm (put simply, HTML over websockets) because we thought the Rails world needed a proper LiveView incarnation.[1]

[1] [https://github.com/unabridged/motion](https://github.com/unabridged/motion)

<comment><USER27> As best I understand it, ActionView::Component (now the standalone ViewComponent) only deals with encapsulating what you'd put into a partial.

[https://github.com/github/view_component](https://github.com/github/view_component)

The web socket/Stimulus Reflex/Live View approach is orthogonal.

</comment></comment></comment><comment><USER52> Was AWS unavoidable?

<comment><USER53> Maybe it was just preferred? Why is AWS something to be avoided?

<comment><USER52> Well, he lashes out against FAANG quite often.

<comment><USER37> Elsewhere in the thread it says they have a goal to be free from "Big Tech" within 5 years, but that there are no reliable non-Big-Tech cloud platforms at the moment. Apparently "cloud" was a mandatory part of the platform.

<comment><USER52> My guess was Azure, because of the Github link to Ruby. But it's possible that AWS has some email functionality they need.

<comment><USER54> No AWS lock in for any email features. It's Just Postfix.

</comment></comment></comment></comment></comment></comment><comment><USER55> The creators of Ruby on Rails use Ruby on Rails, why is this new?

DHHs whole career is based on it, why should he use something different?

<comment><USER56> he has a career?

<comment><USER55> Hu?

<comment><USER56> career requires a certain progression ladder

</comment></comment></comment></comment><comment><USER57> isn't "Vanilla Ruby on Rails" akin to "Vanilla Deluxe Chocolate Fudge Sundae"?

<comment><USER58> [https://en.wikipedia.org/wiki/Vanilla_software](https://en.wikipedia.org/wiki/Vanilla_software) "when not customized from their original form, meaning that they are used without any customizations or updates applied to them"

<comment><USER57> I was actually being serious. I've never seen anyone refer to a customized RoR, have you?

<comment><USER40> Some large companies have customized rails, and since Hey is built by the company behind rails, I assume DHH meant to imply that they are not using something special that everyone else won't get access to.

<comment><USER57> ah, didn't know that. appreciate the response

</comment></comment></comment></comment></comment><comment><USER56> If the bizarre world of tech goes full circle back to php&jquery , i ll have won a 10 y o bet

</comment><comment><AUTHOR> Relevant discussion: The return of the 90s Web

[https://news.ycombinator.com/item?id=23567744](https://news.ycombinator.com/item?id=23567744)

</comment><comment><USER59> And would be exorbitantly expensive for 99% of companies because of the stack chosen

</comment><comment><USER60> Doesn't sound very sophisticated from a privacy standpoint. How does this kind of vanilla tech stack protect my private emails from access by rogue insiders?

<comment><USER60> Thanks for the downvotes folks, confirming my experience that this forum is incapable of engaging in a rational discussion of privacy and information security, and its members operate from a nonsense threat model. By far the biggest risk to most people's personal privacy is that someone will access their email. The easiest way to do it is to be on the staff of the email company, or to infiltrate their systems. HEY's own marketing materials state that they do not encrypt their data at rest, so I want to know what protects my data from the guy who is the HEY database administrator, or the low-paid datacenter tech who swaps out the broken disks.

<comment><USER61> HEY's security page lists encryption-at-rest.

[https://hey.com/security/](https://hey.com/security/)

<comment><USER60> Interesting because this page specifically disclaims it:

[https://hey.com/policies/security/](https://hey.com/policies/security/)

"Our application databases are generally not encrypted at rest."

Particularly interesting would be a discussion of how they can index content with Elastic while preventing system operators from accessing that index, and with strong auditing of any such access.

</comment></comment></comment></comment><comment><USER62> Why is it called Hey stack?

Why does the "Hey stack" persist to the obsolete Mysql dB engine and not PostgreSQL (opinionated dovnvote fodder, I know, but hey; bring it on! They are valid questions).

<comment><USER63> The app is called "Hey". It's not the HEY Stack in the same sense as the MEAN stack or the LAMP stack. It's the stack for the app called HEY.

<comment><USER64> They are probably using it as dumb key value storage in a way, and probably found it easier to shard + existing experience.

I'm not sure PostgreSQL sharding ist there yet

</comment></comment></comment><comment><USER65> Good retro old-fashion ruby stack from d̶i̶n̶o̶s̶a̶u̶r̶s veterans. Nice :) No fancy magic. Went to check some of their stack on github and some component describe IE5 hacks.

Kind of awkward to see how they trying to create a PR driven fight with Apple for obvious reason.

"From creators of basecamp" sounds like anti-motivation to use product. They were first infomarketing company. Eventually they lost all the competition to every other company, but wrote books and succeed in this area while competitors went IPO with actual product. Why on earth someone would trust their business communications to outdated pre-hipster infomarketing company?

My negative comment is only due to this disgusting leverage on riot/liberal values when they created a stupid buzz around a 10+ years old 30% rule. Providing as an example Tesla app and 30% cost of the car which is not the case for obvious reason. Do you think people are so stupid? Yeah, it might force me to remember this product. As a product from company with extremely mean values you should never trust.

<comment><USER66> Basecamp is a very popular product, and they make a lot of money on it. I am not sure what the particular issue is. What point are you attempting to make?

Also, having worked with a lot of startups, they are living the actual dream. They have a product that makes them lots of money. They get to explore business areas and avenues what interest them. What exactly would be the point of IPOing? Have you ever IPOed a company? Do you realize why companies IPO? Or are you just spreading hatred towards startups that don't take capital investments and just make tons of cash?

<comment><USER65> My point is that when you see a path of any company that compete with them. You compare it with a books they wrote. The only feeling you can have is a strong disappointment. As a product they stuck in time and dont innovate. They market share clearly tells that. It's not correlate with focus on product.

<comment><USER54> Holy shit. I do not want to be the size of Slack/Atlassian/etc. Small and profitable is the place for me, thanks!</comment></comment></comment></comment>


Inverse symbolic calculator - <AUTHOR> http://ddrive.cs.dal.ca/~isc/index.html

<comment><USER2> Robert Morris wrote one of these in college in the mid 80s to help him do his math homework.

<comment><USER3> The ISC is rather more advanced than what Robert Morris wrote. Among other techniques, it uses the recently developed PSLQ integer relation finding algorithm to identify any root of a polynomial with degree <= 5 and reasonable height, or linear combinations of Pi, log(2), log(3), square roots, et cetera.

Interestingly, the ISC's job is made easier by the fact that numbers which come up in "real life" tend to have linear combinations of "similar" values. For example, Pi behaves like a logarithm, so linear combinations of Pi and (poly)logarithms tend to pop up, while Pi^2 tends to occur in combination with the product of two logarithms. As a result, the ISC is optimized to pass sets of "similar" inputs to the PSLQ algorithm, which makes finding relations much faster without missing anything interesting.</comment></comment>


Why a simple spreadsheet spread like wildfire - <AUTHOR> http://www.theguardian.com/commentisfree/2016/jan/03/visicalc-software-first-killer-app-john-naughton <comment><USER2> _I was teaching mathematics to complete beginners, and finding that while they were fine with arithmetic, algebra completely eluded them. The moment one said "let x be the number of apples", their eyes would glaze and one knew they were lost. But the same people had no problem entering a number into a spreadsheet cell labelled "Number of apples", happily changing it at will and observing the ensuing results_

This is one secret of the mass accessibility of spreadsheets: they don't require abstraction—you build a concrete working example, then tweak it. This differs from other programming environments—even the simplest scripting languages—which require you to build abstractions first and only later instantiate them. That is a high cognitive hurdle.

<comment><USER3> Indeed. Ultimately a spreadsheet is a REPL for a functional programming language. Makes you wonder why we worry so much about teaching everyone to code when the average office admin does it every day!

<comment><USER4> Well, a Reactive Functional programming language.

Everything is mutable by default, but changing one variable automatically updates all dependents.

This style is also getting more popular elsewhere, and with RxJava and RxAndroid nowadays you can even use it on android.

<comment><USER5> What, and give up Excel/VBA? More seriously, an F# IDE baked into Excel would lead to spontaneous Snoopy-dancing in the finance IT trenches.

<comment><USER6> We've had a Haskell-clone baked into Spreadsheets at Standard Chartered Bank for a while.

</comment></comment></comment></comment></comment><comment><USER7> Visicalc was the software that caused the term "killer app" to be _coined_. ...And I'm such an old fart that I remember it.

</comment><comment><USER8> The amazing thing is that the expression format set by VisiCalc ("A1:A9") is still in use.

<comment><USER9> Hmm, the place I got that from was Matlab, but VisiCalc (1979) predates Matlab (1984).

I wonder if the colon idiom for matrix indexing was in use before 1979?

<comment><USER10> Yes it comes from statistical mathematics

</comment></comment></comment><comment><USER11> How much did spreadsheets influence how we think about the structure of data? I know (well, I read in Wikipedia) that RDBs were proposed in 1970, but probably weren't in popular consumer use by the time VisiCalc came out. While row-column can't perfectly encapsulate objects and attributes in our world, they do a good enough job that I wonder if they compelled us to think in flat tables?

<comment><USER12> Flat tables have been in engineering for decades before computers. It's just the only way to present clearly data.

<comment><USER13> > It's just the only way to present clearly data.

If not anywhere else, then surely on a _hacker_ news site, one would expect not to see a statement of the form "this way that things have always been done is the only way to do it" (especially if 'it' is a subjective thing like presenting data clearly; think about the totally changing UI paradigms that could authoritatively have been predicted to be impossible before the widespread availability of touch-based interaction).

</comment></comment></comment><comment><USER14> Why Bricklin didnt patent the spreadsheet: [http://www.bricklin.com/patenting.htm](http://www.bricklin.com/patenting.htm)

I think they could have patented the business method, not the code then.

</comment><comment><USER15> It's nothing in the brain, it's completely social conditioning. You can retrain yourself if you put enough effort into it.

<comment><USER16> Social conditioning or not, brain malleability decreases rapidly after 25. Neuroplasticity is no longer what it was, and the quicker one reconciles themselves to that fact the quicker they can figure out what they both excel at and enjoy. There's tons of things that are just _in the brain_. I come from a family of academics where every male in my family was either a PhD or an MD except for my paternal grandfather. Most of them are of Oxbridge pedigree, ranging from post-docs with Nobel Laureates to tenured faculty at those East- coast liberal schools Ann Coulter hates so much. Math came ridiculously easy to me, nature or nurture I'm not sure. Then I started going to conferences and seeing people who were of Terrance Tao caliber. No matter how hard I train, I'll never win a Fields medal. My brain is no longer malleable. One of the reasons I went into industry instead of academia was meeting people 20 year old first year grad students who were of one subset of mathematics, take 4 months to sit down and study an entirely different subset and start collaborating, then outperforming post-docs who've spent ~10 years on it. I'm convinced we all have more or less the same ability to perform at that level, just in different fields. Most of us will never be able to out-return Andre Agassi, but they might just be _naturally_ [I use this term loosely since we know so little about the neurological methodologies by which we acquire and integrate knowledge, problem solve, etc we can't quantify what differentiates one's propensity for a skillset from anothers] great at poker, tearing down an engine in 20 minutes, or precision pilotry.

<comment><USER15> None of this is considered hard fact. There are studies that support what you say and there are studies that completely dispute it. And neither have been replicated with very much success. However, if you are correct, it would suggest our modern efforts at treating stroke victims are a complete waste of time and effort, a statement I think the patients and their families post- treatment would find puzzling.

People who have early success within an area of study will tend to think of themselves as a natural and will put in more practice time than a person who has not had early success. People who had early failures will continue to see themselves as "struggling" at the subject, regardless of their actual skill level. The only advantage the "natural" has is that this emotional response to the subject makes it easier to decide to practice: people of equal practice level are almost always equally skilled, even in opposition to their subjective self-evaluation, barring general mental deficiency.

There's no "math" gene. There's no "art" gene. There's only intelligence and it can be applied to any subject. The idea that people's neuroplasticity somehow "hardens" in the mid-20s or whatever is just an excuse that people make for themselves for why they bought an electric guitar but then never practiced at it. When you're a kid, you don't have a lot of different concerns competing for your time. When you're an adult, it's easy to put off a new subject when you can be productive doing something else. It's completely social.</comment></comment></comment>


By law, women in Germany can now find out what their male peers are earning - <AUTHOR> https://work.qz.com/1171514/by-law-women-in-germany-can-now-find-out-what-their-male-peers-are-earning/ <comment><USER2> It should be highlighted that this is not just about women and men, this is in general for all workers in equal positions.

</comment><comment><USER3> This is a great win for German labor. Individual men have their privacy protected, and all workers can still benefit from seeing the median earnings for their fellow men and women. If a country is serious about resolving their pay gap, this is a good first step.</comment>


Show HN: A collection of high quality cryptocurrency logos - <AUTHOR> https://cryptoclothing.cc/crypto-logos <comment><AUTHOR> Cryptocurrency logos collection with custom user interface and search functionality. Logo files are available for download in high quality (.PNG) and vector (.SVG) formats.

I have made this collection as a by-product of the main Crypto Clothing project. Currently, it is the biggest and most accurate high quality crypto logos collection on the internet.

<comment><USER2> Thanks for putting that together! The Grin logo would be more recognizable with rim, eyes, and mouth in black as in

[https://github.com/mimblewimble/design/blob/master/logos/svg...](https://github.com/mimblewimble/design/blob/master/logos/svg/grin- logo.svg)

[https://github.com/mimblewimble/design/blob/master/logos/png...](https://github.com/mimblewimble/design/blob/master/logos/png/grin- logo.png)

<comment><AUTHOR> Grin logo updated:

[https://cryptoclothing.cc/crypto- logos/grin](https://cryptoclothing.cc/crypto-logos/grin)

Direct links:

[https://cryptoclothing.cc/logos/grin-grin- logo.png](https://cryptoclothing.cc/logos/grin-grin-logo.png)

[https://cryptoclothing.cc/logos/grin-grin- logo.svg](https://cryptoclothing.cc/logos/grin-grin-logo.svg)</comment></comment></comment>


ITunes Connect is unavailable until December 28. - <AUTHOR> https://itunesconnect.apple.com/iTCShutdown.html

<comment><AUTHOR> Any suggestions for alternatives? I'm downloading my sales reports with the autoingestion tool but I'm curious what others are using.</comment>


Show HN: Geebus – How to Hack Shopping - <AUTHOR> http://www.geebus.com/

<comment><USER2> Minor typo -- "What category whould you like?" should be "What category would you like?"

Also, I'd like to dig down further into the features. For example, with TVs, I want to search only for those that are 1080P/FullHD. I would also want to search for those that are a certain size or higher. I would also want to search for models that have certain numbers of A/V inputs and/or certain types of A/V inputs.

For headphones, I might want to look only at in-ear monitors and with detachable cables.

For each and every thing in your database, you need to extract all the key technical details, and allow those to be discoverable.

Oh, and I don't particularly trust Amazon reviews -- we know those get heavily gamed. I'd like to be able to choose how much weight to give to their reviews as compared to the other information sources.

</comment><comment><AUTHOR> We love new electronic products, but hate the research needed to shop for the best.

So we figured why not collect and combine as many expert ratings and customer ratings as possible from all over the web (only trusted websites), then aggregate their score and rank them so that days of cross-referencing is done in seconds.

We are constantly adding new categories. Would love to hear some of your hacker feedback/suggestions.</comment>


Show HN: Twitter stream visualization - <AUTHOR> http://statick.org:3001 <comment><AUTHOR> Showing geotagged tweets on fancy D3.js (canvas) globe.

I've finished this 3 months ago, and it should have had some intelligent part - ie. showing sentiment over geographical areas, but limits of free Twitter streaming api, draw me back to this.

Critique desirable.</comment>


The Self Driving Car Whiz Who Fell from Grace - <AUTHOR> https://www.wired.com/story/god-is-a-bot-and-anthony-levandowski-is-his-messenger/amp <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=15347067](https://news.ycombinator.com/item?id=15347067).

</comment><comment><USER3> I found the non-AMP version easier to read: [https://www.wired.com/story/god- is-a-bot-and-anthony-levando...](https://www.wired.com/story/god-is-a-bot-and- anthony-levandowski-is-his-messenger)

</comment><comment><USER4> I'd take a fall from grace over having to work every day like a schmuck.

<comment><USER2> Would you please stop posting unsubstantive comments to HN?</comment></comment>


Source: Yes, LinkedIn and News Corp. are working on a deal - <AUTHOR> http://venturebeat.com/2007/11/27/source-yes-linkedin-and-news-corp-are-working-on-a-deal/ <comment><USER2> can't wait for the inevitable myspace integration</comment>


Nintendo is making smartphone games with Japanese mobile giant DeNA - <AUTHOR> http://www.theverge.com/2015/3/17/8230477/nintendo-dena-mobile-games-announcement

<comment><USER2> I'm more interested in the new gaming system they're working on. Too bad it'll probably end up being another system few will buy.

I think for their mobile games to be successful they really need to provide a way to hook up a controller to a phone; mobile games sans controllers are limited in my opinion.

</comment><comment><USER3> about time...hopefully not too late for Nintendo.</comment>


What you need to know about disk latent sector errors - <AUTHOR> http://storagemojo.com/2010/03/05/storagemojos-best-paper-of-fast-10/ Related: Does RAID 6 stop working in 2019? http://storagemojo.com/2010/02/27/does-raid-6-stops-working-in-2019/ <comment><USER2> Hmmm, continues a theme of his that there is often much less difference between consumer and enterprise drives that one would like or expect. Quoting the paper he's discussing, after a bit how power-law distributions model this much better than the more commonly used geometric and Poisson, he bolded:

" _We find no significant difference in the statistical properties of LSEs in nearline drives versus enterprise class drives._ "

But he then noted that they do have 4X the error rate.

As I recall, it may have been the predecessor paper based on the same data set that pointed out that today's disks do not follow the bathtub curve WRT to failure. (Instead they have very few infant failures, after one year or a little more in service they start failing, and the failure rate is then well behaved (at least through year 5).)

</comment><comment><AUTHOR> Related: Does RAID 6 stop working in 2019? [http://storagemojo.com/2010/02/27/does-raid-6-stops- working-...](http://storagemojo.com/2010/02/27/does-raid-6-stops-working- in-2019/)

<comment><USER3> He's talking about 7200RPM HDDs, but nine years down the road, shouldn't we expect SSDs or whatever comes next to replace moving-parts technology?

Nine years is a long time. Back in 2001, most drives will still sitting around 40gb.

<comment><USER4> The price/GB gap between flash and disk is ~30x and it's shrinking slowly, if at all. In 2019 I expect disk to still be cheaper than flash, although flash may be cheap enough for many applications.

<comment><AUTHOR> Agreed, hell, tape is still economical for some circumstances, disks will be with us for a long time.</comment></comment></comment></comment>


Ask HN: How do you go about finding designers? - <AUTHOR>

Through the plethora of projects that I work on, there always seems to be one general question that comes up: Where in the world will I find someone to make this look good?<p>Asking around, it appears that this is a pretty common problem. Does anyone have any tips on ways to get involved with the designer community or specific designers? <comment><USER3> Get friends who are artsy.

In all seriousness, I like working with a designer rather than hiring one. Part of it is how one sees design. Is design something you can just purchase? If so, isn't code just something you can purchase? I think that part of the reason we're here is that we realize that you can't just buy your way out of code problems. Code is important, it takes dedication and hard work not the fulfillment of some sort of spec list.

The same is true, in my personal opinion, of design. The design and interactions that users are going to experience are of a lot of importance. It's not that hard to find a designer who will work with you on a project. The key is to treat them like a partner rather than someone who is doing some lower form of work that you don't really need, but will make it look flashier to users. Even if you don't have money, it's possible to get people to come on if they're a partner in the project. I mean, artsy people really understand not getting paid (especially if you're in the same not getting paid boat). They don't understand being belittled and unappreciated - really, who does?

So, respect, partnership and working together can go a long way on random projects that probably won't amount to much. There are lots of sites like <http://99designs.com> where you can get people to compete on spec. It feels a bit cold to me - as if once a design is made, it's done. I prefer a more continual improvement thing.

I'm not saying 99designs doesn't serve a good purpose. It's just not my style. I also have a lot of artsy friends so it might be easier for me than you. If you can find someone who is good at graphic design and understands user experience, data layout, etc. it's awesome.

<comment><USER4> With all due respect, that is what hiring a designer is all about. The biggest complaint from actual designers about sites like 99designs is that design is an iterative process not an off-the-shelf product.

Relying on your artsy friends for design makes about as much sense as relying on your techie friends to build a website. Maybe you can get a favor if you happen to have a connection, but it certainly doesn't scale for a long term business decision.

That said, you can look at portfolio type sites like <http://sortfolio.com/> to get an idea of style. Find one to your liking and see what their rates are. It's like talking to a tattoo artist about an idea versus buying one off the wall.

<comment><USER3> I guess I was assuming that these weren't _serious_ web sites. Like, the OP said that they worked on a plethora of projects which sounded, to me, like lots of little side projects. I think it's ideal to work with artsy friends on those just like you'd work with techie friends. If you're doing something serious, clearly it's an employment thing not a buddy thing. However, sometimes you're doing a nice little project in your spare time and it's nice to build it with a friend who has a good visual sensibility and if it doesn't take off you've both spent some hours working on something cool and if it does take off you can continue working together.

</comment></comment></comment><comment><USER5> If you want somebody to make your website look good, then you are looking for an artist. If you want somebody to make it work well, give it an appropriate aesthetic for the subject matter, and add more polish in general then you want a designer.

The first can be found on many sites including 99designs.com. Finding the latter is much harder. Lots and lots of networking is probably your best bet. As a ui designer I can say that there are no specific designer events you will find me at. Most design events focus on print design, and multimedia design is a synonym for Flash in the design world.

If you do do a job posting don't call the position web designer. Call it interface designer or ux designer. The applicants you get should be much more qualified.

<comment><USER6> Agreed, especially the sentiment that multimedia design is synonymous with Flash in the design world.

Interface/UX design is severally un-recgonized by large organizations like the AIGA, and most 'web-design' discussion centers around designerly portfolio sites, long pages mimicking print design, and of course Flash sites.

As a designer with an interest in CS I find myself constantly torn between two worlds, since most people on the design side don't care much for the CS and most people on the CS side don't care much for Paul Rand's or Pete Modrian's.

</comment></comment><comment><USER7> I've tried all sorts in the past from Elance to 99designs. The problem with both is the same - communicating the idea and lack of real buy-in. Elance was difficult because of the differences in timezone and language barriers. 99designs - well, I was quite enthused by the idea to begin with - I didn't really understand the concerns of the no-spec movement. After posting 2/3 projects there I can safely say I'll never use them again. The amount of effort you need to put in responding to a bunch of people who only half get what your trying to say (if you're lucky) and who don't really share your vision or have much invested in you and the working relationship is quite overwhelming. I'd advise against spec work for these reasons, and that the quality of the work is poor in comparison to designers who listen to your vision and buy in.

I feel quite fortunate as I've since managed to find a smallish (but growing) agency not to far from where I live that I couldn't be happier with. For the past couple of projects I've met them face-to-face where we've talked over goals and ideas while they presented options and suggestions. They're not afraid to call me out when I'm being too prescriptive but they make an effort to understand. What I like most of all is the working relationship, the communication and, above all, the quality of the finished product.

I found them by searching for designers within driving distance of where I live, digging through lots of portfolios trying to get a sense of whose work I enjoyed most and whether I thought I could afford it.

If you're having difficulty coming up with a shortlist <http://sortfolio.com/> by the 37signals guys might be a good starting point; you can restrict agencies by geographic location and budget.

</comment><comment><USER8> Most good designers will reject the idea that their job is simply "making things look good." A good designer will want to work with you early on in the development process. Try looking for local design groups in your area (ixda, refreshing cities, local computer-human interaction groups, etc.). Design != art, look for designers who talk more about user interaction/experience than photoshop.

</comment><comment><USER9> I'm a left-brained person for the most part but by observing patterns and best practices on other well-designed sites, I literally learned my way through producing (above average to good) design for my projects. See ijiny.com and ekcoffee.com

I don't suggest this if you're looking to move fast as it's not easy, takes time, and a healthy resistance to frustration but I feel good that I could produce something that looks good _and_ is functional.

Also, if you designed it yourself, it's so much more convenient to make changes and experiment. I don't have to bug a freelance designer for the smallest of changes.

Ui should be simple. And while simple is not easy to get to, once you get there, it adds a whole another dimension to your skills and expertise. Once you have the essentials down, it's a smoother ride.

<comment><USER10> I'm starting this process right now. I'm sick of being so dependent on designers. Design is everywhere these days not just on the web. This disposable coffee cup which I am going to trash in a few seconds even has fancy design on it. The coffee holder even has a advertisement on it.

Whenever I build something, no one cares about the code, features, or performance. All they care about is how it looks.

</comment></comment><comment><USER11> My company does UI/Design and usability testing for developers (as well as development for designers/ad agencies).

Although I tend to work more on the development side of things I can tell you that finding competent, knowledgeable designers who understand how to create usable interfaces that will help increase conversion rates and still look appealing to the target market is no easy task.

We interviewed about 100 designers before we found a few that understood that design needs to support business objectives and solve business problems (like how do we get more sign-ups directly from our home page?)

Many of the designers out there are simply focused on making websites/interfaces that look good but don't actually support business objectives or customer needs.

The best designers take a problem solving approach instead of a purely aesthetic one. So when interviewing them be sure to ask plenty of "problem solving" type questions. This will help you weed out the "artsy" types from the serious designers.

One more piece of advice: stay away from sites like 99designs etc since the only designers on there seem to be ones who are just starting out and have very little experience solving real world problems. 99Designs may be great for small mom and pop outfits (think local deli, florist, etc) but it doesn't work well for serious start ups that will need to launch with an interface optimized for conversions.

If you are looking for a rock solid design team that also understands the development process, give me a shout. We're currently wrapping up some work for another incubator.

</comment><comment><USER12> Hey, I'm a designer. email@example.com I had a post on HN recently. Anyway, here's a few samples of what I've done last week.

<http://imgur.com/KRbNx.jpg> <http://imgur.com/w8S4A.jpg> <http://imgur.com/DlHDb.jpg> <http://imgur.com/qfhbv.jpg> <http://imgur.com/KedPg.jpg>

<comment><USER13> I hope this is not in poor form but I too am a freelance UI designer/developer. From the HN crowd, I did some work for raffi (designed FeedbackArmy and AfterTheDeadline). My portfolio is at <http://mdolon.com/> and my blog is <http://devgrow.com/>.

<comment><USER12> I like your stuff. We should work together.

<comment><USER13> I'd definitely be interested, hit me up on GMail and we can discuss it further (mdolon at gmail).

</comment></comment></comment></comment><comment><USER14> I don't know why this is question is asked so much, really.

Ask yourself this, "Where do you go about finding programmers?"

A good answer for this is usually at local meet up groups. Programmers don't have a monopoly on such things.

Some ideas for local meet ups:

<http://refreshingcities.org>

Full disclosure: I'm a co-founder of Refresh Portland (<http://refreshportland.org>)

<http://www.ixda.org/> <http://www.sigchi.org/> <http://webdesign.meetup.com/>

For example, we recently had Jared Spool speak for free at Oregon's chapter of SIGCHI, CHIFOO. It was free and jam packed with around 180+ designers.

I'm sure that there are a quite a few groups where designers go to gather and talk about topics that are important to them.

So, my advice is to go to a designer meet up and mingle. Even if you don't find a designer right away, just tell them about your project and they might know a friend of a friend.

<comment><AUTHOR> This is EXACTLY what I was looking for. I didn't even know that designer meetups existed. Thanks!

</comment></comment><comment><USER15> I'm quitting my job at the end of the month and can mercenary out for anyone here (sorry about the plug :( i'm quitting my job at the end of the month, more as a consequence of hating it rather than having a clear lineup of shit i wanna do to sustain me)

do design/dev/ux/strat/whatever/i pet my cat

<http://www.lzimm.com>

</comment><comment><USER16> I've used elance for finding designers. Though it worked out for me, it is not guaranteed that we always hook up with a good designer. I think we've to make sure that portfolio is decent and also make sure you write terms and conditions with low upfront fee/very close 1st milestone with at least 1 web page design. If you feel that it is not going in the right direction, dont hesitate to back out. I think the first few days of design activity is crucial and you need to make sure you've interacted sufficiently with the designer, before cutting the relationship.

obviously, if you find someone good, hang on to that relationship.

</comment><comment><USER17> I put an ad for graphic designers on a local job board for a short term web design contract and got plenty of applicants. I also browsed istockphoto and directly contacted designers whose work I liked.

</comment><comment><USER18> I'm faced with this problem everyday.

I have posted in Freelance Switch with good results.

You can check this designer for example: <http://www.lorenzociglioni.com> (based in Rome, really cool guy)

Other than that you can check out <http://www.sortfolio.com> (form the 37signals folks)

I'm sure that in HN are a few.

</comment><comment><USER19> I'm also freelancing, looking to bootstrap one day. I'm an UI/UX designer. Feel free to contact me design ATpmura.com, or just have a look at my works <http://www.pmura.com/labs>.

Fortunately or unfortunately for you, I'm the type of guy who likes to be involved during the development process (even from the idea/concept if possible).

</comment><comment><USER20> Pick a designer/firm you like, work with them on a project or two and try to keep sending work if it goes well. If they're not available take recommendations. To throw out a couple of references, I've been very happy with domo (<http://okdomo.com>) and TwoGuys (<http://weretwoguys.com/>).

<comment><USER21> Seeing as Dave Browning (half of We're Two Guys) works with us (We Are Titans, <http://wearetitans.net>), I'll second that.

</comment></comment><comment><USER22> I worked recently with <http://www.justalab.com/> \- I totally recommend them !

</comment><comment><USER23> Go through sortfolio or websites like that and pick out a style you like. Many agencies stick with one style. One of the examples is Metalab. I'm sure you all know their style. We do more of a modern minimalistic style at <http://www.designvetica.com>

</comment><comment><USER24> In addition to Sortfolio, which has been mentioned by others, check out the work on <http://dribbble.com/> \- there are some really great designers posting their work there. Shouldn't be too hard to find one whose work you like.

Edit: Fixed the link.

<comment><USER25> There are three b's in dribbble :)

<http://dribbble.com/>

</comment></comment><comment><USER26> I'll say it, as long as you realize that the "make this look good" part is on equal footing with the app development and are willing to compensate them as such... you can find them on <http://collabfinder.com>

</comment><comment><USER27> I'd love an answer for this too.

I asked in a post on HackerNews for a designer earlier this week and received no comments or responses. <http://news.ycombinator.com/item?id=1363053>

</comment><comment><USER28> The way I find designers is I have been friends with one for awhile so he does a lot of my work. I ask him and he gives me a list of people. So always ask designers who they know and keep a contact list ;p

</comment><comment><USER29> This doesn't look so active, but it might hold promise: <http://collabfinder.com/designers/>

</comment><comment><USER30> I'm a designer - find plenty of us on drawar.

</comment><comment><USER31> word of mouth referral, always. If i can outsource, i absolutely will. it can save a lot of $. if i work U.S. based read proposals carefully. lots of developers charge in three hour blocks and will ding you for three hours to put a line of code from google analytics on a site -- which takes 3 minutes.

</comment><comment><USER32> How much do you pay good designers per hour? I find many times designers are under appreciated.

<comment><USER33> Its a really tough question. I have tried many of the routes suggested above. Elance, 99design and carbonmade. None of the experiences were great - <USER2> and 99design work well for one off projects such as logo design and both vehicles provide many cost effective solutions, but designers are often in other countries in different time-zones and may speak different languages and the result is often poor communication, difficulty setting/meeting deadlines and lack of real understanding and buy-in from the designer.

Carbonmade is higher end and really just provides portfolios of design work to peruse and contact information - I found the hit rate on making contact to be very low and ultimately ran into communication/timing/buy-in problems here too.

Short of engaging a design cofounder/partner/employee, your best bet is to use a site like carbonmade to try to find someone local and to meet face to face and establish a relationship with the designer - difficult unless you are in NYC or LA/SF or other design hubs.

I echo the sentiment that design is critical.

Good luck.

</comment></comment><comment><USER34> <http://pick.im/>

</comment><comment><USER35> <http://portfolios.aiga.org/>

<http://www.behance.net/>

</comment><comment><USER36> I'm a designer by day, but I'd be up to do some freelance work -- altojunk @ gmail.</comment>