HNHacker News
TopNewBestAskShowJobs

lectrick

1,393 karma · joined August 13, 2010

ruby/rails coder (and recent dabbler in clojure, haskell and Elixir), gamer, philosopher, technologist, sailor, swimmer, biker, music lover, partier, hourglass-figure adorer, and fan of Bitcoin, Apple, Tesla, open-source, and startups. I lean liberal and libertarian, although I love debating anything controversial.

As of today (2/3/2016), this account is now 2000 days old with 1369 karma. I've decided to celebrate by announcing a switch to a (for better or worse) far-less-anonymous account, "pmarreck".

submissionscomments
lectrick··on LogMeIn acquires Lastpass
Just for the sake of multiplatformability...

Is there something remotely as good as 1Password for Linux?

lectrick··on LogMeIn acquires Lastpass
So you absolutely must use Yubikey for 2factor auth instead of one of the many alternatives?
lectrick··on LogMeIn acquires Lastpass
Whew, I was on the fence between this and 1Password after Mitro shut down, just a couple days ago... Glad I went with 1Password LOL
lectrick··on Things you can do with ZFS [video]
> rsync.net now supports ZFS send and receive over SSH

> If you're not sure what this means, our product is Not For You.

Ha! Love it.

lectrick··on League of Legends Chat Service Architecture
TL;DR Erlang and distributed Riak using CRDT's (but the article is interesting!)
lectrick··on League of Legends Chat Service Architecture
I used to work for those sorts of companies.

I fired them because I'm a mature professional who can figure out how best to utilize my time, TYVM.

Find a company that people actually enjoy coming to work and collaborating in. I mean, if you're an engineer, you're already doing the #1 job in the country, why poison the well at a company with a mistrustful IT policy?

Sorry but I have no end of disrespect for that kind of bullshit. If you're at a job and you're jerking around, people will eventually figure it out regardless of stupid content filtering. And in this case, this is a lost learning experience for you, as the article is very interesting.

lectrick··on League of Legends Chat Service Architecture
Assuming state isn't stored in the processes (which it typically isn't in Erlang) and is instead in Riak, I believe it would be Riak's responsibility to resolve the split. Which it is likely capable of doing.
lectrick··on The Rise, Fall, and Revival of American Whiskey
Whiskey is probably my favorite alcohol these days and its rich history is always entertaining. Also see

https://en.wikipedia.org/wiki/Whiskey_Rebellion

lectrick··on The stack we choose: Erlang, SmartOS, Clojure
That's a good point, and it does look like a cool project
lectrick··on The microservices cargo cult
Many of the advantages of microservices can be achieved by refactoring your monolith code to be less monolithic.

I would suggest using functional styles wherever possible, plenty of isolated unit testable code, and a hexagonal architecture http://alistair.cockburn.us/Hexagonal+architecture that pushes all the I/O, mutation, side effects, etc. to the very boundary of your code. Also see Gary Bernhardt's "Boundaries" talk for more interesting thought in that vein https://www.youtube.com/watch?v=yTkzNHF6rMs

lectrick··on The stack we choose: Erlang, SmartOS, Clojure
> Some people find the syntax to be odd,

Perhaps he hasn't heard of Elixir and its fluid interop with Erlang libs?

lectrick··on Elixir v1.1.0 Released
Are you Löic Hoguin?
lectrick··on Ask HN: Scala or Elixir, What would you recommend me?
Elixir all the way. The earlier you get in on this wave, the better for you... although it may take a year before the offers start rolling in. Just find whatever work you can now in it or at least pick up the basics. It's fun!!
lectrick··on Is Your Financial Adviser Making Money Off Your Bad Investments?
1) This reminds me of the seminal book "Where Are The Customers' Yachts?" http://smile.amazon.com/Where-Are-Customers-Yachts-Street/dp...

2) I have been having good returns (for over a year now) with 2 vehicles: lendingclub.com (P2P lending) and futureadvisor.com (which is in a space I suppose is called "computer-assisted wealth management"; competitors include Wealthfront, etc.) It's basically a financial advisor without the advisor, and thus, extremely low-fee. You get a person if you need a person, and they lean heavily on quantitative analysis to reduce their own investment-decision workload.

lectrick··on El Capitan and Homebrew
It does kind of make sense to me that user-owned things should kind of live in /Users/username.

Unfortunately that pattern in this case would lead to the redundant-seeming /Users/username/usr/local, but at least that's rooted to the user in the event other users don't want a "global" Homebrew install.

Also, I believe (even if it kills some ignorant build scripts) that Homebrew lets you reconfigure where this directory lives, anyway.

lectrick··on Elixir v1.1.0 Released
If variables don't mutate, all it means is that the memory location that stores the value of that variable is guaranteed to never change. Thus, if you reassign that same-named variable, it actually points to a new memory location with the new value. That is what "rebinding" is vs. "mutating." The advantage of this is concurrency, etc. etc. The disadvantage is you have to have good GC since you'll be doing a lot more garbage collection. It may LOOK like it's changing a variable, but it's not- the variable merely points to a new memory location.

Other languages, like Ruby, do not work this way. If you reassign an instance variable, the memory that is storing that value actually does change.

