Switching from Common Lisp to Julia - <AUTHOR> https://tpapp.github.io/post/common-lisp-to-julia/ <comment><USER2> 1\. The standard doesn't guarantee double float arrays will be efficient.

Most implementations do it (CCL SBCL CMUCL ECL LW ACL SCL ...), except for a few unpopular implementations. Seven do what you want, but a couple don't. What gives? Julia has neither a standard nor more than one implementation.

2\. No efficient parametric/ad hoc polymorphism.

You can get far with inlining. You can also use libraries specifically built with this in mind. But you're right, it's not a built-in feature. But scientific codes are generally not super polymorphic anyway. Look at all the FORTRAN.

But besides that, Lisp let's you build the language you want to use, and have it interoperate for the rest of the ecosystem. If you are surprised that building a language is work, then Lisp may not be the choice for you. If you're willing to design the language you want for numerical computing, Lisp has the essential data types and primitives to allow you to do that, even portably.

If you want off-the-shelf features of Julia, then using Julia is more optimal than Lisp. If you want a language that will readily adapt without changing under your feet, without risking your programs not working 2, 10, or 25 years from now, then Lisp might be a good choice.

<comment><USER3> > Lisp let's you build the language you want to use, and have it interoperate > for the rest of the ecosystem.

I suspect this strength of Lisp could have undermined improvement of Lisp compilers in long term. That is, the fact that programmers can customize the language to run efficiently for their applications put less pressure to make the existing compiler better, compared to the languages that don't give programmers such flexibility.

I've worked on performance-sensitive commercial Common Lisp applications. We employed heavy macrology so that optimal instructions were generated in the performance critical regions. Effectively, it was reimplementing part of the compiler to deal with out domain-specific meta information such as parameterized types. It worked, but came with the cost of maintenance--as if we were maintaining another layer of the compiler. It was a burden. I'm sure there have been such effort spent in many other places and eventually abandoned.

Meanwhile, languages that give less power to the programmers, put lots of efforts to improving the compiler and/or the language that work more effectively with the improved compiler, and over a few decades, they have quite sophisticated compilers.

I still mostly use Lisp-family languages at work, but sometimes wonder if the power could have adverse effect in long term.

<comment><USER4> This is an excellent reply and I think it goes to the crux of the problem you were facing.

Perhaps, then, Julia makes sense in those cases.

Or, it's time for an enhanced Common Lisp implementation targeted specifically for scientific computing. I agree that one thing is "extending the language" and other is "implementing things that the compiler should have given me. "

<comment><USER2> SBCL is already suitable for scientific computing. All that's needed are good engineers who can write good libraries.

</comment></comment></comment></comment><comment><USER5> The author mentions trouble with portability and reliance on standard guarantees, and then goes on to talk about Julia, a single-implementation language that is "rapidly evolving" with breaking changes and no standard to speak of?

<comment><USER6> Single implementation > standard clusterfucks. Look at Java, Perl, Python, Ruby, Php, etc., vs. CL, Scheme, C, C++...

<comment><USER7> Any language that actually matters in the market reaches a point where it has multiple implementations.

<comment><USER8> I don't remember Java going down this path. Also the Julia license is very permissive which undermines the commercial case for, and removes the community imperative for alternate implementations.

<comment><USER7> Java always had multiple implementations since the early days.

That was one of the ways how Sun made money with it, by certifying implementations for the trademark symbol.

</comment></comment></comment></comment></comment><comment><USER9> > The standard does not guarantee that this gives you an array of double- > float: it may (if the implementation provides them), otherwise you get an > array of element type T. This turned out to be a major difficulty for > implementing portable scientific code in Common Lisp.

Wouldn't sticking to say SBCL (that does give you specialized arrays) be equivalent to using a one-implementation language that does the same?

<comment><USER10> For yourself, maybe. If you intend to share the code you write (or use code written by others), then implementation differences start to matter.

<comment><USER9> In case with lack of specialized float arrays, the worst that is going to happen is performance degradation. It's not like they are some non-standard extension.

</comment></comment></comment><comment><USER11> Slightly off-topic, but what's your preferred stack for developing data- intensive applications that involve a lot of preprocessing, heavy statistics and machine learning plus a web front-end?

Julia sounds quite appealing as a replacement for MATLAB or R with some Dylan- like semantics plus types and really efficient code generation on LLVM. I wish the Racket - Chez merger lead to something that targeted LLVM to be able to do front-end and back-end stuff using Scheme.

