HNHacker News
TopNewBestAskShowJobs

sovande

693 karma · joined March 2, 2008

submissionscomments
sovande··on Stripe Sigma
Radar, smack there in the left-menu, is Stripe's Fraud "prevention" system. You can register and mark fraudulent purchases to improve the machine learning system behind Radar (sure). You can setup rules such as "Block if CVC verification fails" (really and can be disabled). At least, Stripe is trying to address the problem. Unfortunately, not with great success at the moment, but I'm sure/hope it will improve. We use both PayPal and Stripe and the difference is like a green meadow compared to a green toxic waste dump with regards to charge backs and fraud.
sovande··on Stripe Sigma
Oh shiny, but does it blend? I mean, Stripe has a great API, great design and this, but is Stripe a good payment solution? No, it is not, especially for sellers. Fraud and charge backs are worse than with PayPal. Despite its many shortcomings, PayPal has at least a much better fraud protection system. This is what matters or should matter when choosing a payment solution. Shiny stuff is great, but if the engine is made with rubber-bands, you won't get very far.
sovande··on Why do so few people major in computer science?
CS jobs in the west are victims of Globalisation. We simply cannot compete with Asia and Eastern Europe with regards to wages. Hence outsourcing which has been ongoing for decades. We _can_ compete on quality and solutions, but these are hidden properties which might or might not be a problem in the finished product. Business people consider scope and cost first and foremost. In addition, many of the best and highest paid programmers are self-thought. This works, because 99.9% of your career will be bread and butter CRUD apps anyone can do. At the university we studied algorithms and data structures which we will never use or implement. When was the last time you had to do a breadth-first-search on a graph? I really cannot recommend anyone in the west to study CS today.
sovande··on Electron is flash for the desktop (2016)
Most users will accept issues with their free program if the alternative is to pay. I'm pretty sure the message pane you have there is a WebKit controller so it is debatable how native this would be.
sovande··on Ranking TV Shows That Got Canceled
The closest successor to Firefly, Dark Matter (minus the cowboy thing) only just made it to season 2 but is now renewed for season 3 by reducing production costs and selling older seasons to Netflix.

The new way people are watching TV is on-demand rather than on-air which is dramatically cutting ad-based income for traditional networks. If networks can partner or sell to streaming companies like Netflix it might help long tail shows like Firefly to survive in the future. Another great Syfy show, The Expanse, will hopefully survive that way whereas back in 2003 it would have been axed by now.

sovande··on Vulnerability scanner for Linux and FreeBSD
That is naive. Yes, trivial out of bounds memory errors can be prevented, but no language can prevent (accidental) resource leakage which opens up for other vulnerabilities. Besides, most modern languages are written in C/C++ anyway so you have to trust the language implementors to write perfect memory unsafe code which of course they can't.
sovande··on Writing an editor in less than 1000 lines of code, just for fun
For example, https://www.youtube.com/watch?v=KcfFJ6pNEZk Keep in mind, this is 48 hours and he had created a "few" games before this.
sovande··on Writing an editor in less than 1000 lines of code, just for fun
If you create a screencast I assume you give it your best. Look at the typing skills demonstrated in the screencast accompanying this project, https://asciinema.org/a/90r2i9bq8po03nazhqtsifksb

Judging from the screencast he use around 10 seconds per line. That would be, (10s * 1000 loc)/3600 = 2.7 hours just to type 1000 lines of code. Programming is of course not typing, but a mental activity first and foremost. Let's say he is incredible smart [1] and helped by copy and past, so on average he uses 90 seconds to program one line. That is, 25 hours. Of course it will take a few days to create a 1000 line C program that does anything useful.

And of course I know that "a few hours" is just something one say to look cool. I just don't think it is cool.

1. His naive redlock and following discussion on HN a while ago was not convincing, https://news.ycombinator.com/item?id=11065933

sovande··on “PayPal has demanded that we monitor data traffic as well as customers’ files”
For posterity, yes you do have this "neural network" thing. It does not really work now AFAIK, but I do hope you will succeed as we definitely need a viable alternative to PayPal.

Though I'm sceptical to this approach. In machine learning 101 we learned that there always exist a statistical method that would beat a neural network. In this case, a system that gathers actual relevant data for statistical scoring. You know hard data, like an up to date list of stolen credit card numbers, a history of chargeback per credit card etc. PayPal has this and of 1000 transactions, we have 1-2 fraudulent chargebacks. Compared to Strip this is the difference between heaven and hell. PayPal sucks, but at least they have a working fraud protection system.

