HNHacker News
TopNewBestAskShowJobs

arnioxux

511 karma · joined May 18, 2017

submissionscomments
arnioxux··on Luna 1.0 Beta is out
Equivalent text and graph representation is the killer feature.

I previously looked at stuff like https://flowhub.io/ide/ which is a dataflow language spec and editor. Specifically the js version https://noflojs.org/example/ for compiling graphs into js for some canvas image pipeline work.

Each component has an underlying text representation that you can edit like you guys. But that representation isn't code. It's just the configuration of the node.

This isn't what I want! I want to architect the dataflow on a whiteboard, code it normally (a new language is okay), and then have it visualize the same dataflow for debugging (with help grouping/organizing if needed). Every programmer already does this in their head but without the visual aid.

(Focusing too much on the graphical representation is a mistake. There's only a handful of granularities that are worth whiteboard diagramming and people definitely don't want to code with a mouse dragging and zooming. But having the diagram at specific architectural level when you do need it is invaluable)

I haven't tried your product out yet so I don't know if you guys got it right, but at the very least you guys recognize the importance of "dual syntax representation" as a selling point!

arnioxux··on Dropbox Files Confidentially for U.S. IPO
I thought they switched to RSUs? Are you sure that new grad didn't get a mix of RSUs and options?
arnioxux··on DeepZip: Lossless Compression Using Recurrent Networks [pdf]
There was another submission recently that kind of does what you described. Click on the visualizations to see the iterations: https://dmitryulyanov.github.io/deep_image_prior. The ELI5 is that prior knowledge of what images look like can be used to reconstruct images w/o corruption.

For non-images, this idea is pretty old and sounds a lot like compression algorithms that share a pre-defined dictionary. For example: https://en.wikipedia.org/wiki/Brotli, "improved the compression ratio by using a pre-defined dictionary of frequently-used words and phrases." Of course words/phrases are a lot easier to predefine.

I wonder how large the predefined weights of the NN has to be to effectively compress real world images?

arnioxux··on Computer Vision by Andrew Ng – Lessons Learned
Anyone know if paying for the specialization is worth it? (Or for any other online mooc certificate in general?)
arnioxux··on Magic Leap One
They can do opaque it seems. Quote from the rolling stone article: https://www.rollingstone.com/glixel/features/lightwear-intro...

> Miller wanted to show me one other neat trick. He walked to the far end of the large room and asked me to launch Gimbal. The robot obediently appeared in the distance, floating next to Miller. Miller then walked into the same space as the robot and promptly disappeared. Well, mostly disappeared, I could still see his legs jutting out from the bottom of the robot.

> My first reaction was, “Of course that’s what happens.” But then I realized I was seeing a fictional thing created by Magic Leap technology completely obscure a real-world human being. My eyes were seeing two things existing in the same place and had decided that the creation, not the engineer, was the real thing and simply ignored Miller, at least that’s how Abovitz later explained it to me.

arnioxux··on Introduction to WebAssembly: why should we care?
People should look at existing emscripten projects to see what the future will be like since compiling to asm.js is already pretty mature (just a bit slow and bloated as noted in the article). Any emscripten project can compile to WASM trivially by adding a `-s WASM=1` compilation flag.

Example projects:

- OCR (tesseract): http://tesseract.projectnaptha.com/

- Computer vision (opencv): https://docs.opencv.org/master/d5/d10/tutorial_js_root.html

- Physics engines, retro games/emulators, entire operating systems, and many many more: https://github.com/kripken/emscripten/wiki/Porting-Examples-...

arnioxux··on Modes, Medians and Means: A Unifying Perspective
The Generalized mean[1] linked to in the blog comments was similarly insightful.

It unifies the inequalities:

max > root mean square > arithmetic mean > geometric mean > harmonic mean > min

that I remember from highschool math competitions.[2]

[1] http://en.wikipedia.org/wiki/Power_mean#Special_cases

[2] https://artofproblemsolving.com/wiki/index.php?title=Root-Me...

arnioxux··on Creating a Modern OCR Pipeline Using Computer Vision and Deep Learning
> Our Word Detector was also a significant bottleneck. We ended up essentially rewriting OpenCV’s C++ MSER implementation in a more modular way to avoid duplicating slow work when doing two passes (to be able to handle both black on white text as well as white on black text); to expose more to our Python layer (the underlying MSER tree hierarchy) for more efficient processing; and to make the code actually readable.

Was this ever contributed back to opencv?

arnioxux··on JavaScript bindings for OpenCV landed in 3.3.1
Noticed when I saw that the tutorial pages have live demos you can edit and run.

Seems to have landed in the last month:

Commit: https://github.com/opencv/opencv/pull/9466

Changelog: https://github.com/opencv/opencv/wiki/ChangeLog

arnioxux··on Alpha Go Zero: How and Why It Works
I think the bellman equation (which is used extensively in reinforcement learning) is also taught in stochastic calculus for finance (except in the continuous form?). https://en.wikipedia.org/wiki/Hamilton%E2%80%93Jacobi%E2%80%...