A JVM-centric stack is one of my preferred alternatives. Clojure is great for data preprocessing and manipulation, plus ClojureScript for coding all front- end. Datomic, core.spec, core.logic, anglican, plumatic.plumbing just to name a few are a joy to use. Then there's Scala, which is also a great asset, and tons of fantastic Java / Scala libraries like Stanford NLP, Markov Logic Networks (Tuffy, RockIT...), Factorie, Deeplearning4j, etc. Sadly, Scala- Clojure interop is not very good.

Python is the other obvious option, with tons of good libraries, including a fantastic data analysis ecosystem built around NumPy, SciPy, Matplotlib and Pandas. Plus most deep learning libraries targeting Python first. I just feel the language doesn't scale that well, although things like Numba or Cython help.

<comment><USER12> Have you considered Lua? You can develop web apps with Lapis [1] and do your data analysis with Torch [2].

The tradeoffs compared to Python: LuaJIT is much faster, which should ease your scaling worries, but the ecosystem is not as developed.

[1] [http://leafo.net/lapis](http://leafo.net/lapis) [2] [http://torch.ch/](http://torch.ch/)

<comment><USER13> It's really not fair to compare CPython with LuaJIT.

If you compare LuaJIT with PyPy or Numba, the "much faster" argument will simply not be true. What's different is that both of the above only cover a part of the language, but for specialised (e.g. numeric) application that's often not a problem.

<comment><USER14> LUAJIT is often on par with C. How would that make it slower than Pypy?

</comment></comment></comment></comment><comment><USER4> Note: I generally applaud Julia, it was designed taking many good choices.

However, I really don't understand how the author complains that CL doesn't "have" certain features that in fact _are_ available by choosing a suitable CL implementation. But no, he prefers switching to a language with no standard (yet) and only one implementation...

<comment><USER15> He mentioned that they have them it is that they are just not updated or standardized since there are one person developing the library.

</comment></comment><comment><USER4> _> "The standard does not guarantee that this gives you an array of double- float: it may (if the implementation provides them), otherwise you get an array of element type T."_

Well, many Common Lisp implementations, which includes most of the famous ones like SBCL, CCL, and ABCL, will give you exactly...

... an array of double-float!!

So where is the problem?

 _> "However, this gets worse: while you can tell a function that operates on arrays that these arrays have element type double-float, you cannot dispatch on this, as Common Lisp does not have parametric types."_

Well, there are many options. First, let me reiterate that an array of a certain element type, stays of that element type. Example:

        CL-USER> (defparameter *a* (make-array 0 :element-type 'double-float ))
            *A*
        CL-USER> (type-of *a*)
            (SIMPLE-ARRAY DOUBLE-FLOAT (0))

I'm going to give the simplest, quick&dirty options:

If you're using arrays of different element-types, option A is write your function and just use the ETYPECASE function to do the dispatch according to the element type, so you can ensure that you select the code correct to the element type. Use the DECLARE declaration specifier so the Lisp compiler knows which type is your array /array elements and thus the machine language code produced is optimal.

Option B is simple, just define classes or structs, one for each array type you intend to use; and then take advantage of CLOS dispatch so invoking the generic function dispatches to the correct code for each array.

These are two options which don't even need any macro solutions; there are many more options as well, i'm just proposing two.

Option C, more elegant, could be perhaps using Fare's "LIL" (Lisp Interface Library)? [https://common-lisp.net/~frideau/lil-ilc2012/lil- ilc2012.htm...](https://common-lisp.net/~frideau/lil-ilc2012/lil-ilc2012.html)

I really think Julia is a nicely designed language, and is a language I often tell people to take a look at. However, if the author already has a program in Common Lisp, and has good experience of Common Lisp (which, by the way, means the author might be a quite skilled programmer), why not dig deeper into the facilities that Common Lisp brings to solve those problems?

NOTE: This is an edited version of the comment i left on the page.

</comment><comment><USER16> Keeping in mind that Julia appears to be very very close to common lisp, some minor differences that you appear to lose going over:

\- 1) lisp 1 vs lisp 2

\- 2) Matlab syntax (y tho?), infix, and sygils everywhere

\- 3) Clos and metaobject protocol and ability to adjust these as easily at run-time

You do appear to gain some things though in all honesty. I'm trying to program up an dataframe/analytics type program/library in Common Lisp as we speak, and I'll admit, getting that stuff right and efficient is hard work. Gives you immediate respect for anyone who has done the same in other languages.

Additionally:

\- 1) Parametric types and dispatch on them

