skysight-inc/HackerNews huggingface dataset:
UFC Banned My App
After a lot of trials and errors, the MMA Spartan System app was released in 2014, it was first of its kind back then.

“Simple exercises combined into workouts to boost your cardio” that’s how I could explain the app in one sentence.

It looked very mean, which was the purpose to combine MMA with Spartans.

But we did a mistake, we added UFC in the title of the app “MMA Spartan System — Workouts, UFC, FIghting”.The app grew into a few months to more than 1 million installations and we got an email from Google that our app was banned :D

I didn’t see that coming, I as a teenager who had 16/17 years of age didn’t know that you could not use other brands since they are trademarked.

But my business partner back then and I decided to publish a new app with new design and to get back where we were, but this time we were smarter and didn’t use other brands to describe ours.

How did we get back up?
Okay, we released the new old app with some features and a few more new workouts but what now? Our installations were low and we had around 100 daily new users, with that tempo we would not reach the old user base for ages.

Then we started exploring how to boost your app with ASO, apparently, those keywords when picked good and when organized how they should be will bring you installs.

Makes sense, since we used UFC and we got the installs I guess we just have to do the same thing now but with keywords we can use.

First, we added some nice screenshots to describe our app, they looked cool and professional. They left the feeling that you won’t have an easy time with MMA Spartan System.

We used Reddit to build backlinks, we heard that it would help with installs.

A few days passed after this makeover but nothing, same old 100 daily installs average…..But then I wake up one morning and I saw close to 1000 installs.

I can’t express how happy I was and after that day the app grew and grew.
The numbers being thrown around on this post are staggering. Not the bandwidth, storage or or the number of images —they're all pretty average for a small image host— but the casual tone that they're willing to throw money at services rather than engineering some quite simple problems.

Seriously, I know I'm not in their shoes but I know what they do, I know popular options in these areas and I know they are literally throwing cash away by not trying to in-house any of this.

The worst thing is they seem proud about their decisions; that their current situation has justified $100K/month expenses. I'm not the only person in here that thinks they could be delivering the same —even better— service on a fraction of their current budget, even after hiring. I think they should be ashamed.
Is it possible to order some to the EU? I'm having unfortunate combination of staph infection+ ciprofloxacin intolerance.
Oh, sorry. I forgot to mark it as public. Feel free to try again.
That's fantastic. I was after a similar solution and after playing with OpenCV, I can see how they put the pieces together.

Annoyingly, I was trying to scan multiple books in charity shops, when one of my favourites started putting their own stickers directly over the barcode (when it existed).
> "Thinking hard" is about trying to isolate the problem. RMS famously said that you should try to only debug the code that is broken rather than trying to debug the code that isn't broken (this is especially true in big systems). Where is the error happening? How are these things connected? Etc, etc. When you write very tight unit tests around the sections of the code, you have to do exactly the same thing (and I would argue that writing those tests is a good tool for "getting into" the code).

Except it doesn't help you find the code. With a debugger I can stick in some breakpoints where I think the code is going to get hit and then walk myself back from there on what is called and in what order. I work with some terrible systems where it isn't obvious how the code is even executed because "senior" developers have abused IoC / DI, Reflection and Delegates in such a way to obscure what it is actually doing.

As for writing Unit-tests around sections of code. In quite a few areas I have been barred from doing it (for political reasons) and other times you realistically can't because your test setup would be just too complicated.

> Single stepping is fine when you've got 100 lines of code, but when you have thousands or millions of lines of code, it's not going to work

Yes it does work. I did it on Friday. I stick a break point on the entry point (in this case an ASP.NET MVC controller) and F10 and F11 my way down through the stack. I learned more doing this for 30 minutes then I did the previous 2 hours of looking at how the project was structured.

This "think harder" is akin to telling a man to dig harder with a shovel when they have a JCB excavator sitting round the corner.
This is the obvious reality that people still have a hard time processing: "My opponents news is obviously biased, but my own is not"

There's a massive intersectional narrative at stake whereupon reality can be bent if need be in this case.

My original encounter with this story was the IOC's decision to allow Caster to compete: the NYT had a story supporting it, I thought it was enlightening. Until my bias radar went off and I did further research and found 'the most relevant facts' changed the story quite dramatically.

The NYT left out the fact she was intersex / hermaphrodite entirely!

So why would even the NYT leave out such critical information?

Google 'caster semeny new york times' for the latest headlines. Among them you'll find 'The Myth of Testosterone' - trying to convince us that we really don't have any advantage due to testosterone!

It's interesting but ultimately maligned, so one must wonder why they'd take up such a position that should undermine their credibility?

The issue is identity: reality seems to be less important than people's right to choose their own expression, which is a current 'rights' issue ... and so the truth gets utterly muddled.

