skysight-inc/HackerNews huggingface dataset:
That 5% is based on a relatively small set of images that is expanding rapidly (4K or so per run), so I expect that error to get lower quickly. Also, these images are stitched and so are far from perfect, the colors are all over the map due to discoloration and so on. Then there are certain nasty aliasing effects where a part will look exactly like another part from the angles the camera can look at the part. This is fixable but will require (yet) another redesign of the optics.

Dropout is at .5 both for conv and connected layers.

All those things you mention have already been done and yet the error is as high as it is. But this does not surprise me at all, the difference is that the pre-trained models actually do very poorly on this dataset and so I'm having to train them up from scratch. That's getting there though, another week or two and I should be in the tens of thousands of images to train with and then life will get a lot easier.

Data augmentation works well and has been enabled right from the get-go.

I'll definitely do another write-up in a while about the software end of things, once it crystalizes to something a bit more stable, I'm still hacking on it daily.

I will post the training set at some point, first it needs to become large enough. But with the machine helping now that is getting there, rapidly.
Its a QA book discussion forum, you can ask questions and post notes on books you read.... currently I am building the community.
Here is one way to handle strncpy() that works in a lot of cases:

strncpy(newBuf, oldBuf, size);
newBuf[size-1] = 0;

That way you always end up with a null. It adds the null even when you don't need it, but that's more efficient than adding an 'if' statement.
Six figures as in at least $100,000? Start the ombudsman process on Monday? And set a timer for turning it over to a lawyer. They can send a nastygram that'll should get it the proper attention. This is larceny if it's willful. Don't wait.
This is hacker news, where allowing the theoretical, unavailable best to be the enemy of the available good is all part of the game :/
Engineer who pointed out traffic signals flaw fined for 'unlicensed engineering'
1. Banking industry has some legal requirements. More than Facebook does, for sure.

2. I If you want my purchase history, you can subpoena a bank for it. Whereas I wouldn't be surprised with "App Permissions" to allow to view 'previous purchases'. 90% of people wouldn't know/care.

3. I don't want, nor need every account under the sun hooked up to a SPOF. In this case, it's Fb. That also applies to Google as well.

4. "If you're not paying, you're the product." adage applies. If you want my banking details, you can bloody pay me for that.

5. And, you need not apply if you're: transgender, gay, member of Antifa, or other groups Facebook is discriminating against or has active people causing "reporting storms" to disconnect you from your account. Read about "God" page recently disabled over a "quit funding war and start finding social services" comment. That earned them a 30 day ban, most likely automated.
This was an apartment building with a locked, windowed outer door. If someone knocked on my front door I could use the peephole, but if someone rang the outside bell you had to step out into the hall, and then they could see you as well as you could see them.
Ayn Rand – Introducing Objectivism
Noted above; thanks!
Can you expand on how they are being used? I'd love to know.
More or less agree with your point, just wanted to point out that scaling reads horizontally usually means adding a distributed quality to your system, and not understanding how that impacts the system can have bad side effects
Project to create facial image dataset by scraping Tinder profiles
In theory, say you want to index one billion (10^9) web sites. Using modern hardware, you should be able to crawl, 10,000 web pages per second, which would take ca 30 hours, and if you save 1kb of text from each web site, that would be ca 1 TB of data. Doing a text search of 1TB of text would take some time though, maybe minutes. You could partition the data between servers though.
The words being, "impossible, unless?" when someone says doing _something_ is impossible.
> Is there some banking law that I'm unaware of that would cause them to take such drastic actions?

I'd say there are at least 3, don't even need to read the article.

If we really want to search all regulations. We should be about to find at dozens to justify the action, without too much issue.

I have learnt 3 things from my time on the other side:

1) When you dig deeper, for 90% of complaints, the actions were justified.

2) A percentage of these, ranging from little to quite sizeable depending on the issue, is assimilable to complete fraud.

3) There are tons of regulations in finance. From annoying rules per good/country to anti-money laundering, including plain theft and anti-terrorism supporting scheme.

4) Companies do what they do because of regulations, the regulations themselves are there because the world is a mess.
.13mg of plastic per day per _____? How many bacteria, or what weight or volume of bacteria?

.13mg of plastic per day per bacterium would be incredible; per kg of bacteria would be not so amazing.
given that the expertise to manufacture and program viruses has matured quite rapidly over the past decade, i think we may look at them not as an "enemy" but more of a tool, i.e. a cellular syringe to be manipulated at will. Why most ppl in that field call them "vectors" these days.
Computers accelerate information exchange, and so much of capitalism is based on the latter. This means huge rewards for those who aim at the popular taste...but the popular taste is very much the lowest common denominator of our cultural data sets. And while it's entirely right to aim at that, our accelerated capitalist system does not do so well with steadily financing things which aim above that. This might be because economic models pursue equilibria of supply and demand, but just as there is a lowest common denominator of both there is also a highest common factor of which economic models take no account, and therefore under-finance.
i don't know what else we could have expected. the internet that people have access to is no longer decentralized. we need more of this. more systems that cannot be controlled or censored by any one party. applications, devices, and services that obey the users, rather than the developers, vendors, or service providers. not only do we need these things, we need to find effective, decentralized ways of pushing their adoption.

