Misleading metaphors - <AUTHOR> https://www.economist.com/blogs/prospero/2016/07/language-and-thought <comment><USER2> FrameWorks Institute is an interesting nonprofit organization — they "empirically identify the most effective ways of reframing social and scientific topics." In other words, replace the misleading metaphors with better ones.

[http://www.frameworksinstitute.org/mission.html](http://www.frameworksinstitute.org/mission.html)

For a practical intro, see "How to build a metaphor to change people's minds"

[https://aeon.co/essays/how-to-build-a-metaphor-to-change- peo...](https://aeon.co/essays/how-to-build-a-metaphor-to-change-people-s- minds)

</comment><comment><USER3> If you liked this article, be sure to purchase and read "Methaphors we live by", by Lakoff ([http://www.goodreads.com/book/show/34459.Metaphors_We_Live_B...](http://www.goodreads.com/book/show/34459.Metaphors_We_Live_By)) It is a great little book that goes into much more detail and analysis of how humans use methaphors and analogy as models to understand the world around us. Highly recommended.

And if you already read it, I for one would welcome further study on these lines if you know it!

</comment><comment><USER4> Since it's The Economist, I'm surprised they didn't mention one of the most common misleading metaphors I see floating around: that of equating sovereign debt to credit card or household debt. It's used constantly by both Internet commentators and politicians, and it needs to die as soon as possible, because it's completely wrong and leads you to policy conclusions that are the exact opposite of what you need to do.

<comment><USER5> Can you provide an example of a policy decision that is (1) correct using sovereign debt analysis but (2) incorrect when using household debt analysis?

<comment><USER6> This Reuters blog post points to one: refusing to invest in public universities. This leads _private_ debt to grow, while austerity offers no offset for students who must take out large loans to enroll.

There are many others really. It's a pervasive metaphor (sovereign debt = household debt) that leads to fundamental confusions about how governments, individual citizens and private industry, and imports/exports, interact. Many austerity-hawks are sometimes unknowingly, sometimes very knowingly, repeating it ad nauseum.

Too much sovereign debt is bad, but that is in specific contexts. Most governemnts require debt in order to secure credit (as in the USA immediately after securing independence). It's MUCH more complicated and flexible than household debt. The flexible part is often what is lost in the metaphor.

[http://blogs.reuters.com/great-debate/2013/01/14/why- public-...](http://blogs.reuters.com/great-debate/2013/01/14/why-public-debt- is-not-like-credit-card-debt/)

<comment><USER5> It seems a better analogy would be business debt rather than household debt.

Business debt is used for productivity and not just consumption. However, in both the case of business debt and sovereign debt, the return on the extra capital would have to exceed the interest rate on the debt.

I disagree with your analysis of public universities, however. The cost of university has grown substantially over the last 50 years with no real change in education quality. That implies there is some underlying reason for that cost disease. Besides, if everyone in the US goes to university, and the government pays for university education, there really isn't a change in who pays for tuition -- people either pay for it with a loan or they pay for it with taxes. At least if they pay for it with a loan they aren't forced to pay for someone else's education without receiving any benefit from it.

</comment></comment></comment></comment><comment><USER7> Not spot on the same issue perhaps, but these sorts of effects are an important reason I cringe at the uptake of newspeak like "alternative facts" by regular media and writers. If you not only let your adversary pick the framing but actively contribute to it, you're placing yourself at a potentially severe disadvantage for no good reason.

<comment><USER8> This is an excellent point. Sometimes, I think certain things just shouldn't get coverage, like a particularly silly / obviously wrong thing Trump tweets.

</comment></comment><comment><USER9> The prominence of metaphor to human cognition was put forth in _Metaphors We Live By_ , by Lakoff and Johnson. A fantastic book. Anyone interested in the line of reasoning in the article here should read it.

</comment><comment><USER10> "Metaphors are like models, only with unclear responsibilities." \--Nick Rowe, talking about the use of metaphors to describe economic models.

<comment><USER11> Other people that used that quote is Emanuel Derman. He's an interesting character (PHD in theoretical physics, Ex-Goldman Sachs Partner). He is the author of Models.Behaving.Badly: Why Confusing Illusion with Reality Can Lead to Disaster, on Wall Street and in Life [1] and wrote a great paper on Metaphors, Models & Theories. I did a review of his paper [2], but some highlights:

Theories: Tell us what something is. According to Derman, theories "deal with the world on its own terms, absolutely."

Models: Tell us what something is partially like. According to Derman, models are "reductions in dimensionality that always simplify and sweep dirt under the rug."

Metaphors: Models can be compared to Metaphors. Metaphors are relative descriptions that compare it to something similar, but better understood through theories or real life applications.

"A model is a metaphor, not the thing itself. Good metaphors compare something we don't understand, to something we think we do. Based on this, a model is simple and of limited applicability when compared to the real thing as it focuses on some parts rather than the whole. It is a caricature which overemphasizes some features at the expense of others."

[1] [http://bit.ly/dermanmodels](http://bit.ly/dermanmodels) [2] [https://medium.com/pnr-paper/metaphors-models-theories- fb406...](https://medium.com/pnr-paper/metaphors-models-theories-fb40639f0a21)

</comment></comment><comment><USER12> The ideas that apply to yourself are especially applicable. In regards to stress, I frequently went to relax after school by doing personal projects like a website. After hearing that stress was like a pressure, I assumed I had to set aside time to "destress." I played games instead and felt fine for it, but if I really regret stopping what I was doing.

</comment><comment><USER13> >This may be one reason why legal systems have historically been rather forgiving of men who go on rampages after too much wifely nagging or losing their jobs.

Since when? Please show me an example of this..

<comment><USER14> "The rule of thumb" is probably the best-known example in English Common law. The rule held that it was ok for a man to beat his wife with a rod, as long as it was no thicker than his thumb.

(Edit: I'm certain that we can find examples from the legal systems of other countries and cultures, if we bother to look.)

<comment><USER15> Speaking of bothering to look, you just have to check Wikipedia to know that this is a myth.

[http://csswashtenaw.org/wp- content/uploads/2013/07/Rule_of_T...](http://csswashtenaw.org/wp- content/uploads/2013/07/Rule_of_Thumb.pdf)

[https://books.google.com/books?id=-IpmCgAAQBAJ&pg=PA105&dq=r...](https://books.google.com/books?id=-IpmCgAAQBAJ&pg=PA105&dq=rule+thumb#v=onepage&q=rule%20thumb&f=false)

<comment><USER14> From the same wikipedia article:

> English common law before the reign of Charles II permitted a man to give > his wife "moderate correction", but no "rule of thumb" (whether called by > this name or not) has ever been the law in England.[2][8][d]

In other words, beating of wives was historically an acceptable practice under English Common law, notwithstanding my mistakenly using a debunked anecdote.

Thank you for "moderately correcting" me.

(edit: And to further the original point that historically English Common law allowed for wife-beating, from wikipedia:

> Prior to the mid-1800s, most legal systems viewed wife beating as a valid > exercise of a husband's authority over his wife.

[https://en.wikipedia.org/wiki/Domestic_violence#History](https://en.wikipedia.org/wiki/Domestic_violence#History))

<comment><USER15> > In other words, beating of wives was historically an acceptable practice > under English Common law

You're assuming "moderate correction" means wife beating. In fact, if you look at the source Wikipedia cites for that phrase, it says:

>Such corrections specifically _excluded_ beatings in favor of temporarily confining the wife to the household (like making a child sit in the corner). In fact, no British law, Common or Parliamentary, _ever_ permitted wife beating _under any circumstances_.

<comment><USER14> I guess you're right and I'm wrong. My apologies.

(edit: Perhaps I was confused by this quote:

> "In the early 1800s most legal systems implicitly accepted wife-beating as a > husband's right, part of his entitlement"

> [https://www.britannica.com/topic/domestic- > violence](https://www.britannica.com/topic/domestic-violence))

I took that to include English Common law (the article I quoted doesn't make that clear.) Bully to the English for always providing legal protection to their women!

</comment></comment></comment></comment></comment></comment><comment><USER16> I believe the author is saying that the contextual application of a metaphor can spur illogical thought? Yet it seems odd to limit an imaginative literary tool.

</comment><comment><USER17> Analogies are similar (or should I say analogous?)

<comment><USER16> I was thinking about this also, do you think analogies are more logical/rational and metaphors are more abstract/creative?

<comment><USER17> I'm not sure. But as it turns out, metaphors are analogies, but used in a special way. Wikipedia has more info.

</comment></comment></comment><comment><USER18> Paywalled article. If your connection is not super fast cancel loading of the page as soon as you see the article.

<comment><USER19> [https://outline.com](https://outline.com) or [https://archive.is](https://archive.is) are also often useful.

</comment></comment><comment><USER20> Are misleading metaphors the issue, or is it just that lots of the stories we tell are misleading? Strange article, it seems to negate itself at the end by pointing out that "declaring war" on things that aren't war is never true and only sometimes helpful.

> "Calories in, calories out" is more than a banal restatement of the Law of > Conservation of Energy: it is a metaphor casting the metabolism as akin to a > current account. Weight gain is then simply a matter of depositing more than > you withdraw. But that ignores the role of hormones and appetite; > differences in the way different foods are metabolised and the way the body > reacts to prolonged deprivation by hoarding fat and slowing down. No wonder > diets rarely work

Speaking of misleading stories, diets do work. People just don't stick to them because they're _super_ difficult. We are hard-wired physiologically to crave food, and it can be near impossible socially to stick to a diet. It's not because something is wrong with the phrase "calories in, calories out". Which isn't even a metaphor, by the way, so why is this diatribe here? This specious argument is saying we should ignore the primary factor and instead worry about the margins. Person to person variance in caloric digestion is in the low percentages for almost everyone. Nearly everyone gets the same 230 calories from McDonalds French fries. Sure, someone might absorb a little more and get 245 and someone else might absorb a little less and get 215, but skipping them is an order of magnitude more effective for _everyone_.

<comment><USER21> Calories in/out is true. As in it is an accurate statement.

The problem is that common examinations of diet focus on this math rather than what motivates humans to eat. It is like saying 'the problem with traffic is too many cars.' It is an axiom that does nothing to examine the causes. Admonishing everyone to 'drive less' will do very little unless several other systems are changed.

<comment><USER22> The "calories in/out" line also ignores that the "calories out" part varies _extremely_. For example, my mother has two bum knees from a lifetime of sports activity that now prevent her from engaging in most strenuous activity, and an under-active thyroid. She's also post-menopausal, so her overall metabolism is super low. She literally cannot lose weight on anything more than 1500 calories per day.

"It's just a matter of willpower"\--as one of my sibling commentors so thickly puts it--is theoretically true, it's just that a lot more willpower is required out of some people than others.

<comment><USER20> I agree, reducing it to "willpower" is roughly the same thing as reducing it to "calories in, calories out". Neither one actually helps you achieve it. And saying it's only "willpower" and nothing more is possibly more misleading, and more shaming than the caloric equation.

I found out personally that focusing on willpower doesn't work very well, thinking that way makes it easier to fail mentally. You're trying to focus everything you have on not eating food, and judging your strength by whether you succeed. It's like the psych test of trying not to think of a polar bear. ([http://www.apa.org/monitor/2011/10/unwanted- thoughts.aspx](http://www.apa.org/monitor/2011/10/unwanted-thoughts.aspx)) Trying not to think about something is harder than thinking about something, and doubly harder than the habits we don't think about. Focusing on willpower is setting up such a monumental task that almost nobody can achieve, and the very few people that do have mentally trained for it.

It does take me the right mental frame of mind to stick to a reduced calorie diet, but I don't consider it willpower, it's more of a way of thinking and arranging my life so that I don't need willpower. It's almost opposite of willpower. I think about what I should do and how I should feel, instead of what I shouldn't, and I form new habits so that I don't have to think about it all the time or use the power of my will to overcome my tendencies.

I'm not sure but I feel like women generally have it harder when it comes to calorie reduction. My wife has to eat under 1500 to lose weight as well, and she's active and doesn't have bum knees or thyroid problems. Either way, that stinks for you mom. Does she regret her previous sport life at all now, or does she have fond memories?

<comment><USER20> The above comment seems to be rubbing some people the wrong way. I'm honestly stumped as to which parts are disagreeable and I'd listen and appreciate any further feedback, especially if I was accidentally offensive. My one any only goal was to contribute positively to the discussion.

</comment></comment></comment></comment></comment><comment><USER12> Despite being paywall, the content is interesing and viewable by canceling the loading as siner posted.

<comment><USER23> Or use the "kill sticky headers" bookmarklet: [https://alisdair.mcdiarmid.org/kill-sticky- headers/](https://alisdair.mcdiarmid.org/kill-sticky-headers/)

</comment></comment><comment><USER24> Metaphors and analogies are not tools for critical thinking. When you use a metaphor or an analogy to link two ideas together, you are simply combining things that have no logical connection. It's essentially a quirk of human thought that this type of analogical "reasoning" even exists.

<comment><USER25> Some of the greatest thinkers in history used metaphors. For example - Sócrates, Descartes, Confucius, Kant. If metaphors were good enough for them, they're good enough for me.

<comment><USER24> At best, metaphors are a useful mnemonic device. If they had any value or explanatory power, they'd be used in science. But they're not.

<comment><USER25> I see scientists using them all the time. For example, Stephen Hawking has described the universe as being like the surface of a balloon.

</comment></comment></comment></comment><comment><USER26> Misleading article:

1\. Dismiss stress, by badly redefining what stress is.

2\. People "snapping": Just mention it, but do not explain why is a bad metaphor. Maybe he/she deleted the paragraph, maybe he/she do not care for a coherent article?

3\. Dismiss healthy food

4\. Do not understand DNA

5\. more badly explained things

6\. "war on drugs" - finally something, but this is PROPAGANDA not a bad metaphor. It is intentional.

7\. "War on terror" \- I this case, when "war on terror" is "war on ISIS" is not a bad metaphor, they've uniforms and a territory.</comment>


Hi, I'm Dan Croak (croaky), CMO at thoughtbot, AMA - <AUTHOR> http://growthhackers.com/questions/hi-im-dan-croak-croaky-cmo-thoughbot-ama/

<comment><AUTHOR> Great thread going on over at GrowthHackers right now, some great insight by Dan about things him and the developers at thoughtbot have going on

</comment><comment><USER2> Awesome stuff!</comment>


Things you should know about PHP 7 - <AUTHOR> https://pages.zend.com/TY-Infographic.html <comment><USER2> TL;DR:

1\. Scheduled to come out in Q4 2015

2\. <=> operator, see [https://wiki.php.net/rfc/combined-comparison- operator](https://wiki.php.net/rfc/combined-comparison-operator)

3\. Return Type Declarations & Scalar Type Hints

4\. Speed improvements (25-70%)

5\. Yep, speed improvements are for real.

You're welcome.

<comment><USER3> So 1 is not a feature, 4 & 5 are the same thing (and maybe a consequence of 3) while 2 can be remplaced by a single function.

Seems like the only new feature are type hints. Looks like Hack has been rebranded as PHP 7.

<comment><USER4> There are tons of new features, this list is pretty pathetic. I'm not sure why the spaceship operator got top billing when there has been so many other great changes.

<comment><USER5> Because it has a cool name.

</comment></comment></comment></comment><comment><USER6> Note this is just Zend's take on what's important in PHP 7: it's not a complete list.

A more comprehensive list:

\- Dual-mode scalar type hints (weak by default, toggleable to strict via a per-file syntax) ([https://wiki.php.net/rfc/scalar_type_hints_v5](https://wiki.php.net/rfc/scalar_type_hints_v5))

\- Return type declarations ([https://wiki.php.net/rfc/return_types](https://wiki.php.net/rfc/return_types))

\- <=> operator ([https://wiki.php.net/rfc/combined-comparison- operator](https://wiki.php.net/rfc/combined-comparison-operator))

\- Null coalesce operator (??) ([https://wiki.php.net/rfc/isset_ternary](https://wiki.php.net/rfc/isset_ternary))

\- Closure::call ([https://wiki.php.net/rfc/closure_apply](https://wiki.php.net/rfc/closure_apply))

\- Abstract syntax tree ([https://wiki.php.net/rfc/abstract_syntax_tree](https://wiki.php.net/rfc/abstract_syntax_tree))

\- Context sensitive lexer, allowing the use of reserved words in more places ([https://wiki.php.net/rfc/context_sensitive_lexer](https://wiki.php.net/rfc/context_sensitive_lexer))

\- Unicode escape syntax in strings ([https://wiki.php.net/rfc/unicode_escape](https://wiki.php.net/rfc/unicode_escape))

\- A uniform variable syntax ([https://wiki.php.net/rfc/uniform_variable_syntax](https://wiki.php.net/rfc/uniform_variable_syntax))

\- Expectations ([https://wiki.php.net/rfc/expectations](https://wiki.php.net/rfc/expectations))

\- Use declaration grouping ([https://wiki.php.net/rfc/group_use_declarations](https://wiki.php.net/rfc/group_use_declarations))

\- Removal of a ton of long-deprecated features

\- Massive speed improvements

You can see everything that's been added to PHP 7 on [https://wiki.php.net/rfc](https://wiki.php.net/rfc) (look under Accepted and Implemented - PHP 7.0)

<comment><USER7> OH man I want that Null coalesce operator so bad...

<comment><USER8> I feel like I've needed that since I first started coding PHP 17 years ago!

<comment><USER9> I feel like I want to test what happens if you put values like "", false, " ", 0, an empty array, etc etc etc in front of ??.

Because, you know, this is PHP.

<comment><USER6> > I feel like I want to test what happens if you put values like "", false, " > ", 0, an empty array, etc etc etc in front of ??.

All of those would result in the variable being assigned those values: the null check uses the same semantics as is_null(), and the truth table for those values is:

        $v     is_null($v)
        </comment></comment></comment></comment></comment><comment></comment><comment></comment><comment>
        ''     FALSE
        false  FALSE
        ' '    FALSE
        0      FALSE
        []     FALSE

If you want to all falsy values to use the fallback value, use the shorthand ternary operator (?:) instead.

</comment><comment><USER10> Good to see PHP slowly improving, although I haven't used it for years now.

On a side note, does anyone know why Drupal 8 is apparently so absurdly slow? I know it's not entirely fair to compare against D7 as it's still technically "under development" but it just seems insane to take that much of a performance hit for nicer OOP semantics...

<comment><USER11> D8's a work in progress, and if there's one thing I wouldn't be too critical of a wip for, it's performance.

Frankly I don't really see drupal's place in the world anymore. It's so absurdly config-heavy, which may have made sense a decade ago but not now. Everyone will just install composer, put laravel/symfony on there, and be off to the races. The era of giant pages of drupal-managed plugins is over, and replaced by package managers + slimmer CMSes like joomla or concrete5.

<comment><USER12> Drupal 8 actually using a lot of Symfony2 components internally now, and you should be able to manage your modules with composer if you so choose.

I'm really excited for D8, no other CMS to date has been as easy to administer in my eyes, and now that they're dramatically revamping the module and theming stories I may even enjoy writing modules and themes once more.

<comment><USER11> I know, and I think they're making the right decisions to make it the best drupal it can be. I was really excited about it 2.5 years ago.

My point is I think the fundamental idea of drupal is obsolete. If it can eke out a few more years of relevance and take market share away from WordPress, all the more power to them,

</comment></comment></comment></comment><comment><USER13> Being a PHP dev since the early 00's it's great to see the language moving forward with features and performance and seemingly less hate towards it from the developer community at large. For a while there seemed to be a "PHP- shaming" thing going around. If you did PHP you were sort of in an untouchable uncool class.

<comment><USER14> Meh...PHP devs think they've got bad here?

I still have to knock out Classic ASP now and again. My dad found out and won't even look at me or answer the phone :)

<comment><USER15> I know that pain

</comment></comment></comment><comment><USER16> While I eagerly look forward to PHP7, you can get more than PHP7 speed now with HHVM, and HHVM has never been easier to use.

But competition is good, great actually. HHVM recently folded in JIT regex like PHP7, so they are copying from each other.

<comment><USER17> Hack is also a substantially better language than PHP.

It, directly or indirectly, fixes a lot of horrible behaviour. PHP's absurd comparison operators, for instance, are safely usable once you drop them into a statically typed environment.

<comment><USER5> Hack is merely PHP with poorly-enforced type hints

Unlike PHP, Hack lets you, nay, encourages you, to turn off type checking in places

<comment><USER18> I don't believe it's just that. One of the coolest features which if it is used properly actually speeds up the response times of a normal blocking php script /app flow is the as async feature: [http://docs.hhvm.com/manual/en/hack.async.php](http://docs.hhvm.com/manual/en/hack.async.php).

</comment></comment></comment></comment><comment><USER11> The spaceship <=> is actually a lot cooler than many PHP devs realize. Rails devs find it extremely handy. Now that my PHP apps are moving away from being big apps that render full web-pages, and towards being a thin application layer that just renders JSON, I'm finding a higher % of my code is just sorting operations. Closure has helped a lot with this, and nearly all my <=>s are almost certainly going to be in the form of `function($a, $b) { return $a->getThingy() <=> $b->getThingy(); }`

Scalar type hints are a bit of a no-brainer. Type-hinting classes is nice, but there's a lot of sloppiness out there because if you can't type hint as a scalar, not only do you need a separate check to see if it's int or string, you also specifically cannot say it's non-object/array in your function declaration. One of the biggest inconsistencies I see, especially on old CMSes, is where you'd have a method in one class like `function doThing(Page $page) {`, and elsewhere as `function differentThing($page) {`, and sometimes differentThing's $page is a Page, other times it's an int with that page's ID or name. Yes there are all kinds of ways to check for that today, but it benefits everyone if the easiest way to do something is also the right way.

Return type declaration has been in Hack for a while, and it's really handy there. Any C or Java programmers know how useful they are. My big hope here is that they encourage others to stop returning mixed-types, which is a pattern that inevitably just puts more control logic around every call to that function. I don't care too much about nullable type-hints on parameters (you can still set a default `= null` to allow nullable), but I'm _really_ hoping the nullable return-types passes. Having worked with this for a while in Hack, return types are far more useful if they're nullable. e.g. you say `function isUserActive(): bool`, that's totally fine since you're clearly expecting it to be true or false, but if you had `function getActiveUser(): User`, you'd want the option to return null if there is no active user, which could be done nicely as `function getActiveUser(): ?User` if this passes: [https://wiki.php.net/rfc/nullable_types#return_types](https://wiki.php.net/rfc/nullable_types#return_types)

Now that we're finally actually making a proper PHP spec, I'm not as excited about 4 and 5 as they'd like us to be. It's definitely faster, but if the Zend engine isn't the only game in town, it doesn't matter as much. All the HHVM benchmarks I've seen still put it way above PHP7.

<comment><USER5> > Now that we're finally actually making a proper PHP spec, I'm not as excited > about 4 and 5 as they'd like us to be.

I was the only person who seemed to care much about the spec, and I quit. The spec has several broken tests, numerous omissions and inaccuracies, and doesn't mention any of the really important PHP 7 features.

I'm not too optimistic.

<comment><USER11> All true, but practically speaking I don't know how complete the spec needs to be. Looking at the HHVM project, they fail a lot of the basic PHP unit tests, yet also have 100% parity with nearly every major CMS/framework there is. PHP is just old, and as gone without a spec so long that there's a whole pile of code that nobody ever touches anymore. Simply implementing a subset of the spec, like HHVM has, is really all I need.

</comment></comment></comment><comment><USER19> There are credentials for the HTTP Auth on a staging environment commented out in the source of this webpage (Line 317).

<comment><USER5> Email Zend.

<comment><USER19> I looked around and couldn't find an appropriate e-mail address anywhere. If you have one, feel free to let them know.

<comment><USER5> [https://gwhois.org/zend.com](https://gwhois.org/zend.com)

</comment></comment></comment></comment><comment><USER20> Heck, I'm kinda felling bad as a Pythonista. We're lagging badly speed wise.

Sure, there's PyPy but it's not compatible with the mainstream C-Extensions so pretty much a no-go for most of my projects. Hopefully Piston will come to rescue in the future.

<comment><USER21> Well, maybe you should review your stack. Which C extensions are you missing? There are alternatives for the most part (barring GUI)

<comment><USER20> The ones I miss most frequently are a faster json parser (I use ujson), a faster msgpack parser and a faster database driver. The pure python versions (even on PyPy) don't make the cut :(

<comment><USER22> Are you not able to use C extensions for some reason? Both the stdlib json module and the msgpack-python implementation have C acceleration modules (with pure Python as a fallback).

I haven't benchmarked either though.

<comment><USER20> That's my point, I can't use the extensions with pypy. And this stuff is usually the bottleneck.

</comment></comment></comment></comment></comment><comment><USER23> Seeing this:

> function add( ... ): float {}

I think a much better choice would have been:

> float function add( ... ) {}

Or just:

> float add( ... ) {}

Since that's how it's done in other languages and people would feel at home with it.

<comment><USER24> Haxe uses the first syntax, as does AS3. So it's not like "other languages" are universally opposed to this order.

<comment><USER25> AFAICT both Haxe and AS3 consistently put types on the right, including argument declarations. Other languages consistently put it on the left. Most languages make a choice like that; PHP mixes things up a bit.

But then, it wouldn't be PHP if it was too consistent ;).

<comment><USER5> To be fair, it's not the same as an argument type. The type of `foo()` isn't _int_ , it's _function_. You're not specifying the type of the thing itself, merely the type of what it returns. Though this seems to have been lost on the creators of C. ;)

</comment></comment></comment></comment><comment><USER26> This chart can't be right. It takes 12.6 seconds to render the Wordpress home page?

[http://i.imgur.com/k6Bq9Yz.png](http://i.imgur.com/k6Bq9Yz.png)

</comment><comment><USER27> > Return Type Declarations & Scalar Type Hints

Finally, this took them a long freaking time.

<comment><USER28> Disclaimer: I use the word "type" in the following to refer to types, tags and classes, because I'm feeling lazy ;)

> Return Type Declarations & Scalar Type Hints

This seems a shame.

We can only add type hints to arguments and return types if we're writing arguments and return values, which is unnecessarily verbose. We should really add these types to the functions themselves. For example:

        $dbl    = function(int $x) : int { return  2 * $x;        };
        $neg    = function(int $x) : int { return -1 * $x;        };

We've given types to the inputs and outputs, but the functions themselves still just have the type 'Closure'; there's no indication about what they accept or return. Functions are meant to abstract, but this implementation of type hinting forces us to go and read the implementation!

For example, if we've written the following and we want to add types (where I've put "???"), we need to look at the implementations of $dbl and $neg:

        $dblneg = function(??? $x) : ??? { return $dbl($neg($x)); };

We could implement the same functions in a different way:

        $mult = function(int $x) : Closure {
                  return function(int $y) : int use ($x) {
                    return $x * $y;
                  };
                };
        $dbl  = $mult(2);
        $neg  = $mult(-1);

Now if we want to add types to $dblneg, the implementations of $dbl and $neg don't help; we have to dig even further and read the implementation of $mult.

All of this would go away if we could hint the _function_ instead, eg.

        $mult = function($x) : Closure(int, Closure(int, int)) {
                  return function($y) use ($x) : Closure(int, int) {
                    return $x + $y;
                  };
                };
        $dbl = $mult(2);
        $neg = $mult(-1);

Here I've used the ": ???" syntax to hint _the whole function_ rather than just its return value, and I've written "Closure(x, y)" to mean a function type from argument type "x" to return type "y". This means if we have a function, like $dbl, we can query its type in the usual way (`typeof $dbl`) and get the argument and return types without having to read any source.

Note that this _doesn 't_ require generics/parametric-polymorphism, since all of the types I've used are concrete. However, adding that would be the next logical step ;)

Note that we can trivially extend this scheme to functions with multiple arguments, in all of the various, incompatible ways PHP lets us define them:

        function add($x, $y) : Closure(int, int, int) {
          return $x + $y;
        }

        $add = function($x, $y) : Closure(int, int, int) {
          return $x + $y;
        };

        static function add($x, $y) : Closure(int, int, int) {
          return $x + $y;
        }

        public function add($y) : Closure(int, int, int) {
          $this + $y;
        }

        function add($x) : Closure(int, Closure(int, int)) {
          return function($y) use ($x) : Closure(int, int) {
            return $x + $y;
          };
        }

        function add($args) : Closure(array(int, int), int) {
          return $args[0] + $args[1];
        }

        $add = function($args) : Closure(array(int, int), int) {
          return $args[0] + $args[1];
        }

        static function add($x) : Closure(int, Closure(int, int)) {
          return function($y) use ($x) : Closure(int, int) {
            return $x + $y;
          };
        }

        function add() : Closure(int, int, int) {
          return func_get_args()[0] + func_get_args()[1];
        }

        function add() : Closure(array(int, int), int) {
          return func_get_args()[0][0] + func_get_args()[0][1];
        }

        // and so on

This seems to me like another case of PHP ignoring decades of programming language research and development and instead just "doing it like <popular language from the 1970s> does it". It's like generators all over again :( (eg. see [http://okmij.org/ftp/continuations/generators.html](http://okmij.org/ftp/continuations/generators.html) and [http://parametricity.net/dropbox/yield.subc.pdf](http://parametricity.net/dropbox/yield.subc.pdf) )

</comment></comment><comment><USER29> Between PHP 7 and HHVM, and what appears to me to be an increasingly fragmented community, I decided to jump ship to Ruby on Rails as my development platform of choice for web apps.

This is not to say that PHP won't work fine for many people; I just don't care for the (several) directions PHP is going in.

<comment><USER30> Not sure what you mean.

I have not detected any fragmentation. In fact, HHVM's speed of development has been a much needed kick in the pants to PHP.

<comment><USER29> The introduction of a language specification by Facebook is great.

The fact that it took over a decade for a language specification to appear is less so.

PHP-NG/PHP 7's troubled birth, and its contention with HHVM, does not bode well for PHP's future. I feel like it's going the route of Perl 5/6;Python 2/3.</comment></comment></comment>


Emojis, or Why Can't I Just Paste the Hotdog? - <AUTHOR> http://blog.thingsima.de/2016/08/08/emojis-or-why-cant-i-just-paste-the-hotdog/ <comment><USER2> > "It was initially designed for telecommunications, having spawned from > telegraph code so it's a bit odd that such an old idea would be incorporated > in computers"

I don't think ASCII was designed for telecommunications. I think it was designed as a data processing standard from the beginning. Here's a quote from a 1960 CACM article, concerning X3.2 committee which developed ASCII, from [http://www.ed-thelen.org/comp- hist/SurveyCodedCharacterRepre...](http://www.ed-thelen.org/comp- hist/SurveyCodedCharacterRepresentation_Bemer_CACM_Dec1960.pdf) :

> Technical Committee 97 of the International Standards Organization (ISO) is > concerned with standards in data processing. The American Standards > Association holds the secretariat of this committee. Sectional Committee X3 > of A.S.A. is responsible for national data processing standards in the > U.S.A. ...

> The primary aims in publishing this chart are: l) To indicate to the > information processing industry why standardization is vital in this area. > ...

Eric Fischer, who is an HN reader, wrote this paper on the development of ASCII, at [http://trafficways.org/ascii/ascii.pdf](http://trafficways.org/ascii/ascii.pdf) :

> These codes were used for decades before the appearance of computers and the > changing needs of communications required the design and standardization of > a new code. ...

Page 11 show how computers were the impetus behind ASCII: "communications equipment would otherwise invariably use a version of International Telegraph Alphabet No. 2, while computer makers would not even consider using it because of the nonsensical order of its characters when sorted by their binary codes (Figure 29)."

It's hard to read through Fischer's paper and conclude that ASCII "was initially designed for telecommunications".

> "have fallen into the same trap that quite a number of American computer > scientists fell into"

The ASCII designers were well aware of the needs of non-American use. Page 24 of Fischer's paper shows the input from German, Portuguese, and Russian speakers as ASCII became an ISO standard - the _I_ being "International". Elsewhere shows input from other still other countries.</comment>


A Beginner's Guide to Progressive Web Apps (2016) - <AUTHOR> https://www.smashingmagazine.com/2016/08/a-beginners-guide-to-progressive-web-apps/ <comment><USER2> PWA is an acryonym that you don't need to worry about, unless you buy in to the argument that web apps are lacking certain desirable characteristics of native mobile apps.

Most of the PWA required characteristics are pretty obvious:

"Progressive" and "Responsive" \- not new ideas.

"Discoverable", "Linkable", "App-like" \- the classic problems of single-page web apps

"Fresh" and "Safe" \- as if some people desire apps that are stale and dangerous.

Then there are the characteristics that set PWAs apart:

"Connectivity-independent" (should work offline) - My app lets you check yesterday's weather.

"Re-engageable" (receives push notifications when the browser is closed) - Because users really love push notifications.

"Installable" (can be installed on the devices home screen) - Isn't there something called a link that does this?

The PWA requriements seem to be as set of priorities for websites heavily influenced by the experience (pros and cons) of native mobile app development. As such, they seem out of touch with what should be the priorities for a web app.

</comment><comment><USER3> "Because a progressive web app has a more intimate user experience and because all network requests can be intercepted through service workers, it is imperative that the app be hosted over HTTPS to prevent man-in-the-middle attacks."

Nicely written and layed out, though I would suggest to add a point that describes not including 3rd party hosted resources to prevent leaking user activity at third parties. Other way described, host all resources on your own site/url.

<comment><USER4> Isn't HTTPS a hard requirement?

[https://developer.mozilla.org/en- US/docs/Web/API/Service_Wor...](https://developer.mozilla.org/en- US/docs/Web/API/Service_Worker_API/Using_Service_Workers)

> You'll also need to serve your code via HTTPS — Service workers are > restricted to running across HTTPS for security reasons."

<comment><USER3> Sure, and using https is a good thing, but that doesn't stop google etc from logging my request/ip requesting those font at that time etc for whatever purposes. I don't really want those parties to be aware of me using a particular service, or being online at a specific time etc. Certainly not just for a font.

</comment></comment></comment><comment><USER5> One thing I don't understand is how Progressive Web Apps are different from Web Apps that I could add to the home screen on iOS for a long time already.

<comment><USER6> I guess the main difference is that they work offline. Also, Chrome will ask user to add it to home screen.

<comment><USER5> iOS web apps worked in a similar way with a manifest file that was specifying all the files that were to be downloaded when the page was added to the home screen and how long they were meant to be cached. I remember having created one 5 years ago and the technology was probably around for longer.

Maybe I miss something but the term Progressive Web App feels a bit like "Ajax", i.e. a marketing term for a technology that pre-existed as a way to promote it.

<comment><USER7> Service Workers (which are one of the core technologies behind the Progressive Web Apps label) go further than manifest files because they can deal with any kind of HTTP request (including e.g. calls to your REST API). Also, because they are code rather than static lists backed by hard-wired browser logic, you can implemnt any kind of caching strategy you want.

That being said, Progressive Web Apps is pretty much just an umbrella term useful for marketing several new and upcoming browser APIs (Service Workers being one of them) and not really a thing in itself.

<comment><USER8> Damn, is that all they are? I kept seeing PWA PWA PWA, and the language to describe them are "tech news" quality descriptions like 'Website uses.. ALGORITHMS to make the site work!'

I figured it wasn't talking about IPFS serverless apps, or paired with Ethereum. I didn't see the usual "Bitcoin/Ethereum/Blockchain" bait on these articles, so it couldn't have been that.

It's good to know it's just a catch-all for the new APIs for caching and service workers.</comment></comment></comment></comment></comment>


Ask HN: Thoughts on censorship resistance vs. offensive content? - <AUTHOR> Suppose someone creates a peer-to-peer distributed Youtube clone. The selling point would be that no single party would be able to kick people off the platform for publishing videos they don't like. There would also be no recommendation algorithms drawing viewers towards privileged channels (or perhaps users would select their own recommendation algorithms).
Technically I think it's solvable, but how to deal with content that "should" be taken down when there is no single controlling party?
FreeNet is a platform like that, but from their help page:
"I don't want my node to be used to harbor child porn, offensive content, or terrorism. What can I do?
This is a problem that sadly any censorship-resistance tool faces. If the capacity to remove content existed, it might only be used to remove things one finds offensive, but it could be used to remove anything. From a technological point of view one cannot have censorship-resistance with exceptions. Freenet is merely a tool that by itself doesn't do anything to promote offensive content. How people choose to use the tool is their sole responsibility."
They're saying is "it's impossible" so most people don't use FreeNet because they don't want to help child porn distributors. For the same reason, people wouldn't use a distributed Youtube. People clearly wants some moral norms/regulations/policies but not so much that it gets in the way of free speech.
Is the problem impossible to solve? What if there is no anonymity in the network? I have no idea how to solve it myself, but I'm thinking that with blockchain tech, machine learning, crowd-sourcing it could be solvable. Any thoughts are very welcome. <comment><USER2> I don't think the risk of child porn is why FreeNet hasn't really taken off; I think it's due to the fact that it's slow and its content is incredibly limited, largely existing for hobbyists.

I'm not 100% sure how you'd be able to evict offensive/illegal content in a fully distributed and decentralized way, especially while keeping free-speech guarantees. If you used some kind of consensus/voting system you would risk a sybil attack (or something similar) by entities that simply disagree with an opinion posted.

I'm not saying it's impossible, but virtually every system for handling this (thus far) has required an arbiter in the middle to avoid such problems.

EDIT: I haven't read the paper yet, but in regards to Sybil attacks in particular, the creator of the Kademlia algorithm wrote a follow up to help mitigate these things called 5ttt or Tonika. [0] I don't know if this will help with what you want to do but it's probably worth reading.

[0] [https://arxiv.org/pdf/0909.2859.pdf](https://arxiv.org/pdf/0909.2859.pdf)</comment>


Tamgucalc: A spreadsheet in character mode with Lisp formulas - <AUTHOR> https://github.com/naver/tamgu/wiki/tamgucalc-(en) <comment><USER2> Cool project for sure, but it does provoke the obligatory Emacs org-mode as a spreadsheet plug. [1]

I use it often, mostly for my D&D character sheet, but occasionally for work.

Works the same in terminal or GUI, with elisp formula evaluation (including Emacs calc functions), column types, table relationships, and, with org-babel, access to other languages and their libraries (for plotting, etc.) Can even read from DB into an org table and then manipulate data and write back.

[1] [https://orgmode.org/worg/org-tutorials/org-spreadsheet- intro...](https://orgmode.org/worg/org-tutorials/org-spreadsheet-intro.html)

<comment><AUTHOR> Of course, you are right. However, tamgucalc launches instantly in your terminal, which is not always the case for emacs, which is sometimes a bit to slow.

<comment><USER2> Not so. Emacsen run server-client. Instantaneous.

</comment></comment></comment><comment><USER3> At first glance, it seems like Lisp is inappropriate for spreadsheets: the syntax is simply too verbose and heavy. But cool project, I've always wanted to make a terminal spreadsheet app. Maybe with some custom APL-like language. Now that would be cool!

<comment><USER4> I may disagree with what you have to say, but I shall defend, to the death, your right to say it.

\--

Ok all drama aside I can't help feeling like LISP is the best language you could have in this context because it's verbose, unambiguous, highly encapsulated and old school not to mention hardcore.

Anyone using a spreadsheet in emacs would be well versed in this sort of paradigm and I personally love lisp because it's how we cut our teeth in functional programming in university.

Not to mention it's perfectly suited to list processing..

<comment><AUTHOR> I fully agree with you. When you see how cumbersome Excel formulas can be when you want to mix different operators together, with their "(",";" and so on and so forth. I wonder how you can say that Lisp is too verbose for this task.

</comment></comment></comment><comment><USER5> Seems interesting. I was curious about how mouse support was retrofitted into the app but discovered that the commit messages are unfortunately absolutely useless for seeing recent changes. They're all "update xxx.cpp" or just "bug" [sic].

<comment><AUTHOR> please accept my apologies, I should be more verbose in my comments. The whole implementation is in tamgusys.cxx. See inmouse and outmouse for more details. Basically, inmouse activates the mouse catching events, which are sent through getchar. Once, the mouse has been activated, you can use some primitives mouedown1 our mouseup, which takes as input the string returned by getchar and returns the x,y coordinates

<comment><USER5> No worries, thanks for taking the time to explain! I find commit messages help "future me" more than anyone else, I never regret the time it takes to flesh them out (and tend to regret when I don't).

<comment><AUTHOR> Actually, I have another private GitHub, where I do most of my experiments and which is bit more informative. When my code executes, I then push it on the official one, hence the lack of comments.

<comment><AUTHOR> By the way, I have updated tamgusys.h to integrate mouse support in Windows consoles...

</comment></comment></comment></comment></comment><comment><USER6> Interesting. On a somewhat related note, I wonder how much work it would be to port scheme in a grid to racket, or somehow get it working on modern distros/os' (it's been abandoned for a while, and uses a ui toolkit that's been abandoned too):

[http://siag.nu/siag/](http://siag.nu/siag/)

<comment><USER7> The ftp link on the front page for the sources is unresponsive (at least on Firefox). The sources can be found at [http://siag.nu/pub/siag/](http://siag.nu/pub/siag/)

<comment><USER6> Right, for the adventurous - I did manage to build it at one time or another - possibly on Debian 4 or 5 or so.

Part of the problem is libXawM (Athena widgets):

[http://siag.nu/pub/siag/binaries/linux/siag- ldd](http://siag.nu/pub/siag/binaries/linux/siag-ldd)

I'm not sure if libXawM is a variant of libXaw or an extension... But apparently libXaw lives at:

[https://gitlab.freedesktop.org/xorg/lib/libxaw](https://gitlab.freedesktop.org/xorg/lib/libxaw)</comment></comment></comment>


DLRM: An advanced, open-source deep learning recommendation model - <AUTHOR> https://ai.facebook.com/blog/dlrm-an-advanced-open-source-deep-learning-recommendation-model/ <comment><USER2> I don't get it. How is it different from "Wide & Deep Learning for Recommender Systems (2016)" by Google?

The whole project, up til now, contains less than 2,500 lines of Python, and 271 lines of Markdown as doc, 159 lines of Shell script, and a Kaggle benchmark on Criteo CTR which dated back to 2014. The project seems to be published by FB Research, while I do not see much "research" value in this project or the companion blog.</comment>


AI for generative design: Plain text to 3D Designs - <AUTHOR> https://blog.insightdatascience.com/ai-for-3d-generative-design-17503d0b3943 <comment><USER2> I was _literally_ thinking about this in bed before falling asleep last night, but I was imagining scenes rather than objects.

I'm in no way a ML developer (I'm not even a developer), but I was wondering how hard it would be to generate an apartment / house layout from a (somewhat detailed) description.

I'm sure the first use that springs to mind is for architects and real estate developers / agents / brokers, but one of my pet-projects-I'll-never-really-do is to recreate memories in 3D from descriptions and old photos. Imagine being able to relive your childhood memories! Just throwing it out there in case one of you smart folks want to take that and run with it...

<comment><USER3> That exists! The graphics lab at my old university published a paper on this exact thing: [https://manyili12345.github.io/Publication/2018/T2S/index.ht...](https://manyili12345.github.io/Publication/2018/T2S/index.html)

<comment><USER2> Thanks! That is really cool and I appreciate you sharing it!

FYI I tried clicking on "Slides" but got a 404 error, so thought I'd flag in case you know the authors.

</comment></comment></comment><comment><USER4> Tea, Earl Grey, Hot!

I really want to try the live demo and make some melty furniture of my own, but I got this error:

        ModuleNotFoundError: No module named 'plotly'

<comment><USER5> Honestly surprised I had to scroll this far to find a Star Trek reference.

The scene where the crew describes their mass dream into a horror dentist chair is forever burned into my brain as a technology I want in my lifetime.

<comment><USER6> I loved that scene! It was actually a direct inspiration for my project here. For anyone looking it was Star Trek TNG S06E05 (Schisms)

</comment></comment></comment><comment><USER7> Really cool idea, I wonder why nobody tried this earlier.

However, the main problem I have with this approach is the voxels. They model the geometry and only the geometry. The far more important aspect of topology is left out. Thus, the results suffer the same problems like 3D scanning / photogrammetry does: It is practically unusable as it can not even be textured, yet alone animated or used in fabrication (except for Lego-models I guess). So point 5 of the future work is the biggest one in my opinion.

<comment><USER8> Voxels are directly analogous to 2d pixels, which means they benefit from the myriad of CNN based techniques developed over the last few years (GAN in particular)

3d manifolds are sparse, and more analogous to 2d vector graphics. There are approaches for dealing with this type of data (eg. spectral graph NN) but they don't work as well for 3d topology as CNNs do for dense pixel data, as far as I know.

In the near term, it might be better to explore approaches that use voxels, then generate the topology heuristically.

</comment></comment><comment><USER9> There were a lot of evolutionary design algorithms in the 1990's with similar results. This is fun - but I don't think it is going to go anywhere.

<comment><USER10> yeah, since all they wouls show were rather cruddy voxel shapes and didn't start the text with "It actually includes the physics from the start" I didn't bother read the whole thing.

But it very much looks like a very advanced way to produce something slightly less useful than a sketch on a napkin, since the latter was made with an actual understanding of what the description is supposed to mean.

</comment></comment><comment><USER11> Amazing! I do work in 3D computer vision and I've really wanted to get into 3D generative asset design as a side project at least. If the author or anyone else is interested in collaborating, I'd be down to talk and shop something.

<comment><USER12> Sure! I've been wanting to incorporate this exact thing for a "And let there be light simulator!"

Essentially, people in VR would be able to point and speak to create objects in a shared space.

<comment><USER11> Cool! I've got some Unity VR experience, though i don't know much about incorporating ML pipelines into it. I'm guessing there's resources out there? So basically you'd want speech -> text -> object?

<comment><USER13> I've got some of this working in Python, outside of Unity. Last time I looked at integrating with Unity there seemed to be some Google API requirements that were hard/annoying to meet in my few hours of digging. Should take another look. All the VR HMDs have mics.

</comment></comment></comment></comment><comment><USER14> Great work! I wonder if using SDF as a 3d model representation would result in higher resolution model generation (rather than voxels), some recent work in that area here: [https://github.com/marian42/shapegan](https://github.com/marian42/shapegan) Adversarial Generation of Continuous Implicit Shape Representations : [https://arxiv.org/abs/2002.00349](https://arxiv.org/abs/2002.00349)

<comment><USER6> I hadn't seen that paper, looks really interesting! It definitely would improve the resolution but I think fundamentally it still runs into the issues I had with voxels where it mostly just learns low level correlations and not high level topology.

</comment></comment><comment><USER15> Very cool. But, seems like a lot of work to order to conclude that tables are rectangular flat surfaces and cups have handles and hold liquids.

</comment><comment><USER16> Here's the github repo for this interesting work: [https://github.com/starstorms9/shape](https://github.com/starstorms9/shape)

(I couldn't find it in the linked article, might have missed it)

</comment><comment><USER17> This is fantastic. Much better than my idea of just using text recognition to search a database of models. I hope this research continues so in the years to come I can slap on a VR headset and generate scenes like the holodeck.

</comment><comment><USER18> It would be interesting to train the 3D Designer on more classes. Then have the text generated from something like AI Dungeon 2 feed into it and see what 3D designs it generates.

</comment><comment><USER19> I've been thinking along similar lines on high level - this approach will likely be very general and can be used to create different kinds of media, as well as potentially behaviours in a later stage.

[https://metapresent.org/creation-engine](https://metapresent.org/creation- engine)

Will be interesting to base it on a decentralised open platform that could be "built-in" in the Internet.

</comment><comment><USER20>
        Importing libraries...
        ModuleNotFoundError: No module named 'plotly'
        Traceback:
        File "/usr/local/lib/python3.7/site-packages/streamlit/ScriptRunner.py", line 314, in _run_script
            exec(code, module.__dict__)
        File "/app/shape/streamlit_app.py", line 15, in <module>
            import plotly

</comment><comment><USER21> Is anyone else getting ModuleNotFoundError: No module named 'plotly'?

<comment><USER22> Yes

</comment></comment><comment><USER23> Fun. Here are some sentence that come to mind.

Flat surface with bevelled edge and 4 Ionic columns as legs that fade into nymphs at the base.

Table with caryatid legs.

Crescent wrench that doubles as a corkscrew.

Stapleremover.

</comment><comment><USER24> This work is inspiring and ground breaking. I can see a lot of text description => X solutions coming up in the future. Absolutely awesome work!

</comment><comment><USER25> This will be extremely useful in product search.

"sofa with 3 cushions and a round arm" should generate a model and match with similar looking products

</comment><comment><USER26> Design is not just about how a thing looks or what kind of shape it has, but the intelligence that goes into how it works.

</comment><comment><USER27> I thinked about it so many times... Really coil. I hope someday will be possible convert a sentence to a full scene

<comment><USER28> That's possible even today, kind of. [1] [2]

[1] [https://t2i.cvalenzuelab.com](https://t2i.cvalenzuelab.com)

[2] [https://towardsdatascience.com/text-to- image-a3b201b003ae](https://towardsdatascience.com/text-to-image-a3b201b003ae)

</comment></comment><comment><USER29> Can't wait till this becomes applicable to something like AIDungeon!

</comment><comment><USER30> Stunning work, congratulations. That was a pleasure to read.

</comment><comment><USER31> The ultimate tool for story-telling.

</comment><comment><USER32> Woot for Insight Data Science!

</comment><comment><USER33> This is amazing.

</comment><comment><USER34> Nifty!</comment>


The product doesn't work as software, only as consulting. Why? - <AUTHOR> Hi guys,
I want to make a platform that shows academic Life Science labs and has in-built dashboard analytics to analyze the research they had produced. It should be important for Biotech manufacturers because academia makes up to 25% of their revenues.
But people don't rush to buy service and don't reply on my emails. The data on labs is core of business. The data is a combination of self-assembled database of labs linked to available publication and patent databases for easy search.
The information about available labs was collected on webpages. Was several months of work as no automatic crawling is possible. The data is very clean. Such info can't be found anywhere else. But despite this cleaniness and efforts companies see them as leads, which you buy cheap. This is not fair. It's a clean data that shows market of labs. Biotech should care about.
Techspert.io makes AI to index experts in web. 95% of lab group leaders they don't have, because most of labs are not indexed anywhere. I've made such efforts to collect labs to show this market to companies and nobody values it.
Is it indeed not possible to have a software product that scales if amount of data (labs in my case) is ~100K worldwide, and the growth of data is around 1% (number of labs remains relatively constant). I know it works as a small side project, but can someone tell why it doesn't as a software?
Thank you.
Inna <comment><USER2> This is pretty confusing. You mean you don't get replies to your cold emails? If that's the case I'd say your real problem is figuring out a way to actually get in touch with relevant people. Only they can answer your question.

No matter how unfeasible your product is, getting someone to talk to you is always possible.

</comment><comment><USER3> Who is the buyer? How does it help them advance in their career?

That is what you are trying to figure out.

This link may be worth reading:

[https://www.reifyworks.com/writing/2017-02-10-how-to- write-p...](https://www.reifyworks.com/writing/2017-02-10-how-to-write- persona-driven-marketing-copy-that-nevrer-misses-its-mark)

</comment><comment><USER4> I read this as software that is probably actually for helping consultants deliver the solution in question.</comment>


Cool Letter Using HTML5, Javascript & CSS3 - <AUTHOR> http://bubbles.bubbleideas.com/letters/arvind-arvind-nigam-bubbles-bubbles-semantics-bubbles-june-12th-tuesday-06-pm It's got red hued text highlight which looks natural, my personal hand-written signature, a cute Homer Simpson stamp (image) and some random text. <comment><AUTHOR> It's got a natural red hued text highlight, my personal hand-written signature, a cute Homer Simpson stamp (image) and some random text.

What do you guys think? :-)

</comment><comment><USER2> Can I get the link only to the document and not the site for sharing?

<comment><AUTHOR> Yes, definitely. You can port this letter as PDF and link to its outputted URL. We hope to see you try it.</comment></comment>