HackerTrans
TopNewTrendsCommentsPastAskShowJobs

moe

no profile record

comments

moe
·3년 전·discuss
Rest assured this is not subjective. It is objectively disgusting.
moe
·3년 전·discuss
Crystal performance is close to Go-lang. It's just very fast across the board.

Consequently, just like Go-lang, it beats Ruby by an order of magnitude on pretty much any benchmark.

Newcomers often assume Crystal must be sluggish like Ruby because "how could a language with such a convenient syntax be so fast", but it really is not.

https://www.techempower.com/benchmarks/
moe
·3년 전·discuss
That's one of the aspects in which Crystal shines.

It retains most of the flexibility and DSL capabilities, but the type- and nil-safety allow you to leverage them without nasty surprises at runtime.

Not having to guess what a method or block returns and instead having the compiler tell you when you get it wrong makes an enormous difference.
moe
·3년 전·discuss
Go is not a good comparison.

Crystal is expressive, 500 lines of Go commonly translate to 50 lines of Crystal. The DX in Crystal is really closer to Ruby than to Go. It's essentially a very fast and type-safe version of Ruby.
moe
·4년 전·discuss
The mic is pretty bad anyway.

And to add insult to injury, your listening audio quality also gets degraded whenever it's on... So it's a lose-lose for both sides every time you use it.

My main complaint is that OSX has no setting to completely disable it. I have to manually switch to the Macbook internal mic basically before every call.

I wish they would just sell a model without the crappy mic. I would even happily pay less for it.
moe
·4년 전·discuss
Friends don't let friends buy Salesforce (or Oracle) has been common sense in engineering circles for at least a decade.

It seems founders should adopt a similar stance: Friends don't let friends get bought by Salesforce.

I wonder if James et al regret having fed their baby to the devil. Surely a better buyer could have been found, one that doesn't destroy everything they touch. But no blame here. They had their well-deserved payday and we shall remain grateful for all the good patterns, ideas and years of solid service they contributed to our craft.

R.I.P. Heroku!
moe
·11년 전·discuss
and the Rust equivalent would be to define a newtype

Which you can do in Ruby as well, as I pointed out just two comments below the one you're replying to.

The real advantage of Rust here was imho best explained by sanderjd; Rust can perform this check at compile time whereas in Ruby it's a runtime exception.
moe
·11년 전·discuss
I didn't say it's pretty.

Merely chose that example to point out the absurdity of challenging Ruby on the grounds of flexibility (of all things).

Obviously, in a real program you'd rather write a custom sort-comparator, use a wrapper-class, or monkey-patch only the specific NaN instances that you want to change the behaviour of.
moe
·11년 전·discuss
in Ruby you have to fail

Oh, really? ;)

  > [1.0,2.0,Float::NAN].sort
  ArgumentError: comparison of Float with Float failed

  > # let's make NaN sortable
  > Float::NAN.class.send(:define_method, '<=>') { |x| -1 }

  > [1.0,2.0,Float::NAN].sort
  => [1.0, 2.0, NaN]
moe
·11년 전·discuss
Ruby has it about right (imho):

  > [1.0,2.0,Float::NAN].sort
  ArgumentError: comparison of Float with Float failed
moe
·11년 전·discuss
Nimrod feels like a faster version of python or ruby, something a lot of people would like to have.

Hell yes!

Nim really looks like it might have the potential to become the "faster Ruby" (or faster Python) that many of us are waiting for.

For all the progress in academic (Rust, Haskell) and special purpose (Go, Dart) languages, a new iteration on the "general purpose workhorse" is more than overdue.