It's one thing when it has no consequence, it's another thing altogether when power/rights are bestowed due to it.

We're tricked with language: 'women' to most has biological implications, though we recognized not always. But when headlines such as this appear (in Quartz):

"The demonization of Caster Semenya’s womanhood is part of a dark history in female athletics"

And this classic from Vox:

"I am a woman and I am fast: what Caster Semenya’s story says about gender and race in sports
The constant scrutiny into the runner’s medical history reveals what happens to women who don’t conform to stereotypes."

I think this headline really summarized the root of misinformation:

Caster is a woman by choice. She could have ostensibly chosen the male identity. She has utterly fundamental biological differences that are material in sport. Which in her life, is her business of course; but in sport, it becomes another issue.

So when they refer to her as 'female' and then reference the antagonism to her, it's a terrible straw-man.

Caster is not just a woman who 'doesn't conform to stereotypes'. Having male sex apparatus, XY chromosomes, and the testosterone of a male athlete which endows her with considerable and obvious advantage ... is not a 'stereotype'.

Effectively, a false parallel is drawn between trans people under scrutiny for 'non conforming identity' issues, into Caster's situation, where there are material differences to be addressed.

It's an information war unfortunately.
AFAICT this ruling basically only applies to XY women with high testosterone levels. XXY men (who would have low T levels) still compete against other men, and XXX women (with less than typical T levels even for women) compete with other women. There are many other variations though, but I do’t know any other than XY(f.) which would endanger gender separation in sports.

Note that trans women (m->f) get to compete with other women. That’s part of the unfairness here. A male athlete can surgically make their body female and be allowed to compete, but Caster Semenya who was born essentially the same way is blocked from competing.
Economies of omniscience: the impact of uploading the real world (digital twins)
you can run PowerDNS Recursor locally (or any DNS non stub resolver).

it's not that slower.
It is of my opinion that one approach to tackle this could be to impose structure, such as "this NN is responsible for this part". That way we could speed up overall training and build more complex NN architectures.

That said I think there is still a lot of research to be done, they are not perfect, but I think we are barking up the right tree.
The Mystery of Human Uniqueness (2013)
I didn't know about spaced repetition and Anki, and I'm going to try using it. Is there equivalent for children ?
100% agree. These optimizations in readability help a lot. Also, a failure to optimize code for readability makes reading code difficult. I once read some code where I immediately concluded that something was wrong because a function was being called from the wrong method. Turned out that it actually was in the right method but there was no vertical space between two methods giving the wrong impression of where that particular method call actually was. I feel quite alone with this opinion though. I see messy code all around me. One particular thing that everybody seems to agree on but that is pretty much objectively bad is the common way to line up lambdas. People do

some_object.some_method((p, q) =>
{
do_things()
})

while the right way of doing this clearly is

some_object.some_method(
(p, q) =>
{
do_things()
})

The 'broken lambda' that one tends to see everywhere is driving me nuts.

The principle is that code already should give the right impression of what is going on at the first glance. Another thing that is quite a spectacular failure in this regard is the google style guide. The indents of 2 tabs combined with braces that do not line up must have been optimized to be as unreadable as possible.
Nasa's Hubble Legacy Field image contains 16 years of data
I'm a heavy user of spaced repetition for language learning (I've been learning portuguese over the past two years and now I've switched to russian) and there's a lot of good advice in here.

What I don't get is using spaced repetition for all kinds of trivia and stack overflow answers like the author seems to do. I've never felt the need to do that and I don't get what it gets you. I read the linked article "How Anki Saved My Programming Career" and I still don't get it.

IMO learning stuff by heart makes sense for languages (natural languages have a significant amount of irregularities and you have to learn tenths of thousands of words to be fluent, plus the grammar on top of that). You need to be able to recall all of that stuff at a blink of an eye if you want to participate in a conversation. It also makes sense for other disciplines like medicine where you need to have encyclopedic knowledge about certain subjects without having to look up in a dozen different books.

But "Who is the teacher behind FastAI"? Is that really something worth memorizing by heart? Do you often end up in a situation like "oh my god the production server is broken and the only way to fix it is to figure out who's the teacher behind FastAI and I have no internet connection to look it up!"?