Nothing kills an online business faster than being swamped in fraud and chargebacks. I mean, good APIs are great and Stripe certainly has that, but a working fraud protecting system is what really matters to those of us who sell online.

sovande··on “PayPal has demanded that we monitor data traffic as well as customers’ files”
> Fortunately companies like stripe.com

The sad truth is that Stripe is behaving exactly like PayPal. What's worse is that Stripe's fraud protection is non-existing. In other words, Stripe is actually worse than PayPal, as you risk the same account freeze, closing etc, but in addition, you will be swamped down with fraudulent purchases and chargebacks.

sovande··on OS X is now macOS and gets support for Siri, auto unlock
Well, they have "innovated" on security in a very detrimental way for us developers. SIP, for example, plus rheumatic sandbox rules has made coding on OS X very unpleasant and limited. It is like Apple don't want us to develop anything useful on OS X.
sovande··on Machine learning for financial prediction
I'll invoke the Black Swan (https://en.wikipedia.org/wiki/The_Black_Swan_%28Taleb_book%2...) since it hasn't been done yet in this thread.
sovande··on The Google/Oracle decision was bad for copyright and bad for software
Not being able to protect an API as a whole is bad. What is an API if not a blue-print and a structural representation of the underlying Software. Wasn't it Fred Brooks who said something like, "show me your data structures and I can tell you what your program does, show me your code and I cannot".

Reimplementing an API is like recreating Mona Lisa by painting by numbers. It requires much less effort as the creative thinking and ideas are already laid out for you.

The ruling in this lawsuit is also worrisome for those that create open-source software and rely on the GPL to protect their code and keep it open.

sovande··on iTerm2 v3.0 Released
Yeah, so that update didn't go well,

01/06/16 20:18:56,610 com.apple.xpc.launchd[1]: (com.googlecode.iterm2.61472[2542]) Could not find and/or execute program specified by service: 2: No such file or directory: /Applications/iTerm.app/Contents/MacOS/iTerm 01/06/16 20:18:56,610 Dock[262]: spawn_via_launchd() failed, errno=111 label=com.googlecode.iterm2.61472 path=/Applications/iTerm.app/Contents/MacOS/iTerm flags=1 : LaunchApplicationClient.cp #1136 LaunchApplicationViaLaunchDJobLabel() q=com.apple.root.user-initiated-qos 01/06/16 20:18:56,610 Dock[262]: spawn_via_launchd() failed, errno=111 label=com.googlecode.iterm2.61472 path=/Applications/iTerm.app/Contents/MacOS/iTerm flags=1 01/06/16 20:18:56,610 com.apple.xpc.launchd[1]: (com.googlecode.iterm2.61472[2542]) Service setup event to handle failure and will not launch until it fires.

sovande··on SQLite: The art of keeping it simple
> Zero-configuration ... also eliminates tuning.

Not quite, SQLite can be tuned using pragma's, https://www.sqlite.org/pragma.html which covers most of your tuning needs.

sovande··on Nanomsg postmortem and other stories
> If you have enough users to have "too many issues to handle," then you're big enough that you need an official governance and contribution structure

I'm sure e.g. Ruby on Rails and Bootstrap would like some pointers on how to setup "an official governance and contribution structure" to handle their the long issue and PR lists.

> Why refuse to let other people help?

Very few if any wants to use their free time to work through an issue list like that. Someone might do it once and write a blog post about it, but unless someone does it all the time it does not help much.

Open source might be perceived as a free commodity, but like a public toilet, no one likes to cleanup and especially for free. Likewise, help in the form of P.R.s doesn't much help either unless it is aligned with the overall vision of the project. It more often than not isn't.

sovande··on Nanomsg postmortem and other stories
99.99% of open source project does not and cannot match these expectations and it is so out of touch with reality just to assume so. Most successful open source project (apart from the well known 0.1%) are run by 1-2 maintainers and contribution from the so called community amounts to a few percent of the total work at best - look at the contributors graph of popular github project.

Unless projects are able to bootstrap themselves into a business (wordpress) or are eventually supported by a commercial entity (llvm) they will be fireflies that shines for a short while until the creator/maintainer does a reality check and realise how much time and work he has put into this with nothing much in return eacept a mile long issue list on github, lots of unfriendly noise and arguments from the community and insane expectations from users like yourself.

