HNHacker News
TopNewBestAskShowJobs

haven

1,168 karma · joined November 27, 2011

submissionscomments
haven··on Rails Is Good Enough
Dynamically typed languages aren't out in the cold like they used to be with IDE support. Most of the advanced LSP work going on isn't based on explicit types signatures yet they work well. See https://railsatscale.com/2024-07-18-mastering-ruby-code-navi...
haven··on Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby
TruffleRuby supports many C extensions like DB adapters out of the box like CRuby. JRuby has Java ports for most popular gems that ship alongside them. Nokogiri is one gem that's a Rails dependency and stands out as a bit of a pain, but both JRuby and TruffleRuby put in substantial effort to support it too. All three generally work with web servers, including Puma, which ships with Rails. There are still gaps in C extensions that TruffleRuby covers and lack of Java ports for less popular but still used gems. They may have some things like gRPC C extensions that don't work and they don't want to port them either. Generally the ecosystem just works between these popular Ruby implementations.

MRuby uses MGems and is just a different ecosystem entirely. It has parallel libraries but they're not shared with the above implementations.

haven··on RBS, Ruby’s new type signature language
Signature. The Ruby::RBS library used to be called Ruby::Signature.
haven··on Stripe Capital
Not to nitpick, but a quick check shows Square has way more stars overall. (233,343 stars for Square repos and 30,982 stars for Stripe repos.) If you’re talking about Square’s brand new SDKs, they of course start with zero stars and some are just weeks old.
haven··on NSA Response to XKEYSCORE allegations
Under the NSA's definition of 'foreign', a 51% likeliness of foreignness (a coin flip plus 1%), they only target foreigners. Use tor, there is the 1%. Speak a language other than English, gosh that must be worth 10%.

This goes on word after word. The NSA statements are blatantly false. They can only even pretend it is true by twisting words so far they no longer resemble their actual meaning.

haven··on Apache Openoffice 4.0 RC Released
OpenOffice isn't the OpenOffice you used to know (just a fork of LibreOffice with Oracle's TMed name). If I recall, Oracle just handed it off to the Apache Foundation after losing developer support and being dropped by prominent linux distros. Oracle called LibreOffice a fork, but that is nonsense since it is the original maintainers and code with only a new name. I'm actually curious why Apache Foundation took on OpenOffice following Oracle's misteps and what the rationale is for its existence alongside LibreOffice. (There is one, right?) To be fair, I haven't used them side by side or followed OpenOffice since the Oracle debacle.

TL;DR: Oracle forked OpenOffice and kept the name. Long live LibreOffice!

In other news, LibreOffice 4 has been released: https://www.libreoffice.org

haven··on Help HN: How do I stop my start-up from being bullied?
May be more bluster than kindness, whether they realize it or not:

http://tess2.uspto.gov/bin/showfield?f=doc&state=4806:155yzh...

You can probably point an IP lawyer at the registered trademark and get a quick opinion on your options.

haven··on Python Number Conversion Chart
Partial Scala translation: https://gist.github.com/chris-martin/5426294
haven··on Python Number Conversion Chart
Ruby translation: https://gist.github.com/havenwood/5426260
haven··on How To Get Banned From PyCon
I'm questioning it. The behavior in question seems alcohol-spawned. If alcohol is tolerated it seems bizarre to treat cannabis draconianly.

If cannabis use is legal in the state, there is no prosecutable crime. Federal cannabis drug law is not enforced against cannabis users, only those who sell it and thereby more directly touch on interstate commerce.

If breaking unenforced federal law is ban-able behavior, then better ban everyone.