\- 2) Potentially inlining and compiler optimisations and integration around their generic functions. My gut says SBCL would need some compiler magic and metaobject protocol type stuff to do the same, and it would no longer be standard Common Lisp. That's not necessarily a bad thing, there are some warts around in-builts/objects/generic functions in Common Lisp, but it would be a fracturing of the community to update/change them.

<comment><USER11> MATLAB syntax is pretty convenient for linear algebra. It makes things very readable.

Maybe Julia should be seen as an infix typed Lisp DSL for math. It'd make a good stack (see my other comment) with Clasp or any other Common Lisp that offers good bindings to LLVM.

<comment><USER2> CL-INFIX [0] gives you infix syntax in Lisp a la carte.

[0] [https://github.com/rigetticomputing/cmu- infix/blob/master/RE...](https://github.com/rigetticomputing/cmu- infix/blob/master/README.md)

</comment></comment></comment><comment><USER17> The problem I have with Lisp for scientific computing is that libraries matter. You really want to standardize not only what you are calling but also your notation because most of the people that you want to use the libraries are scientific domain experts and not "programmers": they may know like 20 functions and that's it (and that's fine!).

Lisps tend to love the "you can build anything in it! You can make all of your own syntax in it!" and I think that goes too far. Julia lets you do this with macros, but then there's a good convention to not overuse this. There has to be a balance between being too structured (which hurts innovation) and too dynamic (which makes it hard to learn someone's new library because everything is too different), and I think Julia strikes the right balance.

</comment><comment><USER18> It is my biggest complaint with Common Lisp, that while the language supports efficient optimization based on type information, it is often a bit cumbersome to provide them. However, if you target is to write high performance numeric code, you should consider SBCL first of all. It is excellent in using type- information and has a very good type-inferencer, so the task is a bit easier, and it produces excellent code.</comment>


The Sustainability Agenda in Kanban - <AUTHOR> http://www.infoq.com/articles/kanban-agenda-part1-sustainability

<comment><USER2> I got lost in all the jargons. Or maybe these article is not for me.

ps: great tools like kanban should be easy to implement and easier to understand.

<comment><USER3> Article author here. There's 3 chapters worth of the book I'm writing condensed into a shortish article and I'm all too aware that readability has suffered. Perhaps you'd prefer this video instead? [http://vimeo.com/79779869](http://vimeo.com/79779869)

</comment></comment><comment><USER4> +1</comment>


1000s of Historic Shakespeare Illustrations Are Now Free to Download and Use - <AUTHOR> http://www.infodocket.com/2017/01/10/new-oa-resource-1000s-of-historic-shakespeare-illustrations-are-now-free-to-download-and-use/ <comment><USER2> [https://shakespeareillustration.org/](https://shakespeareillustration.org/) \-- in case you don't want to brute force the correct order of link-clicks to find the original source.</comment>


Apple's 1987 Knowledge Navigator, Only One Month Late - <AUTHOR> http://waxy.org/2011/10/apples_1987_knowledge_navigator_only_one_month_late/ <comment><USER2> Putting aside the dated hardware (and hairstyles!), this technology is still a ways off. Yes, Siri is a good start, but it doesn't come anywhere near the type of conversational fluency and contextual awareness that the virtual assistant in this video does.

Honestly, I think we're still 10 or 20 years out from that.

<comment><USER3> The great AI promise, huh? "True conversational AI is about 10-20 years away" :)

<comment><USER4> We're frustratingly close on voice recognition, and I know people using computers for day to day dictation. The interesting thing is that the problem is training and practice, not algorithmic, and Google's wrapping that up now. (As far as I can tell, they're on the forefront of computational linguistics.)

We have the ability to parse out questions and return answers at the level of Jeopardy champions with Watson. Today, Watson would have been #113 on the supercomputer 500. In 2005, it would have been #3. #113 in 2005 was a cluster of 1024 Xeon 2.4Ghz.

I hate doing apples to oranges, but the only comparison I could find was from cpubenchmark.net, which puts the Xeon 2.5ghz as 381 on their propriatary PassMark. A $335 E3-1275 runs a 9,109 with 4 cores. That's back of the napkin 20-25 times faster. Let's go with 20, extrapolate and say within six years a n equivalent 64-processor machine would be sufficient for Watson-level performance, well within the range of an individual lab, with "good-enough" voice recognition!

The last piece here is conversational flow. Chatbots have demonstrated that we're nowhere near yet. That's algorithmic as much as anything, but it's a pretty big topic in computational linguistics, so I'm hoping we'll have that cracked soon.

Expert systems look to be reasonable in 5-10 years with fluency, with conversational AI not far behind. We know what we need. It's not an unknown problem at this point, for the most part.

<comment><USER5> A large part of Watson's performance on Jeopardy came from its buzzer timing.

Most human contestants (at the champion level) know the answers to most the questions. The gamesmanship, according to the all-time Jeopardy champion Ken Jennings in a recent Fresh Air interview (Jennings returned to the show to take on Watson) is in the button press timing.

Watson has superb accuracy.

The computer actually knew the answers to fewer questions than the humans, but when Watson _did_ know the answers, it _always_ got the buzzer.

Helps to pull back the curtain a bit at times.

True AI and speech are hard. They're getting good. Scary good at times. There's an Android voice-to-voice translation app I've used to communicate with a Mandarin speaker (I manage just a few phrases). After doing that, I spent about fifteen minutes just staring at my phone and realizing that another huge piece of my future was now my present.

And I know the pieces behind it: voice recognition (cloud-assisted), translation, speech synthesis. But it's still mind-bogglingly cool. To me at least.

For my kids, probably not so much.

<comment><USER6> Yes, Watson had a major advantage at buzzing in but he was also capable of understanding or computing the questions. This is significant as the questions on Jeopardy aren't simply x + y = z but contain the complexities of the English language.

</comment></comment></comment></comment></comment><comment><USER7> That assistant looks like Bill Nye :-) I wonder if anyone showed this video as prior art in the iPad patent discussion.

