HNHacker News
TopNewBestAskShowJobs

mden

570 karma · joined August 28, 2013

email: mdenchev'-'gmail.com
submissionscomments
mden··on Ask HN: Who wants to be hired?
NYC, NY (looking to relocate); Full Time

Stack: C++, Python, JS, WebGL, OpenGL

Resume: http://denchev.io/resume.pdf

Contact: mdenchev gmail.com

I'm a general programmer who's started specializing in computer graphics. I'm a strong self-learner who likes working with a team to solve interesting and complicated problems.

I'm looking for graphics related work be it data visualization, real-time interactive, or other. Feel free to contact me at the email above.

mden··on An interactive explanation of quadtrees
Indeed :)

Curious, did you use any other information or was this a wild guess?

As a side note, if anyone wants to go into more depth, Samet's "Foundations of Multidimansional and Metric Data Structures" (http://www.amazon.com/Foundations-Multidimensional-Structure...) is an extensive survey of a lot of spatial data structures.

mden··on An interactive explanation of quadtrees
I love quad and octrees but it's good to note that there's quite a bit of literature on them and for a good reason.

I'm by no means an expert on them but here are some things worth knowing if you plan on using them:

1) The implementation shown is called a point region quadtree (pr quadtree) and subdivides the space equally for all divisions. This may seem like a neat approach until you consider what happens when there are two points very close to each other. Because you need each point to be in it's own node, you need to keep subdividing the region, which can result in a theoretically unbounded depth. There's a variant called compressed pr quadtree which handles this problem by removing all nodes that only have 1 non-empty child. This reduces the depth appropriately.

2) There is another strategy for dividing the space called point quadtrees (p quadtrees) which divides the regions at the point you are inserting. This gives an upper bound of the tree depth as the number of nodes inserted, which is still undesirable. To fix this, you have to choose the correct order for point insertion to obtain a well balanced tree with log_4(n) height.

3) The non-academic implementations I've seen do clever things like setting a maximal subdivision number and allowing multiple points within a leaf.

4) There are often alternatives to quadtrees that are simpler and usually effective enough such as subdividing the region into an mxn grid of equal proportion and using the grid squares as buckets for the elements that fall within them.

Spatial data-structures are kinda fun but can have gotchas.

mden··on Why You Shouldn't Say It's Easy When Teaching
I know where you are coming from... but I have started interpreting the word "trivial" (and I don't mean the math meaning of it, e.g. "empty set is a trivial solution") to be a canary of sorts. Once you encounter it and the statement that is supposed to be "trivial" isn't, that means you should backtrack and figure out what insight you are missing to make that statement trivial.

Of course, this kind of depends on the level of the author - some authors don't fully manage to put themselves in the shoes of the reader and take too much knowledge and experience for granted.

mden··on Ask HN: Idea Sunday
Yes, but as a wiki and with the additional edge information + breadth first listing as I mentioned. It doesn't have to be as finely split up as this one but maybe it should.

I have to say I'm really impressed by their progress since the last time I checked their knowledge map (~2 years ago).

mden··on Ask HN: Idea Sunday
Idea: Tree of knowledge

Ever been interested in a topic that once you google you end up with explanations(quite often on wikipedia) that rely on foundational knowledge you didn't even know you should have? And then you started working your way back by googling things you didn't know until you hit something you do know and from that point you try to inch your way forward to the original topic just to get discouraged a few hours in? I know I have and it's a pain!

A well built knowledge map that would graph the relationships between different topics in a field would help alleviate this problem. Take for example linear algebra. You've heard about this fancy thing called singular value decomposition but barely know what a matrix is. You type SVD into a search box, and it generates a breadth first tree with all the topics you need to know to be able to understand SVD up to a certain depth. And then you just work from the leafs that you do understand up to the topic you are interested. This saves hours or sometimes days of just trying to understand the ordering in which you should be learning things. It essentially builds a curriculum for the user on the fly for a topic they are interested.

I would propose this as a community wiki so knowledge maps could be crowdsourced and curated as they would be time consuming and difficult to build for a single person. Would also suggest adding the ability to let users create accounts and mark off topics they feel confident they know.

Potential problems: The two big problems with this idea are 1) generating a proper knowledge map: There will be ambiguities in the edges and even the nodes of a map. Sometimes (often) you will need to be clever how you organize the information. For example, your have a dependency listing like: Matrix <- Rotation Matrix, but in reality it might be better to have something like Matrix <- Linear Transform <- Rotation Matrix. Linear transforms would act as an intermediary node for rotation, scaling, shearing, w/e.