I think the unfortunate thing is that we all break federal law every day. (Most of us at least violate the Computer Fraud and Abuse Act. Ever made a GET request potentially in violation of an API's ToS?) Scary thing is, the feds actually prosecute under the CFAA.

haven··on How To Get Banned From PyCon
I absolutely understand not tolerating sexism or other bigotry, but a three year ban for cannabis use seems excessive. Ask him to take it outside?
haven··on LinkedIn is a Virus
LinkedIn is a Scala shop. So if LinkedIn is a virus, I think that's a first for the Scala language. "Scala, good for viruses too!" :O
haven··on Don't Buy the Snake Oil of Beamr Video
The folks behind Beamr H.264 also have a 'patent pending', proprietary JPEG image "recompression technology": http://www.jpegmini.com/

I'm curious what an analysis of one of their JPEG's would show?

haven··on RubyGems 2.0.0 Released
A side note, RubyGems 2.0.0 is released for both Ruby 2.0.0 and Ruby 1.9.X.

To install: gem update --system

haven··on Ruby 2.0.0 Released
Yes, there are performance increases. Sasada-san gave a good talk at RubyConf this year on 2.0.0's internals and performance enhancements: http://www.confreaks.com/videos/1272-rubyconf2012-implementa...
haven··on White House Owes Response To Petition To Fire Prosecutor Of Aaron Swartz
Author seems mistaken. Ortiz hit 25,000 before the White House raised the required amount to 100,000.

Since the Heymann petition didn't reach the mark before the cap was raised, there are another 75,000-or-so to go. Ortiz was grandfathered in.

edit: I thought only completed petitions were grandfathered in, but it appears I'm wrong and just having a petition started before the change is sufficient for grandfathered-status.

haven··on Announcing Topaz: A New Ruby
Expanding on the concept of entirely unscientific benchmarks, I benched some simple prime number math with Topaz, Ruby, JRuby and RBX.

Looks promising for Topaz! https://gist.github.com/havenwood/4724778

haven··on Elixir v0.8.0 - Better apps support, unicode and performance improvements
Congrats on 0.8.0! I've just started learning Elixir, but having a lot of fun in iex! Thanks for the awesome documentation!
haven··on Petition to Repeal the DMCA
Touché. After looking at it, I realize I was thinking of just Title I of the DMCA being the whole thing. You are totally right about Title II & III (Title IV boat vessel hulls... heh)!

Now that I'm better informed... (thanks!) I change my position to repeal of Title I of the DMCA in its entirety, not the entire DMCA.

haven··on Petition to Repeal the DMCA
Text of the DMCA statute, for the curious: http://www.copyright.gov/legislation/pl105-304.pdf
haven··on Petition to Repeal the DMCA
Okay, I see what you're saying. The petition title suggestion of repeal seems to be downplayed to only anti-circumvention notions.

On the other hand, the safe harbor provisions under the DMCA just protect you from penalties under the DMCA. I'd vote repeal the whole debacle (granted I haven't read the DMCA in a few years, but I don't recall seeing anything I liked save for the self-limiting provisions of the statute).

Edit: I'm wrong. Was thinking of just Title I. Title II and III are indeed worth saving!

haven··on Petition to Repeal the DMCA
Unauthorized infringing circumvention doesn't have to have a criminal OR civil penalty. Protect circumvention (hacking) rights!
haven··on Petition to Repeal the DMCA
While the EFF's position on revising the DMCA is referenced by the petition, the petition itself does actually does ask to "repeal the DMCA", presumably in its entirety (which I personally support).
haven··on Is Tokaido (rails.app) Dead?
You can look at Tokaido's source code or even build it with Xcode if you want: https://github.com/tokaido
haven··on A letter to my daughter, Augusta, in ruby
Love it! <3
haven··on _why's site is back up
Hooray for _why! :D

Found a fourth PCL: http://whytheluckystiff.net/SPOOL/YOU

http://www.scribd.com/doc/119153889/You

haven··on Ask HN: Where do you (programmers) find freelancing gigs?
If you are in a reasonable sized city, showing competence at hack nights and meetups. No matter where you are, a presence on Github and helping folks on IRC.
haven··on Dynamic languages are an anti-pattern
Proc doesn't check arity. That is just how proc and Proc.new are expected to work. If you want to check the arity, use lambda or ->.

x = ->(a, b) { puts a, b }

x.call #ArgumentError: wrong number of arguments (0 for 2)

x = lambda { |a, b| puts a, b }

x.("just one argument") #ArgumentError: wrong number of arguments (1 for 2)