Yep. I got in on the RHAT F&F deal thanks to some bug reports and a patch here and there.
I made the stupid mistake of allowing coworkers to buy some shares through me but I wasn't fully aware of the tax burden. Basically everything I made myself went in to paying the taxes on everyone else's shit. What little was left I had to give to my family to help with other bullshit.
That's not what I'm saying at all. In fact I was pretty clear about that fact.
What I said was that I, personally, am going to be writing more personal tooling in Go. I was pretty clear that our team is NOT switching off Python. It's in the last section entitled "This isn't a switching story"
Graylog2 only handles syslog and its own protocol (GELF) for accepting log events. Graylog2 uses ElasticSearch for data storage. Logstash can use ElasticSearch or just send the data elsewhere.
The Graylog2 web interface is pretty awesome and it has some neat stuff built in. Logstash ships with a fairly spartan web interface though we're going to replace it with a ruby port of Kibana in the future.
Logstash can accept data from GELF senders (via the gelf input plugin I wrote) or send to gelf receivers (like Graylog2).
Graylog2 is awesome, don't get me wrong. I just had to bail on it when it was still on MongoDB because I couldn't justify the cost of instances needed to get a MongoDB instance that could hold more than 4 hours of data.
Logstash and Graylog are complimentary. Most people, myself included, we're originally using Graylog2 in conjunction with Logstash.
Graylog2, though, had problems with it's original implementation based on capped containers in MongoDB. It has since moved to ElasticSearch.
There are both gelf inputs and outputs for Logstash so you can send your logs to Logstash as if they were going to Graylog2 and do additional munging and still send them out to Graylog2 from there.
You might underestimate the size of deployments of logstash. Mailchimp runs logstash in a pretty sizeable cluster for all traffic coming into HTTP front-ends. I can think of quite a few sizeable logstash installs that I can't mention.
Please don't call logstash "an open source splunk". It's no such thing. Splunk still has features that logstash doesn't have (yet). Logstash has quite a few features that Splunk doesn't have.
Jordan had never seen (or to my knowledge has yet to see) splunk at all. I don't know about Pete. Myself, I haven't used Splunk since trying a very early release once in the very first days of it.
Point being, Logstash doesn't call itself an "open source splunk". In fact I've considered adding an output to SplunkStorm to Logstash.
Do I think Logstash is better? Yep. Do I know people who swear by Splunk? Yep. Competition is healthy.
The problem is people are still confusing two issues.
1 - The mass assignment rails issue was resolved as soon as could be after it was reported
2 - The public key form update vuln was NOT reported and used, NOT to attack github but to make some point to the Rails team.
The second issue was the one github had been talking about in the original blog post. They handled it as soon as it was discovered.
In so far as they responded as quickly as possible, yes they had it in hand.
For those who don't know, nats is at the core of cloudfoundry. It's a great tool if you're in an all ruby world. The author wrote messaging software for Tibco before vmware so he knows his stuff.
Having said that, 0mq is probably a better choice these days since it's cross language. Still you can build some fun stuff with nats.
We had a discussion about the original blog post over on IRC.
I'm not going to tone down my talks (unless it's inappropriate for the audience) but I normally won't include it in a slide. There's a difference for me verbally and putting it down "on paper".
I want people to pass around my slide decks. A slide deck full of vulgarity is probably not going to get passed around. However I probably cussed like a sailor during the same presentation.
Ruby, for all the problems it can cause, gives you. More than one way to solve a problem. Yes, it sometimes makes it harder to dive into other's code but I happen to enjoy the expressiveness.
Mind you I love some of the things about python too. Namespacing being one of the primary ones. Another is that, short of advances pythonfu (like django does), I can usually pick up someone else's code and dive right in.
Python has amazing access to mathematical and scientific libraries as mentioned. However with ruby, I would punt to the Java ecosystem via JRuby if I needed that.
It's a lot like design patterns. Some patterns don't fit in all languagea but that's usually a case of the language itself giving you another way. Mixins in ruby are a good example.
This is a horrible idea. Detecting things like publish date is incredibly difficult. I can totally understand the aversion to wanting to generalize tags but this one is, IMHO, appropriate.
IMHO, the thing that bothered me about the whole exchange was that it could have been avoided with a little bit of common courtesy. Instead it turned into a "oh let's go roll that pull request".
I picked up pretty early on that antirez wanted to know the "why" first since one of his stated goals was keeping deps to a minimum. What could have been a nice productive discussion about crypto standards was fucked up by ego, asshattery and language barriers.
Oh and github pull requests are TOTALLY the appropriate place to have those kinds of discussions =/
Feel free to correct me then. I have YET to work anywhere in any industry (financial primarily) that stated we had to have specific hardware up and running as part of an SLA.
It's an "SERVICE LEVEL AGREEMENT" not a "SERVER LEVEL AGREEMENT".
Rollbacks are a myth. You can never rollback. Always be rolling forward. Enabling a culture and environment that allows for small frequent changes solves that problem.
The way to not impact a customer is to make deploys trivial, automated and tolerant to failure because everything fails.
Nothing in your SLA says you have to have servers 1, 2 and 3 available. It says you have to have service X available. You can do that with out taking a downtime hit.
I made the stupid mistake of allowing coworkers to buy some shares through me but I wasn't fully aware of the tax burden. Basically everything I made myself went in to paying the taxes on everyone else's shit. What little was left I had to give to my family to help with other bullshit.