HNHacker News
TopNewBestAskShowJobs

amikazmi

49 karma · joined June 20, 2010

twitter: @amitkaz

email: amit.kaz@gmail.com

submissionscomments
amikazmi··on Setris – Tetris with Sand Physics
Super cool!

One thing that looks a bit off is that part of the physics engine runs in reverse -

When a piece touch the high part of a pile, the sand is going UP from the bottom of the valley to the top, instead of from the top DOWN to the bottom

When the process finishes the end result is the same, it's just a bit strange :)

Example in https://youtu.be/Hp4nV4EjLgM?t=133

amikazmi··on Jitsi Meet: An open source alternative to Zoom
When you write 500 simultaneous users, do you mean: 1. 500 users making multiple calls across our servers at the same time? 2. 500 users on a single call?
amikazmi··on Building all of our new mobile apps using React Native
I read it as "they didn't continue long enough to get to the benefits, as we did", i.e, they already reached the diamonds.
amikazmi··on Yarn's Future – v2 and beyond
1. If you dob't have tests covering code, sure type checks are better than nothing. but if you do, why do you also need type checks?

2. If the tests must be updated whenever the underlying implementation changes it might be testing too much- it's better to test behaviour, not implementation.

amikazmi··on Ask HN: What interesting thought did you read on HN but couldn't find later?
Forgot to mention that the youtube video I saw was in english..

the "What Game UX Can Teach Designers about Product Design" article is pretty great too! thank you for sharing!

amikazmi··on Ask HN: What interesting thought did you read on HN but couldn't find later?
Someone posted a youtube talk about Game Design that's applicable to general product design...

I remember it was really good, but couldn't find it anymore

amikazmi··on Ask HN: Which IDE are you using?
RubyMine (IntelliJ Idea for Ruby)
amikazmi··on Ask HN: Do you say "Sequel" or SQL?
For some reason I couldn't remember how to say Postgres and used "Pos-gststs-something" a few times, so I kept it afterwords :)
amikazmi··on Ask HN: Joking aside, does anyone actually use QR codes?
Using for paying bills, easier that way.
amikazmi··on Server-side view or client-side MVC?
The whole point of node.js/meteor is that you can share the code between client/server, so you dont have to duplicate anything, and have the access to the "real" model.
amikazmi··on Ask HN: how to ban aggressive web crawlers
If they use different IPs, and normal user request speed, the only way to differentiate is by irregular user usage patterns (too many pages for a session, going bfs instead of dfs etc)

But if they don't hit your server heavily, why do you care?

amikazmi··on Show HN: Lateral thinking riddles site
This is my pet project for lateral thinking riddles lovers-

You couldn't solve this kind of riddles on the net because you need to ask someone yes/no questions to figure out the story :(

So I built this site to have fun, and play with angular.js / real-time (faye)

amikazmi··on Ember.js or Angular.js?
You can pass the initial data as a json object directly with the server response.

I'm using Rails, and https://github.com/gazay/gon gem does it for you nicely.

amikazmi··on Ask HN: Why do so many people hate Ruby?
I think you can hate a language.. you can hate it because you hate yourself, for the things the language make you do.

Coming from a Java background, I used to bang my head on the desk everything I had to write a boilerplate code for anonymous functions/classes.. luckily, there was Intellij IDE to ease the pain.

amikazmi··on Ask HN: Why do so many people hate Ruby?
I understand you.. this Ruby code is unclear.

There is a lot of bad code out there, but you shouldn't judge Ruby by a random code snippet- Ruby is just the tool, and the developer is responsible to write clean code.

I don't know what the code is trying to do with all the nested mapping.. it seems like the first 2 lines break encapsulation of the Repo model, trying to gather all the commits. This is unrelated to Ruby, it's a "bad" OO design (might be wrong, I didn't read the rest of the code)

So lets ignore that, and just rewrite from line 3 and below:

    def fresh_commits(repo, n = 10)
      commits = repo.heads.map do |h|
        repo.commits(h.name, n).map { |c| Commit.new(c, h) }
      end

      commits.flatten.uniq_by(&:id).sort_by(&:committed_date).first(n)
    end

Do you agree that the last line is clean & readable, even if you don't know "exactly" what "&:function_name" does?
amikazmi··on Show HN: GetHacker - Paid, short term projects for developers
I was under the impressions that it cost 50$ to submit a project (the site fee), in addition to the payment for the developer.
amikazmi··on RethinkDB screencast - from queries to sharding under 15 minutes
Does it mean that until these changes are done, you wont declare RethinkDB to be production ready? (you mentioned at 2.0)

Can you guys add a "rough roadmap overview" page to the docs, so we could have a general idea what is the status?

I like the way the RubyMine does it:

http://confluence.jetbrains.net/display/RUBYDEV/Development+...

amikazmi··on Why Developers Don't Want to Work on Your Idea (2011)
I can value the skills of another developer. I can't value "well-connected" or "marketing/sales skills"

So if a developer comes to me with an idea, I can evaluate the partnership better- it is less risky then to go with a partner with complementary skills (not saying it's better to do it, it's just easier to figure out what you are getting into)

amikazmi··on RethinkDB screencast - from queries to sharding under 15 minutes
What is the state of Rethink db? Is it fit for production use?

In the website it stated as 1.3.2 (which imply production ready) but I think I saw some comments a month ago from you that it's not fit for production use yet.

What about secondary indexes?

Are the machines in the screencast are very weak? a simple query (get 2 rows of the dota table) running ~100ms is really slow- is it because you're using the web interface?

RethinkDB seems cool and I really want to try it in my next pet project :)

amikazmi··on Knowing coworkers' salaries in a salary negotiation?
What do you mean by "twice as much experience"? Does it makes you twice as productive? or just twice as much "time"?

If you are more productive, you can try to get more- but take into consideration:

1. You should have hard evidences that you are more productive- developers tend to think that they are better/have more experience then others at their level.

2. You should know your market value outside of the company and act according to that, not just your co-workers salary.

amikazmi··on We switched to Node.js: the good and the not so good
What was the reason you choose to rewrite for ease the maintenance in node?

Couldn't you rewrite for ease the maintenance in ruby?

amikazmi··on Ask HN: Require a sign-up or allow anonymous/guest users?
Also, people use many machines (desktop, laptop, tablets)
amikazmi··on Ask HN: Require a sign-up or allow anonymous/guest users?
Awesome, seems like it is working well for you.

How did you get feedback/nisights about users that started to use your product, but fall of the funnel before entering the email address from some reason?

amikazmi··on Ask HN: Require a sign-up or allow anonymous/guest users?
I feel exactly the same- let users use and require sing-up for saving data etc.

But for young applications, it is important to get in touch with the users, and try to engage them-

There are some start-ups dedicated only to automatically send users email after some conditions, and most of the service I use do it manually too (like sending you "we noticed that after you built your form you didn't publish it for a month, care to tell us why?")

If you don't know who your users are, how can you get the negative feedback?

Getting feedback only from the people who sign up is going to be skewed to the positive side, and you'll have a problem realying on analythics for guest users (because some "guest users" are can be the same user- from different machine, or after cookie clean)

amikazmi··on How our users exploited concurrency and how we fixed it
No need for a workaround, you have Optimistic Locking (via lock_version field)

It raises an exception in case you try to update stale data.

http://api.rubyonrails.org/classes/ActiveRecord/Locking/Opti...

amikazmi··on How My Start-Up Failed
You should call the article "How My Business Failed", because that what it was.

If I opened a restaurant, even if on a new set of dishes, no one will call it a start-up, and it can be a huge business.

PG: "A startup is a company designed to grow fast. Being newly founded does not in itself make a company a startup. Nor is it necessary for a startup to work on technology, or take venture funding, or have some sort of "exit." The only essential thing is growth. Everything else we associate with startups follows from growth."

amikazmi··on Review my startup idea: Reduce spam sent to company's contact e-mail
If all you want is a clickable link, you can set it with javascript- almost every "real" person runs javascript, and most of the spam bots don't.
amikazmi··on Just made a 100K offer for a domain. Am I crazy?
I know it's not the question, but if you need to ask HN what are you missing, your partners can't communicate that to you, and they think you are crazy..

You have bigger problems here.

amikazmi··on Post mortem of a failed HackerNews launch
Sounds like a good thing to me-

If it was better for your previous firm to pay more than to optimize, it's actually preferring developers time (which cost money, as you know) over servers cost.

This can be cost effective until some point. I don't think it could get to the level of "100k users on 250 servers", and if it does.

If the other side of the coin is that you waste dev time AND that your site is down for a few hours.. Is it really worth the "culture fear"?

amikazmi··on HAML vs ERB vs SLIM in terms of render speed
You can make the benchmark with Rails Metal, or with Rack. If you want to compare non-blocking IO, use with eventmachine.
Page 1 of 2Next →