I Liked Everything I Saw on Facebook for Two Days. Here's What It Did to Me - <AUTHOR> http://www.wired.com/2014/08/i-liked-everything-i-saw-on-facebook-for-two-days-heres-what-it-did-to-me/all/1

<comment><USER2> Would have been interested to see how the ad preferences can be affected over just 48 hours. Obviously FB has years of data on most people, but if a sudden influx of likes occurs it may switch things.

Would have loved to see a before/after snapshot of [https://www.facebook.com/ads/preferences/edit/?ad_id=6015766...](https://www.facebook.com/ads/preferences/edit/?ad_id=6015766102901)

</comment><comment><USER3> [https://hn.algolia.com/?q=I+Liked+Everything+I+Saw+on+Facebo...](https://hn.algolia.com/?q=I+Liked+Everything+I+Saw+on+Facebook+for+Two+Days#!/story/forever/0/I%20Liked%20Everything%20I%20Saw%20on%20Facebook%20for%20Two%20Days)</comment>


In U.S. Public Statues of Confederate Soldiers Nearly Double Those of Women - <AUTHOR> https://www.artnome.com/news/2017/8/16/public-us-statues-of-confederate-soldiers-out-number-statues-of-women <comment><USER2> I think that the author proposed a reasonable solution to preserving civil war history monuments: build a monument to someone that was wronged by the Confederates right next to the monuments explaining the historical significance of the monument. It could be a statue to the unnamed slave, or we could memorialize everyone from then on: the voters rights representatives, the artistic revolution of the 20s, the WW2 units, desegregation, the Civil rights protests, and our first African American president. This country truly has come a long way, and we shouldn't hide and tear down parts of history. If anything, we should memorialize more of it.

</comment><comment><USER3> If people want to use representation to argue what public statues should be kept and which should be melted down, it should really be made into a general rule.

So out of statues with religious theme, only 70% should be of the Christian faith.</comment>


Interview with Paul Graham at Imperial College London  - <AUTHOR> http://uk.intruders.tv/Imperial-Entrepreneurs-Paul-Graham-on-YCombinator_a253.html

<comment><USER2> It's amazing how easy Intruders.tv makes it to stop watching their videos. One erring click outside that god damned lightbox and the entire viewing experience grinds to a halt. Sheesh.

See also [http://www.37signals.com/svn/posts/592-been-lightboxed- latel...](http://www.37signals.com/svn/posts/592-been-lightboxed-lately) .

<comment><USER3> Fair point, but its nice to see quality video displayed at high-res, and streaming quickly.

</comment></comment><comment><USER4> Oddly, the thing I noticed most, having never heard pg speak much before, was that the accent does not correspond to what I thought it might be like. "Californian" comes to mind. "Like, you know, I mean". That's not a negative thing - I have a west coast accent myself and am certainly dot my own conversations with similar filler words - just a "first impression".

<comment><USER5> You will like this: <http://itc.conversationsnetwork.org/shows/detail188.html>

<comment><USER3> Good talk, though I've heard/read most of the points already. Perhaps the vocal and receptive audience made it more entertaining and grounded in reality or something.

</comment></comment></comment><comment><USER6> <http://uk.intruders.tv/video/paulgraham.flv> \-- plays fine in most open- source players

<comment><USER7> This is useful... the video wasn't working on my Linux box.

</comment></comment><comment><USER8> The interview paints the ideal starting entrepreneur as someone aged 25, not 18. And the implication is that this is being generous...

The message is that anyone over 30, not to mention 40, need not apply. Of course this does not really bother me, but it makes the whole high tech start up thing sound like "Americas next top model." LOL!

"We want 'em young and fresh!" And yes 25 is young. Very young.

That said, I think PG comes off as a thoughtful and honorable person - which I already knew. I noticed some quibbling with the interviewer about if "creating wealth" was the right phrase. It's not important, but it is interesting to see that quibbling never ends no matter how successful one is.

<comment><USER9> As I've mentioned before, the average age of the founders of Yahoo, Google, and Microsoft was 24. So judging from the evidence, 25 is not young for this kind of work.

From what I've seen, 21 is young, in the sense that there are a lot of people who aren't ready yet at that age. But by 25 the kind of people who make good founders are ready.

I suspect the phenomenon is more social than biological. The problem with the 21 year olds is that college tends to preserve some childish illusions about how the world works. So the reason 24-25 is the sweet spot is that it's far enough away from college for those illusions to have worn off.

<comment><USER8> Yes, I suspect that you are right. But it's depressing for a 40 year like myself who 'wasted his time' in academia.

Somehow academia/research was nice earlier and I had some luck getting tolerable positions, etc. But it's been tough keeping the wolves at bay lately. The average academic department is a real viper's pit. And crossing chasm from research to a product that people are willing to buy is not easy. Perhaps not even possible in my case...

It's OK. I never really aspired to be a big-time industrialist. I was always more interested in having an impact in a hard area. Lately I have come to the conclusion that the best thing for me to do would be to get back to publishing... If you try to role out a product as an academic, your publication rate fall off and the vipers come out and bite you (Usually in the form of giving you lots of bad teaching assignments and a variety of psychological warfare techniques).

But it's hard to convince oneself that most of what academics write has any effect. I suppose I could focus more on databases, but natural language interfaces seem to be where there are still fundamental problems. But our publications in that area are usually so dense that only fellow academics bother to read them...

It's not easy to change the world I suppose :-).

</comment></comment></comment><comment><USER5> I wish for: <http://ocw.ycombinator.com> with speeches given by pg in YC-only dinners.

<comment><USER9> I don't speak much at the dinners. Most of the talking is done by the outside experts we invite. But what the speakers say couldn't be published; they say a lot of things that they're only willing to say because YC dinners are off the record.

<comment><USER10> Really? That's really interesting. I suppose that it makes for more open and honest presentations by the guest speakers. I'm really surprised that the presentations are off the record, however. I suppose that's why you hear zilch from the YC founders about the content of said discussions.

Do you have a NDA or just a gentleman's agreement?

<comment><USER11> iamelgringo .... check out the FAQ here: <http://www.ycombinator.com/faq.html> ... specifically the section "Will you sign an NDA? How do I know you won't steal my idea? "

<comment><USER10> Thanks, but I wasn't wondering if YC leadership would sign an NDA. I was wondering if all the founders had to sign an NDA for the dinner conversations, since they were "off the record".

I'm sure I'm being too nosy. It really isn't any of my business. I was just curious.

<comment><USER9> No, no one signs anything. The startup world is small enough that gentlemen's agreements work for most things.

</comment></comment></comment></comment></comment></comment><comment><USER10> "All you have to lose is your cubicle" Very nice.

<comment><USER12> I'm impressed that he managed to misspell "lose" in a spoken interview! ;-)

Edit: I sense an anomaly in the space-time continuum... :)

<comment><USER10> :D

</comment></comment></comment><comment><USER11> Very informative interview. It definitely shows PGs enthusiam for YC and does a nice job of explaining the rationale behind the company.

Question, for a YC funded company that gets picked up after demo day, what would the average salary of the co-founders be in comparision to someone with comparable experience working in industry (i.e. "in a cubicle)? adf471587879rzq

<comment><USER9> As founders you want your salaries to be as low as possible. You've raised x amount of money by selling some of your stock. Every dollar of that that you pay yourself in salary is a dollar that doesn't go toward making the company succeed. And the big payoff for you as a founder is in the company succeeding. People don't start startups to make money from salary.

Investors are usually fine with you making, say, 70% of what you'd make on the open market. But it's in your interest to take less if you can. At Viaweb I made less than half what the COO did.

<comment><USER13> What was the most cash intensive portion of Viaweb? It seems like you guys could have run in YC mode (cash wise) after buying the PCs.

<comment><USER9> People. It is for nearly all tech companies.

</comment></comment></comment></comment><comment><USER14> Does anybody have a transcript? I prefer to read things on my own time (i.e., at work).

</comment><comment><USER15> Video isn't working for me... :(

</comment><comment><USER16> Super! A video is worth a thousand words. Thank you.

<comment><USER17> Even if more than a thousand words are spoken in the interview? ;-)</comment></comment>


Give PonyORM a chance - <AUTHOR> http://jakeaustwick.me/why-you-should-give-ponyorm-a-chance <comment><USER2> I do not really understand the desire for ORMs to try and recreate the experience of writing SQL. Why not just use SQL, then?

I understand that the ORM is trying to smooth over differences in implementation, providing the possibility of change from one DB access layer to another.

I have yet to see anyone do that on a real project, which makes me really wonder at the point of using an ORM at all.

I cannot quantify the amount of time I've lost figuring what the hell I must do to generate a relatively simple SQL statement.

<comment><USER3> Well, ORMs are useless if you're of the opinion that string interpolation and concatenation are a good way of composing logical units. Many of us prefer a proper API for doing that, and good ORMs like SQLAlchemy provide us with one.

<comment><USER4> "foo > 123 or foo IS NULL and bar < 12"

Now write this in SQLAlchemy without strings, without concatenation, and let's see which provides you with more clarity.

<comment><USER3> (FooBar.foo > 123) | (FooBar.foo == None) & (FooBar.bar < 12)

No strings, and I get an actual expression object instance that I can, for example, store in a variable and reuse in any number of queries.

<comment><USER5> Yes! Plus if you have a syntax error Python will catch it for you. Peewee works the same way.

</comment></comment></comment></comment></comment><comment><USER6> Surprised by number of negative comments about ORM-s. Twice I have had to migrate projects between different sql db engines. Once SQL was embedded in the application, second time perl-s DBIx ORM was used from the beginning. Guess which project was easier. Why would you lock yourself into using a specific db engine unless you really had to. And how hard is it to embed SQL for a few specific queries even when using ORM. Lately heavily using Django's ORM and think it is great. And if your data structures so complex that ORM does not do the job maybe something wrong with your schema. I like my data layer simple if possible, and complexity in the application.

<comment><USER7> > And how hard is it to embed SQL for a few specific queries even when using > ORM

This is the thing that many people seem to forget. Every ORM I've used has allowed you to write your own SQL for those times where the DBAL is limited or not performing well. In my experiences, those times are rare. Some ORMs (like Doctrine) even have their own DSL so that you can write complex queries and still have the benefit of a DBAL.

I'm currently working with a team on a large project where all the SQL is written by hand, and results are hydrated into plain ol' arrays. The maintenance overhead for schema changes is _huge_ due to the number of queries which need to be updated, and there are constant bugs caused by columns being left out of SELECT statements. On top of that, the testability of the entire app suffers because most methods talk directly to the DB. It's truly a nightmare. I've never experienced these problems with an ORM.

</comment></comment><comment><USER8> No chance. Sorry Pony, you are probably a great ORM, but I have been burned too often by ORMs and their "magic", which will "just work" (hahahahahahaha). Hibernate destroyed my trust in ORMs forever and even SQLAlchemy (which is great) wasn't able to fully restore it. I will write my queries alone. So that I know why they misbehave and I can change it instead of trying to chase through obscure layers of magic, read various loggings (if logging is available) and hope that my changes in the ORM layer will translate to the sql I want.

<comment><USER9> If you can think of one of your most representative examples of a problem you had I'd be interested to hear.

<comment><USER10> (I'm not the OP, but I will butt in with my two cents.)

Anything that isn't CRUD or a simple aggregation. Real world applications tend to have: oddball joins, subqueries, window functions, case statements and all other sorts of crazy once you get into the value-add parts of the system. What I really need is a clever way to project the value or set into a structure that I can easily process or convert into UI elements.

On the subject of CRUD, I would be really impressed with an ORM that would detect my constraints and enforce them in the application layer. I am a big fan of DRY, but I am a bigger fan of bulletproof relational models that prevent bad data from ever getting to the system. So rather than declaring these sorts of things in the app code, where they won't be enforced in things like stored procs or ad hoc SQL, I'd much rather have the database be the one source of the data constraints. For really complicated things (e.g. validation triggers), I'd want a way to communicate a violation back up to the ORM layer.

Not sure if this is what you wanted, but for some reason I felt compelled to brain dump what I have been thinking on the subject as of late.

</comment></comment></comment><comment><USER11> Why you should not: it's inferior to SQLAlchemy and has a dual licensing model where one is the useless AGPL and the other is an expensive commercial license.

Also I find it's implementation to be very questionable.

<comment><USER12> As much as AGPL annoys me the pony developers seems to understand it and use it in a reasonable way.

What really annoys me is

1\. when people stamp a AGPL license on something (that was previously licensed under GPL or even less restrictive) and claim that it is still just GPL and everyone could still continue using their system as before.

2\. when people make something brilliant and only offer it under AGPL without providing a commercial licensing option.

<comment><USER13> 3\. when the code is AGPL, receives contributions, then the original author offers a commercial license including said contributions without any contributor agreement.

</comment></comment></comment><comment><USER5> I'm the author of a lightweight python ORM (peewee) and have a healthy respect for the work that goes into building this type of tool. PonyORM is quite a feat of software engineering: it's developer(s) have done a great job.

I would never use it, though, because decompiling Python generator expressions just feels _so unpythonic_.

<comment><USER14> The process going on under the hood (the whole disassemble / AST thing) is pretty unpythonic, however I would argue this then gives the developer the advantage of having a more pythonic query interface to the database on a higher level.

Providing the things happening underneath don't break (and they haven't on me yet), and it generates efficient SQL (which is does), then I'll take the hidden complexity for the advantage of the higher level generator syntax.

<comment><USER5> Totally, and I know you are not alone. I think it's just a matter of boundaries, and when it comes to the data access layer of my applications I definitely want to feel very comfortable with the library I'm using. That's why SQLAlchemy is so popular, IMO, the implementation is rock-freekin-solid. The API may be more verbose, but you can understand it, and in doing so trust it to do the right thing.

</comment></comment></comment><comment><USER15> I still feel that RedBeanPHP ([http://redbeanphp.com](http://redbeanphp.com)) has found the right balance between direct object manipulation and SQL. I find that abstracting away SQL too much gives more headaches than it's worth — SQL is a valuable skill anyway, and often diving into SQL is much faster and easier than diving into abstraction magic.

<comment><USER16> I love redbean, it saved my butt once, but it gets lots of it's power from doing things "the PHP way", it makes linting and editor/ide autocompletion impossible, there is no one place you can look to find _the part of the database schema relevant to your application_ , you can't just go read a models.php file and get a birds eye view of the database structure that matters and all...

It's basically the opposite of "pythonic". I can't imagine something like redbean written in a language like Python, and maybe it's for the best :)

</comment></comment><comment><USER16> > It essentially decompiles the generator into its bytecode using the dis > module, and then converts the bytecode into an AST.

Uhm, anyone knows what are the performance costs of this?

<comment><USER14> Here's a comment on the stack overflow answer I linked to in the post:

Very performant: (1) Bytecode decompiling is very fast. (2) Since each query has corresponding code object, this code object can be used as a cache key. Because of this, Pony ORM translates each query only once, whereas Django and SQLAlchemy have to translate the same query again and again. (3) As Pony ORM uses IdentityMap pattern, it caches query results within the same transaction. There is a post (in russian) where author states that Pony ORM turned out to be 1.5-3 times faster than Django and SQLAlchemy even without query result caching: [http://www.google.com/translate?hl=en&ie=UTF8&sl=auto&tl=en&...](http://www.google.com/translate?hl=en&ie=UTF8&sl=auto&tl=en&u=http%3A%2F%2Fhabrahabr.ru%2Fpost%2F188842%2F)

<comment><USER17> the performance cost is going to be mostly in the kinds of queries it produces and how well they will be interepreted by the query planner. My understanding is that Pony is very heavy on subqueries and correlated subqueries, and the user is given extremely little leverage on being able to control the structure of queries rendered. Subqueries and especially correlated subqueries have the worst performance of all, especially on less mature planners like that of MySQL.

<comment><USER18> Actually Pony can transform subqueries into JOINs in most of the cases. But when it translates the 'in' operator of a generator expression, it produces a subquery with 'IN', because otherwise the programmer can be confused by the fact that the resulted SQL looks too different from the Python code. Pony allows you to use the 'JOIN' hint in order to make it to use JOINs instead of subquiries. In the example below Pony produces a subquery when it translates the `in` section from the generator:

        >>> from pony.orm.examples.estore import *
        >>> select(c for c in Customer if 'iPad' in c.orders.items.product.name)[:]

        SELECT "c"."id", "c"."email", "c"."password", "c"."name", "c"."country", "c"."address"
        FROM "Customer" "c"
        WHERE 'iPad' IN (
            SELECT "product-1"."name"
            FROM "Order" "order-1", "OrderItem" "orderitem-1", "Product" "product-1"
            WHERE "c"."id" = "order-1"."customer"
              AND "order-1"."id" = "orderitem-1"."order"
              AND "orderitem-1"."product" = "product-1"."id"
            )

But you can tell Pony to use JOIN instead of a subquery by wrapping the 'in' section into a 'JOIN' hint:

        >>> select(c for c in Customer if JOIN('iPad' in c.orders.items.product.name))[:]

        SELECT DISTINCT "c"."id", "c"."email", "c"."password", "c"."name", "c"."country", "c"."address"
        FROM "Customer" "c", "Order" "order-1", "OrderItem" "orderitem-1", "Product" "product-1"
        WHERE "product-1"."name" = 'iPad'
          AND "c"."id" = "order-1"."customer"
          AND "order-1"."id" = "orderitem-1"."order"
          AND "orderitem-1"."product" = "product-1"."id"

</comment></comment></comment></comment><comment><USER19> I do a lot of heavy Django work and first glance I really like the syntax. Much cleaner that what I'm used to. I will def give this a try at some point and comment further.

Why the name PonyORM btw? I know it's superficial but I much prefer the name SQLAlchemy - has more meaning.

<comment><USER20> I believe it's a reference to DjangoPony ([http://www.djangopony.com/](http://www.djangopony.com/)).

<comment><USER18> Actually we named our project aprox two years before Django Pony mascot image appeared.

</comment></comment></comment><comment><USER21> As someone who has had to maintain other people's code, please use an ORM. Usually the biggest thing to fix is a person didn't select related rows and ends up doing hundreds of queries inside a for loop.

Now the hand-written SQL people leave in SQL injection possibilities. They build up complex queries with crazy string concatenation. They either have no or a shitty data mapping layer (I mean, I really enjoy having to look at the database to figure out what fields select * from articles returns).

Obviously there are going to be queries outside of what any normal ORM can do, but every ORM I have used gives you an escape hatch to just write raw SQL when needed.

</comment><comment><USER22> I'm just waiting for zzzeek to publish a blog post on how to implement this on top of sqlalchemy core, like this post [1]. :) Seriously though, sqlalchemy ORM layer already does this. Why not leverage all the existing features and support it has? Also, it's an easier sell for a $100 piece of software: "If you're using sqlalchemy, you can migrate to pony immediately."

[1] [http://techspot.zzzeek.org/2011/05/17/magic-a-new- orm/](http://techspot.zzzeek.org/2011/05/17/magic-a-new-orm/)

<comment><USER17> the AST-on-top-of-SQLAlchemy idea has been discussed for many years prior to Pony's existence. Robert Brewer's Geniusql [http://www.aminus.net/geniusql/chrome/common/doc/trunk/manag...](http://www.aminus.net/geniusql/chrome/common/doc/trunk/managing.html#select) does the same thing (for Geniusql, you pass it lambdas; interpreting generators directly was more of a "future" thing, but by "future" we're talking, like four years ago :) ). He presented it at Pycon maybe in 2009, 2010 and right after I had the usual flurry of questions "Can SQLAlchemy do this?" and I said "sure! just write an adapter, easy enough". I think Robert was even interested in that.

at the end of the day the AST idea looks very nifty but IMO is too rigid to translate to SQL in a flexible enough way, and also works against the main reason you use code structures to produce SQL which is composability. When I last saw the Pony creators do a talk, the approach seemed that each time you have a given SELECT, and you'd like to add some extra criterion to it, it pretty much will keep producing subqueries of the original, because each time you can only wrap the AST construct you already have. It similarly had no ability to produce a JOIN - at that time at least, the only way to join things together was by rendering inefficient correlated subqueries. This was asked explicitly.

If they've found a way to resolve these issues while keeping true to the "AST all the way" approach and not dropping into a SQLAlchemy-style approach, that would be great. There's no reason SQLA ORM or Core couldn't be behind a similar approach as well except that nobody's really had the interest in producing it.

<comment><USER18> Hi Mike,

Pony had the ability to produce JOINs from the very beginning, but during that presentation we found that Pony produced subqueries for MySQL and that was not very performant, correct. Since than we've improved Pony and now it got a query optimizer which replaces subqueries with efficient JOINs where it is possible. Here is the query from that presentation:

        >>> select(c for c in Customer if sum(c.orders.total_price) > 1000)[:]

The straightforward way is to use a subquery here, but Pony's optimizer produces LEFT JOIN because such query usually has better performance:

        SELECT `c`.`id`
        FROM `customer` `c`
          LEFT JOIN `order` `order-1`
            ON `c`.`id` = `order-1`.`customer`
        GROUP BY `c`.`id`
        HAVING coalesce(SUM(`order-1`.`total_price`), 0) > 1000

In our opinion this is the main advantage of Pony ORM - the possibility to perform semantic transformations of a query in order to produce performat SQL while keeping the text of Python query as high level as possible.

<comment><USER17> OK, here's something I should understand. Say we start with:

        myquery = select(c for c in Customer if sum(c.orders.total_price) > 1000)

I'm inside of a query builder. Based on conditional logic, I also want to alter the above statement to include customer.name > 'G'. Intuitively, I'd do this:

        mynewquery = select(c for c in myquery if c.name > 'G')

which will take the original SELECT, wrap it in a whole new SELECT. Right?

Given "myquery", how do I add, after the fact, a simple "WHERE customer.name > 'G"" to the SELECT? Just continuously wrapping in subqueries is obviously not feasible.

<comment><USER18> There is no need to wrap it with a query. You can just add a filter:

        mynewquery = myquery.filter(lambda c: c.name > 'G')

The new query will produce the following SQL:

        SELECT `c`.`id`
        FROM `customer` `c`
          LEFT JOIN `order` `order-1`
            ON `c`.`id` = `order-1`.`customer`
        WHERE `c`.`name` > 'G'
        GROUP BY `c`.`id`
        HAVING coalesce(SUM(`order-1`.`total_price`), 0) > 1000

<comment><USER17> Well right, this is exactly a SQLAlchemy-style syntax, except a tad more verbose :). This is the "dropping into a SQLAlchemy-style approach" I referred to.

As far as the "AST allows caching" advantage, over at [https://bitbucket.org/zzzeek/sqlalchemy/issue/3054/new- idea-...](https://bitbucket.org/zzzeek/sqlalchemy/issue/3054/new-idea-for- bake) we're working out a way to give people access to the "lambda: <X>" -> cached SQL in a similar way, if they want it.

</comment></comment></comment></comment></comment></comment><comment><USER23> The lack of data migration tooling would be a critical problem for me.

The traditional problem that ORMs are supposed to solve is change. Changing your database schema means you have to change all your queries. So instead you have a a system whereby the program that executes your queries also understands your schema and can make that change for you.

Data migrations are similar to this, only much harder and more time consuming.

</comment><comment><USER4> I think once a developer reaches a certain level of experience and maturity, they realize they should stop giving any sort of ORM a chance.

<comment><USER24> Care to explain as to why?

<comment><USER2> It's the difference between working on the problem, or working on the bugs / implementation details of the ORM. I know which I'd rather be working on.

<comment><USER25> I've been using Django for 10 years, and I never experienced an ORM bug, and when it couldn't do some complicated join, I just did a raw query. For everything else, it saved me tons of time.

Is that long enough experience?

</comment></comment></comment></comment><comment><USER26> ORMs basically comes from "lazy" programmers not wanting to learn SQL and proper database schema design and wanting something "that just works" instantly with little thought effort... Optimizations and handling of large data sets are some of the problems with ORMs. However, in our case we decided to use an ORM anyways because each UPDATE/DELETE/INSERT had to be signaled out to some lowlevel code, communicating with hardware. If we hadn't used an ORM (with overloaded save-methods) the user would have to keep track of all changes himself and signal the hardware manually, so in our case this was fine (we also didn't manage large data volumes)...</comment>


Goodbye Microservices: From 100s of problem children to 1 superstar (2018) - <AUTHOR> https://segment.com/blog/goodbye-microservices/ <comment><USER2> Seems like part of the problem re: the shared library/dependency each repository relied on was a core problem of change management. Changing _anything_ that other code relies on must be done in a backwards compatible way - too much to get into here but things like never changing a property/method name, the Type of a thing, so on - so as to only move forward.

Keeping all these independent services using the same version of a shared dependency, moving in lock step with it, well lets just say there's sometimes too much of a premium put on that.</comment>


77 Inspiring Reflections of Creativity - <AUTHOR> http://dudye.com/77-inspiring-reflections-of-creativity-2

<comment><USER2> Good article. This one seems apropo:

60\. "Whoever is winning at the moment will always seem to be invincible." - George Orwell</comment>


iRise lets startups try out its software-simulation applications - <AUTHOR> http://www.redherring.com/Article.aspx?a=21221&hed=iRise+Offers+Tryouts <comment><AUTHOR> You can also check out the iRise website for more information at www.irise.com/communities</comment>


Great at phone interviews, horrible at in-person interviews - <AUTHOR>

I've been interviewing at various startups in NYC for the past 8 months and have yet to get an offer. I'm trying to figure out what exactly I'm doing wrong.
I generally get great feedback during interviews and technical screenings via the phone, but when it comes to meeting in-person I feel like I'm doing something majorly wrong.
I'm generally a very introverted person and I'm assuming my anxiety becomes apparent when I first meet people. Considering that culture fit is so important in the startup world, I'm worried that I won't be able to find a job in a startup because of it.
I've only worked in larger organizations before so culture fit wasn't as important. Does anyone have any advice or similar experiences? <comment><USER2> How about you team with someone you get along, and start something on your own?</comment>


Show HN: Deckosaur – Simple Presentations Using Markdown - <AUTHOR> https://deckosaur.netlify.com <comment><AUTHOR> I built this when I first started learning Elm. I prefer typing out a lot of what I do in Markdown, and this makes it easy to present to people when needed. I know there are other alternatives out there, but this is mine and I'm quite happy with the way it turned out :)

Although it's taken longer that I'd like to admit, I'm putting this out there to break my habit of abandoning my projects.</comment>


Ask HN: Do you use an in-house CMS? - <AUTHOR> Do you use an in-house CMS? If so, why? What are the pro's and con's of using it? Have you considered a custom solution over something built on top of WordPress or any other popular system? How should a Web Development agency go about providing in-house custom CMS solutions? What difficulties would that company face while marketing such services? <comment><USER2> We used to have our own in-house CMS built in .Net (at least 10 years ago) and it was a pain to maintain and provide updates for, however we replaced that with MODX - which was better and we helped in the community alot and pushed changes back. It was nice knowing every line of code was ours - and having all the expertise inhouse was a bonus, but hiring was a challenge as everyone starts from 0 experience

This was easier but we still had some clients that "wanted wordpress" even if it was a bad design decision, so we would then need to educate them on the why and see if we could change there opinion.

These days we pick and choose the right platform for the job, between Laravel/MODX/Wordpress/Magento/etc.

Being more flexible has it's own drawbacks too though.</comment>


Simulating YC - <AUTHOR> http://blog.yesgraph.com/simulating-yc/ <comment><AUTHOR> The main point I'm on the fence about is whether to share offices. YC directly says that you should have your own place and not share. I'd love to hear your thoughts.</comment>


Using tcpflow to debug HTTP API libraries - <AUTHOR> http://woss.name/2011/03/06/using-tcpflow/ <comment><USER2> Funny that it mentions twisted (briefly). I last used tcpflow not long ago to debug some issues in twisted proxy. Twisted has two quirks that make it slightly less compatible/forgiving with the web at large than most browsers.

1\. It lowercases headers, such that Cookie: becomes cookie:. Technically, the standard says they are case insensitive.

2\. When reading responses, it strictly looks for \r\n line endings. \n will not cut. Standard does say \r\n is the only acceptable ending.

Guess which web server violates both of these rules? The one in arc that powers Hacker News. Figuring out why my proxy worked with every website except HN probably wouldn't have been possible without tcpflow.

</comment><comment><USER3> Wireshark's _Follow TCP Stream_ capability does roughly the same thing. Wireshark isn't the prettiest on OS X, but it works, and the ability to do this after-the-fact with tcpdump-created dumps from a remote box is useful.

[http://www.wireshark.org/docs/wsug_html_chunked/ChAdvFollowT...](http://www.wireshark.org/docs/wsug_html_chunked/ChAdvFollowTCPSection.html)

Charles is also extraordinarily handy. I used it extensively while developing an iPhone app in the simulator, since figuring out what NSURLConnection is doing is _hard_.

<http://www.charlesproxy.com/>

</comment><comment><USER4> I typically use tcpflow or Charles on Mac OS X. They are both useful tools that any back end engineer should know how to use. It helps diagnose any problem your app/code is facing and it's another good way to learn how existing apps interact with their back end web service. I often check how iOS app interact with the server by usually setting up a proxy on my laptop and configure on the iOS device settings to use my local proxy. Then simply fire away tcpflow or Charles and watch all the HTTP calls being made.

<comment><USER5> Your first statement is a bit ambiguous, but I have to ask if you've gotten tcpflow to work on OSX. I can never get it to output anything when trying to monitor connections to localhost.

<comment><AUTHOR> If you're looking to monitor traffic to localhost, bind the the `lo0` interface. For example, when I'm monitoring traffic to a local Rails app in development, I'll do something along the lines of:

        sudo tcpflow -c -n lo0 src or dst post 3000

and it'll pick up the traffic.

(Thanks for the tips on alternative ways of monitoring TCP traffic flows, folks!)

</comment></comment></comment><comment><USER6> This is why you need to hire full stack engineers, or have at least one on your team.

</comment><comment><USER7> How does tcpflow compare with ngrep?

<comment><USER2> tcpflow is rather simpler, but probably a lot better for examining multiple connections. You specify a tcpdump/pcap filter and it saves the traffic to files (two per connection, one for each direction). You review the data at your leisure, it's not all jumbled up in your terminal.

<comment><USER8> Can tcpflow set up fake TLS certificates like Charles?

<comment><USER2> No. It takes data from the network and puts it into files. That's all. It doesn't inject, interpret, or decrypt data.</comment></comment></comment></comment>


Graphs in the world: Modeling systems as networks - <AUTHOR> http://radar.oreilly.com/2015/06/graphs-in-the-world-modeling-systems-as-networks.html <comment><USER2> Having a hard time classifying to which science this research belongs. On one hand it deals with graphs so it must be math. On the other hand, you have people, interpersonal relations with all the baggage of ambiguities - so is this sociology?

<comment><AUTHOR> Author here. I'd say this all falls under SNA (Social Network Analysis).

From [https://en.wikipedia.org/wiki/Social_network_analysis](https://en.wikipedia.org/wiki/Social_network_analysis):

Social network analysis (SNA) is the process of investigating social structures through the use of network and graph theories.

</comment></comment><comment><USER3> Interesting, but I think printed books are much better for learning, e.g. [http://noBSgui.de/to/MATHandPHYSICS/](http://noBSgui.de/to/MATHandPHYSICS/) (disclaimer: I am the author)</comment>


Uber Hits Roadblock in India After Being Denied Permission to Operate in Delhi - <AUTHOR> http://techcrunch.com/2015/09/16/uber-hits-roadblock-in-india-after-being-denied-permission-to-operate-in-delhi/ <comment><USER2> > almost threw me out of his vehicle when he thought I worked for Uber

> Just this Wednesday, realty website NoBroker's offices in Bengaluru were > attacked by traditional brokers who felt threatened by the competition

Assuming this is just the start, I had predicted long back that this will happen (I also made the mistake of inciting emotion by stating that I will not be unhappy if it does; which led to a lecture from moderator dang about how I am relishing violence against Uber executives).</comment>


What a comment stream would look like in a real meeting - <AUTHOR> http://www.crunchnotes.com/?p=423 So, so true- lol <comment> daniel-cussen First!

That was the funniest thing I've seen in weeks.

</comment><comment><USER2> First!</comment>


Unittest: C++ unit testing and mocking made easy - <AUTHOR> https://github.com/Manu343726/unittest#unittest <comment><USER2> "3\. Non intrusive arbitrary function and class mocking: No need to use virtual function interfaces, mock classes, and dependency injection, which couple your library design with the way the mocking framework works. unittest uses monkey-patching through elfspy so mocking is as transparent as possible."

I think such an approach is short-sighted. It means that unit tests only end up testing your code from a functional point of view.

By using dependency injection/mocking, unit tests also become a way of validating that the API of your code is pleasant to work with. If your code can be tested through mocks, it means you've written something that can be reused, embedded and extended.

See also: [https://en.wikipedia.org/wiki/SOLID](https://en.wikipedia.org/wiki/SOLID)

<comment><USER3> Yeah, things like "dependency injection" are generally good practice and enable you to write unit tests _without_ a mocking framework. In the Java world we have tools like PowerMock that rewrite bytecode to enable things like mocking private static final methods... useful in certain circumstances, as I assume elfspy patching is (or using LD_PRELOAD as I've seen done) but you're almost always going to be better served by refactoring the code so you don't need such tools.</comment></comment>


For First Time in 75 Years, UN General Assembly Annual Meet to Go Virtual - <AUTHOR> https://kashmirobserver.net/2020/07/23/for-1st-time-in-75-years-un-general-assembly-annual-meet-to-go-virtual <comment><USER2> A great achievement in reducing coronavirus. It's an even greater achievement in terms of reducing our carbon footprint and fighting climate change and global warming. [https://environmentbuddy.com/climate-change/75-best- solution...](https://environmentbuddy.com/climate-change/75-best-solutions-to- combat-global-warming/)</comment>


Show HN: Makerlapse – Document Your Journey in a Timelapse Video - <AUTHOR> https://github.com/IliasHad/makerlapse-app <comment><USER2> Nice :) This would be a great tool even for private use, for reviewing how often / how long you got distracted (useful for the "quantified self" crowd).

Feedback: the first demo video you linked is still marked private by youtube.

Back when I used to make timelapse videos of physical projects, the most handy interval I found was one frame every two seconds: when playing back, one second == one minute, one minute == one hour. Easy to keep track of actual time spent. (assuming the output is 30fps).

<comment><AUTHOR> Thank you for your feedback. Yes, I think will be good tool to get an overview of your day in couple of seconds

I used the same logic but with one frame per second and the output of 60 fps

</comment></comment><comment><USER3> This is cool.

Futureland ([https://futureland.tv/](https://futureland.tv/)) does something similar to this that I like.

</comment><comment><USER4> Does this support multiple monitors? Super cool project although I wonder who the audience is for watching time lapse of web dev / programming.

<comment><AUTHOR> Yes, it supports multiple monitors. I think the audience is juniors developers who want to know other developers how they spend their day.</comment></comment>


Ask HN: How do you make money as a Computer Science student? - <AUTHOR> A bit of background on my situation so you might give me more personalised advice: I graduated in  2017 with a Bachelor in CS and already had a job by that time. What seemed like a decent opportunity to kick-start my career quickly turned into what I believe would've been a dead end job which I would've dreaded every day of my life, so I decided to quit last summer and enroll into a Masters in Data Science. Being used to a monthly salary and not having to ask my parents for money I feared this moment as I knew I would have had to deal back on my QoL quite a bit, but on top of that me and my family have had a string of misfortunes and now money is quite thight (nothing like going bankrupt, but still requires careful management of our finances). All this combined, I find myself starting a new study cycle which will last at minimum two years and almost no money; hence I'm wondering: how does a student in CompSci make money while studying?
Apart from the obvious part time jobs (retail, fast foods etc.) - which I would like to avoid as I fear they would sap my time and strength without letting me grow as a computer scientist - I've looked into freelance gigs, consulting work and remote companies; unluckily for me, most if not all the opportunities I've come across require a full-time commitment, something I don't have the luxury of giving unless I decide to take way more than 2 years to graduate, and freelancing in particular seems to focus on webdev/mobile, areas which are not my strong suit and I don't even like that much.
What would you recommend in this situation? Swallow the pill and learn stacks that sell through freelancing? Find something completely unrelated to CompSci that allows me to work part-time? Start emailing every company offering CS jobs in the area and asking if they're willing to take on a part-timer?
Thanks in advance for your advice! <comment><USER2> Often there are ways to make money around an academic environment.

For instance I got paid part-time to do research as an undergraduate at New Mexico Tech. I know at Cornell this is this service called "TakeNote" which pays graduate students to take notes for undergraduate classes. I am sure there are other things at other unis. Note that people around Unis have a large need for services involving (natural) languages that are not their native language so if you know language L you may be helpful in many ways to people who don't know L.

One of the best "unskilled" jobs you can get is doing high-intensity cleaning projects at somebody's house. This is not being a regular maid but rather busting ass for four hours to do the cleaning that a homeowner would take twelve hours to do so that they see upwards of $25 an hour in value if not more.

<comment><AUTHOR> Universities in my country only offer what are called "collaboration bursaries", which is 120hrs of unskilled work paid 10€/h. I already plan on applying, but as you can imagine it is nothing more than a stopgap. I've thought about posting on the schools bulletin board that I'm willing to help people with their PCs and whatnot, or maybe even do tutoring in CS, but it seems like a long shot for someone to actually call you.

As for languages I think that's most likely a no-go, my university is trilingual and most student are required extensive knowledge of the languages to graduate (for which the university itself offers many many MANY courses)</comment></comment>


Whom the Gods Would Destroy, They First Give Real-Time Analytics (2013) - <AUTHOR> http://mcfunley.com/whom-the-gods-would-destroy-they-first-give-real-time-analytics <comment><USER2> > The turnaround time also imposes a welcome pressure on experimental design. > People are more likely to think carefully about how their controls work and > how they set up their measurements when there's no promise of immediate > feedback.

This seems like a cranky rationalization of the lack of a fairly ordinary system.

Sure, you shouldn't draw conclusions for potentially small effects on < 24 hours of data. But of course if you've done any real world AB testing, much less any statistics training, you should already know that.

What this means is you can't tell whether an experiment launch has gone badly wrong. Small effect size experiments are one thing, but you can surely tell if you've badly broken something in short order.

Contrary to encouraging people to be careful, it can make people risk averse for fear of breaking something. And it slows down the process of running experiments a lot. Every time you want to launch something, you probably have to launch it at a very small % of traffic, then you have to wait a full 24-36 hours to know whether you've broken anything, then increase the experiment size. Versus some semi-realtime system: launch, wait 30 minutes, did we break anything? No? OK, let's crank up the group sizes... Without semi-realtime, you have to basically add two full days times 1 + the probability of doing something wrong and requiring relaunch (compounding of course) to the development time of everything you want to try. Plus, if you have the confidence that you haven't broken anything you can much larger experiment sizes so you get significant results much faster.

<comment><USER3> > But of course if you've done any real world AB testing, much less any > statistics training, you should already know that.

Are most product managers and designers running multivariate tests thus trained? My experience has said 'no'.

In fact, if there's one error I see companies making again and again, it's confusing customer signal from user noise.

I do agree with the rest of your comment however.

<comment><USER2> If the people running experiments do not know and cannot be told how to do the fundamental thing that they are trying to do, then you have bigger problems.

Which is ultimately what this post points to: the author doesn't trust his team and isn't listening to them and doesn't expect they will listen to him. Regardless of the degree to which the author is correct in his assumptions, the problem is more than just engineering.

</comment></comment></comment><comment><USER4> When I started my business, I looked at sales number every day.

I got my hopes up when I sold 15 copies of my app on a good day, only to feel completely devasted when I sold only 4 copies the next day.

After some time I stopped looking at daily sales numbers, and switched to weekly numbers instead. But even that was too often.

Now I fetch my numbers roughly every other week, and don't worry at all about an individual numbers. Only by looking at trends over a longer timeframe can you make sensible decisions... The numbers just fluctuate too much from one week to the next.

<comment><USER5> That's definitely one of these things you have to learn as part of running a business. You tend to over-index on things you can measure and under-index on things that you can't. After a while you realize there's a lot more randomness in what happens than you might expect and so you can't weight any particular data point too highly. If you look at patio11's blogging of Bingo Card Creator, you'll notice he has little idea as to _why_ his userbase grows or shrinks any particular year: [http://www.kalzumeus.com/2012/12/29/bingo-card- creator-and-o...](http://www.kalzumeus.com/2012/12/29/bingo-card-creator-and- other-stuff-year-in-review-2012/) And he's one of the most sophisticated product analytics experts out there!

<comment><USER3> > You tend to over-index on things you can measure and under-index on things > that you can't.

I am going to steal this. I am going to deploy it in one of this morning's meetings and pass it off as my own.

<comment><USER6> It's basically the same as the streetlight effect, isn't it?

[https://en.wikipedia.org/wiki/Streetlight_effect](https://en.wikipedia.org/wiki/Streetlight_effect)

</comment></comment></comment></comment><comment><USER7> "But unless the intention is to make decisions with this data, one might wonder what the purpose of such a system could possibly be."

Speaking as an analyst, you'd be amazed (or not) at how much analytics is done either for resume padding, because one guy thinks it's "cool", or to enable marketing or executives to chase their own tails.

Indeed, with the general phenomenon of bullshit jobs, infinite instantaneous and always changing information is a welcome smokescreen, because it always allows people to "justify doing something". With such numbers, there is always something for them to do :p

<comment><USER8> Would you mind giving examples of some of these metrics?

Curious too see exactly what they are.

<comment><USER7> Almost every metric can be abused by increasing the frequency, resolution and dimensions in which it is measured.

In terms of some real world examples:

Labour force statistics are almost always reported on an instance level by commentators/media, but its trend that's recommended/meaningful.

Net promoter scores and breakdowns are consistently done and reported too frequently on too small a base to establish a trend, and they're usually cross tabulated and spoke on far too many dimensions.

Customer opinions and employee ratings/surveys.

Generally it's just fundamental statistics: don't reason too much about the general from the specific. And as you get greater resolution and move towards real time events, your specific becomes smaller and smaller, which means that extrapolations onto the general result in greater and greater errors...

<comment><USER9> Interesting. Thanks for sharing. Do you know of any good writing on the web or print that talks more about such abuses in the analytics and corporate world? Interested to learn how to spot when kooky tactics are at play in a tech/corporate setting, specially when its willful.

<comment><USER10> "Proofiness" : [https://www.amazon.com/Proofiness-Youre-Being-Fooled- Numbers...](https://www.amazon.com/Proofiness-Youre-Being-Fooled- Numbers/dp/0143120077)

It is also a common tread in books by Tufte : [https://en.wikipedia.org/wiki/Edward_Tufte](https://en.wikipedia.org/wiki/Edward_Tufte)

I like "Visual Explanations: Images and Quantities, Evidence and Narrative" : [https://www.amazon.com/Visual-Explanations-Quantities- Eviden...](https://www.amazon.com/Visual-Explanations-Quantities-Evidence- Narrative/dp/1930824157)

</comment></comment></comment></comment></comment><comment><USER11> The last sentence worth reading the entire article!

        Real-time web analytics is a seductive concept.
        It appeals to our desire for instant gratification.
        But the truth is that there are very few product
        decisions that can be made in real time, if there
        are any at all. Analysis is difficult enough already,
        without attempting to do it at speed.

</comment><comment><USER12> This is so true for so many situations. One of the hardest thing to understand on the 'other' side of a browser is the dimensionality of the stuff you are measuring. I recall an A/B test we did at Blekko that simply uncovered the presence of a 'click bot' that was always clicking on like the 15th link on a page.

</comment><comment><USER5> Firstly, I'm super biased as I'm the CEO of a product analytics company where one of the value props is getting the data in real time. I agree with this post that people will look at single data points out of context and weight the evidence much more strongly than they should be. Analytics should be one of many tools you use that informs your understanding of how customers are using your product. I also agree that I see a lot of early stage startups invest way too much in building out real-time analytics stores without thinking about what they value they get out of it. That's not something you should do until you're in the 100+ engineer range.

That said, this is a post-hoc justification of why having real-time analytics is bad. Delaying the data by 24 hours doesn't automatically make significance testing better or force people to incorporate more context when interpreting their data. If that's the issue, fix that problem, don't blame the tools.

There's a ton of positive value to having real time data. Just off the top of my head: 1) If you've instrumented something incorrectly you can see that and fix it right away 2) Even worse, if you've accidentally messed up a feature with a release you can know about it right away. This happened to one of our customers recently and without a real-time analytics system they wouldn't have caught it quickly (and this is a tech startup that's well regarded for their engineering that everyone here would know the name of). 3) You can observe significant changes to your user base right away, eg during a launch or if you're getting a lot of new users from a specific channel. 4) It allows you to have more confidence in deploying multiple times a day. It's a little crazy to me that the _deployment_ of a product is faster than our ability to measure it.

I think the real issue is that we're in the early days of analytics and people don't have a great understanding of how to leverage their tools properly. It's like web search before Google or file sync before Dropbox. People will look at single data points and conclude totally crazy things. They won't have an understanding of basic things like the amount of fluctuation on a week to week basis. The largest analytics provider in the world (Google) gives away their product as an ancillary service to drive you to purchase more ads, not to have a better understanding of how your customers are using your product. I'm hopeful this will change over the next 5 years though (and for us to be a part of that!)

<comment><USER13> Let me give you another angle on this.

Asking people to become data analysts when they just want to run a business and have a million other things to worry about is exactly the wrong way to think about this.

People shouldn't need to become data analysts to understand the data the software should be able to analyze and give simple advice when it has it.

I have designed my share of analytics software from the classical dashboards to more complex things like a market replay for Nasdaq.

At the end of the day, analytics primarily is useful if it can be used to make decisions with.

If you really want to build a useful analytics software tool you have to build something that analysis and either do things for me automatically (like seeing a lot of people are suddenly coming to your site because of a keyword and then quickly do some google advertising) or it has to be able to tell you something you can use (ex. You should buy extra hotdogs for Sunday as you are about to get a lot of customers because of bad weather after/before the football match.

<comment><USER5> Agree with everything you're saying about data. Given how hard an analytics system is to set up properly, it's one of the last pieces you should be adding in to get an understanding of how to build your business.

</comment></comment></comment><comment><USER14> The conclusions of the article are probably correct, but it's important for analytics systems to have real time capabilities for debugging and iteration. When you're wiring up some new events or funnels you need to be able to click through and sanity check that you're collecting the data you expect.

Maybe some of the desire for whole systems to be real time comes from this frustration.

<comment><USER8> It completely depends on your domain IMO.

If you're running case management for a large corporation with tight SLA's - you by definition need real time analytics.

Similarly for if you're tracking outages, downtime, etc.

All that said, the organizations I've been in do a good job of distinguishing operational metrics vs high level analytics done for quarterly reviews or metrics pulled from across the enterprise for the big wigs.

Maybe I've been lucky working for companies with solid reputation, but if anything I think sometimes they should have more numbers ready to shoot from the hip.

Unscheduled maintenance? It would probably be good to get an idea of how many people access the site/open cases/etc. during that particular time.

<comment><USER15> _If you 're running case management for a large corporation with tight SLA's - you by definition need real time analytics.

Similarly for if you're tracking outages, downtime, etc._

If setting up notifications is "real-time analytics" I need to rewrite parts of my resume.

<comment><USER16> _If setting up notifications is "real-time analytics" I need to rewrite parts of my resume. _

If your notifications are issued based on aggregated metrics (e.g., the number of incoming cases grew 500% in the last 15 minutes) then you probably could. If your notifications are issued on someone's action (e.g., user submitted a case) then that's another level of complexity.

<comment><USER8> This is definitely the use case I meant - those notifications are based on analytics across different systems.

Not sure given the context of the conversation why you'd think I meant adding yourself to an email list when a case get created or when a dashboard that's already built reaches some threshold.

</comment></comment></comment></comment></comment><comment><USER17> Real-time data gives that nice warm confirmation that the change you just deployed is working as expected. Code change, site failover, any change at all. It drives me batty that Google analytics update interval is unpredictable, so I look at real-time numbers.

Certainly it's foolish to jump to conclusions from a too-small sample. Increasing latency does nothing to solve this. I'd recommend an introductory stats course instead.

</comment><comment><USER18> Some real time analytics are useful. For example, pricing of virtual currency (how deep to run an online "sale") can be much more profitable of you have a real time measurement of price elasticity. I've built tools like that for people who actually need them, and it works in those cases.

However if you don't do real time business, you don't need real time analytics. What would you do with it? Have new wireframes generated and implemented in real time every five minutes? Switch database engines five times a day?

I feel the article makes the second argument well, but perhaps hasn't seen the case where the first argument holds. Try telling a currency trader that they don't need real time analytics and see how far that takes you!

</comment><comment><USER19> Discussed at the time: [https://news.ycombinator.com/item?id=5032588](https://news.ycombinator.com/item?id=5032588).

</comment><comment><USER20> Generally really good points. However one great use of realtime analytics is as a way to immediately catch production errors (particularly when connected to alarms, e.g. Splunk).

My thought is that realtime amazing systems as discussed can be an exceedingly difficult engineering problem or a trivial business problem (use google or another hosted solution).

Personally, any engineer who would try to reinvent the wheel on this one (rather than leverage any of the many incredibly refined existing technologies) should not serve in a decision-making capacity.

<comment><USER21> > It's important to divorce the concepts of operational metrics and product > analytics. Confusing how we do things with how we decide which things to do > is a fatal mistake.

It sounds like you agree with this quote from the article?

</comment></comment><comment><USER22> Relevant: The empirical distribution is ... not empirical (5:58) [https://www.youtube.com/watch?v=0iw9oqnhVKQ](https://www.youtube.com/watch?v=0iw9oqnhVKQ)

</comment><comment><USER23> Indeed, "real-time" is one of the most requested features for S3stat, even though there's really not much you'd be able to _do_ with faster data. In our case, Amazon doesn't even deliver their logfiles until 8 hours or so after the fact, so "real-time" reports would just be a pretty moving picture of the past.

I toy around with the idea of building it out as a feature anyway, just so that I can charge a premium to customers who want to turn it on.

<comment><USER24> It's what news orgs have been doing for a long time. The number of people addicted to this crap is much more than the number of people who can do something useful with it.

Why that is, has more to do with psychology and evolution of the mind than it has to do with the actual real time data or news.

<comment><USER25> > The number of people addicted to this crap

Eh. Now that you mention it, watching an optimizer battle out a 0.1% objective function improvement every couple iterations on a run that took a few hours total ...

(But that was in another job, and besides, the code is dead.)

</comment></comment></comment><comment><USER26> Early stopping is just fine if you are Bayesian. Not fine if you are doing null-hypothesis significance testing.

Multi-armed bandits beat the heck out of A/B testing because they dynamically balance making money now with taking risks that might mean you make more money later.

[https://en.wikipedia.org/wiki/Multi- armed_bandit](https://en.wikipedia.org/wiki/Multi-armed_bandit)

I'd think they should be more popular among quantitative marketing types than they are.

</comment><comment><USER27> Real-time data is crucial to commercial publishing, and ads, and financial services, and costing serverless, and supply chain, and probably a whole bunch of other domains

</comment><comment><USER28> In my experience, 99% of the value of real-time analytics has been in identifying service disruptions that monitoring tools don't find, and 1% of the value has been in informing business decisions. If some change badly broke your HTML rendering, but didn't throw any errors, you may not see it in service monitoring but you will definitely see it in the signups per day.

</comment><comment><USER29> > Accuracy (how precise the data is). Everything should be accurate.

Accurate and precise are different things.

You can be precise: We averaged 1 sale per hour today +- 0.01

You can be accurate: We sold 8 things today

You can be precise but innaccurate: We averaged 100 sales per hour today +- 0.01

You can be imprecise and accurate: We sold 8 items today +- 10

And you can be both: We sold 8 items today +- 0.01

And you can be neither: We sold 100 items today +- 10

<comment><USER30> I think he is aware. He made a comment about it in the next paragraph.

> hey, did you know that accuracy and precision are different?

<comment><USER29> I did look to find if he had, I missed that little bit. I hopefully provided more insight

</comment></comment></comment><comment><USER31> "No sampling" is just another way of saying "the queries will be so slow that you will never do any ad-hoc queries. It's also short for "I don't understand statistics".

<comment><USER32> Sampling can be really bad for web analytics. Take Google Analytics for starters. It heavily samples above a certain threshold of hits. At more granular drill downs, certain reports are at best unusable even directionally and at worst are misleading. Small efforts get lost in the noise of the rest of the data and often show up as zero values.

</comment></comment><comment><USER33> Are there theoretical arguments to why random sampling is bad and one should instead use the entire dataset ?

<comment><USER34> Random sampling is the foundation of statistical inference.

It works really well for estimating population statistics from sampling.

It works less well for predicting individual user behaviour (this tends to be where you need almost all the data rather than a sample).

Like, as your sample size decreases, your errors of estimation increase (1/sqrt(n)) so random sampling is normally the best way to approximate data (e.g. for real-time metrics).

You may wish to consider different sampling strategies, however. For some things, a persistent user (or other dimension of interest) makes lots of sense. For tracking service health, you probably want to sample on requests.

You may also wish to over-sample particular groups, if they are important to you (like maybe an F2P game would sample for most users, but store a larger proportion for paying users).

tl;dr random sampling is awesome, and should be used broadly.

</comment></comment><comment><USER35> Hate to point this out but it is funny how the Manifesto author equates accuracy to precision: "Accuracy (how precise the data is). Everything should be accurate."

I deal with the subtelties of precision/accuracy everyday.</comment>


Oracle names date for next Java - <AUTHOR> http://www.theregister.co.uk/2010/11/19/java_roadmap_dates/

<comment><USER2> whats with all the typos in this article?

* "July 28, 201"? umm. 2011?

* "this will feature the Lambda and Jigsaw projects ant parts of the Coin project not implemented in JDK 7" - no period and "ant" where they meant "and"

This is pretty basic stuff...

</comment><comment><AUTHOR> Long story in short --> its July 28, 2011</comment>


Diwiner – Take notes during wine tasting - <AUTHOR> https://www.diwiner.com<p>DIWINER is for wine lovers, straight from Italy, the country of taste, flavor and beauty of vino. Save your favorite wines with useful personal references and inspired emotions.<p>- Take a pic of the label and get info on your wine<p>- All your wines on your mobile, tablet or desktop<p>- Find your favorite winery at a touch of the screen<p>- Analyze visual, smell and taste to rate all your wines <comment><USER2> I could have used this 2 nights ago! I'll give it a try, thanks - I'm often around unique, special wines that I forget and I would welcome a method to get to know better what I'm really enjoying so I can be inspired to experiment even further.

Also, it seems the app just works on saved cookies. As great as it is to not have to make an account, what happens if I lose my cookies? If there is a way to save the data to email or back it up, that would be super.

<comment><AUTHOR> Hi telesilla, I hope our app will help you in keeping track of what you have enjoyed the most. If you don't want to loose any data, you can sign in by email or social. That also allows you to share tastes across devices. At the moment we don't have an export functionality but we plan to implement it. If you have a relatively new smartphone you can also save the web app as if it was installed from the store.</comment></comment>


Nudge users towards goals with annoying CSS3 arrows - <AUTHOR> http://andyshora.com/demos/nudgenudge/

<comment><USER2> Wow, they're right. It's really annoying.

At least they're honest.

<comment><AUTHOR> I'm going to split test it on a new site soon, have no idea if it will have a positive effect on sign ups. What do you reckon? I'll do a post on the results, either way!

<comment><USER3> My prediction: it'll have a positive effect on sign ups, but retention will be lower.

<comment><AUTHOR> You are probably right. I've made a 'hideAfter' option, so it can maybe do 2 or 3 small nudges then disappear, so as to initially draw the eye to a CTA. Although by default it's set to annoying mode :-)

</comment></comment></comment></comment><comment><USER4> Surely adult sites will put this to good use.

</comment><comment><USER5> Why is jQuery needed? Shouldn't it be just a few new CSS3 stuff and <img class="nudge>?

</comment><comment><USER6> Awesome concept and I think it has some potential to evolve but for now I see two problems. 1) The motion makes it too distracting from other page content (at a sub-conscious level) so you may as well just have a blank pages with the action item as nothing else can be consumed. 2) If you're trying to use the arrow to identify the real action item on a page littered with ads, this will just make it look more like an ad.

<comment><AUTHOR> Thanks for the feedback! I've made a 'hideAfter' option, so in a serious scenario I'd probably set it to hide after a couple of nudges, so as to draw the user there initially. But for the demo I've set it to infinite so as to annoy all of you as much as possible :-)

</comment></comment><comment><USER7> I still prefer the <blink> tag.

</comment><comment><USER8> Typo in the large title at the top? ("nugenudge" - the code and URL says nudgenudge)

<comment><AUTHOR> well spotted, thanks :-)

</comment></comment><comment><USER9> Cool idea, but at least for me (2012 13" MacBook Air), scrolling smoothness suffers slightly (yet noticeably).

I wonder how it performs on iOS/Android devices?

<comment><AUTHOR> Thanks :-)

It performs surprisingly well on iPhone 4, no additional work done for mobile support, the mobile browsers tend to handle CSS3 animations pretty well. Perhaps if the animation was constant (as opposed to an easing transition) it would be less jerky, but then it would be extremely annoying!

</comment></comment><comment><USER10> GIF/PNG/SVG can do it w/ out Javascript or CSS. That said, this is still bloody brilliant.

</comment><comment><USER11> Is this faster with real browsers than moving a DOM node offset, or using an animated GIF?

</comment><comment><USER12> It's the blink-tag form of a CTA.

Also, inevitably there will eventually come a need for an orange one pointing to their how-to video. "Don't forget to sign our guestbook!" "Also, this other thing is kind of important." Just use better page design rather than greebling your existing one.

</comment><comment><USER13> Unfortunate that the arrows aren't actually drawn with CSS3.

<comment><AUTHOR> v2.0 :-)

</comment></comment><comment><USER14> Rather than use this do the call to action, a better usage for me would be a 'help mode', user clicks help and a wucik walk through of functionality is presented using these arrows to draw attention to some area of the screen.

<comment><AUTHOR> Nice idea, I'll try and think of some additional options to make it configurable for this. Thanks!</comment></comment>


Bolt: An End-To-End Payments Stack with Zero Fraud - <AUTHOR> http://bolt.com <comment><USER2> Fraud liability absorbed by a service provider isn't "zero fraud." It is: "you don't get charged directly for chargebacks and other financial penalties, but your brand is still at risk, plus you have no control over false positives."

<comment><USER3> True. But it's zero fraud from your perspective as a business.

You also have full control over false positives: \- First, we put txn's through several layers to ensure the highest rates of order approvals. If our algorithm is about to reject, it goes through a human review process to ensure we're approving as much as possible. \- If we reject, you have a force approve time window to approve transactions if you disagree with our decision. You have final decision-making. None of our merchants use this because they end up trusting us so much :-)

Our customers (some case studies here: [https://bolt.com/case- studies](https://bolt.com/case-studies)) have switched from top-tier providers and seen substantial order approval lift.

Furthermore, we're also your payment processor. Typically fraud providers and payment processors are separate, so if fraud providers make a mistake, payment processors will slap the merchant on the wrist with what can ultimately be serious fines + more reserve requirements. We don't, because we're also your processor.

<comment><USER2> Sure, maybe you offer "zero fraud" from a chargebacks-line-item-on-the- balance-sheet perspective. The impacts of fraud on customers' perception of a company, and the effects those perceptions will have on the bottom line, however, can be significant. This is not say I assume your service is deficient in any way...the marketing is just a little snicker-inducing from someone like me who works in the field. The only sure way to have zero fraud is to turn off sales.

Final control over force-approving rejected transactions is a nice feature on its face. I understand why your merchants don't use it...they'd have to soak the expense of paying someone to monitor accepts and rejects in an attempt to optimize sales (which is what they are paying you to do).

If a merchant does not have full visibility into and control of their anti- fraud program (and the expertise to know what to do with it) approval/reject/false positive rates are always going to be in the hands of people who don't know their customers or business as well as the merchant does. That is why larger, mature businesses invest in anti-fraud people and technology. That's certainly a bridge too far for the typical small business, so services like Bolt can certainly deliver a ton of value. I just advise a merchant who thinks that just because they can't see fraud there isn't any impact to their business that they're missing a potentially crucial part of the picture.

<comment><USER3> It's not zero sum if you have overall greater precision. We believe we do and have proven it across dozens of case studies.

As we publish more, we hope to let data talk. If I were in your shoes, I'd be similarly skeptical. Most companies in the space overpromise and underdeliver.

<comment><USER2> I would argue it is zero sum ("you've got some fraud" vs "you have no fraud") if there is any great volume of transactions and what's being sold is valuable, and/or marketable at a black market price below retail, and/or offers fraudsters liquidity options. I am skeptical because an untrained system is going to make mistakes out of the gate, even if it's trained on oodles of transactions from other businesses. Anti-fraud isn't a one-size- fits-all game.

<comment><USER3> We've been processing orders for a year and a half in stealth with many clients. So we have a lot of data.

The key: everyone is focused on large data sets (breadth of data). We have some of that, but not nearly as much as large processors. We have, however, much more depth (sometimes 10X-20X as much). This allows us to achieve high accuracy in short amounts of time. Often times we'll lose money in the beginning to ensure high approval rates and, in essence, pay for learning data.

</comment></comment></comment></comment></comment></comment><comment><USER4> "No more games. Save real money with Bolt's simple pricing."

Followed up with "Get a Quote" rather than displaying simple pricing...

<comment><USER5> On the pricing page:

"Without proof of a lower rate, default processing is 2.9% + $0.30 for VISA/Mastercard/ Discover, 3.5% + $0.30 for AMEX, and $20 for any chargeback dispute not covered."

<comment><USER6> Holy shit, those are titanic interchange fees.

<comment><USER3> That's the starting processing rate for any major processor:

\- [https://www.braintreepayments.com/braintree- pricing](https://www.braintreepayments.com/braintree-pricing)

\- [https://stripe.com/us/pricing](https://stripe.com/us/pricing)

All of our clients (typically larger businesses) provide proof of lower rates with their existing processors and get those rates 100% matched. We do not negotiate processing, we just match the industry.

<comment><USER6> No, it isn't? Those are the prices for two providers that aren't even close to lowest-cost providers in the space. They compete on service, not price.

I can get .9 to 2.0% (depending on the industry of my business) off the shelf from at least 6+ sources.

And that's before any interchange rebate programs, volume discounts, or specially negotiated interchange waivers past a certain fee per quarter.

<comment><USER3> And if you provide us a quote for that rate, we'll 100% match it. We can go as low as anyone else, and are trying to avoid the insanity of negotiating processing rates.

<comment><USER7> Good plan. This is exactly what we do. Keeps us out of the race to the bottom.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This looks like a really well positioned and differentiated entrance into the payment provider market.

Eliminating fraudulent chargebacks addresses a serious pain point for a large market segment. It's an angle that allows it to answer the "why not just use Stripe" from day one — which is a really hard question to answer with a just launched service.

Congratulations.

<comment><USER3> Kind words are always appreciated :-)

</comment></comment><comment><USER9> Since there's no demo's I had a look at a couple case studies..

[https://i.imgur.com/TBTF63h.png](https://i.imgur.com/TBTF63h.png) [https://i.imgur.com/HP0DNNg.png](https://i.imgur.com/HP0DNNg.png)

It looks / feels like stripe but without the brand recognition, I'd hope it's more cost effective than competitors but having to contact them for pricing doesn't inspire confidence. I also don't see how this is any more frictionless than competitors. On the flip side I'm a little blown away by how big the team is and how many jobs they have listed considering it's only launched a couple hours ago - whoever bank rolled this has a lot of faith. Congrats on the launch either way.

<comment><USER3> Thanks brod!

Main differences:

\- Stripe = APIs to build your own payment stack.

\- Bolt = fully out of the box payments stack. Checkout that doesn't only do payments but also shipping/tax/user-auth. Also w/ 100% fraud coverage.

Also to set the record a bit more clearly: we launched in stealth 1.5 years ago, have been moving $100Ms, and have dozens of case studies.

Appreciate the kind words too!

<comment><USER10> Last I checked Stripe does all of this - or at least offers a very parallel product.

</comment></comment></comment><comment><USER11> What countries are you supporting currently? Is Mexico in that list?

Didn't see a FAQ on the homepage, nor found the answer on a quick search, so I'm asking here.

<comment><USER3> Good question. Definitely need to add to the site.

You can accept a credit card from anywhere in the world. We also support 50+ localized currencies.

However, we can only settle to a US/Canadian bank account. We can do an instant transfer to an intl bank account, but some companies don't want funds touching the US/Canada for tax reasons.

If you are ok with that on the settlement side, you're in good shape! Adding more settlement countries and local acquiring is a top priority for the next year.

</comment></comment><comment><USER12> Does anyone know how this guarantees exactly zero fraud? The page just tells you to book a demo.

<comment><USER3> CEO of Bolt here. We'll be writing more about this in the future. In short, our fraud detection is really really good (although not perfect). However, the fraud that ends up making it through the pipeline is so minimal that we cover it fully. So, for a small fee as an online business you never have to pay for / deal with fraudulent chargebacks again.

There are other companies that do this, but none of them also do payments. They're kinda like rebate programs where you submit your fraud to them and they pay it off like insurance. It's a lot of manual work, back-and-forth, and they end up not doing a great job. So, this is a first for the industry.

Why is our fraud detection so much more accurate? We have access to the full stack of data across checkout, payments, and the user's shopping experience, collecting 200+ variables on every transaction. Most silo'd fraud providers may end up getting 10-20 variables and have to make uniformed decisions, resulting in $10's billions in false positives (good customers getting rejected by fraud tools) in the US every year.

<comment><USER13> Say, I got myself a credit card number of someone from Toronto, Canada and I am checking out through your system using a botnet-based Toronto exit node.

Similar scenario, but this time I am an actual owner of that Canadian credit card, but I'm using Tor (or VPN) with an exit in Romania.

Can you elaborate how your 200+ variables will be able to block first and allow second purchase?

<comment><USER14> I don't think this is the type of thing they can really elaborate on for obvious reasons.

But the genuine holder is probably going to be blocked when they start throwing flags like that, and that's probably just standard everywhere with any type of automated fraud protection.

<comment><USER13> Well, it's a pretty basic question.

In both cases the vast majority of their 200 variables will look the same. The only differences will be in the IP and latency data and, possibly, the time zone/locale information if a fraudster is not being careful.

Point being is that differentiating these two cases comes down to analyzing just few bits of data, so I'm not sure why they are using "200 points" as a selling point.

<comment><USER15> I can't imagine many e-commerce checkouts work well through tor. I can barely use google over tor without getting constant captchas.

I also wouldn't expect them to detail all their fraud prevention techniques in a public forum.

IMO this is a really interesting idea! Since they are also the payment processor, they have access to more data for fraud prevention, so much so that fraud "insurance" is basically baked into the rate.

Increased efficiency through data analysis, and they are passing the savings on to yoooouuuu!

This could be a paradigm shift. Very cool. The docs look good, AND it works in Canada!?! Thank you! Canada is rarely a priority for US fintec companies. Even amazon DevPay doesn't work here last i checked. Sign me up!

</comment></comment></comment></comment></comment></comment><comment><USER16> rbres, first off, thank you for sticking around and answering our occasionally snarky questions.

Second, what is meant by "Amazon-like checkout?" If that "YOUR BRAND" thing on the front page is a screenshot/representation of the service, it appears to be an AJAXy overlay over the normal site similar to what one of PayPal's three dozen or so integration methods does. I wouldn't qualify that as "Amazon-like" since it doesn't well integrate with the rest of the site in terms of look and feel.

<comment><USER3> Absolutely, more than happy to :-)

Amazon is currently able to invest $100M's and 100s of engineers into perfecting the checkout experience. There are actually hundreds of things you can do to optimize checkout. Here's one study: [https://baymard.com/checkout- usability](https://baymard.com/checkout-usability)

We do all those things. We invest the engineering resources to perfect checkout. So that you don't have to. Even our checkout today is not perfect, but it's way better than the one's we replace. And will continue to improve with every deploy.

Now that you say it, Amazon-like can be a bit confusing. Really it appeals to our vision to help every online business compete with checkout by optimizing their payments flows.

<comment><USER17> Is it correct, though, that the checkout experience for users is a modal/overlay? And apart from the ability to display a custom logo, how customizeable is the design? (custom fonts, CSS, etc.)

<comment><USER3> We'll be rolling out more customization features. Big priority. They are sparse for now.

</comment></comment></comment></comment><comment><USER18> So........ did you get a little design inspiration from Stripe's site? Maybe changed that background to a dark color and toned down the nuance a bit?

<comment><USER3> Our old, hidden URL site, had the slanted style for the last 2+ years before their redesign: [https://drive.google.com/file/d/1qM3lAjCdSuTPAU-R9S2THrD83Zd...](https://drive.google.com/file/d/1qM3lAjCdSuTPAU-R9S2THrD83ZdWjxQo/view?usp=sharing)

Is pretty consistent with our style today.

</comment></comment><comment><USER19> Judging from Crunchbase[0], it looks like this company did a pretty interesting pivot:

"Bolt is an online payments platform which allows users to make payments through digital currencies such as bitcoin.

Bolt wants to give e-commerce retailers a better shot at competing with Amazon."

Can anybody at Bolt talk about that transition? Why is there less focus on digital currencies? Any interesting success/failure stories of eccommerce companies using digital currencies?

Always happy to hear about successful pivots.

[0] [https://www.crunchbase.com/organization/bolt-5](https://www.crunchbase.com/organization/bolt-5)

<comment><USER3> Big fans of crypto. I co-started the Stanford Bitcoin Group back in the day. Dropped out of school to re-engineer online payments originally inspired by crypto.

We realized crypto's shortcomings in mainstream payments (after a valiant year long quest) when we also had an aha-moment about how to re-engineer traditional online payments. Thus, the Bolt you see today.

News on crypto for online payments to come :-)

</comment></comment><comment><USER20> Consumer identity fraud isn't the only type of fraud problem that needs to be solved from the payment processor POV - there's also friendly fraud (when the customer is actually the owner of the credit card but claims fraud anyway), merchant fraud (merchants setting up bad sites and trying to steal funds), and collusion between merchant and customer.

It seems like Bolt is focused on solving the consumer identity fraud problem for merchants, but this biz models will 100% make them a huge target for fraudulent merchants to collude with customers to steal funds.

I guess I don't see how even an additional low single digit % fee will make up for false negatives. Assuming the company keeps .5% of the standard payment processing fee + takes an additional ~3% in fees on top of that, a $1000 false negative would require $1000/(.035) = ~$28.5k in additional processing volume to breakeven. This doesn't even take into the account the fact Bolt will eat the chargeback fee passed on from the network, so merchants with high volume/low average order value (think digital goods) will be hugely expensive for Bolt to service given they're making pennies per transaction but potentially paying 10x+ that per chargeback.

<comment><USER3> Hey dawhizkid - totally right.

Some comments on that in this thread:

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

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

We vet our merchants before onboarding and make sure to work with high- integrity companies. We monitor orders not just for identity fraud, but for merchant / collusion fraud.

That being said, we can certainly make mistakes. We also end up in the red some months with some clients. The good thing is that when we make a mistake, we pay the cost, not the merchant (which is contrary to the current state of the industry).

We have made reasonable profit per client even with our costs, but the real winners are our clients driving millions in newfound revenue.

<comment><USER20> What's the source of truth for deciding whether it was friendly fraud or not? Is it the chargeback reason code?

As far I know there isn't a specific reason code for "friendly fraud" (i.e. banks are passing along chargebacks telling you as a merchant that they think it's not actual fraud) and more often than not, especially having worked on this problem at scale in the past, friendly fraud chargebacks just come back with a "this is fraud" reason code.

<comment><USER21> In my "prior life", I can say that processors provide generic reason codes in order to mask how the determination was reached. The idea being that it helps mitigate forms of phishing attacks.

</comment></comment></comment></comment><comment><USER22> So it's not really zero fraud, Bolt just covers the cost of fraud.

<comment><USER23> See the fine print too. They have tiered service. I don't know why they are advertising their super plan on the front page as if its their whole offering...

"If you have Bolt's fraud indemnification, Bolt will fully cover the costs of and manage fraud-related chargebacks. But, you will still be responsible for Merchant-related chargebacks (damaged goods, goods not received, unhappy customers, etc.)"

"If you do not have Bolt's fraud indemnification, we will contact you via Email to inform you of the chargeback. Your merchant account will be charged that full order amount plus a $20 processing fee. Then, we will request the appropriate information to help you fight the chargeback with the card network. If you win the dispute, you will receive the full order amount credited back."

[https://docs.bolt.com/docs/risk-fraud-and-order- review](https://docs.bolt.com/docs/risk-fraud-and-order-review)

<comment><USER3> We recently rolled all clients to the full offering. A couple legacy clients don't have the 100% fraud coverage, thus keeping it in the terms. But if you sign up with Bolt from this point forward, it bakes in the 100% fraud indemnification. Will probably even take that out of the terms soon.

<comment><USER24> So what percent of the transaction number is flagged as fraud, and how many is actual fraud? Losing a customer that is not fraudulent due to aggressive filtering is almost as bad as having a fraudulent one.

<comment><USER3> Good question. Addressed that here: [https://news.ycombinator.com/item?id=16216455](https://news.ycombinator.com/item?id=16216455)

Our top focus is order approval lift. Zero fraud is cool and all (and makes for a good posting title) but is really just an assurance that you should be comfortable as we start to approve way more orders.

</comment></comment></comment></comment></comment><comment> w0rd-driven I have intermittent issues scrolling the fullstack job post ([https://bolt.com/jobs/fullstack-engineer](https://bolt.com/jobs/fullstack- engineer)) in Chrome for iOS. Requesting the desktop site seemed to fix it. I was also able to get it working by randomly clicking the other postings and coming back. If I wasn't eating lunch I'd try to debug it better but it's easily possible this is only affecting my phone.

<comment><USER3> Looking into this thanks.

</comment></comment><comment><USER25> Am I reading the "acceptable user policy"[0] correctly in noting that any of the adult entertainment industries and those currently operating in the unknown at Patreon (Stripe), would likely not be welcome at Bolt either?

[0] [https://bolt.com/acceptable-use](https://bolt.com/acceptable-use)

<comment><USER3> Nothing in adult for now. I'm not sure what "those currently operating in the unknown" means.

Hoping to expand to more business categories as we grow.

</comment></comment><comment><USER26> Our team did a pretty significant integration with Bolt last year.

Their platform is solid and was straight forward to integrate with. Their development team was also extremely helpful and helped us through the process at every step we needed them. They really did go above and beyond for us.

</comment><comment><USER27> Are there any industries this product wont be working with (for example, adult video sites)?

<comment><USER3> Here's a list: [https://bolt.com/acceptable-use](https://bolt.com/acceptable- use)

We hope to shorten the list as time goes on.

</comment></comment><comment><USER28> Was your domain recovered from a phishing site? It's blocked at my university.

<comment><USER3> Bolt.com has a huge history, including video-sharing that may have gotten it on those types of lists several years back.

We've had it for close to 3 years though.

<comment><USER28> Thanks. I'm willing to bet my school's IT dept hasn't updated any of their network software in like 5 years, so that's not surprising. It's specifically tagged as phishing.

Side-note: The link on HN goes to plain HTTP, hopefully you have HTTPS all set up!

<comment><USER3> Makes sense.

And yea thanks, the site auto-redirects to HTTPS.

</comment></comment></comment></comment><comment><USER29> I'm so excited to see Bolt redefine the payment space! If they can successfully defeat fraud, make it easier for customers to pay, AND integrate other payment methods, etc. - then this will be a BIG win!

</comment><comment><USER7> I confused this for CardConnect's Bolt P2PE product [0], which is also in the payments space.

[https://cardconnect.com/bolt](https://cardconnect.com/bolt)

</comment><comment><USER30> Looks nice, but "get a quote" == "close tab".

<comment><USER3> On the pricing page? What exactly happens when you click it?

<comment><USER30> I don't mean technically. I mean that's my behavior. If there were at least a "starts at" I would know whether it's a complete waste of time. When there's not, I assume it is.

</comment></comment></comment><comment><USER3> Here's why we exist: [https://bolt.com/case-studies](https://bolt.com/case- studies)

</comment><comment><USER31> So my question would be how many legitimate customers do they reject as fraud (false positives) in order to eliminate false negatives? :)

<comment><USER3> It's pretty insane.

Empirically, you'd rather let several fraudsters through in order to not trap a good customer (because of their customer lifetime value, brand value, etc).

However, the industry does the opposite. They'll reject 3 good customers to catch 1 fraudster. It's really bad.

Every switch to Bolt has seen a 1%-20% lift in order approval rates (while guaranteeing zero fraud) because of our unique data engine and data visibility. Huge reason why companies are switching to Bolt.

<comment><USER31> So you're saying despite having better fraud detection, your false positive rates (orders that would have been non-fraudulent but rejected anyway) are _also_ lower than the competition?

This is definitely something you might want to put in your marketting, but also back up in some way.

As a general rule, I'm going to assume any reduction in false negatives has some increase in false positives. If the general rule is not true in your case, I'm going to need to be convinced. :)

<comment><USER3> Here are some case studies to prove it: [https://bolt.com/case- studies](https://bolt.com/case-studies)

Many of our clients switched from top-tier fraud detection providers and saw significant lift in order approvals with Bolt.

More case studies on the way.

</comment></comment></comment></comment><comment><USER32> Wow, wish I could comment on my experience with them, but I think there was a NDA (and I dont have the contract at my fingertips).

</comment><comment><USER33> Bolt using Vantiv for their Payment Processing. They are part of Vantiv Payfac Program. I found it from my Friend.

</comment><comment><USER34> How could they provide no fraudulent charge back? It's up to the bank and Visa not to the payment processor

<comment><USER3> We pay the cost on behalf of the merchant.

</comment></comment><comment><USER35> Spelling error in video is a big red flag for me. "Expidited" should be "expedited".

</comment><comment><USER36> I've been following bolt since the past few years, congratulations on the official launch!

<comment><USER3> Many thanks!!

</comment></comment><comment><USER37> Excited to see this launch. The Zero Fraud guarantee is particularly excellent!

</comment><comment><USER38> A friend of mine uses them and he says they increased his revenue by 40%!

</comment><comment><USER39> Why do companies choose not to be 100% transparent? Any time I have to contact a company to see more or a demo or, even worse, see pricing, I close the page and make a mental note to never work with them in any capacity. I feel this type of boycotting is the only way to change the practice.

I mean, you even hide your docs behind a password? How terrible. What are you keeping so secret? Does this translate to your other business practices? Mental note made.

<comment><USER3> Just launched a couple hours ago. Thanks for the find, and I agree fully with the sentiment.

Docs are now fully public: [https://docs.bolt.com/](https://docs.bolt.com/)

Pricing varies depending on volume, risk, and a number of different factors given the complexity of payments (and that we're taking on full liability). But after a short call we provide a very simple flat rate with no BS. As much as we'd like to do one price, given the nature of our product, it's just not viable at this time.

<comment><USER40> If you can't provide specific pricing maybe give a few sample pricings with different scenarios so people can at least ballpark it before requesting a quote?

<comment><USER3> Sure.

Our fee ranges anywhere from a fraction of a percent to a couple percentage points. Companies selling $100k diamond jewelry (of which we have several) vs companies selling $100 bikes have different levels of risk.

Most importantly, we typically charge 1/10 the revenue we generate for our clients: [https://bolt.com/case-studies](https://bolt.com/case-studies). Everyone who's signed up is 10X ROI positive. For a small single digit percent they're making double digit percent more money.

On top of the Bolt Fee, we match processing, and that's about it.

<comment><USER41> Does that mean you charge 0.10 * (new_revenue - revenue_before_bolt) in addition to the fees? For a company that keeps growing, that would asymptotically approach 10%.

<comment><USER3> We cap it at low absolute single digit percentages. Business capture way more upside than we do.

</comment></comment></comment></comment></comment></comment><comment><USER42> Available outside US? Where?

<comment><USER3> You can accept credit cards anywhere in the world, in 50+ different currencies.

However, for now, settlement only to a US or Canadian bank account. We can do an instant transfer from a US/Canadian bank to an intlt account, but if you want to avoid US taxes and settle directly to an international bank, we do not support that. Our team is hard at work to support it in the next year.</comment></comment>