HNHacker News
TopNewBestAskShowJobs

Freaky

1,399 karma · joined August 24, 2008

I run http://freshbsd.org/
submissionscomments
Freaky··on Refactored PHP engine makes Wordpress 20% faster
Is an opcache still not included in stock PHP? That was on the cards years ago, as I recall.
Freaky··on How slow is Python really? Or how fast is your language?
I suppose it depends on how you define "that long ago" and "mainline implementations". From my point of view it's coming along to about half a decade, but I guess 1.8's remained popular in many places as recently as 2-3 years ago.
Freaky··on How slow is Python really? Or how fast is your language?
Except Ruby isn't really significantly slower than Python?
Freaky··on OpenBSD devs comments documenting progress with cleaning of OpenSSL codebase
A more accurate link: http://freshbsd.org/search?project=openbsd&q=file.name%3Alib...
Freaky··on Drop Dropbox
It's 50% off if you pay yearly, plus 2 months free on top. $25 for the year, not bad. Not exactly comparable, but still.
Freaky··on Ruby 2.1 Garbage Collection: ready for production
For me it's always the triple-whammy of being a bit (or a lot) slower, needing vastly more memory, and having astronomical startup times. Not exactly an appealing combination.
Freaky··on An open-source Python implementation using JIT techniques
> I have to wonder why Python as a communities have always have the interested to substantially speed up Python. While the Ruby Camp has always been about if you want more speed, do it in C.

Not sure I agree with that - a big part of the excitement about 1.9 was how much faster it was, and stock Python isn't significantly faster than YARV. Didn't Python 3 actually come with a modest reduction in performance when it was released?

PyPy's certainly ahead quite a bit, but it still seems rather ignored by most.

> I hope Ruby MRI will one day get its own Google V8 / LuaJIT treatment.

Rubinius is a JITing LLVM-based Ruby VM with accurate compacting generational GC and no global interpreter lock. And of course there's the similarly capable JRuby, which leverages the JVM JIT quite heavily.

Freaky··on Google Announces Massive Price Drops for Cloud Computing Services, Storage
They reduced Google Drive pricing about a fortnight ago - 100GB for $1.99/month, 1TB for $9.99/month.
Freaky··on Worse
> Amazon executes streaming content as well as anyone else

Here on Windows 8, their Silverlight player doesn't even start properly - it plays the first second or so, freezes, then jumps back to the first second again, repeatedly. The only workaround I've found is manually seeking to the first minute of the video.

And of course I have no alternative player. With Netflix I get a choice of (working) Silverlight and Metro, and most importantly it also works on all five of my Android devices. Amazon demonstrably do not execute it half as well from my perspective.

Freaky··on Salted Password Hashing – Doing it Right
Thanks - that's actually the post I was thinking of. Considering on most modern machines scrypt will likely tune itself to use 512MB, a 1MB buffer's pretty small, but it would be interesting to know where the cutoff for significantly-better-than-bcrypt might be. I expect most sites could throw 16MB at logins without much difficulty (as suggested further in that thread).
Freaky··on The new PHP
Ruby, you mean - it's part of the standard library.
Freaky··on Salted Password Hashing – Doing it Right
Link for that? All I find is mentions of its weakness when used with very small amounts of memory (like Litecoin's silly decision to go with 128KB).
Freaky··on Tmux 1.9 released
My only complaint with mosh is how slow it is - my top-level 266x188 tmux session absolutely crawls on it, and it's quite common to see it using more CPU than whatever heavy task is spewing out lots of tty output. Wonderful for the common case, though.
Freaky··on Tmux 1.9 released
Don't forget mosh exists if you're commonly in situations where a normal ssh session is unreliable: http://mosh.mit.edu
Freaky··on Should I Learn Python or Ruby?
> it reminds me of other languages where it's global (JavaScript)

Ew, I didn't realise JS had them and implemented them like that. It's supposed to remind you of Perl, which probably made more sense 20 years ago.

> It get's confusing. And even as a local it is still bad. How is it that the =~ operator can assign local variables? Can other method calls do the same? If not, why not?

Actually, they're not locals, they're "virtual variables", going by the code. You can make your own using the C API - they just call back into a function:

    rb_define_virtual_variable("$&", last_match_getter, 0);
Same way things like $LOADED_FEATURES, $_ and $SAFE get managed. It's probably just as well it's not exposed Ruby-side ;)
Freaky··on Should I Learn Python or Ruby?
> Oh my god, it assigns a global(?)/magic variable as a side effect.

Magic locals. You weren't actually unsure if they were global, right?

Freaky··on Should I Learn Python or Ruby?
I much prefer it for the simpler cases over "if !x" and "if not x". Would be nice if people used it more responsibly, but I can say that about a lot of things.
Freaky··on Should I Learn Python or Ruby?
> Ruby: a && b # `and` is available but is generally not recommended due to operator precedence