sovande··on Flux is the new WndProc
The big dispatcher switch in Flux is eerily reminiscent of how we used to program AWT widgets back in Java 1.0 days. This architecture was improved greatly in Java 1.1 with a delegation model. If the history is to repeat itself, as the OP so eloquent argues for, then, if you want to see where flux will be going in the next couple of years, start using knockout.js now and for once stay ahead of the curve.
sovande··on How Norway Created Salmon Sushi
That's why this was such an interesting story, battling prejudice and ancient folk wisdom is no simple task. Here's a typical Norwegian salmon farm http://i0.wp.com/blogg.seafood.no/wp-content/uploads/2013/02.... This is a sea-water farm and the fish is vaccinated early on and live a healthy antibiotics free life until they end up on your sushi (sour-tasting rice).
sovande··on How Norway Created Salmon Sushi
One more reason to eat salmon sushi, salmon is farmed and will not go extinct.
sovande··on Just doesn’t feel good
I know and the money is not the issue, it is the wasted time and trust. It is like getting a new iPhone with a broken glass. So, for one guy to feel good, 100K others (customers) now feel bad. And you know as well as me that only a small percentage will do the refund thing. So, yeah there is both harm and foul here.
sovande··on Just doesn’t feel good
> Fair enough

Not really, because now all those who bought "Peace" in good faith feel bad. We trusted this guy to deliver a good product and then it disappears under us. Grrrrr..

sovande··on Candy Japan hit with credit card fraud
Fastspring has a fraud protection system in place. Strip has not and does not prioritise it according to this quora comment by one of its co-founder. https://www.quora.com/How-will-Stripe-overcome-the-huge-loss...

Fraudulent chargebacks is bad, both economical and psychological. As an online seller it is part of life, but you want to keep it to a minimum, say < 1% of all transactions. I wholeheartedly support the sentiment of the OP, do not use Stripe nor do this in-house. Instead, use a payment provider with a proven fraud protection system, such as PayPal.

sovande··on Dry erase board lined with IR sensors to record pen strokes [video]
Ouch, I know that when you see someone has already created a product that you are working on you should take it as a validation of your idea and not become discouraged. However, seeing this I can't help feeling bad for the OP. The OP has a prototype, while this (seems) like a fully fledged and very slick product with all bases covered and it is even cheap.
sovande··on Show HN: Progressbar - A C library for displaying command-line progress bars
On virtual memory systems, it is a safe bet that malloc will "never" fail to return a value. It is just good form to check the return value of system calls. If you program for embedded systems (e.g. Arduino) and bring over the bad habit of never checking malloc, you are going to be in for a surprise. I'm not sure, but I believe on iOS, malloc could fail on the device.
sovande··on Why the Facebook iOS Application is so large
This so called "investigation" of the Facebook app can be done much simpler. Locate the app in iTunes, rename the .ipa file to .zip, unzip and run otool and nm on the binary. The author list 18,000 header files which is not much of an investigation nor much interesting. Though the staggering number of classes does admittingly somewhat explain the enormous size of the FB app. I do not use the FB app, but generally it can be equally illuminating to look in the Resources/ folder of an app if you wonder where the size came from.
sovande··on The Disappearance of the World’s Greatest Free Diver
The concentration technique (attention deconcentration) mentioned in the article sounds very interesting. Anyone know more or have tried it? Edit: Could be a useful technique when free-diving into a code base. Apropos diving, another concept that comes from the diving world which I have found useful in Software Development is "incident pit" which can be useful as a perspective to post mortem failed projects and conversely for a PM to know about the danger signs.
sovande··on Exercise 20: Zed's Awesome Debug Macros
Awesome would be something outside the box or rather, outside the function scope. Of course, using longjmp is not much more novel today than using this approach which is tried and ugly. I find that a mix of classic return tests and longjmp in exceptional cases makes for the easiest error handling in C. David Hanson, among many others, has a much better set of awesome macros for exactly this; https://github.com/drh/cii/blob/master/include/except.h
sovande··on Rust 1.0: Scheduling the trains
> compete in an area where garbage collection has its greatest competitive advantages (namely, long running server processes)

I thought it was the opposite that was true. A garbage collector can/will leak memory over time (days) and will use up to 6-8 times more memory and can have performance problems etc. All long running server processes I know of (database, mail, http servers) manage their own memory. Exceptions are VM based systems and it is not unheard of to have a trivial Tomcat app use up to 1GB of memory.

sovande··on Parsing: The Solved Problem That Isn't (2011)
So do you have an example of a PEG parser that uses these so called memorisation optimisation techniques then?
← PreviousPage 3 of 8Next →