Ask HN: Any free way to file a patent? - <AUTHOR>

The patent process requires some patent fee. Does anybody know of an open alternative? If not patent, atleast something that can prove that the idea was originated by somebody on some particular date and time. <comment><USER2> Get your idea down on paper, seal it, and mail it to yourself. This will of course prevent no one from infringing on your idea, but if all you are looking to do is prove someone came up with something before a certain date, this should do the job. Also, IANAL, so I don't know exactly what legal uses this would have.

<comment><USER3> The particular method is frowned upon (because it could be faked), but the reasoning behind it is sound: As long as you can prove that you had an idea on such-and-such a date, you can challenge any later patent on it, and file for a patent yourself at any time (or rather, until other folks start using your idea without you challenging them).

Think of some electronic equivalents of sending yourself certified mail: save your idea on Google Docs; email it to yourself and your friends; check it into a private Github repo and save it to Tarsnap (both cost $$ unless you're already using those services). You should flesh out your idea in great detail, as detailed as a patent. If you take all these steps, you should be able to successfully challenge any later patent on the idea.

But, if you want to be able to sue anyone who uses your idea, you're going to need a patent. That's what a patent is: a license to sue. So if there's a good chance that someone will use your idea in the next few years, filing for a patent now will save you a lot of headaches. Remember that it takes years for a patent to be approved.

<comment><USER4> To be more technical, a patent is the right to exclude people from using your idea (which includes making using selling etc. etc.) Thus, you have a right to sue if someone is using it, but that is not the purpose of the patent on its face.

</comment></comment></comment><comment><USER5> The Writer's Guild of America offers a registration service for written works. See <http://www.wgawregistry.org/webrss/>. It's ostensibly for screenplays, but they don't actually check the content of what is being registered. There is a modest fee. And whether or not registering with them will ever produce any actual benefit is IMHO highly questionable. But YMMV and all that.

<comment><USER6> Actually, any prior art is prior art, whether or not it is "registered". Patent law doesn't require registration or publication with a patent-related agency or paper. It merely requires prior art that is publicly accessible or known.

The point of registering with a publicly known entity like the WGA is that it may prove a date for the prior art.

The specific issue here is whether the WGA's registry is sufficiently accessible that it constitutes a "public" publication.

The answer depends on what exactly is registered, and whether the idea is ever made public (i.e., internet blog, scholastic paper, conference presentation, etc) or is privately known to the persons seeking the patent (i.e., pitching this very idea to the people who later try to patent something based on your prior art, etc).

The WGA registry provides proof that something was registered on a given date, but does not provide a public search engine for searching the contents of registered works. So, by itself, the WGA registration would not provide any benefit unless you're trying to show that the patent-seeker had private knowledge of your prior art on a given date.

<comment><USER5> > The specific issue here is whether the WGA's registry is sufficiently > accessible that it constitutes a "public" publication.

Definitely not. The WGA registry is confidential.

</comment></comment></comment><comment><USER7> If you just want to prove that you had "idea X" at any given point in time, the simplest thing I can think of is to document the idea and then have the document notarized. Since a notary is a legally accepted witness to a signature, this should hold up. It may even be enough to mount a challenge against a subsequent patent (insert obligatory IANAL).

But if you really want to have a hope of preventing someone else from patenting it, then you need to publish.

</comment><comment><USER8> How about putting an ad in a widely read newspaper containing a hashvalue of the document describing your idea?

<comment><USER9> ..really?

</comment></comment><comment><USER10> A provisional patent is cheap, and if you just want to defend yourself from someone else later patenting your idea, it works just fine. You just write up a nice human-readable description of what you're doing and submit it to the USPTO. I think it's like a hundred bucks or so. Filing a full patent costs about $500. If you're willing to work, meaning, read a couple of books, read a couple of patents front to back, it's not _that_ hard to file your own (called "Pro Se" by patent folks). Once you learn the ins and outs of patents, it's really not that hard nor that expensive to patent something yourself. At the very least, if you do file your own, you get "patent pending" protection ("protection" meaning, you've legally allowed to warn potential infringers that you've filed the papers officially) for a good 3-5 years while the patent office reviews your application.</comment>


CRM & Analytics: Together at Last - <AUTHOR> https://www.dailycred.com/demo

<comment><USER2> Do you fellas have a list of value stories associated with the insights generated from fusing web analytics and social?</comment>


Ask HN: What are some developer tools worth paying for? - <AUTHOR> Have you or your company purchased any developer tool(s) that immensely helped in your work? <comment><USER2> Immensely helped is a high bar, but what comes to mind is JRebel that I found improved productivity and paid for itself quickly.

</comment><comment><USER3> Affinity Designer, Sublime Text, Aba Search/Replace & Power Grep, Beyond Compare

</comment><comment><USER4> Anything JetBrains makes

</comment><comment><USER5> start with phpStorm</comment>


Free WAF for Nginx – Nemesida WAF - <AUTHOR> https://github.com/nemesida-waf/nemesida_waf_free <comment><USER2> That's very good! Will for sure test-drive on some websites next week.

Plus points for the direct access to demo:

Demonstration stand: [https://demo.lk.nemesida- security.com](https://demo.lk.nemesida-security.com) email@example.com / pentestit</comment>


Clib: Package manager for C - <AUTHOR> https://github.com/clibs/clib <comment><USER2> Nice, but can anything challenge the "every language gets its own unique package manager"? (And own unique build system for that matter).

<comment><USER3> There is a natural break between system-level package management and language- level package management. If you install language-level packages with system- level package managers, then each language package needs to support every single system-level package manager. E.g. you write a Ruby package and now you have to support apt-get, yum, Gentoo, Arch, brew, MacPorts, etc. This is a completely ridiculous situation to put language developers in, especially since most language-level packages don't care what system they run on.

Instead, the best practice seems to be to install programming languages with the system-level package manager and install the language's packages with the language-level package manager. That way you only need one system-level package per language, and each language-level package only needs to deal with that language's package manager. The system package manager is responsible for dealing with system-specific things while the language package manager is responsible for language-specific things. It's a natural division.

It is conceivable that there could be a single cross-language, language-level package manager. But what language would it be written in? And how would it deal with the fact that each language uses different technologies and has different approaches for installing and configuring libraries and packages? When you think about it for a bit, I don't think it's so insensible for each language to have its own package manager.

<comment><USER4> > you write a Ruby package and now you have to support apt-get, yum, Gentoo, > Arch, brew, MacPorts, etc

wrong. that's the package maintainer's job.

moreover, sensible package management systems have templates or libraries (eclasses in Gentoo) to properly handle all kinds of packages.

all we ask for is that developers don't _actively break package management_ by bundling _everything_ as is done here.

<comment><USER5> Distro packages don't solve the needs of software developers. They solve the need of distros, which are different (and conflicting) with the needs of software developers. Therefore you will always have an eternal struggle between language-level package managers who work for developers and system ones that work for distros.

If there was some simple way to lob a tarball over the wall and get package inclusion on Debian, Fedora, Gentoo, etc., then that would be one thing. In reality however the number of random GitHub repos >> the number of package maintainers. I know that Debian uses a variety of technical and social methods to discourage new packages, and most people's software just isn't popular enough to overcome those barriers, even if some of the reason they're not popular is because they're not well-packaged (sort of a catch-22 there). Not to mention people who install via apt or rpm are perpetually out of date.

Now compare that with pip or rubygems--one package to maintain, installs more- or-less everywhere, accepts packages regardless of popularity, end users are more often up-to-date. Better for software developers' problems in every single dimension.

Sure that's bad for Fedora maintainers, but what are Fedora maintainers doing for _me_?

<comment><USER4> > Sure that's bad for Fedora maintainers, but what are Fedora maintainers > doing for me?

ensuring a myriad of things that individual developers simply don't seem to care about, ranging from simple testing to inter-package compatibility to licensing to init scripts to old package cleanup to unbundling to...

</comment></comment></comment></comment></comment><comment><USER6> It's a little scary for me that the source of available package is a wiki page which is editable by anyone with a GitHub account.

<comment><USER7> Not only that, but there appear to be potential buffer overflows which involve the data pulled from the wiki page[1]. I'm not sure why asprintf wasn't used here (and in other places). The partial re-implementation of libc[2, 3] is also somewhat frightening. As are potential unchecked integer overflows when calculating a size to pass to malloc[4].

C is hard.

\--

[1] [https://github.com/clibs/clib/blob/master/src/clib- install.c...](https://github.com/clibs/clib/blob/master/src/clib- install.c#L86)

[2] [https://github.com/clibs/clib/blob/master/deps/fs/fs.c](https://github.com/clibs/clib/blob/master/deps/fs/fs.c)

[3] [https://github.com/clibs/clib/blob/master/deps/str- copy/str-...](https://github.com/clibs/clib/blob/master/deps/str-copy/str- copy.c)

[4] [https://github.com/clibs/clib/blob/master/deps/http- get/http...](https://github.com/clibs/clib/blob/master/deps/http-get/http- get.c#L19)

<comment><USER8> Oh dear... I'm just sight-linting so this might be wrong, but I'm certain the function _executable_ in src/clib-install.c [1] can be easily overflown by providing a maliciously long package name or version --neither of which are validated at all [2] despite coming straight from the wiki page, as you point out. The function allocates 256-byte buffers to store a url and file name, respectively, but blindly fills them up using _sprintf_ with non-validated user-supplied data, and without checking the resulting number of characters written, _eg_ :

      char *url = malloc(256);
      if(NULL == file) goto e1;
      sprintf(file,"%s-%s.tar.gz",pkg->name,pkg->version);

C is unforgiving indeed.

Also what's up with all those (0 == count) yoda conditionals all over? Is that becoming a thing again?

[1] [https://github.com/clibs/clib/blob/master/src/clib- install.c](https://github.com/clibs/clib/blob/master/src/clib-install.c)

[2] As far as I can tell, the package info from the wiki is dealt with by functions in deps/clib-package.c that, despite promising names like _json_object_get_string_safe_ , do not ever validate the provided name or version string:

[https://github.com/clibs/clib/blob/master/deps/clib- package/...](https://github.com/clibs/clib/blob/master/deps/clib-package/clib- package.c)

</comment></comment></comment><comment><USER9> I think this is missing half of the problem, that is connecting the package with the build system. I know there is no "standard" build system for C, but still. Go for instance does both; once you "go get" a package, it not only downloads and pre-builds it, but makes sure that it is available for transparent usage in your program.

I personally bias towards CMake, so I would appreciate a C package manager which also makes sure that the package is included in my CMakeList.txt somehow.

<comment><USER10> what if these are in fact two separate problems? then perhaps it is simpler to solve them with separate tools instead of conflating them.

<comment><USER9> I can't see how it's simpler, because then you need to write N*M bridges/connectors/plugins to let N package managers interact with M build systems. And what if the library you download is meant to be built with a build system which is different from the one you chose for your application? What if you then want to globally turn on debugging or change a compilation flag, or a preprocessor define to enable/disable a feature?

I don't know of any language-specific package manager that doesn't also make the package immediately available to the programming environment without further fiddling. Solving half of the problem... well, it's a half solution :)

</comment></comment></comment><comment><USER11> I love this if only because it highlights that package management is a hard problem, still unsolved in even the most mature languages.

Package management is something that sounds really easy on the surface but once you get into it you are overwhelmed with details, tradeoffs, and drudgery. If we're ever going to solve it, we first need to acknowledge that it's a very difficult problem.

</comment><comment><USER12> There is some overlap with CCAN ([http://ccodearchive.net/](http://ccodearchive.net/)).

</comment><comment><USER13> This is a good idea. I could see this changing C development for the better.

</comment><comment><USER14> I like this! Is it a sort of staging ground for libraries to eventually graduate to various distributions' official repositories, or is it just random bite-sized utilities for quick weekend projects?

</comment><comment><USER15> Can be a big time saver.

For any package manager to work painlessly and to scale, the repository must be able to detect name conflicts on the code level.

</comment><comment><USER16> What ever happened to "apt-get" as the C package manager?

<comment><USER17> Doesn't work on AS/400, Windows, VxWorks, QNX, ...

<comment><USER18> And Fedora Linux.</comment></comment></comment>


Professional-Managerial Chasm - <AUTHOR> https://nplusonemag.com/online-only/online-only/professional-managerial-chasm/ <comment><AUTHOR> "Any renewal of oppositional spirit among the Professional-Managerial Class, or what remains of it, needs to start from an awareness that what has happened to the professional middle class has long since happened to the blue collar working class. Those of us who have college and higher degrees have proved to be no more indispensable, as a group, to the American capitalist enterprise than those who honed their skills on assembly lines or in warehouses or foundries. The debt-ridden unemployed and underemployed college graduates, the revenue-starved teachers, the overworked and underpaid service professionals, even the occasional whistle-blowing scientist or engineer—all face the same kind of situation that confronted skilled craft-workers in the early 20th century and all American industrial workers in the late 20th century."</comment>


Study suggests that memory loss in Alzheimer's patients may be reversed - <AUTHOR> http://neurosciencenews.com/alzheimers-memory-loss-reversal-1377/ <comment><USER2> Here's the actual paper:

[http://www.impactaging.com/papers/v6/n9/full/100690.html](http://www.impactaging.com/papers/v6/n9/full/100690.html)

Abstract

This report describes a novel, comprehensive, and personalized therapeutic program that is based on the underlying pathogenesis of Alzheimer's disease, and which involves multiple modalities designed to achieve metabolic enhancement for neurodegeneration (MEND). The first 10 patients who have utilized this program include patients with memory loss associated with Alzheimer's disease (AD), amnestic mild cognitive impairment (aMCI), or subjective cognitive impairment (SCI). Nine of the 10 displayed subjective or objective improvement in cognition beginning within 3-6 months, with the one failure being a patient with very late stage AD. Six of the patients had had to discontinue working or were struggling with their jobs at the time of presentation, and all were able to return to work or continue working with improved performance. Improvements have been sustained, and at this time the longest patient follow-up is two and one-half years from initial treatment, with sustained and marked improvement. These results suggest that a larger, more extensive trial of this therapeutic program is warranted. The results also suggest that, at least early in the course, cognitive decline may be driven in large part by metabolic processes. Furthermore, given the failure of monotherapeutics in AD to date, the results raise the possibility that such a therapeutic system may be useful as a platform on which drugs that would fail as monotherapeutics may succeed as key components of a therapeutic system.

</comment><comment><USER3> This is a press release about a primary research finding. We need to see whether or not this study, which even the press release calls "small," will replicate or not. I would be the first person here to cheer a genuine advance in preventing or treating Alzheimer disease (I am older than most of you are), but I have learned after 2145 days of participation on Hacker News that most press releases about medical breakthroughs kindly submitted for discussion on Hacker News never replicate and don't lead to any lasting productive paths in research.

As for the lifestyle recommendations numbered in another comment here, I

(1) eat some simple carbohydrates, but have avoided obesity;

(2) eat some (but not a lot) of gluten and processed food, but especially eat plenty of vegetables and fruits (and a little bit of fish);

(3) reduce stress through means other than yoga;

(4) do not meditate, having checked the evidence on this practice and found it wanting;

(5) do not take melatonin;

(6) usually attempt to sleep 7-8 hours per night;

(7) take vitamin B12, but not usually in the form of methylcobalamin;

(8) take vitamin D3 each day;

(9) take fish oil each day;

(10) never take CoQ10;

(11) optimize my oral hygiene using an electric flosser and electric toothbrush;

(12) don't take hormone replacement therapy (I'm not a woman, and I have plenty of testosterone);

(13) fast for a minimum of 9 hours between dinner and breakfast, and for a minimum of 1 hour between dinner and bedtime;

(14) and exercise for a minimum of 30 minutes three or four times a week.

I do the most of the things on the list that have the best evidence base. I check the evidence all the time about what the latest treatment-control studies say about healthy lifestyle.

Good luck to all of you desiring to keep healthy minds for a long life. That begins with being skeptical about press releases about preliminary research findings.

<comment><USER4> I was taking fish oil supplements daily until my Nephrologist suggested I don't. He pointed to some recent proper clinical trials that showed it not doing much of anything:

[http://www.berkeleywellness.com/supplements/other- supplement...](http://www.berkeleywellness.com/supplements/other- supplements/article/omega-3-supplements-question)

In addition to that, if you're taking liquid supplements (like gel caps, which I was), my doc told me that there is risk that it has oxidized and can actually cause cardiovascular damage. After that and a weekend of reading up on the internet, I decided to stop taking any fish oil supplements.

Do the research yourself and make an educated guess.

<comment><USER5> > risk that it has oxidized

Always worth it to bite down on a couple pills every so often and check. Use those rancid sensors built in by nature. It's oil after all. If it tastes bad, it's gone bad.

</comment></comment></comment><comment><USER6> This sounds interesting, but before anyone starts changing their lifestyle based on this, you should be aware that not only isn't this a double-blind trial, there's no control group, and the results lump together subjective and objective improvement (in other words, 9 of the 10 either actually got better, or just thought they got better, possibly through the placebo effect).

Also, the article mentions neuropsychological testing done on one of the subjects, demonstrating his decline, but then there's no mention of whether he was retested after the treatment to see if there was any measurable improvement! And no mention of any objective testing of the other 9 subjects, either before or after the treatment. This strikes me as odd, given that neuropsychological testing is the most sensitive way of measuring cognitive decline.

</comment><comment><USER7> My elderly aunt, who is 88 now, has Alzheimer's and while she's declining in cognitive ability now that her doctors have figured out her medications and dealt with some psychological issues her rate of decline has improved. The idea of somehow reversing her disease, or at least some of the major symptoms, is intriguing but there's got to a point where the treatment, however well- intentioned, isn't worth it.

But I can see the appeal for someone 30 years younger facing early-onset Alzheimers.

</comment><comment><USER8> Tumeric might also help with Alzheimers [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3665200/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3665200/)

and Herpes (HHV-6) might effect the progression of Alz [http://www.ncbi.nlm.nih.gov/pubmed/23916950](http://www.ncbi.nlm.nih.gov/pubmed/23916950)

</comment><comment><USER9> What is the argument against farm raised fish? Gluten?

<comment><USER10> The argument against farmed fish is that they're fed corn, so you're getting high levels of omega-6, which causes inflammation and ultimately brain damage.

The argument against gluten is that it similarly causes inflammation, which causes brain damage.

For what it's worth, Andrew Weil has an anti-inflammatory diet on his website:

[http://www.drweil.com/drw/u/ART02012/anti-inflammatory- diet](http://www.drweil.com/drw/u/ART02012/anti-inflammatory-diet)

<comment><USER11> I've seen multiple studies that suggest a correlation between very high Omega-6 to Omega-3 ratios and various cancers, but I've never seen anything regarding brain damage.

Some casual googling just now suggests to me that this notion of generalized "inflammation" and it causing brain damage isn't rooted in an understanding of how pathology works and seems mostly talked about in rather quacky "woo" circles.[1][2]

That being said, it does seem like over-expression of inflammatory mediators like cyclooxygenase-2 (COX2) in the brain can cause brain inflammation[3], and Wikipedia says high Omega-6 to Omega-3 ratio can result in over-expression of COX2 in some parts of the body, so it's certainly possible that high Omega-6 levels _could_ result in over-expression of COX2 in the brain, but I haven't yet seen anything supporting that.

Regarding Dr. Weil, he seems all over the lot with what he advocates. Sometimes he advocates quackery based on "some religious group somewhere says it works," but other times he points to a small body of positive evidence and rightly points out that there's an unfortunate lack of further higher quality research, and other times he espouses very logical or well-supported ideas. And unfortunately, he often doesn't make clear which category the current thing he's talking about falls under and often doesn't cite sources.

For what it's worth, his food pyramid doesn't ban gluten, and explicitly allows for occasional pasta. According to your link, his main criticism of glutenous foods has nothing to do with gluten but that such foods usually contain wheat flour, which has a high glycemic index, even in the form of whole wheat flour. In fact, he strongly recommends low-GI whole grains, including bulgur wheat.

[1] [http://boards.straightdope.com/sdmb/showthread.php?t=729545](http://boards.straightdope.com/sdmb/showthread.php?t=729545)

[2] [http://scienceblogs.com/whitecoatunderground/2009/07/23/magi...](http://scienceblogs.com/whitecoatunderground/2009/07/23/magic/)

[3] [http://tpx.sagepub.com/content/32/6/650](http://tpx.sagepub.com/content/32/6/650)

<comment><USER10> [http://www.ncbi.nlm.nih.gov/m/pubmed/10858586/](http://www.ncbi.nlm.nih.gov/m/pubmed/10858586/)

[http://www.biologicalpsychiatryjournal.com/article/S0006-322...](http://www.biologicalpsychiatryjournal.com/article/S0006-3223\(09\)01229-3/pdf)

</comment></comment></comment></comment><comment><USER12> Down for me.

Cached version: [http://webcache.googleusercontent.com/search?q=cache:6h861Hp...](http://webcache.googleusercontent.com/search?q=cache:6h861HpvxcQJ:neurosciencenews.com/alzheimers- memory-loss-reversal-1377/&hl=en&gl=mx&strip=1)

Meat of the article:

 _The model of multiple targets and an imbalance in signaling runs contrary to the popular dogma that Alzheimer's is a disease of toxicity, caused by the accumulation of sticky plaques in the brain. Bredesen believes the amyloid beta peptide, the source of the plaques, has a normal function in the brain – as part of a larger set of molecules that promotes signals that cause nerve connections to lapse. Thus the increase in the peptide that occurs in Alzheimer's disease shifts the memory-making vs. memory-breaking balance in favor of memory loss.

Given all this, Bredesen thought that rather than a single targeted agent, the solution might be a systems type approach, the kind that is in line with the approach taken with other chronic illnesses—a multiple-component system._

...

 _(1) eliminating all simple carbohydrates, leading to a weight loss of 20 pounds;

(2) eliminating gluten and processed food from her diet, with increased vegetables, fruits, and non-farmed fish;

(3) to reduce stress, she began yoga;

(4) as a second measure to reduce the stress of her job, she began to meditate for 20 minutes twice per day;

(5) she took melatonin each night;

(6) she increased her sleep from 4-5 hours per night to 7-8 hours per night; (7) she took methylcobalamin each day;

(8) she took vitamin D3 each day; (9) fish oil each day;

(10) CoQ10 each day;

(11) she optimized her oral hygiene using an electric flosser and electric toothbrush;

(12) following discussion with her primary care provider, she reinstated hormone replacement therapy that had been discontinued;

(13) she fasted for a minimum of 12 hours between dinner and breakfast, and for a minimum of three hours between dinner and bedtime;

(14) she exercised for a minimum of 30 minutes, 4-6 days per week.

The results for nine of the 10 patients reported in the paper suggest that memory loss may be reversed, and improvement sustained with this therapeutic program, said Bredesen. "This is the first successful demonstration," he noted, but he cautioned that the results are anecdotal, and therefore a more extensive, controlled clinical trial is needed._

<comment><USER13> I'm curious about #11. Any ideas why that would be part of the program?

<comment><USER14> There is some evidence of a correlation between oral hygiene and Alzheimer's:

[http://www.medicalnewstoday.com/articles/264164.php](http://www.medicalnewstoday.com/articles/264164.php)

Basically, people with poor oral hygiene are more likely to develop Alzheimer's than people with good teeth.

You might have heard about a similar study that found a link between oral hygiene and heart disease. The theory, at least in that case, is that bad oral hygiene causes chronic long-term inflammation throughout the body, not just in your gums. This might increase risk of heart disease. Without looking at the data, I would guess that the same theory applies to Alzheimer's and maybe other diseases. The usual caveat about correlation != causation applies of course.

<comment><USER15> ?? If Alzheimer's is related to memory & executive functioning(probably is) then the people who are likely to develop Alzheimer's are likely to have poor oral hygiene.

Oral hygiene is a good proxy for people who _know_ it's important, but somehow still forget. A solid proxy for executive functioning decline, executive functioning in general, working memory, and a cluster of other things.

</comment></comment></comment></comment><comment><USER16> We changed the title to a more neutral description taken from one of the image captions.</comment>


RunRev - The World's Easiest Programming Language - <AUTHOR> http://www.runrev.com/home/product-family/

<comment><USER3> I went there, and the first thing I didn't see was any code.

In fact, after clicking around, I failed to find anything that excited me as a programmer. The closest I got to a look at the actual product/language were a couple partial screenshots of some IDE, and the opportunity to download some tutorials in zip files (which I declined).

I did, however, see a whole lot of marketingspeak telling me how awesome it all was. Pages and pages of text and bullet points, slick graphics, and not much else.

Consider my bullshit meter pegged.

<comment><USER4> Same here - if they have the world's easiest programing language, they should consider pairing it up with a web site that is easy to grasp.

I found something that seems to indicate that they do "programming by using natural english language" or something like that. Since I consider that approach flawed (unless better AI comes along), my interest has dropped to 0.05 anyway.

</comment></comment><comment><USER5> I grew up around RunRev. Tuviah Snyder, the former developer of MetaCard and former CTO of RunRev is my older brother. RunRev made a deal with Scott Raney, the creator of MetaCard to basically take it over, redistribute it and make future modifications. Kevin Miller, the CEO is a pretty decent fellow. They have a very loyal following, and are trying to branch out with new marketing and significant upgrades to their products.

Personally, I found developing in RunRev very frustrating. I use to joke that I would have to start a function with please and end it with thank you. However, some find the english like syntax pleasing, I find it very frustrating. I prefer to say x = 3, instead of put 3 into x, or some variant of that.

<comment><USER6> Cool. Tuviah helped me out with problems a couple of times when I was using MC/RR. Nice guy. What's he doing now?

I tend to agree about the syntax, but I didn't have a strong HyperCard background before I discovered the products. I dislike most C/Algol syntax too, for that matter. (I struggle with syntax more than I should, in general, and I like minimal syntax. I'm happiest with S-expressions.)

</comment></comment><comment><USER7> RunRev is based on MetaCard, which was a cross-platform implementation of Apple's HyperCard that ran on Windows, Mac, Linux, Solaris, HPUX, AIX, etc.

They took the HyperCard-ish IDE and turned it into a more familiar IDE (from the standpoint of users of more mainstream IDEs).

<comment><USER6> Yep. And MetaCard was pretty cool for its time. It actually had some Lispish qualities mixed in with the cross-platform, multimedia HyperCard stuff (which was very cool on its own.) There used to be a whitepaper online that explored that aspect of it (HyperCardy 'macros',etc.) RunRev inherited all of that with the MetaCard engine, but of course now there are more compelling offerings for most things...although it's still a pretty neat multimedia tool if you're mainly targeting the desktop or CD-ROMs for some reason. I wouldn't personally use it for web stuff or DVD-ROMs anymore, though. It _is_ flexible. I still know people who use it for _everything_ (including CGIs ;-) ) and I know a couple of shareware developers who still make their livings using it.

I'd probably use RunRev before I used something like RealBasic, which is basically in the same market - small, 'soup-to-nuts' shareware developers who want to create desktop apps with multimedia, internet, and database capabilities. Heck, I'd use it before I used Authorware or even some of the Python tools in that general domain (PyCard, etc.) because it was faster to develop and you put out a more polished product, without cross-platform woes. The MetaCard kernel engine is actually pretty fast, execution speed-wise. It could handily beat Perl for some stuff that you wouldn't think it would even be useful for...we scripted a performance testing tool and a utility to put database records into HTML, and it trounced Perl for both tasks. Which was impressive, considering Perl would have sucked at making cross-platform multimedia apps ;-)

I almost invested in RunRev when they were first getting started...IIRC, Mike Markkula (Apple fame) _did_ invest in them. The founder, Kevin, is pretty cool. I ended up just becoming a customer and using it as a prototyping tool. I still have an older Pro license and a couple books about RR if anyone is interested...

Anyone remember GLPro? That was another niche app we used to make prototypes and build small multimedia apps and screensavers. It had a dBase style engine in it? We used it for a screensaver once and it ended up on an episode of Star Trek Next Generation. Or iShell? That was a later one we used that was based on another defunct Apple tool. It's still around, I think. Even with the huge range of software available today, I miss working with the little, niche multimedia and audio development tools. Those are what got me into programming.

<comment><USER8> HyperCard was really cool at the time. Pure genius.

I used it to make a full-featured offline mail reader for a BBS I used to frequent in a few hours. Anyone remember offline readers (<http://en.wikipedia.org/wiki/Offline_reader>)? :-)

<comment><USER6> I don't miss offline readers [:-)], but I still get sad every single time I think about the demise of HyperCard. I wish someone at Apple would make it a priority to build a modern version and include it for free with all new Apple computers. If they could make a cross-platform version, or one that could also create iPhone apps it would be absolutely killer. Accessing the Core libs in a tool like that...

Some people don't know the fun they're missing...

<comment><USER8> Agree.

BTW, have you looked at squeak smalltalk? (<http://www.squeak.org/>)

<comment><USER6> Yeah...I actually had a fixation with it for a bit. Smalltalk in general. I bought about 30 Smalltalk books and spent loads of time messing with Squeak and Cincom Smalltalk. Seaside stuff, mostly. Unfortunately, I never really had a suitable project to use it on.

I never really made the mental connection between HyperCard and Squeak before, but they really do have quite a bit in common (quirky, low barrier to entry tools that are immense fun and very flexible.)

</comment></comment></comment></comment></comment></comment><comment><USER9> Thanks for the comments about Rev. A few responses:

Yes, the product has historically been something of a niche desktop development tool (perhaps of particular interest to former HyperCard developers). That said it has seen its share of success, with large scale enterprise applications, real time systems and commercial shrink wrapped software, along with the tools, utilities, shareware and educational software you would expect for this type of tool.

The big news is that we are relaunching the product this year on the Web as a mainstream, modern language with a free entry-level version for both the browser and server. Its fast, efficient, with modern features like nested arrays and OO behaviors. To support this relaunch there will be some major new site sections on getting started with literally hundreds of code examples and walk-throughs, so if you're interested please do check the site out again over the next few weeks.

Contrary to the popular myth, I would argue that English is not a verbose method of programming, it requires much, much less code than a traditional lower-level language. And, the typical programmer spends a lot more time reading code than writing it. English is highly readable, doing a much better job of reflecting the way the human mind works. Once you get into the mindset, it really is very productive. We have a really exciting launch coming up and I think we can make a positive impact on the way that certain types of software gets written.

Kevin Miller RunRev CEO

</comment><comment><USER10> A completely closed, proprietary platform, with its own (probably incompatible with everything else) language, that advertises itself as being "easier" than other languages?

People keep trying this sort of thing, and the result is almost always slow, brain-damaged, and painful for actual programmers to use, serving mostly to allow non-programmers to accomplish just enough to shoot themselves in the foot.

So, what's the deal? Does this thing actually have any value to it? I sure can't find anything encouraging from their website.

<comment><USER6> It does have value, especially for people who have spent _decades_ programming in HyperCard-style environments. This is not really a new "develop for idiots" type tool - it is based on a very long tradition that started with the original HyperCard, a tool that was beloved by many and used a style and approach that has largely died out. For former HyperCarders it is probably a last refuge. And it is also a good tool to help some people learn basic programming and be productive without getting turned off...it's less intimidating for some people than the alternatives. That's part of what was neat about HyperCard: average people creating cool, useful programs without even necessarily wanting to be programmers or thinking of themselves as programmers.

RunRev is proprietary, weird, and not something a younger web coder would probably want to pick up, but it does have its niche. People that are already experts in HyperCard, of course. Small desktop publishers/shareware developers who would otherwise use something like RealBasic. (It has a similar small ecosystem of third-party add-ons.) People that want a tool that lets them make desktop apps with web, database, and multimedia capabilities - without having to learn all the nitty-gritty details they might otherwise have to. Etc. You can make cross-platform apps with less headaches than many other more mainstream tools because of its runtime. It's a great prototyping tool (faster than anything else I've seen, even today) and people often ended up being able to ship their 'prototypes' because the mock-ups used native (or native- looking) controls. The execution speed was very fast the last time I used it...the core engine was written in C. As I noted in another post, it beat Perl for some text-processing tasks the last time I used it. It delivered solid cross-platform capabilities years ago - way before Java realized any of its heralded 'WORA' benefits.

In many ways, MetaCard/RunRev was a "Beating the Averages" tool for me at one point. I could create software in literally a fraction of the time it took my competitors, my software had fewer bugs, more capabilities, and it ran just as fast if not faster than their C++ monstrosities. And mine ran on Windows, Mac, and Unix - while theirs usually just ran on Windows. And they had a professional programming _team_ , while I was a single developer with fairly limited skills. Naturally, I did everything I could to keep my tool a secret ;-) I eventually drifted away from it because I got more into web stuff, and it is not ideally suited to the web. (Or at least it wasn't at the time - <USER2> I don't see much that has truly changed in that regard, RunRev marketing aside.)

I know people who make a full-time living using it, and at least a couple guys that have made millions using it. (One of my social science professors in college - who had no prior programming experience - even started a successful software company on the side with MetaCard/RunRev. He made desktop software for creating surveys and reports in the academic community. It was a specialized tool for surveys, but the report engine put Crystal Reports to shame. He was making nearly half a million a year from it at his peak. The guys I know who made millions using it were all either professional programmers or had them on staff, though.) I haven't use it in a few years, and I definitely think that it is a mistake to try to hype it as a great language/tool for web apps - because it is not - but I do think it has value for certain users/uses.

</comment></comment><comment><AUTHOR> I have a professor telling me this is what he wants a project written in. It's currently a terrible mess of JSPs, and I have half a mind to simply re-write it in Django or RoR. How do I convince him to switch from JSPs to Django/RoR instead of this RunRev thing?

<comment><USER11> It's less similar to RoR and more similar to Cappuccino or something.

More often than not, the choice of language is far less important than the choice of programmer and the comfort in the target language and the amount of pre-debugged library code that already exists. So if you think you can do better with Django/RoR, just say so.

</comment></comment><comment><USER12> Sounds suspiciously like a new-age COBOL.</comment>


Stopping blog spam or Why I started to block Internet Explorer 6 - <AUTHOR> http://vale.homelinux.net/wordpress/2008/07/20/stopping-blog-spam-or-why-i-started-to-block-internet-explorer-6/ <comment><USER2> I think a lot of commenters are missing an important point of the article. The whole thing was the scientific process in a nutshell: he made an observation (most blog spam is ie6), made a couple hypotheses (most ie6 traffic is bots, blocking ie6 will significantly reduce spam), tested them out, and shared the results. He was even able to make a different, related conclusion (numbers for windows and ie6 browsing are inflated) based on his work.

Overall, I found the piece quite interesting. I think you will, too, if you read it not as a piece of advice but as a nicely-performed experiment.

</comment><comment><USER3> I think this is probably an example of using a hammer to crack a very annoying nut. If his usual users are all linux types anyway I suppose it probably isn't hurting much.

</comment><comment><USER4> Block x% of your visitors while the spammers just change there user_agent that is passed.

</comment><comment><USER5> Users Vs. You

Users win.

This is a horrible idea. The point of systems like Akismet, etc is to avoid doing horrible solutions like this which penalise users. His apology to IE6 users obviously means nothing to them, _because they can't read it_!

<comment><USER6> They see their own apology.

</comment></comment><comment><USER7> Good article, but the final % he uses for bot traffic is only an educated guess.

</comment><comment><USER8> I'm using FF 3 and can't see this page. So much for user-agent sniffing.

<comment><USER9> I have no problems, and I'm using Firefox 3.

</comment></comment><comment><USER10> umm why is it blocking firefox 3.0 on linux??</comment>


Uber Says Whistleblower Was Extorting the Company - <AUTHOR> https://gizmodo.com/uber-says-whistleblower-was-extorting-the-company-1820844005 <comment><AUTHOR> Techmeme summary: _Kate Conger / Gizmodo: Uber: whistleblower whose letter was entered as evidence in Waymo case tried to extort firm, settled for $4.5M, now works as consultant for Uber's investigation_</comment>


Counting Crows partners with ReelSurfer, launches fan mashup competition - <AUTHOR> https://www.facebook.com/countingcrows/app_95936962634

<comment><AUTHOR> Christian from ReelSurfer here. We're proud to announce a partnership with the Counting Crows and the launch of a fan reel competition to kick off their new tour! Lot of cool artists already on ReelSurfer too (fun FM profile: <http://reelsurfer.com/user/reels/fmonyourdial>)

Great seeing the music industry embracing new technology and social media. Now if only other mediums ( _cough_ movies/film _cough_ ) would be as open...

</comment><comment><USER2> You have to try Reelsurfer . The website lets you clip any video from any website, allowing users to edit videos right from their browser simply by entering the URL on ReelSurfer's website. Try it its great.

</comment><comment><USER3> awesome!</comment>


Ask HN: I'm an engineer, how do I learn design? - <AUTHOR> Dear HN, I am a decent Rails/HTML/JS/iOS/Android/C# programmer. I want to be able to do a project from beginning to end (web+mobile), but I never have any idea what I need to make should look like. How can I learn design? <comment><USER2> As an illustrator, graphic designer, animator and software developer for over 35 years, my advice is to start off by taking some drawing classes. Being able to draw means being able to _see_. Most people don't see, they look and recognize. Before you can evaluate a design you have to be able to see it. A lot of designers could stand to improve their "seeing" skills.

If you can't find a class, get a hold of Betty Edwards's _Drawing on the right side of the brain_. A lot of it is mumbo jombo, but the exercises are excellent and work wonders. Once you've developed some observational abilities, get a copy of Andrew Loomis's _Creative illustration_, just recently back in print. It covers layout and design, and a good bit of color theory in a very accessible manner.

Don't get discouraged, anyone can learn to observe and sketch usefully, but it oes take practice. And it is a fundamental skill for _anyone_ who wants to communicate visually..

<comment><USER3> That's not design - that's drawing. There's plenty of ways to design without getting into illustration. What's you're advising is similar to learning Assembly instead of Basic just to learn how to code.

I agree with: Admire. Emulate. Innovate.

<comment><USER4> You can't admire and emulate without being able to see first.

Learning drawing is for designers as learning Lisp is for programmers. You may never use it, but some of the skills it teaches are transferrable no matter what the tool or medium, and will make you fundamentally better.

<comment><USER3> Not saying drawing doesn't help. I am saying you don't tell someone brand new to programming to start with Lisp. You tell them to start with something simple like HTML. There's equivalents in design.

<comment><USER4> No, I don't tell them to start with HTML at all. That's not programming, that's markup/text formatting.

I do in fact tell them to start with Lisp, Scheme more precisely. Best learning language available [1].

Real learning is about understanding the underlying concepts and being able to reapply them in different contexts. That's what Lisp/Scheme (and C for imperative concepts and memory management) does for learning programming, and drawing does for learning design.

[1]: <http://www.trollope.org/scheme.html>

</comment></comment></comment></comment></comment><comment><USER5> Admire. Emulate. Innovate.

ADMIRE

When you're starting off, you're not going to be able to create amazing looking stuff because you don't know how to and you won't necessarily know what is good. The first thing I recommend you do is build up your pallet and figure out what you like. If you don't know what is good, look at work that others say is good and observe what they have in common and how they make you feel.

EMULATE

Once you start to get a sense of what you like, next recommendation is learning the raw skills needed to do what you need. In your case, knowing how to do all the things you'll need to do, such as how to create a box with rounded corners, or gradients. With that knowledge, start trying to recreate work that you admire and try to get as close to it as possible. As you do this repeatedly, you'll start noticing different patterns and choices the "original" designer had utilized. At this stage, you're simply trying to walk a mile in their shoes.

INNOVATE

As you become comfortable at emulating styles and feel a decent level of mastery over the skills required, you'll automatically start to have thoughts about how you might want to try doing things differently. Try it. Most of what you do will be shit. Allow yourself to create shit. Keep trying things and you'll build up your own style, taste and sense of what should take priority.

PS: I am a self-taught designer. I used to feel like I was faking it in a world of real designers but over time, I've looked at my body of work felt proud/happy... and I've become "comfortable in my own skin" as a designer.

<comment><USER6> This is it. This is not the only way, but this is what worked for me as well.

od2n, the main problem for you at the moment is that you don't know what you don't know. So you have to try and recreate things in order to understand what's involved, how it's done, what are the limitations, etc. Software design is in a very big part an acquirable skill, so the only way to master it is to exercise.

</comment></comment><comment><USER7> Some of my favorite resources:

[http://www.amazon.com/Dont-Make-Me-Think- Usability/dp/032134...](http://www.amazon.com/Dont-Make-Me-Think- Usability/dp/0321344758)

<http://www.edwardtufte.com/tufte/courses>

Also make wireframes before you code, when something is complicated -- or when you're starting out, for virtually any UI. Use Omnigraffle Pro, and you can also use Graffletopia's website to find stencils, e.g. Bootstrap Stencils. Or use Easel.io.

<comment><USER8> Big upvote for Edward Tufte. If you style yourself as a hardcore engineer, start with his book Visual Display of Quantitative Information. I'm away from my copy, but as I recall, John Tukey reviewed the manuscript. (<http://en.wikipedia.org/wiki/John_Tukey>)

<comment><USER9> Tufte is extraordinarily dry for someone new to design. Great recommendation though but it would be like going to Saul Bass and asking him how to draw a "stick man."

I would start by using grid based layouts and study those who have used them. Start with wikipedia article on the

subject: <http://en.wikipedia.org/wiki/Grid_(graphic_design)>

</comment></comment></comment><comment><USER10> One of the most confusing things about designing for programmers and other brainy / rational-minded people is, that when you read about it by actual practitioners, you mostly look at post-rationalisations. That means you can't expect to have reproducibly success with applying them. Quite often someone does the opposite of what the rules suggest, and meets much approval.

Designers will tell you about depth, and structure, and rhythms, emphasis, and similar categories. But it is often not obvious how you create these effects with color or shape or other design means. Or when you have them, they don't convince anyone and get scraped, even though fulfilling the formal requirements.

So what you read about design is not really what designers do to achieve great results, it is rather what they like to think about while working. Or that is my interpretation of this process. For a rationally thinking person, it is often just not conclusive and confusing, and you wonder about what you are being told and what it has to do with some specific decision.

The thing is that nobody really knows how to create beauty or good design, mostly because nobody knows what goodness is here. (Some try to sidestep the whole discussion by demanding reduction to functionally essentials, but that yields mixed results.)

For me personally other strategies have been much more helpful:

\- expect hard work and some suffering: to create something of great quality, you have to go through a painful process of searching, thinking about meaning, trying different approaches, and learning techniques. Expect it every time anew. (You can vary the same design, or style, though, and thereby "reuse" it.)

\- don't expect to be able to synthesize design from principles; it's the other way around: you come up with it and realize it is good. Later you understand that you can find principles that can to some extend explain (but I have always felt they don't explain it sufficiently.)

One great discussion of this for me has been the book 'Zen and The Art of Motorcycle Maintenance" by Robert Pirsig. I know this has somewhat of a pseudo-philosophy reputation, but I think undeservedly. (Maybe this is just because it is mandatory reading in many undergrad curriculae in the US?)

</comment><comment><USER11> A small community of designer/authors is releasing ebooks aimed at teaching design. I'm one of those authors.

I'm biased, of course, but I recommend looking into these books as they are vastly more practical and beginner-friendly than most design books (which are usually intended for already-experienced designers).

Learning design is tough because of all the information thrown at you. You're supposed to master color theory, the history of typography, difficult design software, and many more advanced topics, seemingly all at once. The ebooks below are not going to shape you into a design expert, but they'll give you an entry point into learning. The most difficult part is figuring out where to start.

Here are a few links for you:

\---

Step by Step UI Design by Sacha Greif

<http://sachagreif.com/ebook>

-Shows process of designing a web app UI. Short with lots of examples.

\---

Designing Web Applications by Nathan Barry

<http://nathanbarry.com/webapps/>

-From what I can tell, the focus is on usability, interaction design. (I haven't read this one, but Nathan knows what he is doing.)

-Nathan also has a separate ebook about mobile:

<http://nathanbarry.com/app-design-handbook/>

\---

Bootstrapping Design by Jarrod Drysdale (This is my ebook.)

<http://bootstrappingdesign.com>

-I focus on teaching design fundamentals and how to practice design so you can get better. You'll get a lot of "do this, don't do that" kind of advice.

-If you're interested, email me and I'll shoot you a promo code. (My email address is on the site.)

\---

* Edit: formatting

<comment><AUTHOR> Thanks Jared, I'm going to read your book :)

</comment></comment><comment><USER12> Do it. Get feedback (or compare your own work vs. other nice works you find). Improve it. Rinse & Repeat.

I'm an engineer by training. Probably about 9 years ago, I started learning Flash, Illustrator, and Photoshop. Early projects were painful and very amateurish. I kept working at it, by making diagrams for my presentations, or designing UI mockups, etc.

Nowadays, my art & design is pretty good for an engineer. But what's better is that I've gained an appreciation for good UX design and good graphics. I can tell the difference between my "good-enough" designs and the really good stuff. And that will make you a better entrepreneur, because you can then hire people who are better than you.

</comment><comment><USER13> A large aspect of design that separates great professional designers from amateurs is very hard to teach. It can be described as training your eye and developing your taste. This simply comes from repetition and practise. Ira Glass articulates this well describing the creative process — <http://www.youtube.com/watch?v=PbC4gqZGPSY>

Another aspect of design is the mindset and mentality required when looking to solve a problem. Something I feel often gets overlooked in the software world, where culture is generally engineer focused. IDEO pitch this in as 'design thinking'. While I'm not so keen on the term they do a good job of communicating the importance of certain mental traits that designers possess that are key to the design process.

Sketch. Considering a user flow/feature or user story? Sketch out 50 ideas, explore and exhaust all possible scenarios, no matter how achievable, obvious or silly. Get it down on paper. I often think that getting the idea down on paper allows my mind to forget on it and move on to another potential solution. Try to not let your technical expertise constrain this exploration, that'll come later as you whittle your ideas down.

Personally, if I have the time I quite like to produce hi-fidelity sketches. It may seem frivolous when a quick sharpie sketch will do, but as I spend time sketching I find the thinking time valuable and often find myself with another piece of paper jotting down notes/ideas etc.

Learn to draw — I believe designers should sketch and draw. There are so many lessons to be learnt that translate to what we do when designing interfaces. It provides a foundation in understand proportion, lighting, white space, suspense etc. It's also an exercise in discipline and training your brain to accurately produce the image in your minds eye.

</comment><comment><USER14> Same way you learned engineering. Go read about design, design stuff, and get feedback. Try and replicate sleek website designs. CSS takes a long time to master.

The most essential design education book ever written is " Notes on Graphic Design and Visual Communication" by Gregg Berryman. You cannot design without reading this. It's very short, 45 pages, and the only handwritten book you'll probably ever read. [http://www.amazon.com/Crisp-Graphic-Design-Visual- Communicat...](http://www.amazon.com/Crisp-Graphic-Design-Visual- Communication/dp/1560520442)

<comment><USER15> Yep. Beyond that, realize that some parts of design like dealing with visual hierarchy ( <http://hackdesign.org/lesson/19/> ) can come very easily to engineers. Other parts like color theory or font design might feel less natural. Find a hook that you enjoy playing with and grow from that.

</comment></comment><comment><USER16> If the only reason you want to learn design is so that you can do an end-to- end delivery of a product, consider just using a template, or Bootstrap. Most products do not actually require heavily tailored designs, and even fewer require them to be prove themselves viable.

</comment><comment><USER17> David Kadavy is offering a free course in a few days: <http://summerofdesign.com/>

Looks really promising!

</comment><comment><USER18> I'm subscribed to <http://hackdesign.org/>. Haven't had the chance to follow the course itself yet, but it sounds interesting.

<comment><USER19> I can vouch for them. The lessons are easy and the material is indepth. It covers from typography all the way to UX design. They keep adding more lessons. Which reminds me I need to catch up.

</comment></comment><comment><USER20> As with most things: practice. A great way to learn is to find free resources on dribbble, open the PSDs and analyze all of the techniques used on each layer and how they fit together.

</comment><comment><USER21> I got loads out of the first couple of lessons here: <http://www.trydesignlab.com/>

It's like Codecademy but for design.

<comment><USER22> Designlab co-founder here. We're starting to roll out invites to our private beta and quickly bulk up our lesson content. Our goal is to be the definitive place for hackers to learn design and design thinking skills. Sign up! We'll shoot you an invite as soon as we can.

</comment></comment><comment><USER23> Design! Show the result to potential users. Get criticised. Do more design.

</comment><comment><USER24> Well, design and other professions can be selftaught without any problem as long as you know what to learn and have time to practice.

Since design is a very large area, I assume you want to learn how to design stuff that would be later in Internet, so it will be better to learn (in this particular order): typography & grid systems and colors. When you master these areas, you can go to the stadium of the composition with color and form, where you will learn to draw.

90% of the design of an application through the use of typography, the arrangement of elements on the screen using grid systems and interactivity. The rest is cosmetic. You can master cosmetics later learning to copy styles and practicing to master them. For example, being able to illustrate, in this case, it's a matter of drawing, not doing extreme typography use, but that's another area of design.

</comment><comment><USER25> I came from an engineering background to design -

My advice would be to use a few principles to get you started for UI design:

\- map visual hierarchy to information hierarchy (more important titles bigger)

\- use legacy (familiar layouts such as a top navigation don't require a learning curve)

\- use visual metaphors / skeuomorphism to hint to the user where they are and what they can do (buttons look clickable, draggable elements have ridges that the user could imagine gripping, overlays have a shadow to imply something is above another)

\- keep things simple - people tend to be more interested in utility than ornaments when it comes to design but once you gain a bit more confidants you can start looking at adding in more little details as 'delight ears'

There is a bit of a gut instinct element when it comes to spacing things out but some grid templates might help with that to start with.

</comment><comment><USER26> <http://dribbble.com/>

from an engineer to another, I remember reading an article about how a company doesn't use a designer for their site because enough tools already exist. Dribbble was their favorite

</comment><comment><USER27> Read up on Dieter Rams and Bauhaus for some foundational lessons on aesthetics and design. (Go to some museum exhibitions if you can in your area.) Look into Jeff Veen and his work on HotWired in the 90's.

Hoefler & Frere-Jones have some great blurbs on typography. IDEO and Frog Design have written good stuff. Tufte, as mentioned,is great for information architecture.

When it comes to actual design, I recommend starting with scrap paper and a fat marker. The bigger marker prevents one from getting too detail oriented -- particularly helpful when designing for mobile.

</comment><comment><USER28> When I am not feeling design intuitively, I approach it as a problem solving exercise as that's what we do as coders... solve problems.

Ask yourself, what problem is this design solving? Is the goal of the site to get people to buy things? Ok, Problem 1: show them things. Problem 2: Make the user's eyes look at the right elements to get them to buy.

Each design element will either serve of obstruct your problem solving goals. It becomes obvious once you break the problems down into small enough goals.

</comment><comment><USER29> Nice answer from a previous similar question on HN : <https://news.ycombinator.com/item?id=4318154>

</comment><comment><USER30> For the web/mobile one of the most fundamental aspects of design is typography, study it, I recommend this book. Also it will teach you to diagram and grids, your design will improve a lot with that.

[http://www.amazon.com/Thinking-Type-2nd-revised- expanded/dp/...](http://www.amazon.com/Thinking-Type-2nd-revised- expanded/dp/1568989695/ref=sr_1_1?ie=UTF8&qid=1369514406&sr=8-1&keywords=typography)

</comment><comment><USER31> Design is getting increasingly competitive. As people learn about the theoretical foundations of visual design (e.g. golden ratio, usability, etc), the more they will be impatient with amateur attempts at design.

I have been a designer for over 10 years and not to toot my own horn, but it is a practise. You have to do it constantly to get good enough to the point that your design solution IS a solution, and not just a makeshift.

</comment><comment><USER32> This might be a different context than what you were asking but I try and have DigititalColor Meter open on my screen and when I come across a design or color scheme I like, I use DigitalColor Meter to help deconstruct how that design was set up. This helps break down button designs, gradients, shadows, and textures. Doing this over and over helps me understand what makes certain designs work at a pixel level.

</comment><comment><USER33> I'm an engineer too, and many years ago I read a book that I really found illuminating: [http://www.amazon.com/Designing-Visual-Interfaces- Communicat...](http://www.amazon.com/Designing-Visual-Interfaces- Communication-Techniques/dp/0133033899)

The examples about applications design are outdated, but the principles and clarity of exposition are still top notch.

</comment><comment><USER34> [http://www.amazon.com/gp/product/1560520442/ref=oh_details_o...](http://www.amazon.com/gp/product/1560520442/ref=oh_details_o00_s00_i00?ie=UTF8&psc=1)

From the thread "Design Books Every Hacker Should Read" . See <https://news.ycombinator.com/item?id=5058583> for reviews.

</comment><comment><USER35> Work alongside a designer. Easiest would be at a startup where you are interacting with one another on a daily basis. As a designer at a startup, when I'm updating the interface or creating a new flow I'll often include my design thoughts. Side note: I do find myself repeating the same things over and over: spacing, hierarchy, etc.

</comment><comment><USER36> Don't Make Me Think by Steve Krug is a good start on principles of usability and web design. Also, you can find website layouts, graphic designs, and get help with infographics from istockphoto.com, gettyimages.com, themeforest.net and visual.ly.

</comment><comment><USER37> My learning philosophy has always been to start by just doing. After a little time spent doing, when you stop and take a look at resources and discussion about whatever it is you are trying to learn, you are much more able to use the info.

</comment><comment><USER38> As a developer, I recommend that you read "The Non-Designer's Design Book" by Robin Williams. It teaches design fundamentals, and it made me much more aware of the principles of good design, and I think it would be a good starting point.

</comment><comment><USER39> Try to recreate the designs of your favorite sites. This way you'll practice your skills and get a lot of "I see what you did there" moments. Later on you will be able to implement those things in your own original designs

</comment><comment><USER40> <https://www.udemy.com/how-to-design-great-products/>

Sheepishly adding my own course to the list. Its free for a while so see if it is for you

</comment><comment><USER41> There's this course, not sure what it's like yet as I decided to learn javascript in depth first before I move on to design:

<http://hackdesign.org/>

</comment><comment><USER42> Read:

<https://en.wikipedia.org/wiki/Golden_ratio>

<http://nostarch.com/modernweb>

</comment><comment><USER43> I found imitating designs is really helpful in learning how to design. And of course spend as much time designing as you would for programming. It takes a lot of practice.

</comment><comment><USER44> Go to HackDesign.org and follow their lectures/

Also buy Design for Hackers.

<comment><USER45> I tried this. Thing is, just reading about design does nothing for me. I can read about typography all day, but I still feel like a novice when I have to decide what font "looks good" (besides the obvious ones, that is).

I simple don't feel the urge to go open Photoshop/Gimp and toy with new designs - I won't know where to begin, and yet, I want to become better at design. :-/

I wish there were more practical, interactive lessons somewhere where I could see the reward for learning some new design-related skill.

<comment><USER22> Try Designlab -- <http://www.trydesignlab.com>. :)

<comment><USER45> Invite only. :(

<comment><USER22> Co-founder here -- we're rolling out invites and bulking up lesson content, so sign up and you should be in in no time.

<comment><USER45> Cool. Signed up. :)

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Hi, I'd like to thank everyone for their great replies. More good info then I could have hoped for here.

Thanks, od2m

</comment><comment><USER46> Awesome resource: <http://hackdesign.org/>

</comment><comment><USER47> Designing in your head is one thing, but would you actually enjoy doing it?

</comment><comment><USER48> Last thing you want to hear, but you need to find a designer. It'd be hard for UI &/ UX designer to handle Rails/JS.

<comment><USER48> [http://www.uxdesignedge.com/2010/03/dont-design-like-a- progr...](http://www.uxdesignedge.com/2010/03/dont-design-like-a-programmer/)</comment></comment>


Show HN: Universal (Multi-SIM) Phone Number - <AUTHOR> https://hackernoon.com/how-i-have-a-universal-phone-number-using-google-voice-twilio-and-stdlib-1f40dbba851d <comment><USER2> I do this with Anveo. Costs me U$0.50 per month. The Anveo UI and user experience is really bad, but it's a surprisingly powerful product. It offers a wide range of forwarding options, I never needed to set up multiple services.</comment>


Startup School Radio: How Optimizely Knew It Was on to Something Big - <AUTHOR> https://blog.ycombinator.com/yc-startup-school-radio-how-optimizely-knew-it-was-on-to-something-big

<comment><USER2> People who paid them up-front were basically companies they've done some business with before.

It's good to work your network to get first customers but every startup can do that. It's just common sense.

And nowhere in the article Optimizely claims this was how they knew they were onto "something big". So the title is misleading.

<comment><AUTHOR> Fair point on the title -- perhaps I should have left it at "on to something." Will keep in mind for next time.

<comment><USER3> Thanks for these I will give it a listen.

Even "on to something" is a click-bait title which HN guidelines say should be neutered. IMHO you don't need to force it, just be classy and straight-forward e.g. "YC Startup School Radio Ep. 3 - Optimizely & Lawn Love" or something.

</comment></comment></comment><comment><USER4> Really been enjoying these podcasts. Very cool to hear these first-hand stories

</comment><comment><USER5> I know companies that did the same thing, only they were not onto something big. Having customers pre-product is a good signal. I'm sure that the class of companies for which this happens have a much higher success rates than a typical startup. However, that's far from knowing you've hit something big. That's something you can only say in hindsight.

</comment><comment><USER6> Serious question; what is the deal with the something-ly.com names? It just seems really odd and me-too-ish to my ear.

<comment><USER7> Because of the .ly TLD. Many companies employed a play on words to have a single-word domain for any word ending in -ly. Bit.ly is probably the most well-known.

The problem is that .ly is managed by Libya, and they tend to have restrictive laws and government practices that many people take issue with. So, many companies just got the -ly.com versions of their domains and made the switch.

<comment><USER8> To expand upon your comment.... those startups used something.ly domains when they were small and just starting out -- i.e. before they could afford to buy something-ly.com. Once they had traction and raised money, they purchased the proper domain. It's the same reason TheFacebook later dropped "The".

</comment></comment></comment><comment><USER9> When the guys at Optimizely asked for money upfront for their new software idea, were they already backed by YC?

</comment><comment><USER10> I wonder if they collected the check up front. Big difference there too...</comment>


China's Pig Pandemic - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-04-24/china-s-handling-of-swine-fever-outbreak-similar-to-sars <comment><USER2> TFA says: "For decades, the Chinese government's top priority has been the preservation of social stability."

It should say: "For millenia, the Chinese government's top priority has been the preservation of social stability."

<comment><USER3> Except when it wasn't for a few notable decades.

<comment><USER4> It takes less than a decade of concerted effort to erase ~4000 years of culture.

</comment></comment></comment><comment><USER5> >>Meanwhile, China's hierarchical system remains fragmented and autonomous below the top levels of power.

exponential decay wrt distance to Beijing

<comment><USER6> 「天高皇帝遠」 as the Chinese saying goes. (en: Heaven is high and the emperor far away)

<comment><USER7> Russian has a very similar adage:

До Бога высоко, до Царя́ далеко. (God is high above and the Tsar is far away)

<comment><USER8> Бог високо, цар далеко in Bulgarian too.

</comment></comment></comment></comment><comment><USER9> _China's Pig Pandemic Should Worry Everyone_

What's up with the title? I could understand for something like SARS, but _African swine fever only affects pigs_.

<comment><USER10> Virus mutation can allow viruses to just species:

[https://en.wikipedia.org/wiki/Spanish_flu#Hypotheses_about_t...](https://en.wikipedia.org/wiki/Spanish_flu#Hypotheses_about_the_source)

<comment><USER11> It is possible that the Spanish flu originated in China and was brought to Canada by laborers: [https://news.nationalgeographic.com/news/2014/01/140123-span...](https://news.nationalgeographic.com/news/2014/01/140123-spanish- flu-1918-china-origins-pandemic-science-health/)

</comment></comment></comment><comment><USER12> What I worry about is that an increasing population also means an increasing "surface area" where diseases can occur in the first place, not just that they spread faster.</comment>


Ask HN: How much of pay cut would you take for a more fulfilling job? - <AUTHOR> I'm at that point where I'm considering changing jobs. After a string of trampoline-like moves from one place to another, I quite frankly feel I'm only doing it for the money. As I search for options, I realised jobs I would find more fulfilling typically pay between 30-40% less. Still have not decided what to do.<p>What pay cut would you accept to do something you like? <comment><USER2> > I quite frankly feel I'm only doing it for the money.

I think this describes everyone's relationship to work. If your current employer stopped paying you would you keep showing up? If the more fulfilling job stopped paying you, would you keep showing up?

Usually if I decide I want to change jobs I am looking for something that is both more fulfilling and higher pay rather than one or the other. If I did not have to work, I wouldn't.

<comment><USER3> Alas this does not describe everyone's relationship to work.

Huge communities of people work really hard for zero money to get job satisfaction. You need look no further than many open source projects to see this, not to mention armies of volunteers at any charity shop etc.

While it is rare to find that perfect job, where you are both fulfilled and paid well, it is certainly something to hang into when you find it.

For me, I programmed for free long before anyone paid me, and I'll program for free when they stop paying me. In between I have earned dramatically lower pay working for myself, on projects I enjoy, with minimal oversight, than I would have gotten working for some corporate as a cog in the machine. I don't envy my rich Google compatriots - it would kill me to do their job.

The old cliche says if you find a job you love, you'll never work a day in your life. That's bogus. Work is still work, and I work harder than most,but the work is meaningful, satisfying, and fulfilling. (_and_ I get paid :))

To answer your question though I dug out this story I read a long time ago [https://www.mentalfloss.com/article/31077/when-his- project-w...](https://www.mentalfloss.com/article/31077/when-his-project-was- canceled-unemployed-programmer-kept-sneaking-apple-finish-job)

</comment></comment><comment> non-entity I probably wouldn't take a pay cut at my current salary, but I would definitely settle for a lower salary ceiling. I find people have a different definition of fulfilling though, it seems to most people to he defined as work having some sort of positive impact on society, but I really just want to work on domains / problems I'm interested in.

</comment><comment><USER4> > the primary goal for many [new professionals] becomes, in essence, getting > compensated sufficiently for sidelining their original goals. Robert H. > Frank, a Cornell University professor of economics, tried to find out > exactly how much compensation people deem sufficient for making this > sacrifice. He surveyed graduating seniors at his university and found, for > example, that the typical student would rather work as an advertising > copywriter for the American Cancer Society than an advertising copywriter > for Camel cigarettes, and would want a salary 50% higher to do it for the > cigarette company. The typical student would want conscience money amounting > to a 17% salary boost to work as an accountant for a large petrochemical > company instead of doing the same job for a large art museum.

\-- Schmidt's book Disciplined Minds, p 131

<comment><USER5> I'd personally consider it more moral to work at a petrochemical company than an art museum.

Petrochemicals - Creating energy, necessary for modern life and society.

Museum - Playground for the rich and tourists.

</comment></comment><comment><USER6> I already do something I like, so not much.

That said, a FAANG or bank would pay twice as much, at least. And I've deliberately avoided that out of preference for startups. So perhaps in that sense I've already taken a 50% cut.

And only regret it when looking at time-to-retirement projections.

<comment><USER7> What bank would pay close to a FAANG? Goldman is the only one that I think could come close at the junior levels, but once you reach senior or above, I doubt any can.

Maybe for some elite (and pretty rare) roles in niches like algo trading, but I doubt the typical bank developer job pays as well as FAANG or other top tier tech companies.

Some elite hedge funds or prop trading shops could match or even vastly exceed FAANG comp, but then again, those jobs are both pretty rare, and their interviews can be difficult enough to make FAANG interviews look easy.

<comment><USER6> For management roles

</comment></comment></comment><comment><USER8> Depends on my asset base.

These days, I have a comfortable base of assets that generate growth/cash. Because of that, I can afford to take jobs that index better on qualities other than just pay.

</comment><comment><USER9> I would do 20%, but each persons number is based on how much they feel they are paid beyond their need / want level.

Like you I do not care for my current job, but for a variety of reasons I am stuck for the next 2.

There is an old saying 'Enjoy your job and you never work a day' (because you are having fun). But if you are not meeting yours needs, then they become the golden handcuffs that keep you working because you need the gold.

</comment><comment><USER10> What parts to you find fulfilling? One approach would be to assign a value to aspects of a job you find fulfilling. This could include things like a short commute, casual dress, flex hours, remote work, low politics, good/smart coworkers, and challenging projects. For some challenging projects may be worth a lot, for others remote work to be with family could have the highest value.

</comment><comment><USER7> I work at an investment bank as a senior SWE. I'd take a paycut to work at a FAANG or other upper-mid to top tech company. In fact, I'd be ecstatic to join such a company as a junior or mid engineer - and the paycut (if there would be any at all) would probably be very minor. Meanwhile the long term benefits (monetary, skill, and career) would probably be far superior.

<comment><USER11> In what ballpark are you making? I'm at an IB as a mid-level engineer and my all-in compensation is at least half of what I could get a FAANG. In NYC.

<comment><USER7> Ballpark TC of 150k, as a "vice president" individual contributor, team works with the front office (trading desk). I'm in NYC too.

Probably could have made SVP/D/ED (the next level up, I think it's referred to differently depending on bank) if I actually cared and made more of an effort. Instead I choose to use that time and energy to do more leetcode.

</comment></comment></comment><comment><USER12> I wouldn't take a paycut currently. However, I would take a job without a raise. I have found my personal equilibrium for effort vs income. I could make more money, but it would be with significant more work and time spent.

30%-40% sounds like a lot. But it depends if you are sacrificing luxury or saving and retirement.

The equation I used is: income = monthly expenses + savings + retirement fund.

</comment><comment><USER13> I'd happily take a 60% paycut if I could instead work full time directing my independent game development company.

</comment><comment><USER14> I would probably be willing to settle for 0.75x, if needed, and depending on other benefits/ factors (e.g. if I would receive multiple job offers at the same time etc.).

</comment><comment><USER15> This is to assume you have the pay to cut!

</comment><comment><USER16> I have a family to support, so I can't afford any pay cut.

</comment><comment><USER17> Why are you treating this as a financial problem?

</comment><comment><USER18> Just stack the money and invest it.

<comment><USER16> I'm betting my retirement account in the market. Either I can retire someday or i will be in the bread lines.</comment></comment>


China's peculiar ear-cleaning custom - <AUTHOR> http://www.bbc.com/travel/story/20181029-in-china-chengdus-peculiar-ear-cleaning-custom <comment><USER2> The article mentions that dry earwax is found in Asians, in comparison to the sticky form in Westerners. It does not mention the fascinating detail that this difference is determined by a single gene, which also influences underarm odor. [http://udel.edu/~mcdonald/mythearwax.html](http://udel.edu/~mcdonald/mythearwax.html) [https://en.wikipedia.org/wiki/ABCC11](https://en.wikipedia.org/wiki/ABCC11)

<comment><USER3> Because of this gene more than 95% of Chinese have very little body odor. Consequently, Chinese regard those with heavy body odor as ill, and name the illness 狐臭 ("fox stink" by transliteration). Those with heavy body odor are shamed by their peers. Few of Chinese know that almost everyone outside China, Korea and Japan shares this "illness", and deals with it daily with deodorants.

<comment><USER4> I wonder what other factors can contribute to the matter. Korean guy here. I swear that a decade ago, I would not get significantly stinky as I got sweaty. These days, I am totally stinky after a basketball game. My feet are so stinky after a day in shoes. My armpits are crazy stinky after a day of work, they totally were not this stinky a few years ago.

Yes, I do not have conclusive data on the matter. It's all anecdotal and non- scientific. But I swear it's true. I swear it.

<comment><USER5> up till now, reading about the dry vs wet earwax, I had always understood the smell to be determined by the type of bacteria feeding on urea in the sweat. The urea contains chemical energy, but is expelled nonetheless by the human body to get rid of the nitrogen. I also clearly remember knowing about this mechanism and reading on practically all the deodorant bottles (perhaps 5 years ago) brand or no brand that it contained perfume, other things and ... urea! so basically pretty smell that evaporates over time, while feeding the stinking bacteria so you'd spray again.

Then I noticed urea dissappearing from the deodorant bottles.

According to this theory the smell of sweat is really determined by the breakdown products the bacteria release, so that would imply killing the current colony and applying an odorless colony.

Perhaps people with smelly sweat are just alternating faster between colonies by having periods of working out, and periods of not working out which causes the occasional good colony to die and get replaced with a smelly one? Perhaps people who smell less have a more regular colony feeding pattern?

<comment><USER2> Underarm odor is largely determined by bacterial breakdown products of fatty acids, steroids, and other aliphatics into odorous compounds such as smaller- chain acids. Urea plays no role that I know of. See [https://en.wikipedia.org/wiki/Biochemistry_of_body_odor](https://en.wikipedia.org/wiki/Biochemistry_of_body_odor)

<comment><USER5> I could perfectly be wrong about the odour being a breakdown product of the urea itself, but I thought the urea was a major _energy source_ for the bacteria... is that still correct or are the other species you mention more energetic or available?

<comment><USER2> I think urea will be in sweat mainly in the case of damaged kidneys, not under normal conditions. Not sure about that though.

<comment><USER5> [https://www.ncbi.nlm.nih.gov/pubmed/12817713/](https://www.ncbi.nlm.nih.gov/pubmed/12817713/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> I live in China and used to love getting this done. It makes my ears feel fantastic. But due to the worry of damage to the ears and so on, my wife desires me to not do this anymore. So I don't. But I really miss it. So my wife helps me out now and then to take earwax out, maybe twice a month. She never goes in very deep, out of concern for my ears. But every now and then, she'll see a really huge piece just sticking out and is able to grab it with some specialty tweezers designed for ear use (she bought them off taobao). It's not the same, but it's almost as nice. She sometimes takes out pieces that are 1.5 square centimetres. Something is wrong with me.

</comment><comment><USER6> >>"There is no medical system in the world that would advocate sticking foreign objects into the ear canal. People do it because they think it feels good."

And for good reason - we should not clean our ears, unless they are impacted with cerumen (wax).

Our ears need the protective lining the wax provides and excessive removal only causes the body to create more.

[https://www.audiologyonline.com/articles/issues-in- cerumen-m...](https://www.audiologyonline.com/articles/issues-in-cerumen- management-1298)

<comment><USER7> > People do it because they think it feels good.

What's the difference between "thinking it feels good" and it "feeling good"?

Many people have reported quasi-sexual pleasure while playing with a q-tip inside their ear canal.

</comment></comment><comment><USER8> This sounds like an improvement over q tips since they would actually be removing the wax and not accidentally shoving it further in.

<comment><USER9> Nowadays doctors in general strongly advise against using q-tips inside the ear canal, as does the actual packaging (at least of some brands): [http://www.greathillsent.com/images/qtips.jpg](http://www.greathillsent.com/images/qtips.jpg)

The treatment I've seen for out of the ordinary earwax accumulation was warm water sprayed using a bulb syringe.

<comment><USER10> Yep. Can be hard to find in drugstores, where they might be called 'aspirators' or 'bulb syringes'. Made of plastic (used to be rubber). Might be in baby section. Use water near body temp (or you might get dizzy). -Squeeze gently-.

[https://proxy.duckduckgo.com/iu/?u=http%3A%2F%2Fi.ebayimg.co...](https://proxy.duckduckgo.com/iu/?u=http%3A%2F%2Fi.ebayimg.com%2Fimages%2Fg%2FGtMAAOSwaB5XuBU4%2Fs-l300.jpg)

Same tool is a good substitute for use to irrigate the nose with _neti pot_ solutions. A doctor once whispered to me 'big pharma doesn't want you to know about them'.

</comment></comment></comment><comment><USER11> As kids, my mom would do this to us. She'd use a hairpin. It is oddly satisfying.</comment>


Wolfram Alpha's iPhone app now only costs $1.99 - <AUTHOR> http://blog.wolframalpha.com/2010/03/31/a-new-focus-on-ubiquity/

<comment><USER2> Could someone please explain me why I should buy the app? <http://m.wolframalpha.com> seems to be exactly the same thing. The only reason for buying the app I see, is supporting WolframAlpha. Please tell me if I am wrong.

<comment><USER3> The app has created custom keyboards for typing mathematical formulas. Makes for a much better experience.

</comment></comment><comment><USER4> And this is not an April Fool's joke. The app store hadn't updated for me when I first saw this. Then the actual buy screen still said $49.99. Now I can't buy it because it's being modified in the store. Sometimes Hacker News is too quick with the news. :-)

I imagine this app is at worth at least the price of a cup of coffee.

</comment><comment><USER5> I wonder whether earlier pricing ($49) was chosen to only have serious users before opening up the app to everyone. Perhaps an effective method to recruit beta testers who care.

<comment><USER6> My guess is that they were trying to skim off as much revenue from the potential customer pool as possible. If you charge $49 and only get 100 takers, you still make more than if you had 1000 paying $1.99. I know there's different thresholds to consider, but this is a fairly common pricing strategy. Remember Apple's original $599 iPhone?

<comment><USER7> Wolfram, like Apple with the iPhone, are offering a rebate for those unhappy about the price change.

</comment></comment></comment><comment><USER8> This is still $1.99 too expensive if the goal is uptake.</comment>


What is this thing, called swing? (2016) - <AUTHOR> http://thehomeofhappyfeet.com/what-is-this-thing-called-swing/ <comment><USER2> Swing is the thing that provides meaning to it.</comment>