Hacker Newsnew | past | comments | ask | show | jobs | submit | falkenb0t's commentslogin

Not exactly a primary source but according to this thread: https://forum.nasaspaceflight.com/index.php?topic=10617.0

"Toner is held to the paper in a laser printer by electrostatic attraction (opposite charges attract), not gravity. Along those same lines, in an inkjet printer ink droplets are fired at the paper, not just dropped, so once again I doubt gravity is an issue."


But before you even got to the point of printing, the paper in a regular laser or inkjet printer wouldn't even feed properly if upside down!

I'm also willing to bet that whether or not the droplets are "fired" at the paper or not, the inkjet cartridges aren't going to work in an inverted position: they might not even supply ink in that configuration.


I've personally flown a ton of American domestic flights and have never encountered someone who threw a tantrum over reclining seats. In fact, prior to this post, I didn't even realize it was something some people frowned at.

Anecdotal, of course, but then this entire thread is fairly anecdotal.


I had a very similar experience (though not quite as extreme) with a Comcast interview. The interviewer would ask me about my experience and either cut me off before I could answer or practically insult me when I would give an answer to the effect of "I don't have experience with this specific technology but I do have plenty with this equivalent tech." It left a bad taste in my mouth afterwards but honestly, like many others are already saying here, that guy did me a favor by letting me know right up front that I would not like working there.

I was fortunate in that it was only a 30 minute phone interview so I could just grit my teeth and wait it out but it is entirely reasonable to terminate an interview if you are not being given respect.


I found myself having to do some clustering a few months back and learned about mean-shift clustering [1]. I found it to be a nice clustering algorithm for when you don't know quantity of clusters ahead of time.

That said, its worth noting that there are algorithms out there for determining optimal number of clusters for k-means (though personally I found them to be costly and subject to overfitting) like using the silhouette coefficient or elbow method [2].

[1]: https://www.geeksforgeeks.org/ml-mean-shift-clustering/ [2]: https://towardsdatascience.com/k-means-clustering-how-it-wor...


Note also that specifically for one-dimensional data, there is a globally optimal solution to the k-means clustering problem. There is an R package that implements it using a C++ core implementation [1], and also a Python wrapper [2].

This implementation is also surprisingly fast, so you can use it to brute-force check many different numbers of clusters and check using silhouette distance. The advantage over traditional k-means is that you don't need to check multiple initializations for any given number of clusters, because the algorithm is deterministic and guaranteed to find the global optimum.

[1]: https://cran.r-project.org/package=Ckmeans.1d.dp

[2]: https://github.com/djdt/ckwrap


Is there a paper or a post which describes the solution?


I just want to mention that these algorithms were known way back and it is sad that the authors of CRAN package do not acknowledge it in their docs:

1. O(NK^2) dynamic programming from 1965 by James Bruce (https://dspace.mit.edu/bitstream/handle/1721.1/4396/RLE-TR-4...)

2. O(KNlogN) dynamic + divide&conquer algorighm from 1989 from Xiaolin Wu and John Rokne (http://doi.acm.org/10.1145/75427.75472)

3. O(NK) algorithm from 1991 by Xiaolin Wu (http://dx.doi.org/10.1016/0196-6774(91)90039-2)


Is there any implementation in Python / Julia / MATLAB?


Yes, the R package was written by the authors of the paper, and the CRAN info page references the paper.


A bigger problem with kmeans than figuring out the number of clusters is the fact that the model assumes multivariate gaussian spheres. That's a bad model for most non-toy data.


It is not necessarily the case.

For example, word2vec uses k-means clustering using cosine similarity measure [1]. It works very, very well. The caveat is not many optimization variations of k-means will work with that "distance".

[1] https://github.com/tmikolov/word2vec/blob/master/word2vec.c#...


My feeling is that if for a given problem "cluster center" is a meaningful concept then k-means is the right tool. The concept of "distance" can be adjusted as well. I think any metric will do. But if you want clusters without a "center of mass" then you are faced with a whole other problem and need other tools.


Not only limited to Gaussian Spheres but also being isotropic (Unless data is pre processed or distance is defined by Mahalanobis Distance).


Can you explain this please?


The model underlying k-means is that all the data is distributed into k hyperspheres. In the simple 2D case, that means drawing k circles around your data points in a X/Y plot such that the inter-group variance is minimized. This is bad because in the real world, data is typically grouped in an elliptical or irregular way.

There are some examples of this at https://stats.stackexchange.com/questions/133656/how-to-unde...


Thank you!


The elbow method exists in many fields. It essentially boils down to "hope that an obviously good choice exists"


Funnily enough, I had a classmate in my grad neural networks class that did exactly this. Results on his end seemed to be pretty similar to yours though I don't think he publicly hosted it anywhere

Regardless, this is an interesting application of NNs


Would they be interested in collaborating with me on this project? My email address is listed on my GitHub profile: https://github.com/indutny/

Thank you!


He very well might be interested. I'll shoot him a message and let you know if he is


It is essentially the same frequency of links that you'd see on any Wikipedia article. In a field where there is an enormous amount of jargon, it is probably a good thing that they clearly define as much as possible.


I agree. We have to deal with both the standard ML jargon, and lots of Dota terms in this article. How am I supposed to know what "Creep blocking" is?


It's blocking creeps, obviously!

Which, in turn, requires you to understand the concept of what a creep is, and how blocking them contributes to creep equilibrium (and what creep equilibrium is) and how the various states of equilibrium contribute to gameplay, and how/why/when you want to manipulate that (for example, you want to block creeps at some early points in the game so your opponent has to attack uphill, but between those particular points in time you want to push your creeps in deeper to ensure you have time to complete other objectives). :)

Obviously, you don't need to know anything above, but once you start diving into the depth of things OpenAI (and human players) deal with every game, it gets pretty insane that a bot can learn at such a high level so quickly.


Agreed. If the choice is between fewer hyperlinks with a higher bar of entry with jargon and a ton of hyperlinks that let a reader dig deeper where necessary, I'd choose the latter 100/100 times.


was there a title change? the link goes directly to the github page.


It used to say "HTML5 Game Engine Impact is now free and open source".


wow, that really does hurt to read.


No, you're not wrong. That said, I don't think this is a competition aimed at people with a beginner level knowledge of machine/deep learning. I don't believe there is currently any MOOC that is going to hold your hand from 0 to expert. Given the current state of the field, I believe the only surefire path towards this level of knowledge is either university education or a /lot/ of reading.


Anecdotal but mine have been pretty great. Of course there are songs that I'm not a fan of but for the most part its recommendations have been spot on.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: