arghbleargh | 10 years ago | on: Tower purifies a million cubic feet of air per hour
arghbleargh's comments
arghbleargh | 10 years ago | on: Irving, TX ninth grader arrested after taking homemade clock to school
Wait... run for president?
arghbleargh | 10 years ago | on: The first dead Unicorn will be Evernote
arghbleargh | 10 years ago | on: Chrome will begin pausing many Flash ads by default on September 1
arghbleargh | 10 years ago | on: Recovering from the wrong abstraction (2014)
arghbleargh | 11 years ago | on: Exponential Backoff and Jitter
I don't think that statement from the article is true if I understood correctly... the performance gains are precisely because you're reducing from N^2 to N log N.
An interesting theoretical question would be to identify the optimal backoff policy. I think FullJitter should be close to optimal, but maybe you can squeeze out a little more with something more sophisticated.
Edit: I just realized the DecorrelatedJitter (not sure why it's called that?) makes a lot of sense as a minor optimization because if you already waited a long time and still failed, that suggests there is a lot of contention, and you should wait even longer.
arghbleargh | 11 years ago | on: What Happened with Lego: The price of a brick
arghbleargh | 11 years ago | on: Impossible Escape?
arghbleargh | 11 years ago | on: The Tough Decision to Leave the Classroom
However, because so much weight is put on testing, that is essentially what happens in school a lot of the time. For some reason, it seems more obviously absurd in the software context.
arghbleargh | 11 years ago | on: Ask HN: What options are there for executing untrusted code in Node.js?
arghbleargh | 11 years ago | on: A live streaming platform dedicated to code
arghbleargh | 11 years ago | on: Ask HN: How do you go from being an average developer to a great one?
1) Try to get the implementation 100% correct on the first try. I don't mean that you should implement the whole system in one go, but the part you implement should do exactly what you want it to do (i.e. no typos, mixed up variable names, etc.). At first I thought this was a bit harsh, but it was amazing how much debugging you can avoid with a little more focus in the beginning. Also, it forces you to adopt good coding practices and make sure your algorithms are fully specified.
2) Don't tolerate tedious work. If there's any part of your workflow that's tedious, spend a lot of effort trying to minimize it. Some examples of things you might do: write a script, refactor your code, use a better editor, use a different programming language. You won't learn much from changing 100 variable names to camel-case, other than how painful it is. You will learn something from writing a tool to help you do that.
3) Think about how various libraries and frameworks you use are implemented, especially if they have features that seem like "magic". Try to reverse-engineer their design, or take a look at their source code (if available). This is a natural way to gain exposure to new ideas.
Regarding more "theoretical" subjects like algorithms and data structures that you might need to know for interviews, you could practice on programming contest websites (e.g. www.codeforces.com) or read some textbooks. However, in my opinion, those are not nearly as important for a software developer as the three things mentioned above.
arghbleargh | 11 years ago | on: Lessons I learned from the failure of my first startup, Dinnr
If you don't have a reasonably strong belief that your idea is going to work, why bother testing it at all? At the least, you should probably try it on a tiny scale first (i.e. on yourself or a few friends) before taking investments, hiring employees, etc.
arghbleargh | 11 years ago | on: Which pricing model is more effective: GitHub's or Bitbucket's?
The interesting thing about Github vs. Bitbucket is that both usage patterns can make sense depending on the project and user. For individuals, you might have a lot of repositories for small projects that end up abandoned after a while. For teams, it might make more sense to have a flexible headcount.
arghbleargh | 11 years ago | on: Show HN: Sweetlyclean.com – Need Advice on SEO and Feedback on Iteration 2
1) There's a lot of miscellaneous info on the front page, but none of the things that I really care about. The basic info I want to know: price, what areas you serve, and what times you're available. It would also be helpful if you had this information all in one place so I don't have to keep scrolling around or clicking links.
2) It's hard to pin down exactly why, but the visual design of the landing page seems rather inconsistent. The various graphic elements seem like they've been designed individually without regard to the look and feel of the site as a whole. A more specific issue is the "Book Now" bar in the first screen. I have no idea what the input field to the left of it is for, and when I type into it, the text is really faint. Also, because of point (1), I am far from ready to "Book Now" as the first action upon visiting your site.
P.S. On this page https://sweetlyclean.com/booknow/ there's a typo where "Your" should be "You're".
arghbleargh | 11 years ago | on: Do Students Really Have Different Learning Styles?
I would be tempted to say that the people who don't understand should just be more willing to think spatially instead of being stuck in their other modes. However, then I imagine how it must feel for someone with perfect pitch to try to explain to me how to recognize pitches. I can't do it just by "trying" harder; I don't even understand what it is I'm supposed to be doing.
This is not to say that e.g. people who are not good at spatial thinking shouldn't still try to get better at it. But it does lead me to think that to some extent these learning styles really are, if not genetic, at least deeply embedded in our personalities and early childhood development.
arghbleargh | 11 years ago | on: Ask HN: Learning New Programming Languages
arghbleargh | 11 years ago | on: Show HN: PojoViz – Visualize the structure of any JavaScript library, framework
I think it would be really useful to have a tool that visualizes execution paths of programs to help you understand the general architecture of someone else's project. I believe debugging tools are able to do this to some extent, but I haven't seen anything that exactly fits, especially for JS. I would want to be able to do some interaction (e.g. mouse click) and see a visualization summarizing all the lines of code that were run without stepping through them one-by-one. Maybe this is a direction that PojoViz could go in eventually.
arghbleargh | 11 years ago | on: Ten Thousand Years
arghbleargh | 11 years ago | on: Ask HN: How to split equity?
It's commonly asserted that ideas are worth next to nothing, the difficulty is all in the execution, etc. I don't think that's entirely true. If your idea is just a vague one-liner like "facebook for pets", then sure, it's not worth much. But as you start building out a prototype, you're forced to be more specific and refine the idea, and it becomes more valuable. If you've got a handful of users and you've gotten some feedback, that's yet a bit more value. And if you've thought about the problem for a long time, you will probably have a good sense of what are the main challenges and what approaches won't work. That's valuable too.
I don't think there is a well-defined line between refining your idea and "executing" on it. Obviously there is a limit to how much you can accomplish in the planning and prototyping stage. However, I suspect it is a lot higher than is commonly believed. Working for 3 months may sound like not very much on the scale of a startup's lifetime (let's say 2-5 years before it either fails or grows big), but consider this: maybe the OP did 4 or 5 failed 3-month projects before he or she got to this one, which seems somewhat promising. Suddenly that looks a lot more significant than 3 months.
For this specific case, we don't have enough details to assess whether the OP has really hit on something big, or if there is still a lot of uncertainty about whether the idea will pan out. So unfortunately, after all that discussion, I don't really have an answer to the original question. I think what I would do in your situation is to make my best guess as to the "fair split" based on what I've contributed and the expected future value (let's say I decide it's 70/30), offer the friend that split, and if he/she accepts, I would immediately change it to 65/35. That way, they should be happy, but things are still close to fair from my perspective.