i've done some work in this space, but it is a hard path. we need more people working and innovating in creating viral alternatives to the present system. not only in technology, but in business. we don't need an economic landscape composed of kingdoms and fiefs, we need economic democracies: cooperatives and other worker-focused businesses. we need stronger communities. more strong connections to each other.
Effective framework for assessing engineering talent / value?
I feel like we're missing a standard structure for assessing the value of engineers. After looking at the engineering ladders / compensation structures for companies like Khan Academy, Rent the Runway, and FogCreek, I arrived at this general assessment structure for engineering talent:

* Technical Expertise (clean and efficient code, language mastery, editor mastery, etc)

* Qualities (leadership ability, communication ability, maturity level, etc)

* Execution (planning ability, ability to get shit done, hitting goals)

* Scope* (area of impact, sub-component, component level, sub-system, system, business unit value)

Some companies also mentioned "experience" and "public artifacts" such as Github projects. However, I left those out because those only serve as signals for the traits we're looking for. When you look at someones experience, you're trying to get a sense of where they're at in terms of things like leadership ability or technical expertise.

Note: I put an asterisk around scope because it's not so much a skill as it is an area of responsibility. Skillfulness in other areas does lead to expansion in the scope of responsibility for an individual within an organization through promotions, but they're still quite distinct from one another since it's not inherently a skill. Nonetheless, it's a key metric because increasing scope does have a significant and direct effect on your value. You can have flying marks in all three areas of technical expertise, qualities, and execution but work on relatively small system compared to other members of the organization with very little business value.

What do you think of this structure? What do you / your company use?
Water is wet
I've never thought about using PayPal like this. It makes perfect sense though.

I never really worried about credit card fraud. It's so easy to dispute a charge.
But all the security risks and complications are still borne by someone, presumably the company doing the transaction.

Both users need to trust that company, so they don't gain anything by the use of bitcoin. They in fact lose money because of the extra transaction fee, and possibly more in conversion fees/inefficiencies.

Oh and there's privacy loss too from putting it on the blockchain.

The only 'benefit' is that there's a sticker saying "now with bitcoin!". No party involved gains anything.
I wouldn't want to live on Trantor, though
Particularly when I don't have any friends to be there with.
I don't agree. Any input string that violates the strcpy invariants (must be a valid null-terminated string with length <= destination buffer size) will also violate the strncpy invariants if you subsequently treat the destination buffer as a string.

Since treating the destination buffer as a string is very tempting to do given that it came from a function named "str*cpy()", you've basically added another "Gotcha" to strcpy() without gaining any safety. You're basically trading one form of undefined behavior that's explicit in strcpy for another form of undefined behavior when a developer mishandles the return value of strncpy.
> In my opinion the Haskell community is friendly and an endless source of new ideas and concepts to learn from.

This is also my experience! I received a very warm welcome when I first started with Haskell. You could ask all sorts of questions on #haskell and always receive great answers. The regulars were really happy when they were able to help you.

Also they were not dismissive at all in view of my background in dynamic programming languages. In fact, several members of the Haskell community were quite interested in Pugs, the experimental Perl 6 platform which we built in Haskell in those days, to the extent that they joined our effort and became committers. :-) There was quite a bit of cultural exchange happening.

The legendary #haskell troll attempt, recorded at https://gist.github.com/quchen/5280339, is worth reading.

Partly to pay back the kindness I received back then, and partly just because it's so much fun, I participate in free regional Haskell workshops. If you are located near Augsburg, Germany feel invited to attend! Details are at http://curry-club-augsburg.de/.
Yeah, kind of. The complexity of the current iteration is not wholly the fault of Docker, though I'm sure some of the utilities had to increase complexity to work well with Docker (k8s just barely got support for other container platforms). This was a story about an annoyance/bug/issue with Docker, but I have annoyances with other things too.

Some people did not know how to do any server management before kubernetes became a big deal, so they think kubernetes is the only way to do it. For the rest of us, I don't think there's a lot of value brought by this ecosystem.
In the image of the email you got from them it looks like they are telling you to create a new account. You can't do that and have them xfer over the money to the new account?
The code copies the origin string up to and including the null terminator, which must exist as strlen was used to obtain the size.
It copies the null from the input string. It maintains the string invariant without silently corrupting data.