My memory is hazy so there might not be a real connection here.

arnioxux··on If America Lost Its Electricity: An Electromagnetic Shock
I have fond childhood memories of the 2003 blackout in NYC[1]. Few cars were driving around because traffic lights were off and intersections became all-way stops. It was around ~90 degrees so food was going to spoil very quickly unrefrigerated.

The surprising thing that happened next was that people started up impromptu block parties with people pitching in ice cream and all the meat they had in their fridges for BBQs in the streets!

Being city folks, you don't really trust your neighbors let alone talk to them. But I got to meet a lot of them that day and it turns out people aren't that scary and are very willing to help one another in times of need.

[1]: https://en.wikipedia.org/wiki/Northeast_blackout_of_2003

arnioxux··on Experimenting with WebAssembly and Computer Vision
Same with ucisysarch's demos. All opencv.js does is add JS bindings to compiled C++ code. They could've made it output webasm just by adding a "-s WASM=1" to the g++/em++ flags.
arnioxux··on Experimenting with WebAssembly and Computer Vision
I wonder why they didn't contribute directly to https://github.com/ucisysarch/opencvjs. It was suffering from a bit of code rot so a lot of the demos no longer work. But the ones that do are still pretty comprehensive in terms of opencv feature coverage (at least compared to the demo they built):

Canny w/ webcam: https://ucisysarch.github.io/opencvjs/examples/live/img_proc...

Colors, canny, blurs, contours, histogram, morphology: http://ucisysarch.github.io/opencvjs/examples/img_proc.html

Detect face/eyes: http://ucisysarch.github.io/opencvjs/examples/face_detect.ht...

And much more from: https://github.com/ucisysarch/opencvjs/tree/gh-pages/example....

arnioxux··on Nano ID: A tiny, secure URL-friendly unique string ID generator for JavaScript
This is a perfect example of what NOT to do. They reimplemented a seeded linear congruential generator for their random number generator:

https://github.com/dylang/shortid/blob/master/lib/random/ran...

But since LCGs are easy to solve, after seeing a few values you can solve for the seed and generate all past and future values.

But you don't even need to do anything fancy for that. Since their implementation of LCG only has a state size of 233280 different values, you can just brute force it. (also means that their rng could only ever generate 233280 different numbers to begin with)

Why the fuck do they have 2.5k stars!?

EDIT: They already have an open issue for it but project seems unmaintained: https://github.com/dylang/shortid/issues/70. Stay far far away.

arnioxux··on Harvard and the Making of the Unabomber (2000)
Newton, Nietzsche, Beethoven, Tesla, etc
arnioxux··on Backblaze's Hard Drive Stats for Q2 2017
I remember learning (years ago in university) that hard drive failures follow a bathtub curve: https://en.wikipedia.org/wiki/Bathtub_curve

In other words it either fails early or it will last for a while.

Can you plot the time to failure distribution for various models to confirm/deny this rule of thumb? I think it'll be a good addition to list of current charts you have since it's a bit more meaningful that overall failure rate.

arnioxux··on Developer accidentally deletes 3 months of work with Visual Studio Code
I predict one day we will look back and be horrified that there was ever a time where you can't just roll back an entire system to an arbitrary timestamp to undo accidental changes.

In some sense this is already achievable if you just always work inside a Dropbox folder (which keeps a 30 day history of any synced changes). But resources aren't yet cheap enough for all changes to be immutable.

arnioxux··on Neural Nets Can Learn Function Type Signatures from Binaries [pdf]
> recover things like most likely variable names

This is already being researched! See http://jsnice.org/ for recovering variable names from minified javascript.

I remember testing it by coding a binary search with single letter variable names. It managed to rename them to the more canonical "lo"/"mid"/"hi" names just by recognizing that the code pattern is typically used for a binary search.

arnioxux··on Why don't more women participate in programming contests?
A female IOI medalist offers some perspective on why it was harder for them even from an early age. (IOI is the high school age computing olympiad)

Posting this in response to an article (gone from the front page now) which accused Google Code Jam for being sexist since "Google Code Jam Finalists Are All Men For 14th Year In A Row". But you can't do well in these contest if you haven't already been doing well in them since early high school.

