HN user

jo_

123 karma

[ my public key: https://keybase.io/josephcatrambone; my proof: https://keybase.io/josephcatrambone/sigs/ntLxYjGWF6b6g3ku6IpWzXGezBIGAjPXCysWX6VsZ0k ]

Posts0
Comments79
View on HN
No posts found.

Another voice in the fray, I also did well enough to bypass the technical screen. Interviewed with four companies they recommended. Picked one. Still with them two(-ish) years later and an outspoken advocate.

It's a tricky situation because you have to balance being accepting of people with non-traditional backgrounds while also making sure they can do the basics. I liked that TripleByte could condense DAYS of interviews into a few hours.

In general, long tech screens are hard on people that can't afford to take off a full day, so it's tricky for people already working in crushing jobs that need a change. The TripleByte quiz worked nicely for this.

On the flip side, if their tech screen is filtering people for reasons other than ability, it's removing possibly good candidates who deserve a shot at something.

The new approach is sounding like it's trying to satisfy the latter, which is good for improving inclusivity, but won't be to everyone's liking.

For what kind of tagging are you looking? Per-image labels? Single-tag-per-image? Image rectangles?

Most of the tagging programs I've encountered really aren't that awesome. For such a relatively common task (for ML, at least), there are few, if any, really good pieces of workflow software out there.

I'll forward you to the list of annotation software on Wikipedia because, as I recall, at least one of them supports machine-assist. https://en.m.wikipedia.org/wiki/List_of_manual_image_annotat...

When I'm back on my home machine I can check which one it is.

How many people do you have on your ml team so far? I'm doing ML research (NLP for determining writing quality and similarity, amusingly) for my company and it's getting a bit lonely.

Forgive my ignorance, but it seems like this is just attempting to take advantage of the optimization done by LLVM, yes?

What I would love is a simple way of writing standalone functions that compile into a cross-platform LLVM file that I can call from a variety of other languages on a variety of other systems. In particular, if I train a recurrent network on text data for a chat bot, I want to be able to use that LLVM file + model in a game I release for the PC and for Android without worrying about the NDK/gcc/clang/Windows/OSX build nightmare. The ability to easily and quickly define a model in TensorFlow, write a Python function that takes an array of data, and spits out an array of data would be incredible and would mean that all the work I'm doing for a native Rust library is unneeded.

Admittedly, with Bazel I could create a C++ wrapper for the function which loads the library. It's just... that produces a 150mb shared library with all the dependencies and it's also a pain in the ass.

I'm a current WebPass subscriber and I'm dreading the move to another ISP when I change apartments. May I inquire what it takes to set up and maintain the transmitter?

People buckle because they are victims of NEEDS. If I didn't have marketable skills, or if I existed in a market which was oversaturated with people as skilled as myself, sure, I could argue with my boss or exercise my powers, but that means risking a job loss. I'd be replaced by someone as capable, but with less inclination to argue. My 'wants' might include such things as, "being able to eat," and, "not sleeping on the street." Sure, it's possible to get overzealous with one's aspirations for physical goods, but I think that overlooks the authentic fear that many people have over being in a precarious financial situation.

This looks exceptionally helpful. I have around 50 tabs open, nominally, and my CPU fan is almost perpetually on high for it. Just before installing it, however, I found myself wondering, "Why am I using an app which allows me to keep more tabs open? Why am I not using bookmarks?"

Why do we keep open 500 tabs instead of using bookmarks these days?

From you description, you do sound kinda' like a bot. Disabled cookies. Disabled Javascript. Irregular searches. I understand the frustration with saying, "You have to have these features supported to use the product," but let's face it: providing an experience to people who deliberately disable huge chunks of browser functionality is a tremendous pain in the ass. I think I can understand both sides of the argument using different strawmen:

"Can I read this paper, please?"

"Yes, of course, just put on these reading glasses."

"Why do I have to put on the reading glasses?"

"Well the font is quite small. If you don't wear the glasses, you probably won't be able to make out anything on the page. Your experience will be seriously degraded."

"I don't want to wear the glasses. Why can't I just read the page?"

"Well, we can fit a lot more data and make the page more robust by printing the text smaller. Why don't you just wear the glasses?"

"I have concerns about the glasses. I'd rather strain my eyes."

"We're not going to make a special page for you when 99% of the people are totally okay with wearing the glasses or wear the glasses anyways."

They might not, but that doesn't mean we should make concessions to them. I agree that it's important to consider the practical aspects of a law's use, but we shouldn't avoid making laws because some groups will ignore them. In fact, in this case I think it adds even more incentive to drive down the work week time because then all the people working 40-hour weeks will be contributing over the minimum.

I'm not sure I follow. The same reasoning kinda' applies now: I can work more than 40 hours per week to look like a better applicant, but this becomes both counterproductive and untenable at a certain point. (There are a finite number of hours in a week.) Sure, there are times when you have to put in overtime, like when a big release is about to come out or there's a critical bug, but largely you should be able to finish your work in the allocated time. If this is consistently not the case, then you (the 'royal you') are either understaffed, ill managed, or incompetent. (Again, I don't mean to call you personally incompetent, I mean 'you' as a member of the workforce.)