Perhaps one of the most salient things to learn from this is that people with a vision, and a will, work continually toward that vision even when progress seems non-existent. A solid idea of what you'd like something to look like, elucidated clearly, can help shape products for years until what you imagine can be made real. When I saw Alan Kay talk about the Dynabook at one of Xerox PARC's lecture series I felt that here was a guy who had basically committed to this vision, and was knocking down objections one by one.

<comment><USER8> Ironically, this video was made at the request of one of the CEOs who was booted during Apple's dark period. (Gil Amelio? Edit: See child, it was John Sculley.)

Source: Insanely Great. I don't have a copy to look it up in.

<comment><USER9> John Sculley. Yes, the one who fired Steve Jobs.

<comment><USER8> Ah yes, of course. Sculley came to consider himself a visionary and artist, sponsoring a couple of projects like these.

I'm not going to attribute the near-attainment of this lofty vision to the guy he fired, but I'm glad it has been brought this far.

</comment></comment></comment></comment><comment><USER10> The video is a mix of two different videos, one from 1987, and one from 1997. The CyberDog / OpenDoc stuff in the second half is obviously not from the 80's as those projects were created in 1996-1997.

<comment><USER11> When does it switch from the older video to the newer video? It looked to me like all 5:45 was the same video.

<comment><USER12> Going by the comments there, I believe the blogger updated the video to one with just the older clip, so as not to confuse people.

</comment></comment></comment><comment><USER13> Funny how someone mentioned this earlier today on HN and then someone manages to repost it as another entry.

But I guess the video is somewhat well known and any voice recognition from Apple will draw it's comparison.

Same video posted a year earlier with many more views <http://www.youtube.com/watch?v=3WdS4TscWH8>

What's interesting to me is how slow the UI obviously is - I guess they were trying to make it "realistic" for the time and therefore more believable than instantaneous (or it was a limitation of the software they used to create it). Reminds me of the "Lost in Space" movie where the UI from the future seemed too fast to them.

</comment><comment><USER14> Except that Siri has been out on the App Store since 2010. <http://www.youtube.com/watch?v=AohzWSkAU7c>

Until today that is. It's been artifically limited to Apple's forthcoming iPhone 4S, and current customers will have the service shut off for them on the 15th.

<comment><USER15> Wait, really? Apple's main product release is actually a product retraction?

Damn. They got some marketing _balls_.

<comment><USER16> More like a new set of system requirements…

<comment><USER15> It's pretty rare on the user end that a forced upgrade necessitates a new machine... It's like they're running a web app on your phone.

</comment></comment></comment></comment><comment><USER17> one of the best concepts i've seen from apple. yes, siri does not do all that, but, you certainly can manage most of it with all the apps available..nice find, nice find indeed!

</comment><comment><USER18> They seem to have also invented the concept of "checking-in". See video[1] at 0:38 second mark onwards where he talks about a student checking in at Guatemala.

[1]<http://www.youtube.com/watch?v=3WdS4TscWH8>

</comment><comment><USER19> Let's not forget that speech recognition has been baked into Android for at least 2 years.

<comment><AUTHOR> I really hope Siri is not so much about speech recognition but about "intention recognition". If something like "Text my wife that I'll be home at 8" really works without memorizing the exact phrase, then Siri is not just a voice interface, but indeed a personal assistant. I guess that's why Apple kept the name Siri - so the user thinks of "her" as a personality. That said, I'm very skeptical - has Apple ever added a beta tag to a main features of new hardware?