Writing C code with well-defined semantics in the face of existing heap corruption is harder. The strn* functions don't do that either though.
No, that's illegal. A financial institution cannot represent customers' assets as its own. Those are not company assets, they're liabilities (because they're not owned, they're owed).
Did you miss the bit where he says the idea of travelling fast in a vacuum is fundamentally sound and workable?

Did you miss the bit where he never at all claimed it was 'impossible', only that it was bullshit that it would be doable within two orders of magnitude of the claimed price, with the claimed speed advantages, or with any acceptable amount of safety?

What a terrible misrepresentation of the video.
Yes, this is the reality we now face. A generation of Internet idealists is still quite slow to realize what is happening, though.
It doesn't copy the null terminator because it's using memcpy. It's only copying the string without the null byte.
I can't seem to get it to do much. It's a little less intuitive than I'd like. Would like to hit "play" when opening it and have it show me something.
That still has poor behavior if newBuf is much larger than oldBuf.
Is it? I expect there are many that think they can malloc a string and immediately pass it to a function to play with. I've seen it done, back when I was a TA.

And thinking that strncpy will enforce a null at the end actually seems nonsensical to me. Now. I agree that it may not have at some point in my life. But this is again arguing that it is not safer than strcpy. It most certainly is. Just not completely safe. Which again, is no surprise. Why not point out that it does no checking that you passed it pointers you are allowed to write into?

I mean, I get that mistakes can be made. I even agree it is not safe. However, to claim it is not safer is akin to the people that claim Java is not safer than C because example.
Good points. Pedantic aside: scale-free is a dangerous assumption for two reasons. First, there may be fairly large deviations from power law in real data, and any such deviation renders the problem intractable. Second, botnets can modify local and possibly global properties in adversarial ways, so as to hide in or make large areas that are not scale-free.
>A language with pointers also allows a function to alter its logical (not syntactical) argument values