I think with the insistence that 30 hours is full time we'll see fewer worthless meetings and less overhead, since time is now a scarce commodity. Think about it: that ten hours is a two-hour meeting every day. If I say, "I will work 60 hours a week every week," to my new employer, they'll look at each other with great incredulity. There isn't necessarily 60 hours of productive mental time each week. Given, I'm neither the smartest nor the most focused person in the world, but I think I could only do 20 hours of hard, focused mental work each week at my last job. The remaining 20 hours was mindless email, bug reports, writing documentation, or drawing XML diagrams which spelled profane words when zoomed out enough.

There will always be people who want or need to work more than the standard. That's okay. What reducing the work week means to me, though, is fewer people filling in their days with useless padding. If you're done after 30 hours, that's okay -- go home!

Nothing special. The authors have implemented a machine learning algorithm using a quantum instruction set. DWave has had open-source implementations of some machine learning algorithms for a while. This is not exactly an easy feat, but it's not particularly novel.

I'm not sure how familiar with programming you are, so I'm not sure how to key this summary. That said, let it be known that anything that can be done with a classical machine can be done with a quantum machine -- just not necessarily as fast. A quantum computer has one operation (lets call it emin) which, in parallel and in nearly constant time, selects the minimum value from an array of items AND the arguments which made it the minimum. So if I want to find the minimum of f(a,b,x) = a^2x^4 + b^2x^12, I can run emin(f) and it will return [a=0, b=0, x=0, value=0]. We _could_, in a classical system, for integer values, just try all values of a, b, and x. (There are other, simpler ways, but it's just an example.) The quantum instruction set means we don't have to try each instruction one after the next. We can try them all at the same time.

I'm guilty of abhorring UI changes. Very rarely do I see them as justified. I largely prefer incremental UI changes rather than grand overhauls. The latter seems to be a minimal increase in functionality and a maximal increase in glitz.

I think Reddit has been taking the incremental approach, especially when it comes to rolling functionality into the main engine from all the (now less useful) browser plugins.

That said, there's still a question that remains. Is the UI a mess? Maybe? Yes? I'm not sure. I'm so familiar with it at this point that I can't tell what's wrong with it. Most of the operations I care about are readily available. What, in particular, could use improvement?

I don't know if I'd be able to maintain my calm in those situations, but yes, even when someone is treating you like shit, we have an obligation as humans to be decent to other people. Not excellent, mind you, just basic human decency.

It's easy to be nice to people who are nice to you. It's hard to be nice to people who are shitty to you, and often times, it's the people who are worst to you that most need basic decency offered to them.

I just finished writing about distance hashing functions with a slightly different angle. I visualized the distances between a bunch of images using two different techniques, one of which was pHash (discussed in the parent article). Mine isn't quite as in-depth performance wise, but it makes for pretty pictures. Some of my work is here: http://www.josephcatrambone.com/?p=619

I'm going to upload the SHA distance tonight.

I certainly agree that startups over-promise in the beginning, but they need to be very explicit and very clear as far as human safety is concerned. I work (up until the end of the day today) for a medical startup. We speak highly of our own product, but we make it unambiguously, blatantly clear that our product is NOT an emergency feedback system. If we lie and say we're a system like that, people could get killed. In this case, the publishers lied critically about the source of the parts and the system that was running on top. While perhaps not as immediately and spectacularly fatal as a medical device malfunction, if journalists or revolutionaries are using the product and there's a backdoor, there will be lives lost. They were NOT clear that the hardware they were using was actually a Chinese manufactured product from a Chinese design company. When it comes to surveillance, the Chinese government doesn't have a great reputation. There's plenty of reason to believe the device may have a hardware backdoor, as has happened before. Second, the software installed on the device is itself highly insecure. The original Reddit post pointed out that the device had a web-exposed remote administration panel open with the default username and password.

The only thing worse than no security is the illusion of security. This product, as sold, provided just that -- a minimal but ultimately illusory security.

Short answer: Python and R for academic. Java or C++ for production. Julia has some followers, LUA has a Deep Learning Implementation. Python+CUDA+C++ is very common in deep learning.

---

Chiming in as a machine learning researcher. My experience is primarily focused on the 'deep learning' buzzword at the moment, so people still researching SVM/NN/clustering may have different experiences.

Academic machine learning is starting to shift towards Python. Most (all?) of the main deep learning packages have either Python as the core (like PyLearn2 + Theano) or a strong Python component (like Caffe or DeepLearn). There is some Java presence (like DeepLearning4j) and some C++ mixed in for the very high performance code. Usually people will write the glue code in Python and then do the heavy matrix-intensive operations using PyCuda or cuBLAS (which are, to oversimplify, Python wrappers of C++ calls to CUDA/OpenCL code).

Some of the bigger names in Deep Learning:

(C++ w/ Python & Matlab support) Caffe: https://github.com/BVLC/caffe Their talk has links to a lot of other implementations.

(Python) PyLearn2: https://github.com/lisa-lab/pylearn2 Another popular deep-learning project.

(Java) DeepLearning 4j: https://github.com/agibsonccc/java-deeplearning

(C++ + Python) Cuda-Convnet: https://code.google.com/p/cuda-convnet/ Has C++ for the learning portions and Python glue.

Nexus 6 12 years ago

Oh! Oooh! I see what you're saying. I thought you were asserting the mean _UNCORRECTED_ vision of an American Adult was 20/20. It's certainly much more plausible that the corrected vision is beyond 20/20.

I would recommend, for the sake of clarity, adding '20/20 corrected' or '20/20 rectified' to your original post. If I hear someone say, "I have 20/20 vision," my first thought is, "this person has perfect vision", not, "this person wears glasses."

I'll go back and add that clarification on my replies.

EDIT: It's too late to go back and edit my topmost comment. :(

Nexus 6 12 years ago

Thank you. I think I see where you're coming from.

That article has some interesting phrasing which I think is causing confusion. (For me at least.) It looks like they're using 'normal' to mean 'average in the range' some of the time and 'mean population visual acuity' other times. Mostly they're using the former. So 'normal vision' or 'average eyesight' refers to the range of 20/20 eyesight and not 'mean eyesight'. That doesn't explain that second sentence, though, which seems to go back to 'mean human visual acuity'.

At the very least, they could stand to revise the writing in that sentence. If they did mean to imply that the average person has 20/20 vision, I think they're going to have to provide a source. I did slightly more digging and I couldn't find any journal publications that list less than 60% of adults as having corrected vision. Either the remaining 40 have strongly superhuman vision or the number is off. I think there is at least one blind person (legally worse than 20/200) for every person with super human (20/10, the physical limit for humans) vision.

A simple numerical test based on that last point seems to illustrate the unlikeliness of a 20/20 average. To state again, 20/10 is the physical limit for human vision. Any higher and it's not physically possible to pack more photoreceptors into the retina or focus the pupil tighter. Bad (legally blind) vision is in the realm of 20/200. The National Federation for the Blind[1] shows there are roughly 6,700,000 blind Americans of all age groups. We will assume that they're exactly at the legal bound for blindness and not worse. To find how many superhumans we need to make the average 20/20, I think we can use (6700000200 + x10)/2 < 20 We need x to be less then -133999996. So it's simply impossible for the average vision to be 20/20.

It's still possible that number is correct and that the average American has 20/20, but at this point the majority of the scientific publications and formal surveys do not support the idea. If you can find additional sources (I'm so sorry to keep asking), please let me know.