arnioxux··on OpenAI at the Dota 2 World Championships
I think "coaching" just means "curriculum learning" (which is basically as you've described).

But in the future coaching might indeed just be a human expert talking in natural language to teach it how to be better! https://www.youtube.com/watch?v=L_jGDV_5gPA&t=6

arnioxux··on Scala Vector operations aren't “Effectively Constant” time
Not my article and I don't know any theoretical physics.

In case that point happens to be false, I think his other argument still works:

- "data centers ... are spread out on the two-dimensional surface of the earth"

- if we tightly pack these data centers on the surface it will form a circle with area O(N) so distance to furthest data center is O(sqrt(N)). (sky scraper height is negligible)

Anyway, it's more of an interesting thought experiment than of any practical use. Nobody sane would estimate cost of generic "information retrieval" that mixes cost of ram/disk/network.

arnioxux··on DeepMind and Blizzard Open StarCraft II as an AI Research Environment
Are there any known arbitrary code injection for starcraft? Like how you can use a regular controller to reprogram super mario world to play pong?

https://www.reddit.com/r/programming/comments/1v5mqg/using_b...

https://bulbapedia.bulbagarden.net/wiki/Arbitrary_code_execu...

Is this how we are going to accidentally let AGI loose into the world!? /s

On a more realistic note I think this will degenerate into a game of who can fuzz test for the best game breaking glitch. Think of all the programming bugs that turned into game mechanics in BW that we haven't discovered for SC2 yet: http://www.codeofhonor.com/blog/the-starcraft-path-finding-h...

arnioxux··on Scala Vector operations aren't “Effectively Constant” time
There's an interesting argument based on physics on why memory access is O(sqrt(N)):

http://www.ilikebigbits.com/blog/2014/4/21/the-myth-of-ram-p...

Relevant quote:

> The amount of information that can fit within a sphere with radius r can be calculated using the Bekenstein bound, which says that the amount of information that can be contained by a sphere is directly proportional to the radius and mass: N ∝ r·m. So how massive can a sphere get? Well, what is the most dense thing in existence? A black hole! It turns out that the mass of a black hole is directly proportional to its radius: m ∝ r. This means that the amount of information that can fit inside a sphere of radius r is N ∝ r². And so we come to the conclusion that the amount of information contained in a sphere is bounded by the area of that sphere - not the volume!

> In short: if you try to squeeze too much L1 cache onto your CPU it will eventually collapse into a black hole, and that would make it awkward to get the results of the computation back to the user.

But honestly I find all of these arguments equally pedantic.

People often forget Big Oh is a tool just like any other tool. It's useful for estimating number of X, whether X is cpu instructions, cache miss, disk read or whatever. When it stops being a good estimate (whether it's because your real world N is too small for growth rate to dominate, or stuff you're counting are not unit-cost comparable, or you're not even counting the right things in the first place), just stop using it and count cycles on a benchmark instead.

arnioxux··on Big Companies and the Military Are Paying Novelists to Write Sci-Fi for Them
Neal Stephenson is working at Magic Leap (an augmented reality company) now. I think it actually makes a lot of sense. If a product manager's main job is to define product vision, this guy has a 25 year head start thinking about it!
arnioxux··on Google Fires Employee Behind Controversial Diversity Memo
> you can't tell your teammates that they were hired because their employer lowered the bar

It only hurts because it is plausible and causes self-doubt.

But Google can prove this conclusively just by plotting the distribution of performance reviews between "diversity hires" and the regular pool of employees. You either show that there are negligible differences (the diversity program works) or the guy is right (the average bar did get lowered).

Google will never publish this data because they are cowards.

arnioxux··on On managing outrage in Silicon Valley
Rather than looking at the math ability distribution as a proxy, why not look at coding competition ability? They are pretty objective since an autograder doesn't know your gender and they are predictive of whether you can pass a tech interview since it's the same format.

In that case, even at the IOI level (high school, so 14-18 year old kids) women are already severely underrepresented: https://www.quora.com/How-has-female-students-participation-...

You see the same thing at the college level too (for example topcoder where they isn't even any possibility for a sexist team selection bias since anyone can just register and compete).

In some sense, it makes it not tech industry's fault. It's a failure of our education/training pipeline where we are not training competitive women even from an early age.

arnioxux··on On managing outrage in Silicon Valley
"Science" is often thrown around to justify things it shouldn't.

Sociology hasn't had as much success as "hard" sciences so we should distinguish between the two. (for example with the controversy around major psychology experiments being unreplicable etc)

arnioxux··on Less Weird Quaternions Using Geometric Algebra
For people trying to understand quaternions, the faster way to intuition is understanding axis-angle first. I think axis-angle is totally intuitive. First pick a direction (some 3d unit vector) and then rotate around that direction by some amount (so some scalar). Then convert those four numbers to quaternions

  qx = ax * sin(angle/2)
  qy = ay * sin(angle/2)
  qz = az * sin(angle/2)
  qw = cos(angle/2)
where (ax, ay, az) is the unit direction (ax^2 + ay^ + az^2 = 1) and angle is the amount you want to rotate.

http://www.euclideanspace.com/maths/geometry/rotations/conve...

http://www.euclideanspace.com/maths/geometry/rotations/conve...

arnioxux··on Kids Pass Just Reminded Us How Hard Responsible Disclosure Is
To correct your analogy they are probably thinking more along the lines of:

"I just custom built a car but bought a knock-off car door that has a fake keyhole and no real locks"

"Hey! You've left your car unlocked! I got in with any key!"

"Why were you trying to get into my car?"

Of course the analogy breaks down even further when you consider that the "car" in this case contains stuff(sensitive user data) that doesn't belong to the car owner. Analogies are hard.

arnioxux··on Ask HN: What tech that's right around the corner are you most excited about?
Already happening! This came up a few days ago: Tensorflow implemented with webgl: https://news.ycombinator.com/item?id=14894653
← PreviousPage 2 of 3Next →