HNHacker News
TopNewBestAskShowJobs

oomkiller

1,485 karma · joined January 25, 2009

Blog: https://bbhoss.io/ Public Email: hn at bbhoss.io PGP Public Key: https://gist.github.com/bbhoss/6286374 (MIT PGP Key ID D8D09AB6)

NYC

submissionscomments
oomkiller··on Languages on BEAM, the Erlang virtual machine
I am not sure how you define 2015-class, but building a release with distillery, and running docker build on a Dockerfile that copies the tarball (that includes everything needed to run your app (ERTS, app code, NIFs, etc)) makes a docker container that you can deploy as you'd expect. If you want to use clustering it's a bit more setup, but I was able to get a simple phoenix app running clustered on Google Container Engine (Kubernetes) in about 4-5 hours, starting with zero knowledge about Kubernetes or Elixir deployment. I pushed my code to github[1], and I did a talk on it at our local Elixir meetup[2].

Now that I have it figured out it's totally painless to upgrade, especially because of the Kubernetes tools. Simply make a new release, build a new container, push it to your docker registry, and then do a rolling update with kubernetes using the new version of the container. You can also add/remove scale on the fly, libcluster handles it all.

[1]https://github.com/bbhoss/k8sexamplephx

[2]https://www.youtube.com/watch?v=SNll1r6ZtO0&feature=youtu.be...