[1]https://nfb.org/blindness-statistics

Nexus 6 12 years ago

Could I impose for a citation for this? A quick check indicates that in the industrialized world, between 50% and 70% of individuals require corrective lenses.[1][2] That seems to indicate that the _average_ human does NOT have 20/20. It's possible in developing countries less than half the population does not need vision correction, but I'm not terribly convinced.

[1] National Centre for Social Research and University College London. Department of Epidemiology and Public Health, Health Survey for England, 2001. 2nd Edition. Colchester, Essex: UK Data Archive, June 2004. SN: 4628.

[2] Global Eyeglasses Market (2005). Eyeglasses MCP-2532: A global strategic business report. Global Industry Analyst, April 2008.

How is this different from the heretofore prolific Word2Vec? I see they mention it but don't provide information about how it is distinct from their approach.

EDIT: My fault. I was only reading through the site instead of the paper. It looks like they utilize a similar approach to training (even making use of Word2Vec), but their approach involves using a smaller, specially chosen subset of the data to improve the robustness of the comparison between two word vectors.

There's also an issue of anonymity and trust. There are plenty of websites from which I'd like to make purchases (some of an unflattering disposition) that may continue to bill after cancellation requests (because they know nobody would take them to court for fear of having their names associated) or that I just don't want bound to my name.

How many times have you found yourself shying away from a site because you were worried about what they'd do with your credit card number? This isn't a perfect solution (especially with the limited pool of numbers), but it's nice.

There are enough factors to make this answer little more than speculation. Please take it with a grain of salt and not as evidence for a course of action.

In theory, the Javascript engine is significantly faster in Chromium than in Firefox[1]. I don't think your system is falling back to CPU rendering (you would notice), but the overhead associated with WebGL is probably higher in Firefox. Additionally, since Chrome runs each tab in its own process, there is perhaps less overhead when switching task context for GL rendering.

[1] According to the April 2013 numbers on http://arewefastyet.com, they're pretty much on par. I can't shake the idea that Google's V8 engine is faster, but I can't prove it, either.

Thank you for the reply. I understand much better now. An intuitive understanding of the price/demand/negotiation dynamics still eludes me, but this has helped a lot.

I've been digging through this thread and can't seem to find any information on the impact of 'free tuition' on tuition costs. In the US, we saw an increase in loan availability result in a significant uptick in the price of attendance to universities. If the government is paying the cost of tuition, how is the cost of tuition kept in check?

Disclaimer: I love the idea of free public education. I wish it would take hold in the US. My only concern is how Universities will react to being paid almost arbitrary amounts of money per-student.