</comment></comment><comment><USER20> I saw this on VHS when it originally came out, at an Apple user group meeting. I was 15 years old. I remember thinking at the time that it all seemed to far- fetched to become reality. I'm glad I was wrong.

<comment><USER21> You weren't, really. The reality we have today is far removed from that video. Like, really far removed.

</comment></comment><comment><USER22> "maren" here on HN founded <http://zirtual.com/> , so you can get a real human assistant while we wait for the future :)

<comment><USER23> "Your sensitive stuff is safe with us. Whether it's your email address, or usernames or passwords, your dedicated Zirtual Assistant would rather fall on their sword than divulge any of your sensitive information to internet creepers!" Hmm. Creepy!

</comment></comment><comment><USER24> It's sad that we still did not achieve the level smoothness and interoperability imagined in this video. Who cares about talking to the computer. Getting things done is still a bunch of ugly hacks.

</comment><comment><USER25> We took a lot of inspiration from this video over at Zazu (<http://getzazu.com>), it's great to see this video being acknowledged by the HN community!

</comment><comment><USER26> Regardless of the awkwardness of this, it's still incredibly fascinating to see. It's kind of like Google Wave meets FaceTime meets Siri and an Exahertz of AI.

</comment><comment><USER27> Behold, the power of OpenDoc!

<comment><USER28> Xcode 4 really reminds me of OpenDoc, just for dev tools.

</comment></comment><comment><USER29> Apple also predicted that moms will still be nagging in 2011! Astounding. :)

</comment><comment><USER30> insane

</comment><comment><USER31> That's nice and all but this video is not from 1987.. 1997 maybe. The lady at the beginning of the video mentions Yahoo which didn't launch until 1995.

<comment><USER32> Nope def. 1987: [http://www.worldcat.org/title/educom-87-keynote- address/oclc...](http://www.worldcat.org/title/educom-87-keynote- address/oclc/027878535)

At which point in the video do they mention Yahoo? I watched it again and couldn't hear it.</comment></comment>


Questions Programmers Should Ask Their Interviewers - <AUTHOR> http://www.coderslexicon.com/questions-programmers-should-ask-their-interviewers/

<comment><USER2> A great list of questions, and far better than the awkward, "er...no...I don't have any questions" with an embarrassed smile.

It should also make you look better to your prospective employer too.</comment>


Quorum: The world's first evidence-oriented programming language - <AUTHOR> http://quorumlanguage.com/

<comment><USER2> I think the idea of renaming programming concepts so beginners can understand them easily is worth trying.

But wouldn't it also be a good idea to also map this back to standard programming language terminology? And provide a detailed description of the semantics of the language, so people who are knowledgeable in the field can comment on it?</comment>


The Surprise Cult of Modern Monetary Theory - <AUTHOR> https://www.newstatesman.com/politics/economy/2019/02/surprise-cult-modern-monetary-theory <comment><USER2> > Rather than "finding" the money to "pay" for universal healthcare, > governments can electronically create money out of nothing. When inflation > begins to rise, the state can employ its fiscal lever, taxing excess money > out of the economy.

Yeah, but see, in the US at least, it's _Congress_ that controls the taxes. Do you trust Congress to put the brakes on at the right time and to the right degree? Have you _looked_ at Congress lately?

That's assuming that MMT actually works as advertised, which I think is quite an assumption. I think it's more likely that MMT = "Magic Money Tree" (I stole that; can't remember from where or I'd give credit where due). That is, MMT is a too-good-to-be-true offer of free money that won't work in reality.

</comment><comment><USER3> My understanding is that, if it is added at the correct rate, the U.S. economy can absorb infinite amounts of counterfeit money.</comment>


How Bolt does fraud detection better - <AUTHOR> https://blog.bolt.com/better-fraud-detection-with-bolt/ <comment><USER2> Pricing page: "No more games. Save real money with bolt's simple pricing"

Then they go on to not include any ideas of price.

When companies can't give me a price range or idea I always have a feeling that their pricing model is to guess my profits and then guess how much they can take and still gain my business. Usually you can identify these types of propositions when the company tells you they're your 'partner' and you're not just a customer - but a partner.

Just tell me up to $x in sales it's $y per transaction and $y can have different prices for different features... I don't want a 2 hour call or screen cast to find out it's out of budget. This sales funnel tactic is no more moral than the long form copy sales website.. where they get people to spend 2 hours reading something - then at the end hit them for some amazing offer - where the user feels they've already invested 2 hours 'learning how to x' why not spend $95 and some reaaccuring fee for ever... dark pattern.

<comment><AUTHOR> Thanks for the feedback here. Very much acknowledged. We're going to be revamping the pricing page.

Typically our deals are more enterprise-y / custom, especially since we're taking on all fraud liability. It's not just a processing rate.

Feel free to send me your volume and website and I'll get you back a quote: rb [at] bolt.com.

And the pricing page will be updated soon. Appreciate it, again.

<comment><USER3> > enterprise-y / custom

> send me your ....

> I'll get you back a quote

Thanks, but nah. I don't want to call or email or negotiate, I just want to give you my money and get the service, so I'll be using your competitor who has actual pricing and plan comparison front-and-center on their website.

...or are you just a quote bot and unable to actually read comments? It certainly doesn't appear that you understood the parent's comment.

<comment><USER4> He pretty much confirmed the parent's point.

>I always have a feeling that their pricing model is to guess my profits and then guess how much they can take and still gain my business.

"Enterprise-y" pricing is codeword for "smooth-talk non-technical managers at huge corporations and bilk them for as much as they're conceivably willing to pay". That's how the enterprise sales model works, and it can be very effective.

It's not always a bad thing, but it does seem irritating that their only pricing option is enterprise pricing.

<comment><AUTHOR> Sorry guys. Something we need to work on: instant and clearer pricing for everyone.

Don't have much else to add at this point :/ We're new, growing, and getting better. That involves taking feedback like this seriously. Will deliver through our actions in the near future instead of words.

<comment><USER4> Good to hear you're receptive to feedback. Enterprise sales and pricing is how a lot of companies have become, and stayed, big. There's nothing inherently wrong with that model.

But if enterprise pricing is the _only_ model you're offering, then unless your goal is to only ever get business from big corporations (which, again, isn't necessarily a bad thing), you're going to turn a lot of potential customers away.