2) a topics can be studied in different frameworks: E.g. linear algebra can be studied with or without using vector spaces. Once again, deciding how to create the knowledge graph will be difficult.

Solution: Have multiple types of edges. You can have edges to signify hard dependencies, soft dependencies, generalizations, and extensions. Maybe other types of edges. You will still need to be clever, but having a way to signify the relationship between topics will help resolve the problem.

mden··on Screenshot Saturday
Awesome work! How do you plan to distribute it?

Also I love how the traffic light seems to have eyes. Pretty creepy.

mden··on Screenshot Saturday
I might be missing something, but is this legal? Where are you getting all the games from and why are you trying to remove in-game ads? There's a reason these games are free and while I think users should be allowed to bypass ads using ad-blockers, it seems bad-natured to do it en-masse for everyone.
mden··on You Don't Read Code, You Explore It
Good observation and I completely agree. On a slight tangent I've been spending time thinking if I had the ability to change the high school curriculum, how would I do it? So far the thought that has had the most appeal to me is to introduce "reverse engineering" as a core subject. I don't mean reverse engineering in the software or hardware sense, I mean it in the sense of a collection of logical techniques for figuring out the logic behind something phenomena or problems. In some sense "forward engineering" requires reverse engineering from the conceptual finish of a product to its current nonexistent state. Science is the reverse engineering of the laws of nature. But rather than have schools teach any of those skills, they teach encyclopedic knowledge. Knowledge is useful, but without the skills to analyse and use it, it's just wasted effort and brain space.
mden··on 2048 implemented in 487 bytes of C
Huh, was not aware of the "Implicit Int Rule" - http://stackoverflow.com/questions/11064292/declaring-variab....
mden··on How Turtl has no idea when you're sharing copyrighted stuff
Unless you are using it as an example of how your solution works differently. Which they are.

I don't see anywhere that they are claiming their business is for copyright infringement, in fact, it doesn't seem like it's for mass distribution at all unless you give out your key, and then you just defeat the point of the service.

mden··on The new TLDs are here, do you really need Yourname.BLARGH?
But then a lot of people wouldn't be able to afford owning a domain, which to me seems more evil than domain squatting. Artificially raising the prices hardly seems like a fair solution.
mden··on Introducing Michael Abrash, Oculus Chief Scientist
I think the perception here is not that FB will stop VR, but that they will ruin it. This is possible in a variety of ways including them making it into a walled garden similar to the iOS or blocking progress of competitors through patents or anti-competitive practices.

Personally what I want is something that once I buy is completely free from the company that I bought it from. I.e. an open system that I can control. I don't see such a product coming from a company like FB, but I could be wrong.

mden··on Lessons from a Silicon Valley job search
I imagine you were downvoted for being wrong about binary search (it does require O(1) indexing).
mden··on Recruitment Process for a Google Site Reliability Engineer
I've found that this website contains a lot of onsite-like coding questions and is generally really good for practicing problem solving (it's basically Project Euler but for programmers): oj.leetcode.com/problems/

Highly recommend it.

mden··on Recruitment Process for a Google Site Reliability Engineer
I imagine they (Google) doesn't consider this information private so here's the bulk of an email I got listing prep material and topics: http://pastebin.com/iXGzfkBL

Edit: To clarify, this is for SE, not SRE.