Here, compare the same sequence of operations in Ruby and Elixir, first Ruby:

    bash>> irb
    >> a = {a: 5}
    => {:a=>5}
    >> b = a
    => {:a=>5}
    >> a[:a] = 10
    => 10
    >> b
    => {:a=>10}
and now Elixir:

    bash>> iex
    Erlang/OTP 18 [erts-7.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

    Interactive Elixir (1.1.0) - press Ctrl+C to exit (type h() ENTER for help)
    iex(1)> a = %{a: 5}
    %{a: 5}
    iex(2)> b = a
    %{a: 5}
    iex(3)> a = %{a | a: 10} # updates a mapping
    %{a: 10}
    iex(4)> b
    %{a: 5}
Notice how b's value changed in Ruby, but not in Elixir. In both cases, the hash was updated.
lectrick··on MathBox 2: PowerPoint Must Die
I scrolled past the top. I got "Achievement Unlocked: DAT PARALLAX" and got to rotate the figure in 3D.

A++++ would browse to again LOL

lectrick··on Elixir v1.1.0 Released
Dude that's not a mutation that's a rebinding. You do not understand the difference, and it is an important one.

Again, Elixir does not create mutation where in Erlang there was none. There is no mutation.

They decided to allow rebinding so that you wouldn't end up with a whole bunch of stupid temporary variables, which is exactly what you have to do in Erlang.

lectrick··on Elixir v1.1.0 Released
Where does Elixir allow mutable variables? AFAIK, it does not. Syntactically it might look like it allows mutable variables, but it actually does not.
lectrick··on Elixir v1.1.0 Released
This may be a perennial issue with functional langs, but using a functional lang only made sense to me after working with OO problems for YEARS.

You'll see quite a few people commenting in this thread (including me) who have spent something like 10-15+ years working with OO languages, we've seen the ugly sides of mutability, dependency spaghetti, holding onto state too tightly, too much coupling between classes, and the like; not to mention the difficulty with concurrency in a world where anything can mutate global state (such as class definitions).

lectrick··on Elixir v1.1.0 Released
Elixir (probably due to the Erlang roots) seems to actively make it hard for you to hold onto state. This ends up (in my experience) being a good thing... or at least a brain-stretching thing that may lead to fewer bugs on larger projects.

Clojure allows some OO if you'd like. I see that as a drawback, personally, but I've drank the functional koolaid.

lectrick··on Elixir v1.1.0 Released
Mutability and OO, I'd guess. :P
lectrick··on Elixir v1.1.0 Released
I've been doing programming for a while now (mostly in Ruby of late, but prior to that, lots of stuff) and the more I play with Elixir, the more I want to work in it. I'm actually going to ElixirConf (which is next weekend in Austin).

They seem to have done a lot of things right, and addressed pretty much every single criticism I had of Ruby.

> I'm very seriously considering Elixir/Phoenix for my next startup

It will be a risk, but I say go for it. Others (who have probably NOT had any Elixir experience!!) will tell you your startup is already enough risk, but here's the thing- Elixir could end up being the key differentiator technology for you. Who else provides NO DOWNTIME code upgrades, and that incredible request responsiveness as well as reliability? Immutable data? Extreme concurrency? The "Actor model" that everyone is enamored with these days? The awesome community? Nobody, I think.

lectrick··on Elixir v1.1.0 Released
I worked for thredup.com when it was brand-new and we used Rails when it was still fairly new and we had a pretty good time all things considered. You just have to be a capable programmer. ;)
lectrick··on Is It Possible to Achieve Equitable Equity for Startup Employees? [audio]
I was Employee #1 at thredup.com, which just raised $81 million at a $500 million valuation. I'm no longer with them (parted amicably), but I still have a bunch of stock there. At the time, I had it reviewed by a lawyer, but as a tech guy, I probably didn't get a great deal.

The CEO and CTO have not responded to any inquiries by me yet on what the current valuation of whatever I still own might be. I'm sure they're too busy growing the company :P

lectrick··on A Story about Symbolics Lisp Machines
> inspectable and programmable from the ground up - that's worth preserving.

This is what made me curious about the Smalltalk-based Squeak VM http://squeak.org/. Its entire interface and stack was inspectable and manipulatable in real time.

In practice it seemed a little buggy, though. If you installed Squeak programs too willy-nilly, pretty soon you'd get errors due to incompatibilities.

lectrick··on A Story about Symbolics Lisp Machines
You don't happen to work in College Station, TX?

(Search the rest of the current discussion for "coffee machine" ;) )

lectrick··on Introducing Brotli: a new compression algorithm for the internet
Call me a noob but I can't figure out how to build it...

https://github.com/google/brotli

lectrick··on Introducing Brotli: a new compression algorithm for the internet
Any mention of "Pied Piper" in English is almost always a reference to that story.
lectrick··on Introducing Brotli: a new compression algorithm for the internet
But it's actually, surprisingly, arguably, a valuable metric which, for whatever reason, was never done "in the real world" before, until the show requested it from actual researchers:

http://spectrum.ieee.org/view-from-the-valley/computing/soft...

I don't actually watch the show and this is the first I've heard of this "score", that article was surprising to me.

← PreviousPage 6 of 32Next →