They're low priority in both languages. I use and see others using `and` and `or` all the time. In 15 years I can't say I've blown my foot off yet.

> Ruby: a = b ? c : d

If I'm really wanting a oneliner I'll tend to write

    a = if b then c else d end
You can of course spread it across a few lines:

    a = if b
      c
    else
      d
    end
More typically it's constructs like:

    a ||= b
    a = b if c
    a = b unless c
> Ruby: "abc" =~ /[a-z]{3}/

    /[a-z]{3}/.match("abc")
If you prefer.
Freaky··on Why not kill -9 a process?
It's SIGINFO on the BSD's, and works with just about any process (though obviously not everything has a customized handler). Also handily mapped to Ctrl-T.
Freaky··on Intel's "cripple AMD" function (2009)
No, Microsoft make their own compilers.
Freaky··on FreeBSD 10.0 is here
http://www.freebsd.org/doc/handbook/current-stable.html

> FreeBSD-STABLE is the development branch from which major releases are made. Changes go into this branch at a different pace, and with the general assumption that they have first gone into FreeBSD-CURRENT for testing. This is still a development branch, however, and this means that at any given time, the sources for FreeBSD-STABLE may or may not be suitable for any particular purpose. It is simply another engineering development track, not a resource for end-users.

Freaky··on Bitrot and atomic COWs: Inside “next-gen” filesystems
On LGA1150 you need a C22x chipset for ECC support: http://www.intel.com/content/www/us/en/chipsets/server-chips...

Prices for these start about 3x higher than other boards, their choice is extremely limited, and availability even more so :/

Freaky··on Bitrot and atomic COWs: Inside “next-gen” filesystems
Integrity streams are enabled by default on mirrored pools, as per your first link:

> By default, when the /i switch is not specified, the behavior that the system chooses depends on whether the volume resides on a mirrored space. On a mirrored space, integrity is enabled because we expect the benefits to significantly outweigh the costs.

Plus:

> When this option, known as “integrity streams,” is enabled, ReFS always writes the file changes to a location different from the original one. This allocate-on-write technique ensures that pre-existing data is not lost due to the new write

Freaky··on Bitrot and atomic COWs: Inside “next-gen” filesystems
OS X has a native port - http://open-zfs.org/wiki/Distributions#ZFS-OSX

Windows has ReFS - http://en.wikipedia.org/wiki/ReFS

Freaky··on Bitrot and atomic COWs: Inside “next-gen” filesystems
Bit worrying not to see a single mention of ECC memory when discussing protection from bitrot, especially with filesystems which depend on correctly functioning memory to provide the protections people expect from them.

People sneer at me for being a stickler for it, but between 50GB of memory and 26TB of ZFS-protected storage, I see ECC corrections about as often as I see disk checksum errors - maybe half a dozen of each in the past year or two. Frankly I think it's idiotic it's not more common and better supported.

Freaky··on Bitrot and atomic COWs: Inside “next-gen” filesystems
> As far as I know, the hard drive won't auto-scan blocks that have been sitting still

Seagates at least report their error correction rates via SMART, and make very obvious curves that show them scanning the heads across the disk surface gradually when idle.

Freaky··on Swatch Internet Time
> The digital watch has too much precision and requires too much parsing

Funny, my stance on analogue clocks is they have too little precision and require too much parsing. If I'm tired or stressed it can take me seconds to read one, while digits practically beam the numbers into my head simply through the act of glancing at them.

I do have to admit, though, most digital watches are monstrous things, with tiny displays to leave room for all the trademarks and other nonsense they feel the need to plaster everywhere. I seriously don't understand why they're almost universally awful.

Freaky··on Pebble Smartwatch Review: A Useful Dumbwatch
All I want is a digital watch that doesn't look like ass and isn't the size of a small car :/

I've literally flicked through thousands of them and found maybe 2 or 3 that didn't look completely awful. Do people seriously like watches where the manufacturer's name and various bits of other assorted useless text take up half the face?

Freaky··on How Python 3 Should Have Worked (2012)
> Ruby is already about 10x slower than python on most of tasks

No it isn't - both are roughly in the same ballpark. Even before YARV it wasn't anywhere near an order of magnitude in the general case.

Freaky··on Is Ruby Fast Yet?
A lot of optimizations are off by default, or completely unavailable because he's using JDK 1.6. See https://github.com/jruby/jruby/wiki/PerformanceTuning

Startup time is slow because it needs to warm up the JIT. Same with Rubinius, which is mysteriously missing from most of these graphs.

Memory consumption partially depends on how much you tell the JVM to use - it'll run the garbage collector more or less aggressively to keep within that bound - default appears to be min(system memory/4, 1GB).

That's not to say it doesn't need more memory than MRI, but you should factor in the concurrent native threads allowing one process to serve many clients, and the precise compacting GC limiting memory fragmentation and associated heap bloat with long-running processes.

← PreviousPage 12 of 17Next →