mden··on Portal 2 Beta for Linux officially released
It would be pretty weird if they did considering they have their own platform and bundles.
mden··on Bram Moolenaar responds to Neovim
Neovim isn't a simple refactor though. It adds the ability to do many things which aren't currently possible or are extremely difficult to do with the current vim. Sometimes there is no easy way out and you have to put in the work to fix previous limitations.
mden··on Ga.me – new 'online game console' now in open beta
You can't close all the annoying popup messages in the top left corner (like the finish making account). That's really annoying, especially while trying to play a game. The ones I could close didn't seem to expire on their own.
mden··on Silk Road 2 Hacked, All Bitcoins Stolen
I'm not sure I understand how that gives you personally more control. It seems to give more control to whoever wants to hurt you as he is the one purchasing the services. So with one body of force, I only need to worry about them coming after me, but with multiple bodies, I have less control as any one of them can come after me (even worse, without my knowledge of their existence in the first place). What am I missing?
mden··on Imgur is Covertly Redirecting Image Links on Facebook and Twitter
What I don't understand is what you gain by adding the ability to store images? Is the point to reduce the need to use imgur? Yes, imgur is adding the ability to add comments to images, but their functionality is a far cry from that of reddit. Let's assume they add for w/e crazy reason the ability to have nested comments and groups with admins and other similar things. Only at that point are they really encroaching on reddit's ground, except, they've just manage to make a rather limited imitation as it's only for images. And even then, how does it hurt reddit? Reddit is an aggregator of largely varied content. Imgur simply isn't and can't be.
mden··on Imgur is Covertly Redirecting Image Links on Facebook and Twitter
If the start location and end location for a user are reddit, why go through the trouble to capture some portion of the middle traffic as well? That's the beauty of an aggregator, you prosper through other people's content by providing additional value, not by competing with it. Also, I don't think there's an expectation from reddit users to be able to store images on reddit so you wouldn't be adding much perceived value in the first place.
mden··on Urs Hölzle on Google's first data center
The distinction here is that's for hardware cost only. I imagine salary costs are much higher.
mden··on The NSA Reportedly Has Total Access To The Apple iPhone
In cases like these you have to evaluate the probability of something bad happening times the magnitude of the harm (essentially the expected value). The NSA can do much more damage (excluding the fact that they can do similar damage even without having this information) than a random lowly criminal, however the likelihood they'll target a boring person such as me is much lower. So for me I'd be more worried about b. Of course, ideally I would rather not have to worry about either.
mden··on Computer Science Interview Questions with C++ Solutions
I have the opposite opinion. Writing comments for (in-person) interviews is silly and a sign of wasting time. Interviews in general are not designed to check your coding style, but your ability to solve problems, whether they be reasonable or not.

Your comment is a little bit along the lines of, "if you the candidate didn't use a versioning system, I wouldn't hire him". It's just not what is being tested.

Now, if it was a "here are some problems, solve them and get back to us" type of interview, then sure, I would agree with you.

mden··on The Neuroscientist Who Discovered He Was a Psychopath
Lose 10% of QoL or be murdered with probability of 0.00001%? Is there a probability point in which your answer changes?
mden··on Sudden Progress on Prime Number Problem Has Mathematicians Buzzing
I think this is a completely fair point. Things in mathematics are astoundingly interconnected and you never know whether a seemingly benign proof will turn out to be the key to unlocking something much more pivotal.
mden··on FTL: Advanced Edition
So should we call it a roguelikelike? It exhibits many features of a roguelike game including randomized maps/battles, permadeath, and essentially turn based combat. I think it's fair to say that the roguelike genre has evolved passed just being narrowly Rogue-like.
mden··on Is it ethical to read programming books on the clock?
There's a difference between documentation for w/e you are working on and documentation for this cool new framework you saw on HN that has little to do with your duties.
mden··on Google's Shell Style Guide
Sorry, I think I misunderstood the comment I replied to. I thought he was saying it would be hard to do diffs if people restylized each file to their liking.
← PreviousPage 6 of 7Next →