What's the difference between a logical and syntactical argument?
Containers are just unifying the concepts of namespaces and cgroups in to environments -- I'm not sure that there's a better way to do that at the OS level, as I enjoy the primitives being separate and having the potential to remix them as my understanding of containerization evolves. (Okay, so there's a few other things mixed in like SELinux settings.)

I think there's interesting ideas of environments in other operating systems, but I'm not seeing how you'd make things better by flattening containers into the OS, per se.
I predicted this last year: https://twitter.com/kissgyorgy/status/783825879348744192
If you think that solution is simple, keep thinking about it.
Yik Yak shuts down and sells off engineers for $1M
> will now just have to move to my credit cards directly

One of the reasons I like paypal is that it provides a great amount of control over who I pay and when and how much. I can login and reasonably easy see all of my MRC subscriptions, and cancel them as appropriate. Technically possible with credit cards directly, but not as nice.

Best of both worlds right now is privacy.com for me, they generate credit card #s on the fly and provide that same level of vision and control into where the money is going with exactly 100% less bullshit and 100% less scumbag tactics.

If you're moving payments away from paypal (and you should) I would suggest considering moving them to privacy.com instead of directly.
I had a reading group going through this, top to bottom. The chance to stop and discuss things was a big win.
"A tool for previewing for responsive websites", nothing more, right?
Hey HN! I'm Fouad from engineering team at Segment.

We built `create-next-app` after we started playing around with Next.js a couple months ago and slowly found ourselves creating more & more micro-next websites. When optimizing React for SEO or fast page loads, you really need to render pages server-side and Next makes that incredibly easy.

We'd been using Create React App for a while for UIs on top of our backend services and thought why can't we just use Next the same way?

Here's how it works:

$ npm install -g create-next-app
$ create-next-app my-app

or

$ create-next-app --example with-socket.io my-app

(search through examples at https://open.segment.com/create-next-app#examples)

We have a few more ideas for how to improve (like combining examples!) and would love feedback on what y'all would like to see - let us know here: https://github.com/segmentio/create-next-app/issues
Go lacks the C++ reference operator.
You can't write:

func fn(m &map[int]int) {
m = make(map[int]int)
}
...
fn(m)

You have to write:

func fn(m *map[int]int) {
*m = make(map[int]int)
}
...
fn(&m)

It's very C. The caller is forced to use different syntax to pass something as a pointer/reference. In C++ and Rust, you can't see from the call whether you're passing a pointer or a reference.
The value of Bitcoin is based on the collective faith of the network. With a 0day that faith is destroyed and those cold storage Bitcoins hit $0 just like any fiat currency.
https://www.reddit.com/r/livehdfreetv/
Perhaps subject them to a near vacuum state? Pressure differential of trapped air in pieces might pop them apart.
Crick was a professional scientist i.e., that's how he earned his living.
The-next-generation-of-jobs-wont-be-made-up-of-professions
I think you are missing the +1 behind the call to strlen. strlen reports the number of chars before the zero-byte, adding one includes it.
For our freemium service , Product hunt gave the biggest boost in free users. Real paying users we get with Google Adwords

https://www.formlets.com
Minor can absolutely sign contracts.

However, it's likely that minors are not allowed to have "adult" bank accounts like PayPal.

If so, registering is committing fraud and paypal is forced to shut down the account.

Typical case of a children going against the law and the laws fights back and the child doesn't like it.
My thought exactly.

It looked really nice, but I do not need that data bad enough to load a third-party kernel module. Or mess with my grub configuration.
Scraping Tinder selfies to make a dataset for AI experiments
I started this project when I was 16 and it is now 5 months into development. I'm interested to know what people think of the idea, and how I've decided to go about the project (see README for screenshots and details). Depending on the interest I receive, I hope to get it onto the app store soon. Thanks for taking a look.
Ah that's a good point! Usually when we ran this it was in the office, I just created an issue for it https://github.com/segmentio/create-next-app/issues/2
This had bothered me in the past despite growing up in a culture that demands it. Yet many things in language are far removed from their original intent, and we accept them (i.e. irregular verbs).

Personally I try to use less invasive openers, or at least take a moment to genuinely respond with how I feel at the time.
Select Format

Kindle – $65.39
Hardcover – $129.74
Paperback – $18.70

head spins
Sex with a robot and sex with a child aren't the same thing. See why it's a great conversation-starter?! :-)

But yeah, it wouldn't be my first question.
You could also use mechanical turk to label your dataset.
I'd suggest that containerisation as a principle is fine, but its not what most people want.

What people want is a mainframe where a lump of code is guaranteed to run the same everytime, regardless of the machine state, and if something goes wrong with the underlying layer is self heals(or automatically punts to a new machine, state intact).

What we have currently is a guarantee that the container will run, and once running will be terminated at an unknown time.

Mix in distributed systems(hard) atomic state handling (also hard) and scheduling(can be hard) its not all that fun to be productive for anything other than a basic website.
Square Cash is absolutely fantastic, and extraordinarily easy to use. The mobile app is great. You can even send money to someone who doesn't even have a Square Cash account yet, by simply emailing them, cc'ing cash@square.com, and putting the dollar amount in the Subject: line. That's it.

You can't beat it.
I'm not sure how "If you thought strncpy always returns a string, you were wrong" is an argument in favor of its safety. It is always possible to write correct code in C if you use every API correctly, but that doesn't mean every API is safe. "Safety" is a term that refers to the robustness of a particular language or API when humans, who occasionally make mistakes, and who have some particular mental model of what they want to do that doesn't line up perfectly with the language spec, write code.

And yes, I would absolutely argue that malloc is unsafe. Certainly it's "less safe" in the language of this thread than calloc, and certainly it's completely type-unsafe. But more than that, if you want a string, there should be a function that allocates and returns an empty but well-formed string in one action, and malloc should be the lower-level unsafe API that this function uses. The myriad alternatives to C strings that I mentioned in my comment all support this - bstring has bfromcstr(""), GLib has g_string_new(""), Rust has String::new(), Ruby has "", and so forth.
If your product is related to SEO, social media, ppc this can work really well.

We recently launched a side project in SEO vertical with couple other partners and did over $200k in sales revenue over a week through our affiliate channel.

If you are looking particularly where affiliates are promoting for products then check out voluum, link assistant etc.

If your product is more of a tech side and starts with less than $20-$30 then chances are less people are going to promote that.
Only it isn't.

strncpy will /terminate/ at the end of the string if it's shorter than the allocated buffer.

If, somehow, the source string is invalid it will then terminate at the specified cutoff point.

However one should argue that if it has overflowed bounds, that if the source isn't a valid string, you've already violated the contract of a secure environment and thus something has gone wrong and should be handled at a level higher than string copy preferences.

Use of strncpy, however, assumes that the source string /is/ valid, but might overflow the target buffer. In /that/ case truncation may be desired and if not the program flow reacting accordingly is probably desired. (This is C, you don't /throw/ errors, you write explicit paths.)
I guess so. I would say in any case that it might come handy
cool no worries, thx!
Hah, that's beautiful!
There isn't a hypothetical set of statistics you can imagine that would change my moral stance on gun rights and self defense one way or the other.
Btw, EQ Bank and ATB Financial offer a few (5-10) Interac transactions for free per month.

http://www.playpay.ca/blog/comments.cfm?id=3&blogid=7
Had the same experience, except when I opened the new account, they would not verify my bank account, because it was still used on the old one. That was the point where I have had enough and stopped using them.
The problem is that every third sentence out of the president's mouth is so disconnected from reality that it boggles the mind. If Obama, Bush, or Clinton had said even a few of the things that Trump has it would have made headlines for weeks. Every last drop of it is newsworthy, but in all it's become a flood.
Show HN: DarkLight - Any Webpage in Night Mode
good feedback I will work on that. shift up and down to move around, space to play/pause.