The other article has examples like "how do I get the subset of an array in JS". In my experience if I encounter this type of question it either means that I end up having to hack a JS program but it's a one-off I don't intend to actually learn the language (in which case I don't really need to bother to learn the language) or I'm actually learning the language but then I will probably encounter this situation enough times that I'll have it memorized soon enough. Programming languages are generally fairly regular and the amount of grammar and syntax to memorize is ridiculously tiny compared to human languages.

This also goes for learning things like "what is comonotonic?". Either you really encounter this word often in your work and you'll have learned it soon enough, or you see it once every other year and then is it really that big of a deal to have a quick google to refresh your memory if you've forgotten what it means?

Maybe it's just that I don't like trivia and I don't care if I can't remember some technical term while "talking to Ryan at Starbucks" to take an other example from TFA.
>My bet: Java lic not allowing you to use PostGres

I've no love for Oracle, but the amount of uninformed comments here is scary.
Klinefelter and Turner from vague memories of 25 years ago at school...
So XXY and XYY or something like that
I Tried to Train a RNN on Donald Trumps Tweets
I never got comfortable with debuggers for the work that I do. Thus I rely heavily on "print debugging". There are tools such as "icecream" [0] (in Python), that improve print-debugging ergonomics a lot. I wish every language had something like "icecream" built-in.

[0]: https://github.com/gruns/icecream
Fair point, I made the same observation in my usage of it. Though, I wasn't conscious enough of it to make that point, so thanks!

Here's my story about that observation (I think we should be a bit more open about this, and since I'm Dutch, at least my government won't pursue me for the following story).

At one point, I was taking a bit too much weed. And I was shocked, I smoked maybe once per week at best and it was more likely that I was smoking twice per month. This has been my peak in my life.

Yet, I still felt really messed up by it, what gives?

It turned out, that I didn't count all the nights of alcohol:

1. Every week 1 time with my GF's family. We would get very tipsy on average.

2. Every week 1 time with friends and/or GF. We would get tipsy on average.

3. Every week 3 to 4 random beers in between.

It also turns out that I didn't count the occassional psychedelic trip, once every 4 months.

It also turns out that I didn't factor in my occassional sleep deprivation.

It's kind of like calculus: a lot of a little bit is a whole surface, and this was a whole surface of misery and the worst offender was alcohol, closely followed by weed.

The issue was: cutting down on alcohol.

Cutting down on weed was easy, very very easy because I also found out when I might want to use it and those occassions happen rarely. Cutting down on occassional legal psychedelics (again, The Netherlands) was also easy. I'm slowly fixing my sleep issues as well.

Cutting down on alcohol was a lot tougher. I've managed to cut my consumption down by 50%. My other forms of drug consumption are cut down by 90%! It takes (and still takes) a lot of effort to just do 50% with alcohol. I have to say no, when people enjoy and smile and I just want it too. Fortunately, I quite like my sober self, and have to remind myself how being very tipsy feels (I find it quite unpleasant). So that helps, but I find it quite hard and that worries me. It would've been easy if we didn't have an alcoholic culture.
I'm imagining a number of use cases for something like this in the information security domain but don't know enough about graph theory to chew into this paper. Would it be possible to do something like k-means with this to identify patterns in existing graphs as well?
It isn't an individual feature that makes us stay with Heroku. It's all of them in a single platform with a unified interface that is very easy to use that makes it very attractive.
I am not very sensitive to all those issues, I find the JS/CSS/HTML web stack a bit antiquated (virtual DOM, LOL), but very usable.

But the build toolstack is a pure, unadulterated nightmare. I used to think Maven's XML orgies, archetypes and learning curve were bad, but diving into Webpack et al was a new dimension of horror. This time based on JSON, though.
Or we can apply weighting factors to calibrate everyone onto a single scale. You could even weight age, tested T levels, height, weight, etc...
I feel like debuggers usefulness is directly correlated to how specialized it is. A good debugger is all about giving you specific information on your problem. I find the classical step-by-step debuggers do an incredibly poor job at this. I never use them.

A tier up from that for me are higher-level debuggers, generally specific to some technology. For example, the browser dev tools, GTK Inspector, wireshark, RenderDoc etc. I'd also put tools like AddressSanitizer, Valgrind and Profilers into this category. Because they are more specialized, they can give you richer information and know what information actually matters to you. I usually find I use these regularly when developing.

The highest tier is tools specialized to your specific application. This could be a custom wireshark decoder, a mock server or client, DTrace/BPFTrace scripts and probes, metrics, or even an entirely custom toolbox. Interestingly, print statements end up in this same category for me, despite being the possibly simplest tool. Being specific to the problems you actually face allows you to focus on the very specific problems you have. This tier is interesting because these tend to become not just something you use when things go wrong, but become part of how you write or run your code.

Under this lens, I don't think it's that surprising people don't really use general step debuggers that much. They are a primitive tool that allows you to have many of the benefits of tier3 debuggers without any of the effort involved in making custom tools. They are the maximum reward/effort in terms of debugging.
The solution is to define the categories by the specific physical traits that are beneficial to the competition (sort of like the weight classes used in boxing). Gender is an indirect indicator. Instead of dividing in to [men, women, ...(other?)...], divide by e.g, size, weight, allele, etc.
I personally come from a culture where people bond on negative emotions and sinking their existential despair in vodka. People who are optimistic, upbeat like Americans or some Western Europeans are perceived with suspiction as shallow or brainwashed and most of all fake.

Can't say it is a better aproach to life
Crows and Ravens Free Photoshop Brushes
It may very expensive in time and resources to scan it all even if it is just the covers. You need to work out how long it takes to fetch a book from the barn or container, flatten/unbind if necessary, scan the cover, rebind, and put back. Then multiply by how many books...

I worked at a small startup in the early 2000s that somehow got massive contract to digitalise a Middle Eastern Oil & Gas company's very very extensive documentation library. We had an e-learning product where you could use a scanner to digitalise a printed book into online documentation.

Demos of scanning a book or two was really impressive. So surely scanning more than a million books/manuals/charts will be just as easy. Not quite.

Think we calculated it would take years as the bottleneck is the manual unbinding and re-binding before and after scanning. Scale that to a million and it was not the 2 months project initially forecasted. Buying more scanners and hiring more local staff scaled that part horizontally and improved the speed but still a long project.

However the client "forgot" to pay us for a few months, the bank and our accountants forgot to check and we went bankrupt soon before we really got started. Though at least I got a trip to the Middle East for a few weeks.
yes, opt-out warn user ahead of time of certificate expiration.
I share your sentiment. An encyclopedic knowledge of interview problems and related algorithms can be a boon for a career. It reflects how broken they are, IMHO, but there’s that.
They should rename it to "Do-Not-Track-Just-Inject-Ads-Based-On-Keywords" act
In Australia you're much more likely to be injured by a magpie than a cassowary.

https://www.aihw.gov.au/reports/injury/injuries-involving-ma...
The Relationship Between Profanity and Honesty (2017)
Well, life is "unfair" (see the just world fallacy). Of course we can try to find the most fair solution and then call that fair.

Fairness is not absolute, the intent, effort, consideration (of past effects, and possible and likely outcomes) matters.

Sometimes making a race more interesting is more important, than allowing someone to dominate it for decades. However, that sounds like a pretty serious difference in rules. But. But we should consider that we already have a lot of complex rules (doping rules are not completely fair either, because biology is complex), and similarly the problem of how to separate males and females for competitions is not new, and never was simple.
times series database software

times series databases would be actual datasets, I was looking forward to read about some very interesting time series datasets...
The challenge is, if the catalogued book is not immediately associated with where to find it if retrieving it later, all is in vain...
I have DoNotTrack set and my browser blocked several tracking scripts from their site.

As for the problem, it really comes down to making money: Data is sold to inform targeted adverts. An additional requirement is that the ad company needs to know how much to pay the ad host. Also remember that ad blockers came about mostly as a result of reducing web bloat and reducing the fight for the users attention.

Nobody in their right mind would agree to this without some sensible solution in place. Servers cost money to run and content is usually not free to create.
I would buy a raspberry PI and start with that, or an Arduino.

There is a Arduino simulator (I have not used it, others told me about it) on Tickercad.
Hmmmmm ....

Ok I had not seen it that way.
> Wow, this article does such a good job of concisely explaining these concepts ... Definitely going to be sharing with some of the juniors.

Not sure this is the type of article for juniors. I don't think it's really a handbook for writing more pleasing code. It's more a statement, that the way we structure and style our code is a design decision. Code's visual design is an area that many programming languages have experimented with mostly over trial and error, but it's not something that is well studied.

New programming languages come out all the time, and they often tout advantages such as speed or security, but they rarely try to justify design decisions based on visual design and readability. It seems like a ripe field to dive deeper into.
I saw a pair up close in a parking lot near some sight in the Daintree, north of Cairns. Knowing what they were I immediately retreated, but a lot of people crowded in taking photos... This pair just walked past the cars and back out the other side of the lot but it did seem like a bullet was dodged :D
Depending on the problem / project both of them could be right.

I also use intellij for big projects but I prefer emacs/vim for little scripting stuff or tiny programs.

IDEs help navigate and refactor big stuff while editors have less overhead and force you to use your brain a bit more.
I think “scan” here was in the sense of “scan the ISBN to catalogue the book”, not scan the insides. Since many of these are old books, many of them will not be perfect bindings. Scanning their contents therefore either requires opening the books and moving the pages (as Google Books did) or cutting the spine, which would be highly unhelpful since that would preclude any rebinding of the books into anything other than a perfect binding, reducing strength, repairability, and the ability to fold flat.
I am curious what limitations of our anatomy are out of the norm for other intelligent technological civilizations.
https://www.reuters.com/article/us-uber-lawsuit-idUSKBN1HJ31...
Can confirm. Have encountered more magpies than cassowaries and have been attacked by more magpies than cassowaries. Not much of a pain, but if you're on a bike on a busy road it's somewhat more threatening...