oomkiller··on One More Sign World Is Shrinking – eBay Is for Suckers
AliExpress works great for this, the shipping can be a bit slow sometimes though. I like to buy random fun looking things on there and try to guess what I ordered when it finally arrives. Things are so cheap.
oomkiller··on GRiSP – Erlang-based IoT hardware platform
I haven't seen anything related to the Erlang changes, but the grisp github project has an RTEMS app which I assume is for running/compiling your Erlang apps with. The progress is really promising, I believe he just has a very high bar for releasing things.
oomkiller··on GRiSP – Erlang-based IoT hardware platform
It's far lower power than something like Nerves, which runs a full linux kernel on top of something like a raspberry pi. Power usage is relative. At the end of the day this opens up new applications for Erlang/BEAM languages.
oomkiller··on GRiSP – Erlang-based IoT hardware platform
Go right ahead, use C/C++ based actor systems! This project is to allow Erlang (http://erlang.org) to run on low power embedded devices.
oomkiller··on GRiSP – Erlang-based IoT hardware platform
Somewhat, but it's very different in that it uses RTEMS, not Linux. RTEMS was built for embedded computers on missiles, and is commonly used in space applications. Nerves is a distribution of Linux buildroot, and has quite a bit of fat compared to something like RTEMS. I can't wait to see Elixir running on RTEMS, from my conversations with Peer, it seems he's ported the Erlang VM to RTEMS directly, much like the OSE port.
oomkiller··on Let Postgres Do the Work (2013)
Unfortunately NOTIFY doesn't work across nodes.
oomkiller··on Let Postgres Do the Work (2013)
Doesn't include everything that Horizon does, but it provides a good foundation for building it http://postgrest.com/
oomkiller··on Introducing Unified Update Platform
I think it's good. If you're not savvy enough to do a quick google search and perform the simple (all-gui) instructions within, you're probably not savvy enough to self-manage your critical updates, either.
oomkiller··on Shopping coming to Instagram
This is anything but seamless. As soon as I saw them slide out that webview with the vendor's site I nearly vomited. They had a chance to make buying items that users like so much more painless, but they only delivered a partial experience. I don't want to bother with creating an account for every random vendor, typing in my CC info, and then having to rummage through emails to get tracking info. This is a great idea, but the execution leaves a lot to be desired.
oomkiller··on “Design Patterns” Aren't (2002)
Can you provide more detail, this is very intriguing. Do you mean that the types are the patterns?
oomkiller··on RethinkDB is shutting down
RethinkDB is licensed AGPL, not GPL.
oomkiller··on Erlang/OTP 19.0 has been released
Elixir is currently already compatible with Erlang 19. The work for adding support for the new features to Elixir is being worked on/tracked here: https://github.com/elixir-lang/elixir/issues/4617
oomkiller··on Integrating Elm and Phoenix Channels via Elm-Phoenix-socket
That last part sounds pretty cool, how is this sort of thing being encouraged?
oomkiller··on In Defense of Erlang: Through Magic of Offence
This sounds pretty bad, has it been reported?
oomkiller··on Platform infrastructure for embedded Erlang/OTP, Elixir and LFE projects
In my experience the embedded community is extremely traditional, and most projects are built using C with static memory allocation. There is a lot of excitement around Nerves in the Elixir community though, so be on the look out. I think outside of the traditional community effects, having a garbage collector (even one that's designed for soft-realtime like Erlang) really kills the deal.
oomkiller··on Voice Quality on Smart Phones Still Sucks (2014)
VoLTE is becoming fairly prevalent now. With the new wideband codecs, quality can be quite good.
oomkiller··on SXSW Cancels Gamer Panels After Threats
I get it, SXSW is a business, and they want to protect their profits. It makes plenty of sense. SXSW loves attention, they just chose to sit this one out because their analysis concluded that it would be better for their bottom line. They pride themselves as a forward-thinking event, even continuing this spiel in their announcement. It's now obvious to everyone that cares that it was all just marketing.

Ultimately I think this will hurt their bottom line by driving diversity away from their event. Will discussions of racial diversity now be cancelled at the whim of the KKK? These groups operate through threats and intimidation, and I think there is a real risk of other hate groups catching wind of this and using similar tactics to stir up attention for their cause.

oomkiller··on SXSW Cancels Gamer Panels After Threats
SXSW had the chance to take a stand for diversity here, choosing instead to show just how shallow they truly are.

edit: Added clarification of which "side" I'm on

oomkiller··on LingVM is an Erlang VM that runs directly on Xen
Yep. Fortunately, you can also build a RumpRun Kernel using Erlang as of a few months ago. I haven't tried it yet, but it sounds like it could provide true bare metal.
oomkiller··on America's Military Supremacy Is Fading
See: SBIRS, and missile defense in general. There are also issues with updating the location of carriers, since communications can be jammed and carriers are not stationary. Just being able to know when something is launched (SBIRS) gives the US a defense against these weapons. In addition to that, I would be very surprised if there was not a way to shoot these things down, with lasers or otherwise. We're talking about the US military budget, and maintaining the investment of 50+ billion dollars just spent on building the carriers over the years.
oomkiller··on Erlang Garbage Collection Details and Why They Matter
Here is a semi-recent benchmark for Phoenix, which is written in Elixir (runs on the Erlang VM, BEAM). I think it will give you a decent idea of the differences: https://gist.github.com/omnibs/e5e72b31e6bd25caf39a

I would like to see this run with the latest versions of the various platforms, as a lot has changed since Phoenix 0.13, and I'm sure it has for the other platforms that were benchmarked as well. Initially, it seems like there is not a lot of difference between most of the platforms, but when you're working with variances of 1-2 ms on 180k rps is pretty substantial.

oomkiller··on AWS SDK for C++
Official, full support, instead of a custom implementation where it can take weeks to add support for a new service that's already a part of the C++ lib. Also, there are some newer languages out there that don't have quality libraries for AWS, but do have C extension support. This will allow wrappers for to be created so these languages can be used with AWS as well. Just take a look at how the Java lib is used.
oomkiller··on Playing video games can improve our lives
My journey into computing basically started with PC gaming. I wanted to be able to start my DOS games whenever I wanted, instead of relying on my mom to do it for me. I had to learn what the drive letters were, and how to start the various games. I eventually became totally enthralled with computers, not with games, but the nearly infinite number of settings, executables, easter eggs, etc. This continued through my adolescence, when I learned all about computers so I could build a good gaming PC with the meager funds that I had saved up.

I used this experience to open my own IT support business in high school, and later started with Ruby and Rails in college. I've been doing software development since 2008 now, and I think games helped out a lot, not even considering the cognitive changes.

oomkiller··on Phoenix 1.0
I like Elixir because of its ability to do distributed computing, fault tolerance/HA, binary pattern matching, speed, and more. You don't need Elixir, but it makes a lot of stuff much easier to do.
oomkiller··on Phoenix 1.0
The best example is probably channels. The framework doesn't really have to provide you anything for you to be able to use concurrency. For a personal example, I was able to use RethinkDB changefeeds easily with channels: https://github.com/bbhoss/elixir_friends/blob/master/web/cha...

I just start another process when you join a channel, and that process sets up the changefeed and pushes changes to the client in the form of HTML, allowing messages to be received and processed by the channel. You can watch the full presentation here: https://www.youtube.com/watch?v=aWaleoYD1Ro Slides: http://www.slideshare.net/bbhoss/otp-phoenix-channels-rethin...

Another example is sending email. In Rails, you need to have something like Sidekiq (or now Activejob) to be able to background the job so it doesn't block the response to the client. In Phoenix, you can simply spawn a process to do the work and move on. Sure, you might want a system like exq to keep track of things a bit better, but ultimately the concurrency primitives provides by Erlang/Elixir allow you to do everything you need.

oomkiller··on Phoenix 1.0
Building a custom docs app falls somewhere below "Getting 1.0 released" on the kanban board, if I had to guess.
oomkiller··on Phoenix 1.0
Can't say much about the details yet, but I work here: http://www.reactionhousing.com/ :)
oomkiller··on Phoenix 1.0
After spending nearly 7 years in the Ruby and Rails ecosystem, I changed jobs and have been working in with Elixir and Phoenix for nearly 3 months. I have been very satisfied with the process. The community is amazing, the tooling is unbeatable, and the quality and availability of open source libraries is great, especially for such a young project. The future looks very bright for Elixir and Phoenix!
oomkiller··on Tesla owner drives 452 miles on single charge
It might be better to just take a break at a rest stop. A friend of mine was on a long distance ride across the U.S. and was killed doing this.
← PreviousPage 3 of 22Next →