</comment></comment></comment></comment></comment></comment><comment><USER5> (Disclosure: ex-Ravelin employee, a competitor)

What are your false positive and false negative rates (if I may ask)? I see you allude to the importance of those metrics somewhere in the post, but I don't see the comparison with yourselves.

Crucially, if you're taking on responsibility for fraud (i.e. false negatives), you'll be heavily incentivised to skew your model towards low false negatives. Unfortunately, because of the very nature of algorithmic fraud detection, these are inversely linked to false positives. Less fraud <=> more genuine customers bounced, and vice versa. By taking a side in that bet, your priorities may not be aligned with those of the customer (esp high margin merchants are totally fine with some fraud). Is there something you do to counteract that?

This is something I always wondered about when I saw other companies with this business model.

Nice post though, and amen to the "we detect fraud!" - "how?" - "uhhhhh…" comic :)

<comment><AUTHOR> Thanks for the question, nothrabannosir! Very key points here, so want to answer it in-depth.

Half a dozen points to answer this question:

\- First off, our #1 north star metrics are order approval rates and minimal false positives. We measure this for every merchant. Clients sign up with us under the clear expectation that they'll see a spike in order approval rates and all of our case studies (compared to tools like Signifyd, Riskified, Stripe Radar, and many others) have shown significant spikes in order approval rates.

\- We have some of our case studies published here [https://bolt.com/case- studies](https://bolt.com/case-studies) and will be posting more in short order.

\- We are more incentivized than siloed fraud detection providers to approve more orders. Payment processors are aligned to maximize volume. Fraud providers are aligned to minimize fraud. We play both roles. We want maximum volume through our pipes just as badly as merchants do.

\- Furthermore, fraud rates are simply FRAUD / TOTAL VOLUME. We always aim to maximize TOTAL VOLUME to keep fraud rates low vs squeezing the numerator (which is what most companies do).

\- Finally, as elaborated in the most, we have unparalleled data visibility by powering checkout. We use no rules. So, just because something looks bad (e.g. a user using a VPN, coming from a certain country, etc) our models just factor that in as one of hundreds of variables.

\- We try to not profit and maximize fraud for the first several months to root out false positives in our models. If you only approve things that are clearly good and reject all else, your models will never learn.

\- Our human review team rigorously processes every machine decline before it's officially declined to once again maximize order approvals.

A lot more that I could elaborate on here. But, just a few quick tidbits on what we do to minimize false positives as our #1 priority. All of the above and more lends itself to, what we believe to be, the best results in the industry.

<comment><AUTHOR> Furthermore, all of our clients have a "Force Approve" button where they take liability. The usage of that is approximately 0 because of how much clients end up trusting us. We want usage to be 0. But, they do have final say if needed.

</comment></comment></comment><comment><USER6> The product looks interesting but the hand picked examples are literally useless. 3 examples where you approved a transaction that a competitor opted to decline. Based on your examples your model could literally be "approve every transaction".

It's not a fair comparison unless you compare approval/decline rates and total fraud per platform.

<comment><AUTHOR> Yep, totally get it. We wanted to show specific examples, but obviously not disclose PII. So, this was a middle-ground although not idea.

For every client we measure order approval and decline rates before/after. Here are several case studies with those results: [https://bolt.com/case- studies](https://bolt.com/case-studies)

And we have more that we can send over if you're interested in learning more! rb [at] bolt.com.

</comment></comment><comment><USER7> Having looked at their website, I'm unclear as to whether bolt is a payment processor like Stripe or whether it's just optimising checkouts. Does anyone here use them currently?

<comment><AUTHOR> Bolt is a full-stack solution. We do 1) end-to-end payment processing (like Stripe), 2) optimizing checkout, and 3) white glove fraud detection where we take on full fraud liability.

