You mean "App Store did a really good job copying a standard practice in the software world to a specific domain that Steam was doing a really good job in already, and though brand and lock-in, managed to survive where on pure merit, it wouldn't have".
So... stop using a debugged and stable tool whose limitations and problems are well-known and understood and replace it with six bits of software duct-taped together, two of which aren't working yet (if they even exist), without any idea of how they interact when they hit edge cases.
I mean, "don't use X, use ShinyX instead" is one thing (and most of the time it's a bad thing but it does occasionally turn up good ideas), but this is just So Much Worse...
You're presenting the MySQL argument. "Why should we switch since we know it fails in exactly these 1,000 different ways and we can fix these problems? Using something better has unknown failure scenarios!"
Have you ever been woken up by a nagios page that automatically cleared after five minutes because the incoming queue was delayed past the alert interval?
Have you ever had your browser crash because you click on the wrong thing in the designed-in-1996-and-never-updated nagios interface and had your browser crash because it dumps 500MB of logs to your screen?
Have you ever had services wake you up with alert then clear then alert then clear again because some new intern configured a new monitor but didn't set up alerting correctly (because lol, they don't get paged, so who gives a flip if they copied and pasted the wrong template config, as is standard practice)?
Have you had to hire "nagios consultants" to figure out how to scale out your busted monitoring infrastructure because nagios was designed to run on a single core Pentium 90?
Being pro-nagios is like being pro-Russia, pro-North Korea, and pro-Rap Genius while arguing "but at least we know how bad they are and can keep them in line."
Did you seriously just equate North Korea, Russia, Rap Genius and Nagios?
Everyone knows that Rap Genius is an oppressive regime in which you're executed for dissent, North Korea are SEO spammers, and in Russia... there is no need for monitoring software because Russian computer does not fail!
I think his point is there are tradeoffs, and I agree. On top of that, meaningful debate over what tool should be about what context you're in. This applies to the OP's slidedeck.
To give context about my comment about context:
* was nagios setup before you started the job?
* did you setup nagios yourself?
* is your internal process for managing nagios broken?
* culturally do you work at a place where ops is an afterthought?
* if Nagios is your technical debt do you have a way out? are you crushed by other commitments? Maybe it's more of a management/culture issue.
... hmm actually I should stop. From re-reading your comment, I can't tell how much of it is trolling (in a entertaining Skip Bayless, right wing radio, Jim Cramer kind of way).
is your internal process for managing nagios broken?
It was the best they knew after a dozen years of experience at other companies.
culturally do you work at a place where ops is an afterthought?
Nope. We had three people for 500 machines and two data centers.
if Nagios is your technical debt do you have a way out? are you crushed by other commitments? Maybe it's more of a management/culture issue.
It was "good enough" and nobody wanted to build out an alternative (or knew how to—the others were pure "sysadmin" people without programming backgrounds).
The problem: apathy. The solution: leave...after three and a half years.
I can't tell how much of it is trolling
Never trolling from this account, just unfocused anger with no other outlet. :)
>Have you ever been woken up by a nagios page that automatically cleared after five minutes because the incoming queue was delayed past the alert interval?
No, because I know how to configure escalations properly.
>Have you ever had your browser crash because you click on the wrong thing in the designed-in-1996-and-never-updated nagios interface and had your browser crash because it dumps 500MB of logs to your screen?
Actually, no. I've had my browser crash due to AJAX crap all the time though. Nagios' (and Icinga classic's) interface is clear, simple and logical; it's just not 2MB of worthless javascript that wastes half my CPU time, so I can see why unpopular with some user types.
>Have you ever had services wake you up with alert then clear then alert then clear again because some new intern configured a new monitor but didn't set up alerting correctly (because lol, they don't get paged, so who gives a flip if they copied and pasted the wrong template config, as is standard practice)?
No, because I know how to use time periods, and escalations again.
>Have you had to hire "nagios consultants" to figure out how to scale out your busted monitoring infrastructure because nagios was designed to run on a single core Pentium 90?
No, because it isn't, because I know the basics of Linux performance tuning, and because I've heard of Icinga and/or distributed Nagios/Icinga systems for very large scale.
Your post reads like "Have you ever crashed your car head on into a concrete wall at 70mph because it didn't brake for me?". No amount of handholding a program can do will protect users who have no clue how to use it.
I do not by any means consider myself an expert in Nagios either - if there was such a market for consultants as you claim, I'd likely be doing it and therefore be rich, but in actual fact, it's a skill just about any mid-level or better admin has.
I've inherited a Nagios config before that was a mess, that I rebuilt from scratch in a maintainable way, as well as extended. If Nagios (or MySQL pre-Oracle, for that matter) has a problem, it's amateurs attempting it, making a mess, and others judging the quality of the tool on their sloppy work. Not unique to Nagios, by any means. If there's a criticism you can level at Nagios for that, it's the lack of documentation and examples in the config files.
I'm also not denying the existence of alternatives - OpenNMS is ok, as is Zabbix, but both are far more limited in terms of available plugins and extensibility, and by nature harder to extend. Munin is good for out of the box graphing, but relatively poor for actual monitoring/alerting and hard to write new plugins for with limited availability of additional plugins. Each one is a standalone tool that's good for a purpose, and not some vaguely defined set of programs, partly nonexistent, that everyone has to hack together for themselves.
Best approach to getting accustomed to Nagios is definitely setting it up for yourself. I used to support a mess of a Nagios server once, and on my new job, when they needed a good monitoring system I requested Nagios. Now we have our 100+ servers, 500+ switches and many other services monitored through it.
We had a college student during his summer time write up a quick nagios add/del/modify app. Took him a few hours to bring it up, now it is so easy to replace the whole configuration(s) through it.
Same here, has never crashed on us.. on the server or on the client. I don't know what this guys is talking about, maybe he's confused with the old OpenNMS or ZenOS?
not trolling - but how do you configure escalations properly in a circumstance where a queue might delay longer than any arbitrary period? In short - tell me your secrets
Well, why are you triggering on something that appears to have a completely random amount of delay? Either you choose your line in the sand, or you monitor the dependency that is causing the variability.
A typical nagios alert will fire if it hasn't been updated in X seconds. Sometimes the queue of incoming events gets backed up and nagios doesn't receive the results of service probes until X+5 seconds or 2X seconds later (due to internal nagios design problems, not the services actually being delayed).
So, nagios thinks "Service Moo hasn't contacted us in 60 seconds, ALERT!" when the update is actually in the event log, but nagios hasn't processed it yet.
I haven't seen this in ~1k services, but I guess it probably depends on the spec of the monitoring system to some degree, and I realise that 1k+ hosts is likely a different story. If you're using passive checks in any high-rate capacity, you should be using NSCA or increasing the frequency they are read in anyway. This is also another problem Icinga handles better - while I say Nagios for convenience's sake, my comments here refer to Icinga (and to Nagios XI, which is comparable but stupidly expensive).
No matter how long the delay until alerting is, there can always be the possibility of a service that stays critical for $time + 1; it's just that by delaying the alert by a min or two makes no appreciable difference for most circumstances (if it does, you should have 24/7 staff anyway) and filters out services briefly dropping out and immediately coming back, e.g. a service or host restart that happened to be caught at the wrong time.
That, and setting up proper retry intervals for checks that take a long time to execute.
The link makes the point that 'Nagios has all these things wrong with it, like a horrible UI. Fortunately, there's Sensu, which requires you to build your own UI to do these things it can do. And by 'it' I mean 'other software instead'.'
I like the idea of Sensu, and I would love to have a system built on it, but I don't have the time or energy to build that system, create the parts of it that need creating, tie them all together, and then (ha!) make sure they're all monitored so that none of my monitoring system fails.
Being pro-Nagios is like being pro-USA: it does a lot of things that annoy people, but in the end it means well, gets the job done, and you know what the caveats are. It's not perfect, but I have other problems to solve and systems to build.
>>You're presenting the MySQL argument. "Why should we switch since we know it fails in exactly these 1,000 different ways and we can fix these problems? Using something better has unknown failure scenarios!"
The point is that you cannot know that something is better if it has unknown failure scenarios.
Example: you have a car you know breaks down exactly after 200 every miles. You have a newer car you haven't seen fail yet, but like all mechanical things, you know it'll fail one day. Do you go with the old one because you know how it fails?
> It baffles me why in 2014, some developers still prefer to work as if UNIX System V had just been released.
Because (a) some of us aren't convinced that things like IDEs give a better view of what's going on in the system; (b) some of us think that fundamental tools like terminal emulators, editors and so on should be debugged and stable because we have to earn our mortgage payments using them and chasing the shiny isn't on our job description; (c) any actually useful new idea winds up in Vim anyway.
You want to use a new shiny unproven editor, grand, have a ball. But don't ask me to purely on the basis that it's not new and shiny.
(a) To some of us, that's not that long ago :D
(b) Vim is an IDE. No, seriously, if you can run the debugger, the compiler and a plethora of other tools from within it, it is an IDE. You might not like it, but...
(c) IDE, DDE, doesn't matter. Some of us work faster in IDEs, some in DDEs. Now, if you don't grok what's happening from your source down to the metal, that matters.
(d) When did I specifically pick out IDEs as the sole example of new and shiny? Or did you just read my comment without parsing it?
1) You run latex twice only on really large and complex documents like books, and if you're writing books (not editing, see antipope.org for details) in Word, then you need professional help.
2) Markdown and LaTeX are designed for different tasks. Next you'll be telling me that if you have a leafblower, you have no need for a chainsaw.
3) Find me the structured and annotated data streams first - and show me that the structure and annotations are correct - then lament the lack of a shell that can route them to the programs that don't interpret stdin and stdout and stderr that way anyway.
4) I use vim to write latex when I write latex, but "in a bash shell" doesn't make any sense. You fire up vim from bash, yes, but unless you're trying to do an ex-style editing session, you're not editing in the shell any more than you're editing in the kernel or the tty driver...
You're completely missing the GP's point. Whether or not LaTeX is better than MS Word for task X is besides the point. It's that LaTeX has many obvious opportunities for improvement, ways to drag it into the current age, while keeping all its fundamental strengths. As do many similarly old tools such as Bash, terminal emulators and Vim.
These improvements aren't all that difficult to imagine, but they don't happen, because, well, why? GP seems to think an obsession over backwards compatibility.
Agree. Texmacs is a good idea. Unfortunately it don't attract much attention, it is still not very mature as Vim or Emacs. I hope the community could pay attention to Texmacs.
Why expend manpower and energy improving a working solution just to do so when you have so many other broken things that need fixing first?
That's a fairly self-answering question. There's a reason the expression is "If it's not broken, don't fix it".
We have tools that have virtually been unchanged for over 20 years. While the consistency and stability has been nice, there has been a lot of good things that have happened in software development and technology that those tools could really benefit from. You're honestly going to tell me you don't think that taking a second look at these tools and seeing how we could improve them would be a good thing?
What you're basically advocating is nobody should innovate because things are "good enough". With that sort of attitude we would never have any progress on anything.
Nobody thinks it's a good idea to rewrite something just to make it "newer". The idea is to rewrite (or maybe just refactor) these tools to make them better.
It's also not "fixing what's not broken", but improving something that could... well... be improved.
While the core interaction remains unchanged, 20 years ago was before bash 2.0. The version running on my laptop, bash 4.2, was released in February 2011. The development speed hasn't been blindingly fast, but it's a fairly mature project with scripting support (so less need to extend the core than some projects have), and there have absolutely been changes even in the last 5 years.
markdown is perfect for forum comments, but idiotic to extend too far. if you’re a programmer wanting to write a book in markdown, you’ll find yourself thinking of markdown syntax extensions more than thinking about the book.
if you want extensibility and still a rather lightweight syntax, try restructuredtext. it has exactly one flaw compared to markdown, which is the hideous inline link syntax (which practically forces you to use named links). that makes it less suited for forum comments (where you might want to quickly inline 1-2 links), but perfect for books (where you can neatly specify your link targets below the current section)
Or you could just use LaTeX, which has been used for writing books for decades (the word you're looking for is "debugged" and the phrase is either "well understood" or "well documented").
And yes, there are efforts underway to improve it (LaTeX3) but 2e works so well, there's not been much drive there.
And if you find LaTeX is so hard, there's always LyX...
>which has been used for writing books for decades
Well, mostly math and science books. Very few (if any) fancy and well typespeced books by major publishers have been made with LaTeX. I know, because I know that industry. So, while TeX was once created to be a general typesetting solution, it has been relegated to something math and cs geeks use for their papers.
>And if you find LaTeX is so hard, there's always LyX...
A not really maintained, relic of a program, that tries too hard to work around the issues raised by a backend like LaTeX that wasn't really created with such GUI control in mind.
>Very few (if any) fancy and well typespeced books by major publishers have been made with LaTeX. I know, because I know that industry.
What do they use, then? (I'm actually pretty curious, because I am writing a dissertation that I currently build with LaTeX, but I find it much nicer to write in Org mode. I'm doing whatever I can to avoid a hard dependency on LaTeX for the backend, and to allow exporting to multiple formats.)
Why do they use whatever typesetting solution(s) they use? Does it actually produce better/nicer output than LaTeX (for non-math text)? Does it just have nicer syntax or friendlier error messages? What's the advantage?
You might give more credit to the hundred or so people (all the equivalent of our PhD graduates today) who were doing the actual work for him.
Edison's contribution was to pay them enough so they could eat and live, and point them at a project.
And Edison's an even more interesting example to bring up in a Jobs discussion because of the whole history between himself and Tesla (and if nothing else tells you about the man's character, the elephant-electrocuting nonsense during the current wars would tell you all you needed to know).
> Edison's contribution was to pay them enough so they could eat and live, and point them at a project.
Edison's long string of inventions suggest his contribution was far more than that. (And the money used to pay his staff came from his prior inventions, Edison was not born rich.)
> elephant-electrocuting nonsense
We find that reprehensible today. But people at the time did not, and it's better to judge him in the context of his time.
> It's well agreed upon that paper trading is nothing like trading with money on the line. It's ALL about psychology.
It's also pretty well agreed on (mainly from scientific studies into the actual results of investors) that this is not only bullcrap, but believing it's true was a major contributing factor in the enormous economic disaster we're all still living through right now. I'd like to say how galling it is to see someone hasn't learnt the basic hubris-based lesson we paid so much for -- except that I really can't express that in words adequately.
>It's also pretty well agreed on (mainly from scientific studies into the actual results of investors) that this is not only bullcrap
Are you sure you actually understand what nicholas actually argued? All nicholas (as well as me) wrote is that your decision making changes completely when you have something on the line. And of course it would! So what are you talking about?
When I say money on the line, it really means your own money on the line. The disaster you refer to is when people trade other people's money for a share of profits but no liability.
You do get, don't you, that there's no real difference between personal wealths of $100 million and $1000 million? And that there shouldn't be? Why do so few people get that there's a ceiling here? You earn enough money so that you can live off the interest of what's in your bank account, and congratulations, your financial worth is now $MAX.
Seriously. $MAX is a real thing in the real world. It's where you can stop working for money and start spending all your life with your kids, or doing the things you want to do regardless of the mortgage and the food bills and the school bills and so on.
Folks who think $MAX is a naive concept... need to grow up a little bit and remember that life ends and if you don't enjoy it during it, you don't get to enjoy it afterwards.
There is a big difference. A person with a wealth of $100 million shouldn't be called a billionaire which is why I wrote that comment. :)
I don't get why you wrote what you did as a response to mine; I just made a factual correction. (I even stated that the point still stands.)
Edit:
This was not an argument over the meaning of the word 'billionaire'; the post I replied to likely assumed that Wozniak was a billionaire (defined in the way that over 99% of Americans would understand it) and I mentioned that it doesn't seem that is the case.
If you're arguing about the alternative definitions of 'billionaire', it could have been an interesting sidenote, but ultimately the definition that I am using is what most Americans (i.e. the country Woz lives in) would assume and to use another definition in this context is poor communication.
The whole point of the post I responded to was just saying that if Woz wasn't working with Jobs, he might not have been as rich as he is now; no judgment was made on what it means to be "rich enough", etc.
Because if you want to argue over the meaning of the word billionaire, you start with why we shouldn't have changed the meaning of the word billion :)
When you're talking about personal wealth, there's a real danger of money going from a tool to do stuff; to being a way to keep score. And that latter road leads to the worst kind of arsehole-ry (damn, that needs a better word).
> It turns out people like Woz need people like Steve Jobs, and people like Steve Jobs need people like Woz.
The former is truly unlikely and the latter is desperately true but omits the context completely and paints things in an almost pleasant light which frankly seems wrong to me.
It turns out that people like Woz have a completely different metric for things like happiness and success than people like Jobs. If Jobs had been hit by a bus before Woz met him, Woz would have gone on to have as long and happy a life as he's had because he'd still have made cool stuff and that makes him happy (something most of us, I would guess, can grok). He wouldn't, in all likelihood, ever have had a problem getting work doing fun stuff because talented people are rare and so tend not to have that problem. And he'd probably have made enough money to be comfortably well-off, he might even have struck it rich, but it wouldn't have been a necessary condition for him to be happy and fulfilled.
On the other hand, had Woz been hit by a bus, Jobs probably wouldn't even be a footnote in history at this point and would have died miserable because his metric appears to have used the accumulation of wealth as the definition of success and happiness; and he wasn't capable of building things without guys like Woz. Guys like Jobs, without guys like Woz, are generally just unproductive drains on society. Wooo, you had a long-term vision for a new product. Yes, you're special. Because nobody else ever watched star trek and then thought a tablet computer would be neat. Nobody ever read or watched science fiction and thought to try to make the gadgets described in there.
Yeah, right. I know who I'd point my son at as a role model, and it's not Jobs.
Churchill's an interesting example to bring up in what has become a thread about hero worship. The man was revered during the war and in all the gosh-wasn't-it-a-romantic-age reminiscences since; so much so that they gloss over things like his having proposed the Battle of Gallipoli and being sacked from the cabinet for that; his being the first person to push using gas on the Kurds (beating Saddam to it by quite a few years); and him being the only wartime leader to be ousted by a landslide majority before the war ended (and thus getting himself chucked out of cabinet in both world wars -- I don't think anyone else managed to do that either).
It does rather support the idea that hero worship is a really bad waste of time at best, and downright dangerous at worst...
> And yet, who else in modern history has driven as many companies to such such success, and lead the creation of so many great products?
On the former, it's a fairly modern phenomenon for anyone to start multiple companies that succeed and grow to a large size (unless you look at historical periods now recognised as having been infamously financially unstable, like the Dutch tulip boom years). Those who were equally if not more successful than Jobs just didn't bounce from company to company, but invested their efforts in one place.
As to the latter question, I think you'll find that there are quite a few people who could lay equal claim to (a) producing that many great products, and (b) having created the products Jobs is credited with.
Personally, I think you're all overlooking something. The people who work in our industry are by and large professionals. And a professional does what the boss says because that's what the salary is for. It's not like we get the salary anyway and then do what the boss says if we feel like doing it or think he's inspiring enough!
So, to give an anecdotal example, when the iPad prototype comes to Jobs and he does that fish tank routine and says "aha- air bubbles, therefore you can still squash it down more", that's just being an arsehole to people who work for you. What, you think they had a dozen prototypes just so the boss could dunk one in water, destroying it? They're paid so that if he says "squash it more please", they go do it. That's what engineers do. The teenage drama queen nonsense isn't required.
And if you believe the arsehole-ness is a necessary thing to be a genius and get things done, you have been watching far too much House for your own good.
Honestly, the more you learn about Jobs, the less you see that you'd hold up to your kids as a role model; whereas the more you learn about Wozniak, the more you see that you'd hold up.
And we're still only talking about the technical work; nobody's commented yet on the moral issues surrounding the actual manufacture of products like the iPhone. Lovely device; but is that worth the human abuse it takes to manufacture it?