<comment><USER8> Okay, do you guys have something that allows me to charge ACH / Credit Card on an ongoing basis (daily) for different amounts? Something like a reusable token like Synapse?

I'm looking for something like this but Stripe just isn't cutting it :(

<comment><AUTHOR> We can likely do this for you with credit card depending on the details. We'll be rolling out ACH in upcoming months (but ACH is not immediately usable).

Email me directly and I'll send over details? rb [at] bolt.com.

</comment></comment></comment></comment><comment><AUTHOR> Also FYI, CEO of Bolt here. Ask me anything!

<comment><USER9> Why is your site not secure? Let's Encrypt makes this easy.

<comment><USER10> Both the blog and the homepage are served over TLS for me. And they're forcing plaintext to TLS ... so not sure what's wrong on your end.

<comment><AUTHOR> Fixed it, thanks!

</comment></comment></comment></comment><comment><USER11> Looks dope!</comment>


Waterproof anything with a spray - <AUTHOR> http://designtaxi.com/news/351023/Waterproof-Your-iPhone-Everything-Else-With-This-Spray/

<comment><USER2> Not to "rain" on their parade (heh), but the ability to pass water vapor effectively while also remaining hydrophobic for water droplets, _and_ doing that for a long time on surfaces that are exposed to constant wear, is sort of the holy grail of the outdoor gear industry.

The company's page for their product (<http://www.neverwet.com/product- characteristics.php>) doesn't mention breathability. Considering that breathability would be a feature that would make them the next Gore-Tex, I'd expect them to trumpet it pretty loudly.

There are already pretty decent spray-on coatings for outerwear, they just don't last very long in the fabric and have to be re-applied after a few uses.

I used to work for Northern Mountain Supply back when they were a sort-of big deal.

<comment><USER3> I love the graph on that page, where 160-175 "degrees of hydrophobicity" are illustrated as a huge, exponential increase over 110 degrees. To me, more than the breathability or durability or whatever other technical issues, that graph is a huge red flag that this is 90% marketing, 10% engineering.

<comment><USER4> The scaling, though not noted seems to be about 10 degrees per line. Which means the 160-175 is actually shy of where it should be (about 5 lines up from the 110). That bar actually shows it's at 150 degrees, which must mean their marketing is actually very conservative if we are to make grand judgement calls from one graph on a company's page. ;)

<comment><USER5> The parent was referring to how they didn't start from 0, so it seems 160 degrees is 5-6 times larger than 90 degrees.

</comment></comment></comment></comment><comment><USER6> Wow, this is incredible. Assuming it isn't crazy expensive, I'd put this on everything from my car to my walls.

I do kind of wonder how you'd wash clothes coated in this, though. It would be kind of tricky if dirt can get into the fibers but water can't.

Edit: Also, I would love to prank a bartender at my local watering hole by spraying this on his bar rag when he's not looking :)

<comment><USER7> This stuff may not be safe for humans, especially as it degrades and flakes off. I don't really want my kids breathing it in.

<comment><USER8> It's silicone (not silicon, as the article misstates) so it's probably safe. Silicone is used in breast implants, home window sealants, cookware (look up silpat) and yes, fabric, as silnylon (the ultralight backpacker's waterproof friend). With the last case, it is _not_ breathable, which is why it's not used for jackets.

<comment><USER9> I thought silicone in breast implants was discontinued in favor of saline due to the dangers of toxicity with implant leaks.

<comment><USER10> I am not a breast implant expert, but if I recall, silicone fell out of favor due to fears connecting the implants to mysterious immune-related diseases. However no connection between silicone breast implants and these diseases was ever borne out.

</comment></comment></comment></comment></comment><comment><USER11> I remember reading about similar technology before at least twice here on HN; it was 'glass in spray' then[1]. It was supposed to be here soon and revolutionize everything. I hope that this time it will actually become available to buy.

[1] I think this one: [http://www.smartplanet.com/blog/smart- takes/-8216liquid-glas...](http://www.smartplanet.com/blog/smart- takes/-8216liquid-glass-spray-can-protect-any-surface-from-water-dirt- bacteria-heat-uv/3833)

<comment><USER12> This can be bought in Europe for furniture. It is a family business, so I think they are building it up slow. They have had some good studies on their product, and I still hope we will see it in the next few years. I think it is legit.

<comment><USER5> That's cool! Is there anything stopping it from being used for anything else besides furniture?

</comment></comment></comment><comment><USER13> For one, this could reduce maintenance costs for solar panels substantiality.

</comment><comment><USER14> I would like to see what happens to a swimmer with a suit coated with this thing. Would it go faster or slower?

<comment><USER15> Faster: Friction is reduced.

<comment><USER14> Or slower, since you cannot "push" so much water with hands and feet as it "slips" through. Who wins: lower friction or lower viscosity?

<comment><USER16> Typical swimsuit doesn't cover the arms or legs, does it?

</comment></comment></comment></comment><comment><USER17> They describe 'wet' as having a liquid on the object its used on. I wonder how the object feels with this applied.. ie. does a glossy object feel rougher

<comment><USER18> Not necessarily. Surface roughness that creates the most hydrophobic surfaces is around 0.1-1 microns which is much less than the width of a human hair.

</comment></comment><comment><USER19> Anyone else notice the air bubble coming out of the iPhone speaker hole at ~ 1:38 in the second video?

A neat demo, but I suspect that phone is no longer working.

</comment><comment><USER20> I saw a live demo of this stuff at a trade show two weeks ago, and it was truly amazing. It put any other coating I've ever seen to shame (such as RainX).

While they had a shirt and a shoe on display, the demo was mainly focused around commercially licensing it as a coating for stuff that you don't really want to clean, such as bedpans and toilet plungers.

</comment><comment><USER21> Link below to their white paper, it has some more data on durability.

Sounds pretty impressive and apparently it is already in use by some refrigerator companies (spillproof shelves).

[0] [http://www3.neverwet.com/l/4762/hite-Paper--- Marine-111810-p...](http://www3.neverwet.com/l/4762/hite-Paper--- Marine-111810-pdf/2DPNU)

</comment><comment><USER22> Any health issues studies on this? Can't imagine it being good to get a coating on your internals.

<comment><USER23> Forget about coating your internals. What about this: You spray it on your clothes, put them on, this thing gets on your skin, and blocks all of your pores. Isn't that kind of a healthy hazard?

<comment><USER24> Sounds more like it would be an unhealthy hazard.

</comment></comment></comment><comment><USER25> Wonder what this does to your lungs when you inevitably breathe it in?

<comment><USER26> I was thinking the same. This stuff must be incredibly dangerous from a medical point of view.

</comment></comment><comment><USER27> How much to simply coat all my clothes with it?

Even better, can I put it on my hair and go out in the rain without a hat?

I suppose washing it might be a problem...

<comment><USER28> I saw on reddit someone pointing out the big question there, does this leave fabrics breathable?

If it doesn't it's useless for clothes and shoes.

I just can't find anywhere on their site where they say one way or the other.

TBH, their site is pretty light on details.

</comment></comment><comment><USER29> Depending on how this effects breathability (as mentioned by @mattmanser) this has the potential to change the fashion industry.

</comment><comment><USER30> If you could coat sports equipment (including gloves), it would make a world of difference to playing sport in rainy conditions.

</comment><comment><USER31> What's the difference between this and RainX? (silicon coating used on car and airplane windshields)..

<comment><USER5> The chart on their website: <http://www.neverwet.com/product- characteristics.php> shows 50 degrees more hydrophobicity.

</comment></comment><comment><USER32> blog spam.

</comment><comment><USER33> Waterproof anything with a spray...@readers: you want to make $85 hourly and $7000 per month like me just working on laptop for few hours! Would you like to be your own boss!Opportunities like this don't come by often. Don't let this one pass you by! CashHuge. com

</comment><comment><USER34> can't wait to put this on my penis!</comment>