Ask HN: How much coffee do you drink as a programmer? - <AUTHOR> After resisting for years buying a coffee machine, I finally got one. At work I'm drinking 2-3 a day but staying at home all the time seems to make me drink more.
How much do you drink? What's your normal intake? <comment><USER2> A while back (couple years) I started tracking how much coffee I drank, and (roughly) when.

I created a simple Mojolicious webapp, putting data on a SQLite database. I later expanded it to accept/use an "API key" with which I could track my coffee intake, or get how much I drank already and when was my last cup, "simply" by running a simple bash+curl script. The site, instead, displays a neat github-commits-like chart[1] and some recent stats. I have a branch which changes the code to work on Postgres and is deployable on dokku, but I've not yet made the switch to that. I'm still using a mojolicious+sqlite+hypnotoad process running on a cheap VPS.

Since I started tracking my intake, it looks like I drank, on average, 3-4 coffees per day:

        sqlite> select (select count(*) from intake)/(select julianday(max(time_t)) - julianday(min(time_t)) from intake);
        3.7864677548175

Here in Italy's northern region, the quarantine started region-wide on the 8th of March.

        sqlite> select (select count(*) from intake where time_t > "2020-03-08")/(select julianday(max(time_t)) - julianday("2020-03-08") from intake);
        4.20309898028925

It looks like I'm drinking a bit more coffee than the usual, but surely nowhere as near as my most intake:

        sqlite> select date(time_t) as ymd, count(*) as cnt from intake group by ymd order by cnt desc limit 5;
        2018-05-16|11
        2018-03-12|10
        2018-05-15|10
        2018-02-07|9
        2019-06-04|9

Hope it helps! :)

[1]: [https://i.imgur.com/c0DqAGO.png](https://i.imgur.com/c0DqAGO.png)

<comment><USER3> That is amazing. Do you happen to have published the source for this somewhere?

<comment><USER2> I need to clean a few things up before being able to do so, chief among them my initial rookie mistake to name the users table "user", which in retrospect wasn't a good idea when moving the thing to Postgres - so while I've got a neat little "migrations.sql" that has served me fine over the various versions, it just can't work when ran against Postgres.

I'll fix it up in the next few days and will reply in a comment once it's available.

</comment></comment></comment><comment><USER4> I've been trying to stop drinking coffee for a while. I would have two strong coffees a day and a first thing in the morning.

First, I was surprised to find it doesn't make me productive at all. I've been tracking my distractibility levels as a measure of my focus (I have a manual counter by my desk) and record my daily times in spreadsheet with notes for those time blocks when I drank caffeine. My distractibility goes up by 100% on average ...

Yes, you get an energy and alertness boost but in my case it's funnelled into lack of focus. It's tricky because it works but you lose.

Secondly, having black coffee every morning on empty stomach led to some stomach issues that are now gone. I also had regular migraines (turns out migraines are dopamine related - i.e. caffeine)

I went cold turkey - headache for days. Then I put up a spreadsheet on the cupboard in my kitchen and made a commitment with my gf to only drink 3 coffees a week, each logged.

Now I keep it at 3 a week and I drink them strategically.

Instead of going for the coffee first thing in the morning I leave it for the moment, mid day on days when I actually need the boost, instead of ruining my natural energy right in the morning. This makes me super productive.

I have no migraines, good solid energy and better focus throughout the day and when I actually drink a cup I really feel the caffeine in my brain (it feels just like a drug) and benefit from it.

</comment><comment><USER5> In [https://daringfireball.net/linked/2017/11/13/coffee- cardiova...](https://daringfireball.net/linked/2017/11/13/coffee- cardiovascular-disease), Gruber writes:

> I like that 5 cups of coffee per day qualified as "moderate". That's right > around what I consume.

My immediate thought was "that's crazy, if anyone I know were to drink that much, he'd get mighty uncomfortable or even ill with shaky hands, a punishing heartbeat and heavy sweat". I told my colleagues. One replied and pointed out that the Americans dilute.

All the measurements in the comments so far are useless for drawing a conclusion. We should use milligrams of caffeine consumed and the body weight to have a sound basis for comparison.

</comment><comment><USER6> No coffee for me, I prefer tea (without milk :D)

I used to drank coffee when I didn't have enough sleep or had to go to the office before 10 AM. My body never reacted well to the coffee and it got worse when there were morning meetings.

Since I gave up on the office completely I don't need more coffee and drink it maybe twice per year just to enjoy its taste if I am in the right mood. Sometimes I envy people who can have 2-4 cups in a day and be fine as coffee nowadays is too good to ignore it. Anyway, as for me I get too much dizzy from it and feel like a hungry squirrel from the "Over the Hedge" squad.

</comment><comment><USER7> 10-12 on a work day, have done for 20 years. When I'm off I end up having 3-4 during the course of the day but certainly feel more sluggish on those days.

I took a break for 4 months a few years back (to see if I could) and really struggled to keep my eyes open, even with 8 hours sleep on a normal day.

I don't have any issue sleeping and no negative effects from large volumes of coffee. I drink high strength coffee.

This is also probably offset because I drink a lot of water during my day as well. Again probably 10+ pints of water during the course of the day. I'll drink water no matter what I'm doing. I can't fathom how some people go hours without water, to me it's the most important thing for my brain function.

</comment><comment><USER8> A piece of advice: Every day, once a day, give yourself a present. Don't plan it. Don't wait for it. Just let it happen. It could be a new shirt at the men's store, a catnap in your office chair, or two cups of good, hot black coffee.

<comment><USER9> The rare Twin Peaks reference on HN. :)

</comment></comment><comment><USER10> Once upon a time, I drank about 3 a day. Then I would start to get headaches after a month or two, and had to take a break from coffee.

Then I started drinking 2 cups a day. Now it took longer for the headaches to appear, but eventually they did. Especially if I didn't drink for a day, the next day headache would probably emerge.

Now I drink 1 cup a day. No headaches. And frankly, 1 is enough. It's the same problem with every form of indulgence - it's not about the quantity, but the quality.

</comment><comment><USER11> Zero. Probably an outlier. It doesn't do me anything.

<comment><USER12> Zero here too. I hate the taste. I hate the smell. And I'm French, so usually people have a sort of look of disbelief when I say that.

<comment><USER13> I hate the smell too. I commented to a friend that coffee smells like canned tuna. She thought I was making it up, and Googled it. Turns out, I'm not the only one:

[http://thefrenchexit.blogspot.com/2012/02/why-does-coffee- sm...](http://thefrenchexit.blogspot.com/2012/02/why-does-coffee-smell- fishy.html)

</comment></comment></comment><comment><USER14> I have found strong, loose-leaf tea to give me a much better energy profile than coffee, and it seems to be healthier. There is also quite a variety in different types.

<comment><USER15> I also prefer loose-leaf green tea. To me it feels more gentle, coffee tends to make me nervous and my stomache complains. I still occasionally drink a cup of coffee when I have to go somewhere very early (which for me is anything before 10am) and I need the sudden caffeine rush to overcome my sleepyness.

</comment></comment><comment><USER16> Not currently working as a programmer, but I have worked as one in the past.

I only drink decaf, and I will have a cup a few times a week that I make as a pour over for myself. If I am feeling crazy, I will make two.

I am very sensitive to caffeine, and it impacts my sleep very negatively. I tried decreasing caffeinated coffee to half a cup early in the day (e.g., 8 or 9 am), and it didn't matter. I sleep much better when I don't drink caffeinated coffee (or any drink that has very much caffeine).

That said, my understanding is that decaf actually has a small amount of caffeine, but it does not seem to impact my sleep at all. I wonder if the amount of caffeine is actually that low in decaf.

</comment><comment><USER17> I drink around 7 to 8 times a day. People say it's bad, but who cares.. I'm just enjoying my coffee and a good smoke everyday.

</comment><comment><USER18> Real Programmers Drink Tea, have you not heard?

Anyway, 1 a day, max. Tea on the other hand is not counted in cups but in litres, the cup I use holds about half a litre. I go through 3-4 of those on a good day, 1-2 in the evening. During the day it mostly contains a darker fermented tea variety - I buy it by the kilo - usually labelled 'Ceylon', often with some form of horse on the packaging and a horse-related name even though they're different brands. In the evening I often have some green tea, either plain green or jasmine or with star anise. For all-night hacking sessions I like to use a mix of jasmine and Lapsang Souchong (smoked tea).

</comment><comment><USER19> I quit coffee as part of New Year's resolution. I started feeling nauseous in the morning if I drank a cup of coffee in the afternoon the day before.

Once I quit, I thought I'll be less productive, and that I won't be able to focus, but after a week or two, my body recovered from the caffeine addiction.

I started drinking black tea - two cups per day. It's still caffeine, but in far less amount.

I miss coffee, though. I miss its smell and taste and somehow I correlate coffee with work satisfaction, creativity, and being productive. It's probably because the coffee is marketed around work culture, and I bought that.

<comment><USER20> Also quit coffee to switch exclusively to green tea. I was just getting too much anxiety. I definitely feel much calmer without coffee. In general for I think I was a great move, I work a little less, but when I work it tends to be on more relevant things.

I'll typically have one cup of coffee one day on the weekend, especially if I'm going to do something to burn the energy (hiking/biking).

EDIT: technically not a programmer but a grad student in a computational field, but I think it's very similar work mentally

</comment></comment><comment><USER21> Pre lockdown:double-shot when I wake up wile the Keurig was heating up, then a cup of coffee. 5-shot latte on the way to work, sometimes a 4-shot afternoon latte. I gave up coffee once in the 90's for a month. I felt rundown and was very congested; I thought I had the flu. One day walking through the breakroom I was walking past the coffee pot and had to have a cup.i felt a bit better and went back for another. I felt better still. After 5 cups, I felt fine and my congestion was gone! I never cared after that how much coffee I drank as long as I got enough.

</comment><comment><USER22> None.

I've never liked the smell/taste, and on the occasions when I get some caffeine from a different source, I find that, at most, the effect I get from it is a bit of jitteriness and a headache later on.

</comment><comment><USER23> I've had about two cups of coffee in my whole life but I'm addicted to tea. Especially good quality senchas.

At work place I was drinking about 2-4 x 450 ml per work day. Now at isolation home it's 2-3 cups (maybe 200-250ml per cup) every work day.

Not sure, if the reason for lesser tea consumption at home is because my 450ml pot is at the work place or because I have better concentration at home and less distractions compared to the noisy open office...

</comment><comment><USER24> Minimal.

Even with the increased alertness, it steals away that productivity from the next day, often resulting in a net loss due to lack of proper sleep.

It increases alertness, but reduces focus.

Reminds me of a friend's remark on why he quit pot: "the scary part was it really convinced me I was productive in my day when in fact I was not"

</comment><comment><USER25> None. I have two at most cups of caffeinated tea in the morning on a work day, and that's it for the day. I have a very low tolerance for caffeine, a little goes a long way. And I've fallen into the trap in the past of starting to rely on it, which turned out badly, stress, sleep deprivation, etc.

</comment><comment><USER26> Now that I'm working remote & holed up in my apartment all the time, none. I got some of the DOOM Eternal branded G Fuel for the game launch, and it's strong (300 mg of caffeine per serving...and it's spicy lemonade, which sounds weird but it's delicious) so I have that on occasion in the morning to recover from a night of bad sleep. For the most part been staying away from the caffeine though and I've adjusted to it pretty well.

As soon as I get back in the office though, I'll probably be having 3-4 cups a day. Sometimes cold brew, mostly just black coffee. Occasionally I just do tea. Part of it I think is I just have a bit of an oral fixation, so drinking something helps me vape less (I used to smoke) and eat less (mostly sedentary lifestyle unfortunately)

</comment><comment><USER27> None. For whatever reason, I just don't care for the taste of either coffee or tea.

That isn't a health thing either, I simply csn't understand the appeal of these types of drinks and have never liked the taste of any I've tried.

</comment><comment><USER28> Zero. While coffee smells nice, it all tastes like ash. No, it is not burned; I've had pros coax me into a sip of the best they know. Ash. Also, I get tired when I take caffeine. The best pick-me-up for me is a light, high protein snack.

</comment><comment><USER29> Used to drink 2 cups a day. 1 after waking up and the next as soon as I reached the office. As coffee affects my sleep quite badly, moved to having only teas during the weekdays and enjoying the coffees at the weekend.

</comment><comment><USER30> I used to drink very little but then the office reduced the friction of getting a cup of coffee by installing a machine which grinds and brews espresso. Now I am on 3-5 cups per day but slowly reducing my intake.

</comment><comment><USER31> I have done many regimens.

My current pre-quarantine schedule was:

Morning 1x long black at a cafe near the office with a colleague

Rest of work day (plus minus 1 on each item) 2x long black from machine in the office, 1-2x long black with another colleague(s) at a cafe

Home (around 5-6pm) 1x long black

Current WFH schedule is: 2-5x long black roughly every 90 mins.

I enjoy the ritual of making it (plunger) and the warmth. I don't think I get a buzz anymore, but the odd time I do, I love it.

I don't get any noticable side effects, and have gone periods 1-4months without drinking it with no adverse effects.

</comment><comment><USER32> Once upon a time I used to have 6 to 10 (3-5 double Espressos). Nowadays I tend to have 4, 1 double Espresso for breakfast and two Americanos, one mid morning and another one after lunch.

Despite what others say I never had headaches or other adverse effects, I just get 'the jitters' if I have more than 5-6. Two weeks ago I quit coffee with my wife as part of an elimination diet and again I haven't felt any side effects, although I do miss the flavour and feel more tired at times.

</comment><comment><USER33> Between 0 and 8 cup per day, depend of the day.

\- When I'm traveling or on holidays 0. I travel regularly in countries without coffee culture and jet lag with coffee is a terrific mix.

\- In normal day of work around 5 including 2 in the morning.

\- In heavy day of work with many meetings around 8. I tend to prefer good technical/design discussions around a coffee instead of endless (useless) PowerPoint session. It's in my experience both more efficient, human and brief.

</comment><comment><USER34> I don't drink coffee, just water or tea sometimes :)

</comment><comment><USER35> Probably 2-3 per day for me.

Side note: One of my favorite authors Michael Pollan recently published a short audiobook on the effects of caffeine, some of the history behind it, and his experience going cold turkey for a few months. Really quick and interesting 2 hour listen. It's called Caffeine.

Thought I'd share since I found out about his last book "How to Change your Mind" on HN and found it fascinating.

</comment><comment><USER36> A lot - around 6-8 cups/day

I have one large mug of coffee first thing in the morning (~3-4 cups). I then have a mug of half-caff coffee in the late morning, another mug of half-caff in the early afternoon and occasionally an additional mug in the late afternoon.

I have gradually been cutting back on caffeine, mostly by slowly transitioning to more half-caffeine coffee.

</comment><comment><USER37> I drink my real coffee at breakfast: two strong cups of a dark roast. At the office, I will get a couple of cups of cafeteria coffee in the morning--I don't regard it as serious coffee, just as something to sip in the course of the day.

Over the last six weeks I haven't been to the office, so the two strong cups at breakfast have been all I have.

</comment><comment><USER38> None at all.

If you're not used to coffee, you need it less.

</comment><comment><USER39> Zero. 1-2 cups of tea (usually black, but sometimes Chai because my flatmates prefer that).

Guessing my average per day would be 1.5 cups or so.

</comment><comment><USER40> I like the taste of coffee but is no impact on my body: I am not more alert, I can go to sleep right after a coffee and I have no problems with sleep.

I usually drink 4 or 5 Nespresso cups. Sometimes 6 or 7.

I can go without anytime, but I would then sometimes miss the taste and the whole "sitting in the hamac/couch with a coffee"

</comment><comment><USER41> I prefer extremely dark, almost charcoal roasts (which actually have less caffeine) of Colombian or Indonesian origins. Roast them myself in a pan over a gas stove. I can drink 3-4 mugs of Aeropress coffee, 17g beans per cup. This, and smoking a pipe of a good English or Oriental tobacco, absolutely heaven.

</comment><comment><USER42> I make a 1 litre cafetière of coffee most days, which makes three mugs of coffee. I use about 50g - 60g coffee per cafetière. I have a Bodum Columbia which is insulated to help keep the coffee hot for a couple of hours. And I try not to have more caffeine after my morning coffee.

</comment><comment><USER43> I don't drink coffee at all. I don't get the hype. It makes some people addicted which is scary.

<comment><USER44> Coffee doesn't work for me too. Sometimes I feel sleepy after drinking coffee.

</comment></comment><comment><USER45> Since quarantine and WFH I'm pretty sure I've been overdosing. Earlier this week I was feeling anxious, jittery, and dehydrated. Detoxed from caffeine Wed-Fri and today (Sat) feeling much better. Will ease back into 1 cup a day and drink more water.

</comment><comment><USER46> In my experience being in the office causes me to drink more coffee due to the social aspect of it. I got my self espresso machine last xmas and am now only having 2-3 espressos a day where before I was perhaps having 3-5 big mugs of strong coffee.

</comment><comment><USER47> I don't drink coffee. I prefer to sleep when I need rest. But I trink a lot of water. And as I like it cold I am fetching new once throughout the day. That gets me away from the screen and allows me to talk to peers (who drink coffee).

</comment><comment><USER48> I drink 4/6 espressos every day.

There is no correlation, beyond any doubt, with the quality of my sleep (I've tracked my coffee drinking and sleep patterns for a long time), as long as I don't drink any after a certain time in the afternoon!

</comment><comment><USER49> I never had coffee. I drink Diet Coke and I enjoy tea ( I have some once every week or so ). I have been writing code for over 25 years now, and I never felt that I was missing out but then again not sure I'd know either way.

</comment><comment><USER50> I make a cup using full immersion method in the morning. If I am still tired after lunch, I might make a second cup.

That is it, I don't go over 2 cups. I try to make the second cup before 2pm my time.

</comment><comment><USER51> Used to drink 6-10 cups a day, even one at bedtime.

These days, it's one or two in the morning for breakfast. I find I work better if I am more relaxed than if I'm wide awake. All-niters are a thing that is gone decades ago.

</comment><comment><USER52> I thought I drink too much, but reading the other answers, seems I'm on the safe side :D

I drink 3-4 cups/day (each cup, with one teaspoon of Amigo coffee and quite a bit of milk :P)

</comment><comment><USER53> I don't drink coffee. Or tea. Or energy drinks. I get me enough sleep, such that I'm waking up naturally before work, and then I just… do it. ¯\\_(ツ)_/¯

</comment><comment><USER54> I work from home, use an Aeropress, and drink between 4-6 cups of black coffee per day. Once it starts getting late I'll sometimes throw in a cup of green tea.

</comment><comment><USER55> Probably like a gallon altogether from all sources, sometimes more. Cheers me up knowing that soon I'll be so intense

I actually think the jittery feeling is the best part

</comment><comment><USER56> I drink 1 cup every morning, and sometimes part of a 2nd cup after that.

When I was still working in an office I'd often have a double espresso after lunch as well.

</comment><comment> non-entity Not a lot. I'm not a huge coffee fan, I'll drink it if it's free and theres nothing else and occasionally I'll buy one, however.

</comment><comment><USER57> I don't drink any. I take power naps if needed.

</comment><comment><USER58> Zero.

My body doesn't like coffee. Trust me, I tried, for a good decade. It used to be good between me and coffee, but not so much anymore.

</comment><comment><USER59> 3-5 a day. Usually 2 in the morning, one right before lunch.

Sometimes I'll do one in the afternoon and/or a decaf after dinner.

</comment><comment><USER60> 2 espresso, one once awake, one after lunch

</comment><comment><USER61> I take some vyvanse in the morning along with a tall boy of Starbucks espresso mocha and I'm good for the day

</comment><comment><USER62> Two first thing in the very early morning, one after the other. Maybe one in the afternoon... Or a nap

</comment><comment><USER63> not a programmer, more of an admin :-P

but, 4-8 cups of black no sugar coffee a day... 2 in the morn, one after lunch one at about 3pm. that is a typical minimum.

Any more is typically because I didnt get enough sleep (gaming watching movies working etc). I try hard to not do that now, but it sneaks in.

</comment><comment><USER64> Between 2 and 8 cups per day. Usually switch to tea or water later in the afternoon.

</comment><comment><USER65> 2 capuccinos/lattes: breakfast & after lunch. I get more milk than coffee.

</comment><comment><USER66> Don't forget for smokers that your body metabolises caffeine around twice as fast

</comment><comment><USER67> I quit a few weeks ago, after switching to decaf a few months ago.

I am happy to be able to sleep.

</comment><comment><USER68> How much coffee do I drink as a programmer?

All of it. Programming is the only job I have.

</comment><comment><USER69> One after breakfast, one after lunch. Any more and my nerves feel jangly

</comment><comment><USER70> Regularly 2 cups a day. One after breakfast and another after lunch.

</comment><comment><USER71> About 3/4 of a large pot, so about 3 large coffees

</comment><comment><USER72> About half a liter... more when I work. I love it :)

</comment><comment><USER73> Easily 2 pots for me, probably average 6-7 cups.

</comment><comment><USER74> ~10 cans of diet soda per day.

<comment><USER75> I'm with ya, it's horrible but gets the job done. Can't stand coffee and tea just takes too long (I do enjoy it though)

<comment><USER76> Same, used to be reg. soda though. Now it's diet Barq's, diet cherry pepsi, or diet mtn dew. Lost a bunch of weight switching to diet a few years back.

</comment></comment></comment><comment><USER77> 3 cups espresso a day

</comment><comment><USER78> 3 cups a day.

1 after waking.

1 before standup at 10am.

1 at 3pm.

More ruins my sleep.</comment>


Zynga is PRINTING MONEY. Breakdown of how they got to IPO (infographic) - <AUTHOR> http://namesake.com/blog/2011/07/infographics/road-to-riches-zyngas-path-to-ipo/

<comment><USER2> This article is basically a ginormous infographic. I'm a design whore as much as the next designer, but I really don't see the point of most of these things. This particular one, it seems, is basically a distillation of the company's Crunchbase page[1], taking cues from Zynga's logo for a color scheme and, of course, using Helvetica.

1: <http://www.crunchbase.com/company/zynga>

</comment><comment><USER3> Are the printing presses slowing down? In the "Revenue and Profitability" section towards the bottom, 2011 profits estimated to be almost half of 2010 ($90M -> $47M)</comment>


Hardware Engineer: looking for job in Silicon vally - <AUTHOR> https://www.linkedin.com/profile/view?id=AAIAAAMirM4BCAG8-UBdlHmqjFqbITi3NzlO3dM&trk=nav_responsive_tab_profile

<comment><USER2> In addition to the listings from YC-funded companies under "jobs" in the top menu, there's also a set of monthly submissions from the automated "whoishiring" HN user:

[https://news.ycombinator.com/user?id=whoishiring](https://news.ycombinator.com/user?id=whoishiring)

See the "submissions" link on the above page. The most recent are:

Ask HN: Who is hiring? (August 2015) [https://news.ycombinator.com/item?id=9996333](https://news.ycombinator.com/item?id=9996333)

Ask HN: Freelancer? Seeking freelancer? (August 2015) [https://news.ycombinator.com/item?id=9996334](https://news.ycombinator.com/item?id=9996334)

Ask HN: Who wants to be hired? (August 2015) [https://news.ycombinator.com/item?id=9996335](https://news.ycombinator.com/item?id=9996335)

The "hiring" and "freelance" submissions might have some useful leads for you. Lastly, the HN site guidelines prohibit job related submissions outside of the "whoishiring" threads.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment>


Acceptance Tests as Specifications - <AUTHOR> http://blog.thesoftwarecraft.com/2013/12/acceptance-tests-as-specifications.html

<comment><USER3> This feels like moving the problem from one bucket to another.

Instead of crappy specs you end up with crappy tests.

the issue is always the inability of the business to define the process - <USER2> particular the edge cases but even then sometimes the focus is on the edge cases and the mainstream improperly defined as a consequence.

Gotta keep looking for solutions though...</comment>


From VNC to reverse shell - <AUTHOR> https://blog.benjojo.co.uk/post/qemu-monitor-socket-rce-vnc <comment><USER3> >Once again, the world of security is complex and surprise features can often be fatal

This. And for me, as an application developer, who is now (willingly) ushered into being a DevOps engineer on the side, it is scary that the tools in the DevOps world are so easily exposing me to security risks, whereas a seemingly much smaller set of best practices on the application side seemed to have been _fine_ when that was all there was to my world.

<comment><USER4> In my book, the biggest difference between a sysop/devops guy, and an application developer is a broad scope vs a deep scope.

So, as a developer with an application with a simple internal security model, yeah. There's going to be a couple of guidelines, and those will setup a pretty hard surface for that application. For our internal application, well. That security model is hell - I don't understand it and try to avoid it. And we got some picky enterprise customers, that's where the simple guidelines don't work anymore. :)

On the operations side, you can impact each application less, but you have so much more stuff to individually deal with in a quantitative sense. For our SaaS clusters we have to secure 15 - 20 different applications. And for a lot of these applications, we're the one and only line of security - you just have to operate a mysql/postgresql database properly, these systems are pretty secure on their own.

And that's just data security. How many developers do think about backups or disaster recovery for all of this mess. Not saying this is bad - this isn't a job for developers, because it's a lot of work. It's mostly a point against the notion of NoOps.

<comment><USER5> Just remember that NoOps isn't actually no operations. That's the cargo cult version of NoOps. Instead it's outsourcing operations and relying that the outsource vendors operations team will do a better and more accountable job than any internal team you could build.

So, a database service instead of a locally managed database and a reliance on the service vendor to back things up, keep the code up to date and manage reliability. That's not a bad choice but you still want someone with the judgement to evaluate vendor claims, performance, exceptions and the like.

</comment></comment></comment><comment><USER6> In this case what I would recommend is to put the entire server off the internet, on a separate network segment where it can only talk to a proxy for VNC & web sockets or whatever is needed to make the functionality work.

That way even if the machine does get rooted, it's very unlikely that any damage can be done (it would have to then try and compromise the proxy - <USER2> over VNC because you can't even get a reverse shell yet - just to be able to gain unrestricted outbound network access).

<comment><USER7> The service being offered is a VM which can let people do nostalgia trips.. including running IE6 on windows 98.

It would be much less fun if the server didn't have network access.

</comment></comment><comment> yjftsjthsd-h If author is reading here, there's a typo: "While looked for the code repository so I could fix it," is missing a word between "While looked"

</comment><comment><USER8> I wonder if this works at kvm vps providers like Digital Ocean or Vultr. Or the smaller hosting providers with a solusvm and whmcs setup...</comment>


Ask HN: Validate this startup idea - <AUTHOR>

The idea is to create a "Wikipedia for statistics", pulling a ton of statistics about everything and putting them in one place where they're easily searchable and filtered by tags/keywords.  Content would be spidered as well as user-submitted, with sources needed to guarantee accuracy.
Is this a good idea? Who would be the main users? How could it be monetized?  It seems like a pretty obvious product so the lack of existing alternatives concerns me.
I appreciate the input from the HN community! <comment><USER2> There are already several stats sites , especially for economics. I recall using those sites when I was in B-School.

Now, <http://www.wolframalpha.com/> is my go to site for all my stats related searches.

You should talk to B-School students and find out what they need to change their search habits.

</comment><comment><USER3> I like the idea - I myself run into lots of times where I am looking for random statistics that I need for a presentation, report, etc. Few things to consider:

\- I like a freemium/subscription model. Even if the freemium model only allows the user to find such statistic. Ex show the user "X% of mobile users use their phone in the bathroom".

\- I'm more worried from a profitability standpoint. Can you procure licenses for the data (remember that if you just buy the report, you don't have the license to sell it again) and still turn a profit?

\- Maybe you can follow a more affiliate model. Often times, I find it difficult to just find which reports can give me the data I need. Perhaps some sort of indexing service for reports - ala Google Book/Scholar search.

Good luck!

</comment><comment><AUTHOR> Our initial thought was to focus on consumer demographic statistics for small/med size companies to use when evaluating consumer habits and trends. Currently, that information is all over the place in different reports costing up to $5K a piece. We were thinking about a freemium/subscription model and open the market to businesses that don't necessarily want to spend $5K on one report; statistics like "29% of college students in the U.S. own smartphones".

Wolfram Alpha is more of a computational search engine than a stat search engine, so IMO the overlap is minimal.

Good idea to talk to B-School students; that's definitely a segment of the market that might be interested in something like this.</comment>


A Short Story for Engineers - <AUTHOR> http://cs.txstate.edu/~br02/cs1428/ShortStoryForEngineers.htm <comment><USER2> I like the values that jokes like this reinforce (simplicity, creativity, and proactivity versus complexity, expense, and bureaucracy) but I wonder if they serve a positive purpose in engineering culture. Do we tell these jokes to keep ourselves on our toes, to make ourselves better? Are we really in danger of forgetting which is better, simplicity or complexity? When we create complex and over-engineered systems, is it because we forget that simplicity is better?

I don't think we do. I think we tell ourselves these jokes to contrast good engineering with bad engineering and to congratulate ourselves for being on the right side. A good joke would lead you down the garden path, encourage a bit of smugness and then rip the rug out from under you. This joke telegraphs the punch line from the start: it encourages smugness and then vindicates it. A healthy joke would make us uncomfortable about whether we would have been on the right side, whether we are doing a good job of living up to our values. This joke reassures us that the problem is other people's values, and by doing so, it promotes exactly the kind of complacency that it makes fun of.

<comment><USER3> You've clearly never worked in a factory as a low level person who is usually asked last, if at all, how to solve a problem concerning their job. I've forwarded this to my father, who will love it as a person who rose from the shop floor to the highest levels of management and never lost his distrust of "college boys."

<comment><USER2> I don't think your father will like the joke, either. According to the story, the line workers had the ability to fix the problem all along, but they didn't bother until the $8 million system made it personally inconvenient for them when an empty box reached the scales. It makes them sound clever but also rather lazy and selfish.

<comment><USER4> >the line workers had the ability to fix the problem all along

Yes they had the ability, but did the line workers know that empty boxes being shipped was a problem?

There is no solution without a problem.

<comment><USER5> Are the workers so stupid that they think shipping empty boxes is normal?

<comment><USER6> Common sense is not always wrong.

</comment></comment></comment></comment></comment></comment><comment><USER7> My opinion has shifted over the last few years working in plants, and I've now settled on the idea that the fan solution probably needed the eight million dollar project. Without the project, the operator would not have been inconvenienced, nor would they have achieved their goals as soon.

Also remember that the project was _worth_ it - it was returning on the investment. Ideally the simple solution would have been found first for a massive windfall of savings, but industry runs on constant, small, incremental changes over many years. And it takes a very special mindset to invent awesome hacks like the fan trick!

The operator should instead be applauded for making it so no other plant needs to buy such an expensive system!

Edit: also, never underestimate the utility of inconveniencing operators. They will find the most brilliant, clever, and cheap hacks to solve problems. Watching operators is the best diagnostic tool available. When you see a c-clamp or duct tape on the machine, you know exactly what needs workin' on next!

<comment><USER8> One thing that people forget is that the $8 million system works as constant quality assurance. The $20 fan is all good but what if the weight of the boxes increases due to extra packaging? What about if the fan slowly dies over time?

The back up system will always make sure that only the correct boxes pass. I think people should realize that.

<comment><USER9> The point is not that the $8 million system did not work. The point is that it was overly expensive for what it accomplished, _and_ it slowed down the production line significantly enough that some worker went out of his way to implement his own solution. Without his solution, product quality may still have gone up, but production numbers would have gone down since the production line would stop every time there was an empty box on the belt. In contrast, the fan not only increased product quality, but it also had no impact on number of units produced and it cost $20 to boot. Sure, it's not a perfect solution, but in this case it's "perfect enough." (And making it more perfect would still have been several orders of magnitude cheaper than the $8 million system.)

</comment></comment></comment><comment><USER10> This is a cute story about over-engineering and thinking outside the box to find the simplest solution, but anyone with manufacturing experience can tell you that many factories have compressed air lines at each machine, and frequently use it to blow bad parts off off of a conveyor/feed rail.

American manufacturing factories are actually homes to tremendous ingenuity and practicality. To an outsider they may seem loud, dirty, and disorganized, but the engineers inside routinely deal with issues like "how can we catch bad parts before they roll off the line, using spare parts, scrap metal, and a $20 budget?" I have seen some amazing Rube Goldberg feeding systems that can outperform expensive laser/optical/diverter gate packages.

<comment><USER11> A good analogy for the HN community to "To an outsider they may seem loud, dirty, and disorganized" is a LAN party. Are those still a "thing" or am I getting old?

<comment><USER12> They're still a thing, but I don't see the relevance. Many LAN parties _are_ that loud, dirty and disorganized; I've seen enough PCs destroyed by coke spills or similar to believe that the LAN party atmosphere really is as bad as it seems.

</comment></comment></comment><comment><USER13> Great story, and widely applicable.

I worked on a very large process and technology improvement program for a Fortune 50 company. One critical piece of the project was a scheduling system for field technicians. After 100+ effort years (don't ask!) we got it developed and tested, and it achieved the 15 minutes per technician productivity improvement, justifying the massive expense. We then found that we could double the benefit by having them reboot their laptops weekly instead of nightly. (Though the technology architects screamed bloody murder)

<comment><USER14> I feel this - I'm stuck with the worlds worst scheduling system. Explaining to senior management (who have never worked in the field) is to give the tech a workload for N days, and let them schedule their own schedule is more efficient is useless. I probably waste more time with the 2 rather fussy VPN's I have to deal with than any other computing related task.

</comment></comment><comment><USER15> The engineers should be working alongside the factory line. That this often doesn't happen isn't always the fault of the engineers or management.

Back when I worked on the stab trim gearbox at Boeing, it came time to put it on the test rig and load it up. The test engineers gleefully told me they were going to bust my design. So joy for me, I got to go to the shop and get my hands dirty testing it!

By the time I got there, they had my baby all mounted in the custom test rig, with a giant hydraulic ram all set to torture it. There was some adjustment needed, and I lept forward to make it. The union shop steward physically blocked me, and said I was not allowed to touch anything. I was only allowed to give directions to the union machinist there, and he would turn a wrench at my direction.

Jeez, what a killjoy moment for me.

Anyhow, to make a long story short, when they loaded up the gearbox with the ram, the test rig bent and broke, and that lovely gearbox just sat there. Nyah, nyah, nyah to the test engineers and back to the office building for me.

</comment><comment><USER16> > and six months (and $8 million) later a fantastic solution was delivered

In real life the solution applied wouldn't be this one, nor the cheap fan, but some dude being paid peanuts to shake each box by hand.

<comment><USER11> More likely you'd use the expensive scales to measure over/under fills (or tampering?) not just missing tubes.

If toothpaste was your primary cost (LOL, I'm sure its advertising, just like cars and videogames and movies) then if you sell 4 oz +/\- 10% and the new scale lets you run continuously at exactly 3.61 oz rather than "around four or so" then you make almost 10% profit by selling exactly 3.61 oz as "about four plus or minus ten percent packages".

You can change it from a cheesy engineering / management joke into a CS discussion, so you're trying to copy one array into another, but sometimes you have an empty value and you want the output to be contiguous. Solutions?

Or a RTOS type question where you're wanting to squirt out exactly one value 44100 times per second... Solutions?

<comment><USER16> > so you're trying to copy one array into another, but sometimes you have an > empty value and you want the output to be contiguous.

This made me giggle. Thank you Sir.

</comment></comment></comment><comment><USER17> A cheesy, apocryphal story written like a forward from Grandma on a site that looks like it was stolen from 1996? How did it make the front page?

</comment><comment><USER18> This is like an engineering urban legend. I've seen it on here before but the circumstances were different. Last time this was posted it was a Japanese soap factory instead of a toothpaste factory.

</comment><comment><USER19> Similar to the "Knowing where to put the X" story: [http://www.engineering.com/DesignSoftware/DesignSoftwareArti...](http://www.engineering.com/DesignSoftware/DesignSoftwareArticles/ArticleID/4536/The- Hero-Work-of-an-Engineer-is-Knowing-Where-to-Put-the-X.aspx)

Also, the NASA vs Russian space pen vs pencil.

<comment><USER20> I thought of the space pen/pencil anecdote as well, but that story isn't accurate, so I like this one better (even if it didn't actually happen).

<comment><USER21> The pen/pencil thing has the weakness that pencils release small particles and are thus kind of sketchy in low-gravity environments.

<comment><USER22> Yeah. You _could_ just use a grease pencil or thin crayon though.

</comment></comment></comment></comment><comment><USER23> old story, it used to be a USA solution(high-tech, expensive) vs a Chinese factory solution(the fan added by a worker)

<comment><USER24> No wonder so many jobs are being outsourced!

</comment></comment><comment><USER25> This is one of the reasons the engineers at Tesla work on the factory floor. Take the tour if you can, it is great.

</comment><comment><USER26> For me the lesson here isn't as much about engineering as incentives and inclusion. If you engage people who are actually on the front lines in solving the problems, great ideas will emerge. These are the people who understand the problems best, and can be most motivated to fix them.

But in order to do that you have to effectively align incentives for them to solve the problems. If companies treat employees as disposable automatons, and do not allow them to share in the success of the business or benefit from improving workflows, they have no motivation for doing so.

So many companies shoot themselves in the foot by bringing in "experts" when the real experts are right there on their payrolls, but no one is asking them their opinions or creating a situation where they would be inclined to give them anyway.

</comment><comment><USER27> It's a nice story, but anyone familiar with mechanical feeding systems[1] could tell you air jets have been commonly used to reject parts for decades.

[1] [http://en.wikipedia.org/wiki/Bowl_feeder](http://en.wikipedia.org/wiki/Bowl_feeder)

</comment><comment><USER28> There are a couple of points that come to mind. First, management needs to be judicious about how problems get solved. Does it require committee? Or a lone actor? Which department should own it or should the CEO take it on personally? Second, there is no doubt that an organizational approach to problem solving is going to change as a company scales. The path the information took in this parable likely was from customer service to upper management to engineering. A CEO that will accept an $8M solution to such a problem is probably running a multi-billion dollar company. If this had been a $50 million company, no way he would have felt satisfied that it was money well spent.

</comment><comment><USER29> The story doesn't suggest that that the CEO or management staff should have thought of a fan before. It suggests that they should have probably looked into the problem better which may have involved visiting the production line and asking the workers how they would fix the issue inexpensively. Then probably one of them would have come up with this solution, or may be an even better one.

I see people bringing up points like "What if the fan dies?" or "what if the weight of the boxes increases due to extra packaging?". IMHO, these arguments are invalid because of the same reason. Fan is not the solution.

<comment><USER30> It's possible the line workers would have never thought of this solution without having the inconvenience there to motivate them to. You could try to introduce a bonus to the worker who comes up with the most cost-effective and reliable idea though. It is probably very unlikely management staff would do that, since the engineering team has been "stretched thin" already and they didn't want to consult them.

</comment></comment><comment><USER31> I have read this story before and it reminds of the phrase "Necessity is the mother of all inventions". What if that $8M project was never implemented ? The factory worker would then not need to manually go and remove the empty boxes. So one way to look at it is that the $8M project actually created a _necessity_ to be more efficient and gave the guy an idea to not manually move the boxes by installing a fan which in turn solved the overall problem of empty boxes being shipped. May be he would have thought of all this without the $8M project but what are the odds ?

</comment><comment><USER32> Everybody standing on the sidelines with no skin in the game is always proud to point out the engineer's mistakes after they have been made.

I comfort myself with Teddy Roosevelt's "man in the arena" speech.

</comment><comment><USER14> You'd expect the fancy scales to reject the empty boxes, but instead it appears they just sounded a bell. The workers added the rejection feature once they had an incentive to do so (the ringing bell).

<comment><USER33> Right. If a solution like this were implemented in the real world, it would almost certainly have a "kicker" mechanism to reject the empty boxes without stopping the whole process.

</comment></comment><comment><USER34> I think most engineers are familiar with easy quick hack solutions that are cheap and fast. You want this to have an effect? Tell it to the product monkey overlords or the design "gurus"

</comment><comment><USER35> In 1985 I worked in a factory on a line producing tubes of vitamin A&D ointment (similar packaging to toothpaste tubes.) The filling of the boxes with the tubes was actually done manually, I suppose because ointment is higher margin, lower volume.

We also produced foil packs (like fast food ketchup packets). That machine was the coolest mechanical device I've ever worked with.

</comment><comment><USER36> Alternate take away: Visibility of key metrics/information (bell on expensive machine) is a strong motivator. Worthwhile when considering spending resources on things like creating informative dashboards and proper instrumentation to focus the a team on key metrics.

</comment><comment><USER37> how it is usually done in the fulfillment industry is a scale that changes the track if it is off weight by more than a certain percent (think of how train tracks work). The problem here is tougher than just a toothpaste factory because you can have multiple items in one purchase order and you have to make sure all items are in the box. Stopping the entire line every time something is off with 1 package is never a good solution. With pushing the packages into a 'problem' pile, someone can figure out what is wrong with each one and get things moving again on their own schedule.

</comment><comment><USER38> I think there's a similar story about Fedex being the highest throughput network provider.

</comment><comment><USER39> oooh !! 8 Mill !! I'd like that ..

</comment><comment><USER40> Haha! Nice one! Thanks for sharing! Happy New Year to all!</comment>


JRuby 1.6.0.RC1 Released - <AUTHOR> http://www.jruby.org/2011/01/10/jruby-1-6-0-rc1

<comment><USER2> It's speedy. It's empowering. But it's (stil?) a memory hog. My personal issue with it is the memory consumption. Other than that it's an amazing project.

<comment><USER3> Initially, it will use more memory. But for a longer-running, large application, we usually come out ahead.

We also set the JVM up to a fairly high maximum heap (500MB) which you can tweak back down a la -J-Xmx200M.

</comment></comment><comment><USER4> > Over 2000 commits

I fail to see how this is a major feature. Maybe it fulfills an enterprise requirement?

<comment><USER5> It's an OK metric for project activity.

</comment></comment><comment><USER6> Why on earth would you choose a Java version of Ruby over a C version of Ruby? It seems to me people only use JRuby if they have a requirement for both Java and Ruby projects...J2EE developers?

<comment><USER7> My personal experience was that after trying to set up a connection to Sql Server 2000 for 2 days I tried to access via JRuby and had everything working in minutes.

Very pleasant surprise indeed.

<comment><USER8> I had exactly the same experience while trying to cook up an ad hoc test utility at our startup. I spent two days bumbling around with MRI Ruby and various gems and C libraries -- two days of utter frustration. I eventually realized that I could easily talk to any database with a JDBC library if I switched to JRuby, and that's what I did. Like you, I was up and running in minutes.</comment></comment></comment>


YouTube's original sin - <AUTHOR> http://www.slate.com/id/2249124/pagenum/all/ <comment><USER2> It strikes me as funny that Eric Schmidt _"rarely saves anything; after he reads an important message, the CEO sends it straight to the trash."_

Since, you know, his company is responsible for preserving many things that people wish they could delete. Well, maybe "If You Have Something That You Don't Want Anyone To Know, Maybe You Shouldn't Be Doing It In The First Place"

</comment><comment><USER3> Do you think Youtube's founders are thinking "we should adhered to copyright material more closely", or "we should have deleted all those emails"?

Both sides have a point here (content creators deserve to be compensated, or at least not not-compensated, vs. youtube helped expose media to people who would never have seen/heard some content before).

IMHO, I'd like to think that youtube made reasonable decisions in the past (take down full movies, tv shows). I certainly don't have the data, but I would hope that youtube helped popularized and spread videos that would never have done so otherwise (e.g., numa numa, rickroll).

<comment><USER4> _(content creators deserve to be compensated, or at least not not-compensated, vs. youtube helped expose media to people who would never have seen/heard some content before)._

People should only have the right to earn one's profits in voluntary exchange. The reason for this is very pragmatic.

The free market will not work without artists starving on the street, or taking a part time job to support their art career. Failure in enterprises and dreams is critical to the free market's ability to allocate resource.

The failure of firms quite often become signal to the rest of the market on what not to do. With every failure of a speculation, a business idea, a poor execution, lead further to correct information about consumer's preference and perhaps, the future.

However, the future is very uncertain. Consumers' preference are fickle. Sometime unforeseeable natural events happen. For that reason, speculation, and thus entrepreneurship is a constant activity. Our economic system is a dynamic one, and thus, cannot have an equilibrium that is so often at heart of economic models.

For the reason of satisfying consumer preferences, we must ignore people who insists and demand compensation for their work without giving people a reason to buy.

If that mean breaking the law and ignoring copyright, so be it. If it means that the music industry shrink to 10% of its former size, so be it. If that mean more musicians working at restaurants, so be it.

Why should they make people fork money over something that they would not buy without copyright and government intervention?

<comment><USER3> Maybe you understood me, but what I meant to say was that if you were to watch something on youtube in lieu of going to the movie theater or watching it on TV, you would be not compensating an artist because of youtube's existence.

It's a very optimistic view that people would compensate artists if it was a purely optional choice (not saying that it doesn't happen, but it requires a certain mix of artistic work, artist, and audience to make it happen).

That said, it's not entirely the fault of the audience that they are now receiving works of "art" for free. The fact that technology has progressed to the point where duplication of content has become trivial cannot be ignored (whether or not it's right doesn't really change things). It's partially up to the content creators to seek compensation from the audience in new ways. Youtube, I think, is trying to enable this path, whether or not it's successful has yet to be seen.

By no means do I think that people deserve compensation, but I do think that piracy has had an impact on content creators' livelihood.

<comment><USER4> _By no means do I think that people deserve compensation, but I do think that piracy has had an impact on content creators' livelihood._

I would argue that pirates are _market failure_ caused by government policies and intervention. They fill in the missing void of the distribution system.

In a world without copyright law, publishing houses would learn very quick on how to starve these legal pirates very quick.

This is exactly what happens to American publishers selling British books in the 19th century, as there were no copyright treaty with Britain back then. They would flood the market with cheap books, destroying much of the profit potential that could be garnered by legally pirating the books.

This is good for Americans, because they can raise their literacy rate with the help of cheap books. The British authors also make money, sometime more than they do in their own country. Their business models consist of auctioning or selling the manuscript to the highest bidder.

Even now, Americans publishers can make quite a bit money selling public domain books, often government book like the 9/11 commission report.

Even so, I don't really care either way if a copyright-free world cause less books to appear, or more books to appears. If I want more books, I either download them or buy them. I see no reason to fret over what is ultimately a business model or entrepreneurship problem.

<comment><USER5> With ebooks coming out the cost of distribution of books drop to zero, leaving zero money in the hands of authors.

Can't really see how we would do without something like copyright.

<comment><USER6> Patronage. <http://www.schneier.com/paper-street-performer.html>. Work for hire. Nobody can copy a work you haven't made yet.

<comment><USER7> Great -- so here he we are in the 21st century, with the wonderful new empowering technology that is the internet, and you're saying that as far as art is concerned, we should go back to the seventeenth century.

Reality check: you can't finance or organize an album or single launch across 30+ countries using a patronage system. It just won't work. To claim patronage is the solution to the woes of the music and publishing industries is naive, I'm afraid.

<comment><USER6> Here we are in the 21st century, with the capacity to give every internet user complete unfettered access to an unimaginably vast library of literary and artistic work. But we refuse to do it, we _impose restrictions_ on our tools to create completely artificial scarcity, solely because we're stuck on an 18th century business model for creators that barely worked when the printing press was novel and rare—and is now more of a lottery than a vocation.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> "While no one looks good here, YouTube's founders come off particularly poorly."

In the legal sense, I would agree that YouTube's founders may be in trouble. However, the statement (like a lot of the rest of the article) sounds qualitative, and I take issue with that. The underlying problem is that copyright law doesn't work and YouTube's founders know it. They didn't have respect for stupid legislation and therefore pushed it as far as they could without getting in trouble.

I think it's imperative that lawsuits such as this aren't seen as a search for right or wrong. It's two giant corporations arguing about dollars and cents, so typical ethical standards we use when dealing with humans do not apply.

<comment><USER7> I'm a musician (and ex-hacker), whence I've been following this case with some interest. I take issue with your statement that 'copyright law doesn't work'. It doesn't work precisely because of a^sh%les like Messrs. Hurley and Chen, who each ended up with hundred-million-dollar windfalls (no doubt now being spent on the same types of goods and servces, e.g. cocaine and hookers, that many here seem to accuse musicians and music execs of indulging in), largely off the back of content creators who didn't receive a dime for their efforts.

That is a true injustice when you look at the plight of EMI, which has brought us Coldplay, Pink Floyd, the Beatles (to name only a few), and which is close to going into administration. EMI actually gave back money (however imperfectly) to the people who were responsible for creating the music and associated content -- the artists, the producers, the mixing engineers, the mastering engineers, the graphic artists, etc. Tell me _what the fuck_ has YouTube or Google done for any of these people?

Or if you look at the Spanish music industry, for which recorded music sales in 2010 where _one sixth of the level in 2000_. Filesharing, YouTube, etc., have effectively wiped that industry off the map. I lived two years in Madrid when I was a teenager (94-96), and I had the pleasure of listening to indigenous rock and indie music like Extremoduro, Ska-P, Seguridad Social. Spanish youths of today won't have that pleasure, thanks to filesharing and companies like YouTube -- to say nothing of the plight of Spanish musicians. Ten years ago, Spanish music accounted for dozens of entries in the Spanish top 50. Now, there are virtually none.

Let's be totally clear: YouTube didn't receive billions of dollars from Google for the cute homemade videos of cats or the like. It received that money for the illegal content it hosted. Granted, they created some value for the consumer in that they gave the _user_ the control of the programming, but the value-creation component is a tiny sliver of the total value: what really happened is a transfer of wealth from content creators to middlemen like YouTube, who did nothing except host a few PHP and Flash scripts on some servers.

Again: copyright law doesn't work because of agents like YouTube continually acting to undermine it for personal enrichment. To the extent that we vigorously pursue persons like this (and I include private filesharers in this category, even though their form of profiteering takes a more subtle 'opportunity cost' form), the law _will begin to work_. Do you think there would be no theft in Portobello Market if there weren't bobbies on the beat -- simply because everyone acknowledged the law against theft is not 'stupid'?

> They didn't have respect for stupid legislation

To make a claim like that, without any qualification or explanation, is, well, stupid. Copyright law, of some form or other, has existed for some four hundred years -- it takes some chutzpah to write off the whole legal edifice as stupid.

Music videos and music, incidentally, were one of the content types which Hurley et al. passed a blind eye to, and they seem to do it to this day. The lawsuit details efforts by Viacom to have make YouTube (and Google) filter illegal content automatically -- Google and YouTube refused to filter unless this they entered one-sided licensing deals. In other words, they held a gun to their head, in effect saying: either make a deal on our terms, or we're going to pass a blind eye to piracy. I don't care what you say, this is unethical, and I applaud the mainstream media for finally calling this out.

And I hope they screw Hurley et al. to a wall.

<comment><USER8> You are correct to point out I didn't explain or qualify why I think copyright law is stupid. I wrongly assumed I was preaching to the converted. Let me waive my hands a little and try to provide a motivation without going into too much detail.

In general, copyright protections are government-granted monopolies. This creates a number of economic inefficiencies. One example is distribution - instead of money and labor being spent to distribute recorded music and movies, all of this could be done for free over the Internet.

Of course, there must be mechanisms by which people who create content get compensated for their work. Copyright rarely works well in this regard (I think you said it did it "imperfectly"). The truth is most musicians make most of their money through touring, advertising deals, etc. Therefore, they would benefit from a wider distribution of their work, which copyright law impedes. There are people working on alternative models whose work you could read if you want to look for ways around these kinds of paradoxes. The big obstacle to implementing more progressive policies are the hugely powerful private content providers, so framing the issue as YouTube's billionaire owners versus the independent artist is disingenuous.

Regardless whether you agree with what I've said above, what cannot be denied is that individuals are still able to download all the pirated content they want very easily. Therefore, copyright law's greatest flaw is that it has been demonstrated not to work. Reforming or scrapping it would allow the market to adapt and move to a more sane model, which would benefit both the consumer and the content generator rather than the content "owner" and the content distributor.

<comment><USER7> > In general, copyright protections are government-granted monopolies.

 _All_ property rights secured by anything other than private physical force are 'government granted'. Can I hear some outrage over the government granted monopoly that allows me to sleep in my flat at night without fear that someone stronger than me (not difficult!) will come and kick me out? No, I didn't think so :)

> One example is distribution - instead of money and labor being spent to > distribute recorded music and movies, all of this could be done for free > over the Internet.

I log into Spotify or iTunes and download the music over the internet; zero physical distribution cost. I pay for the intellectual property -- where is the inefficiency?

Also, remember that distribution is _only one aspect_ of the the music business. You're totally ignoring _promotion_ , which requires both effort and money. Money which is only available if the intellectual property is monetizable, namely through copyright protections. There _is no other way_.

> The truth is most musicians make most of their money through touring, > advertising deals, etc.

That is only true now _precisely because of_ rampant piracy. It wasn't true in the 80s, when e.g. Michael Jackson sold 100MM+ copies of Thriller at $20 a pop. Or in the early noughties when Coldplay records would sell 25MM records -- their latest record sold 2MM copies. Touring and merchandise are really only lucrative for very few lucky and largely legacy acts -- pick up a copy of Music Week, look at the concert gross tables and see for yourself.

> There are people working on alternative models whose work you could read if > you want to look for ways around these kinds of paradoxes.

With due respect, I think these people are producing nothing more than hot air. If they are so sure about their new eldorado business models, then let them put their money where their mouth is, and invest in creating Music Industry 2.0. I, for one, wouldn't invest a dime in such ventures.

> hugely powerful private content providers

I think you overestimate their power -- after all, we've had _ten years_ of _rampant piracy_ , haven't we? With all their power, they haven't been able to do anything to stop it. Meanwhile, in China, authorities have absolutely managed to control the dissemination of content and information, so it's clearly technically feasible. (Not that I'm advocating a China-style system of control and censorship, of course!)

> Therefore, copyright law's greatest flaw is that it has been demonstrated > not to work.

The only reason it hasn't worked is because there hasn't been any enforcement! I would have thought that's the whole point of this article and this thread -- holding those that profiteer from flagrant violation of the law accountable. Holding the Chad Hurleys of the world accountable. Confiscating their ill- gotten gains would send a powerful message to those who would use a cavalier attitude to copyright holders in order to allow their site to grow and in turn make millions from it. In order for the law to be respected, it needs to be enforced. And in order for the law to be enforced requires _political will_. And this, sadly, has been in short supply, although the recent developments (e.g. Obama's endorsement of ACTA, Three-strikes rule in France, Lord Mandelson's Digital Millenium Copyright Act, etc.) are encouraging.

I apologize if I sound combative -- I talk like a content creator and you appear to talk like a consumer (it's similar to the hearing disputes between creditors and debtors -- they seem to talk past each other). However, I think in the long run, the content creators will prevail, because the simple truth is that we're right. Having your personal skin fully in it has a way of sharpening your wit and galvanizing your motivation, you see.

</comment></comment></comment></comment><comment><USER9> The current system encourages companies to use copyrighted material get a foothold in the market. There's no real penalty for having an unknown website full of unauthorized content.</comment>


How a TV Sitcom Triggered the Downfall of Western Civilization (2016) - <AUTHOR> https://medium.com/@thatdavidhopkins/how-a-tv-sitcom-triggered-the-downfall-of-western-civilization-336e8ccf7dd0#.cidztjpmk <comment><USER2> [https://hn.algolia.com/?query=How%20a%20TV%20Sitcom%20Trigge...](https://hn.algolia.com/?query=How%20a%20TV%20Sitcom%20Triggered%20the%20Downfall%20of%20Western%20Civilization&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

<comment><USER3> And this one, 300 days ago, has a lot of comments (77):

[https://news.ycombinator.com/item?id=11354581](https://news.ycombinator.com/item?id=11354581)

</comment></comment><comment><USER4> Surely, the sitcom you meant is the big bang theory. The modern minstrel show with geek chic instead of blackface.

<comment><USER5> jeez, never liked the whole blackface/nerdface comparison. feel so extreme

</comment></comment><comment><USER6> All of the characters on the show have immediate and recognizable flaws. They also have immediate and recognizable strengths. It lets the writers create comedic situations that resonate instantly and its the reason the show was so successful. Every character teased and made fun of all the other characters flaws, no one was given a free pass.

</comment><comment> aaron-lebo This is a fun tongue in cheek read until it turns into tropes about the persecuted intellectual.

Intellectual bullies exist, too. Much of the backlash against intellectualism today is due smart people telling other people that they are stupid. As though people who prefer chess over football are somehow inherently better and not rife with the same flaws.

Maybe stop putting to put people into boxes. Stop assuming your tribe is better.

The piece ends praising Bill Gates. His business practices were exactly what a bully would do! Just because the nerdy kid turned the tables doesn't mean he wasn't a bully.

</comment><comment><USER7> If you think nerds started getting bullied in the 2000s, you didn't grow up as one.

Revenge of the Nerds was in cinemas in 1984 - [https://en.wikipedia.org/wiki/Revenge_of_the_Nerds](https://en.wikipedia.org/wiki/Revenge_of_the_Nerds)

And even that depicted us as rapists and idiots.

Still, I wasn't put up against a wall and shot

1971 killing of Bengali intellectuals - [https://en.wikipedia.org/wiki/1971_killing_of_Bengali_intell...](https://en.wikipedia.org/wiki/1971_killing_of_Bengali_intellectuals)

Mao Campaign to Suppress Counterrevolutionaries - [https://en.wikipedia.org/wiki/Campaign_to_Suppress_Counterre...](https://en.wikipedia.org/wiki/Campaign_to_Suppress_Counterrevolutionaries)

The Khmer Rouge especially targeted ... Western-educated intellectuals, educated people in general - [https://en.wikipedia.org/wiki/Pol_Pot](https://en.wikipedia.org/wiki/Pol_Pot)

The execution of Ahwazian intellectuals in Iran - [http://ahwazna.net/en-461_The_execution_of_Ahwazian_intellec...](http://ahwazna.net/en-461_The_execution_of_Ahwazian_intellectuals_is_an_obvious_phenomenon_of_national_.html)

The clandestine execution of thirteen Jewish intellectuals in the Soviet Union under Stalin, was one of Stalin's last acts of persecution. - [http://web.nli.org.il/sites/NLI/English/digitallibrary/galle...](http://web.nli.org.il/sites/NLI/English/digitallibrary/gallery/jewish/Pages/Jewish- Victims-USSR-1952.aspx)

etc.

</comment><comment><USER8> Against the odds, that was a good read.

As a 10-14 year old, when I watched it, I liked Friends. I don't know that I've seen an episode in the past 20 years. I cringe at the thought of it now.

I certainly never noticed the motif of Ross as the intellectual victim of a Greek tragedy. But in retrospect, it sounds about right.

I think the chances are much better that this TV sitcom triggered the downfall of the western evening TV lineup than all of civilization, though. :-)

</comment><comment><USER9> Was not 'intellectualism' rejected long time ago? It is classic comic book story that strong simpleton defeats smart bad guy (preferably with PhD ;-)

</comment><comment><USER10> This reminds me of my childhood church, in the late 70's & early 80's. The pastor was absolutely obsessed with Three's Company. Felt like not only was it the worst show on television, but that it was a harbinger of the end times. That women in short shorts in a comedy of manners was going to destroy America as we know it. Mom at first forbade it in our home, and then she caught an episode by accident. Turned out to be one of her favorite shows and a regular in our house.

<comment><USER11> In my church, it was the Smurfs and its promotion of witch craft.

Very thankful I found intellectual, thoughtful Christians later in life. My faith remains the core of who I am because of it.

</comment></comment><comment> d--b This has nothing to do with being intellectual. Ross is a neurotic, self- obsessed, career-oriented douchebag. Honestly, I don't understand how they could put up with him for so long. He was such an unlikeable character...

</comment><comment><USER12> That was funny but America didn't need a sitcom to tell them to pick on nerds.

</comment><comment><USER13> IMHO, what hurt western civilization the most is reality shows like Big Brothers,Survivor, Jackass, Celebrity show X or Z. Somehow these shows reward narcissism, individualism, greed, anti-social behavior, sexual, moral harassment and exploitation.

When MTV started to broadcast Jackass I knew a paradigm shift had happened.

People like to blame anything sort of things for our decline, but for me broadcasting that crap and accepting it as moral absolutely shaped the modern west.

Friends was just a funny sitcom that actually talked about friendship which is something positive, no matter how bad it handled that theme.

<comment><USER14> I don't think these shows are the cause, but the result.

Things go down the drain because babyboomers and generation X failed and people try to hold on stuff that is easier to aquire than wealth.

<comment><USER15> I think it's fair to argue that a result can also be a cause for further decline. Chicken and the egg.

</comment></comment></comment><comment><USER16> I could never get into friends. Something about the idea that they lived in a version of NYC that only contained three or four black people was something I could never get past.

</comment><comment><USER11> We just had a massive nerd living in the White House for the past eight years. Comic book movies and sci-fi rule the box office. Everyone knows software and computer companies basically rule the world.

My guess is the anti-intellectualism of the incoming President and his supporters is triggering these renewed feelings of nerd persecution, because it is such a jarring contrast to the outgoing administration.

</comment><comment><USER17> Books are overrated and not buying things hurts the economy, but okay, I like nerds too. Nerds have always been uncool, mainly because their obsessions cause them to ignore their own unattractiveness. But Friends did not cause the downfall of western civilization.

It was MTV.

</comment><comment><USER18> Writers are often idealists themselves. So what they see in the world and how they see it, they put on the screen. Then other people see that and that affects their behavior. It's a cycle. Anti-intellectualism was alive and well in every school in the United States in the 90s. The cool kids are not the nerdy kids. And the nerdy kids end up in engineering roles to be ruled over by the cliques of cool kids. Scientists are owned by their universities, again run by the cool kids in administration. The hierarchy of humanity is stupidity and egotism rules at least the masses and middle management.

So I think that this guy is not reading the situation properly.

</comment><comment><USER19> Or maybe _Friends_ was a statement on the fact that just because you have a PhD doesn't mean you're smarter, more of an "intellectual" or more deserving of attention based solely on your education.

Maybe Ross was simply boring and annoying.

</comment><comment><USER20> A better article would be how sitcoms in general are taking down western civ. Even the good ones pacify and distract us from the real-life things we should be focusing on--family, friends, self-government, our fellow man, and the like.

</comment><comment><USER21> Counter-point: [http://reallifemag.com/what-was-the- nerd/](http://reallifemag.com/what-was-the-nerd/)</comment>


Man who refused to decrypt hard drives is free after four years in jail - <AUTHOR> https://arstechnica.com/tech-policy/2020/02/man-who-refused-to-decrypt-hard-drives-is-free-after-four-years-in-jail/ <comment><USER2> Unrelated but there is a similar case going on in the EU right now that is set to be appealed at the European Court of Human Rights. Last week the highest court of Belgium ruled that passwords to IT systems were not covered by the right not to incriminate one-self. And they also ruled that you could be jailed for up to 3 years for refusing to provide said passwords. This was in the case of an alleged drug dealer refusing to unlock his iphone. There is no appeal left for him at the national level and he's now set to appeal the decision at the ECHR which if not overruled might finally set the precedent for the whole EU.</comment>


Semantic Versioning - A technique for avoiding "dependency hell" - <AUTHOR> http://semver.org/ <comment><USER2> While this is a reasonable (and common) version numbering scheme, it does little to address dependency hell.

A trivial bug fix can be backwards incompatible with systems that have been built to rely on the bug.

The presence of new, unused features in a library can impact the runtime behavior of the library in important ways.

All changes of any kind must be considered to be potentially backwards incompatible for some consumers.

So the rules for deciding whether to increment a version number by 0.0.1, 0.1.0, or 1.0.0 don't hold up. A producer cannot predict the impact of a change to all consumers.

<comment><USER3> Yes.

Additionally, this system dies horribly once you introduce branching.

Versioning is another problem I want to introduce to the Test Case Wiki. The test case wiki is an idea I've had for a public wiki for hairy problems with numerous, poor implementations. I.e. a page on implementing a library for handling times and dates. "Have you thought of the following corner cases?". Software Versioning belongs there too.

<comment><AUTHOR> Can you elaborate on the kind of branching you're doing, and what your current favorite solution for that situation is?

<comment><USER3> At the day job, we commonly see situations where the customer has a bug they need fixed, and they're not willing to wait for the next scheduled release. We give them a one-off release containing only that fix. What do you label it? If you label it 1.0.1, then the next "official" release will be 1.0.2. Worse, what is the label for another release off the branch, after your trunk release of 1.0.2? I find this unsatisfactory because the two releases are not necessarily related to each other. AFAICT, all version systems that involve only numbers and dots will either fail to handle branches, or become horrifically complex.

I've seen products where releases were branches off branches. This happened because the customer is extremely risk adverse and we had new code in trunk that they didn't want to test; they wanted known-good code plus a subset of trunk. Management went along with it because the customer is several orders of magnitude larger. We strayed from trunk for so long that trunk got dropped, and one of the branches was designated the new trunk.

My general goals for a version system are:

        1) provide a unique version for every build
        2) Give an indication of where this code came from.

I currently advocate a Git-like solution. I don't promise that this is 100% free of corner cases, but I believe it's better than everything else I've seen. Give every build a SHA1 / GUID. If you're running Git, this is just the SHA1 of the tree, when you build. That is the build's "official version". If you want to see where the build came from, git can draw you a pretty picture. When doing the build, allow the user to specify a human-friendly label, as a string. This can be anything, from "v1.0.1" to "v1.0.0 + one-off fix for MegaCorp" or "Bob's developer build for testing foo". In the product, display both versions.

<comment><AUTHOR> Interesting. Can you explain why you're doing one-off fixes instead of creating a general release with the fix that everyone can use? This seems like a bit of a complicated edge case that most people don't need a solution for. Semantic Versioning is very simple and has no intention of solving every possible versioning problem.

<comment><USER3> I never thought it (one-off fixes and branching) was a good idea. It happened because one customer constitutes a large percentage of our revenue, and the business guys made the decision with little care about the effects it would have on the software.

Yes, this is all a complicated edge case, but in certain contexts (corporate software, where you aren't calling the shots, or, you _are_ calling the shots but aren't willing to tell a customer constituting 40% of your revenue to fuck off), you need a better solution. Additionally, at the start of the project you don't always know whether you'll need to support branching. Often, once you figure out you need branching it's too late to fix. Fixing requires changing the build process, testing time, educating QA and Support about the new process, etc.

I'd rather have a well-understood, general purpose solution ahead of time. IMO, "git versioning" accomplishes this, and it's just as simple.

</comment></comment></comment></comment></comment></comment><comment><USER4> Hardly a new concept, and one that many companies and projects have used for ages. I'm not criticizing this policy at all, but the impression of taking credit rubs me the wrong way. Yes, there's a couple sentences in the middle: "This is not a new or revolutionary idea. In fact, you probably do something close to this already." But, actually, I and many others have done _exactly_ this, not just close to it, for a long time.

<comment><AUTHOR> > Hardly a new concept, and one that many companies and projects have used for > ages.

Certainly. And I don't claim to take credit for any of these concepts (and explicitly say so). The whole point here is to give this idea a name and clear spec so that I can tell people my software uses Semantic Versioning instead of writing it all out every time. It's useful to me and my coworkers, so I decided to share it in case others find it useful as well.

<comment><USER5> This is called Unix shared library version numbering convention.

* <http://apr.apache.org/versioning.html> * [http://www.freebsd.org/doc/en/books/developers-handbook/poli...](http://www.freebsd.org/doc/en/books/developers-handbook/policies-shlib.html) * [http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries...](http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html) * <http://home.bolink.org/ebooks/unix3/mac/ch05_04.htm>

If you can make it popular in Ruby world you can call it whatever you please :-) You should be able to find 10 (and probably 20) year old rants about how technology X does not do version numbering right, and should use Unix shared library standard.

</comment></comment></comment><comment><USER6> I think this is a solution without a problem.

Version numbers are effectively meaningless to most package managers. Sure, they parse the numbers and can do basic comparison about whether something is less than, equal to or greater than a given version. But all a package manager cares about (afaik) is its requirements and conflicts. If you have a way to ensure its requirements exist, and it does not conflict with anything already installed, everything is fine. (Oh, and that it provides what something else requires, which is somewhat the same as a requirement but in a different context)

To solve this you simply build your packages so they will never conflict, both logically and physically on disk. This way you can have any version of any software installed all at the same time. The software is compiled to link against the location to the software it depends on. Symlinks create the basic structure of what the "default" paths should be for a given application, and an alternate path can always be specified manually to call a different version.

<comment><AUTHOR> It solves a significant problem that I've encountered several times in real world packaging setups. The problem it solves is outlined on the linked website.

Semantic Versioning is also about more than just dependencies. It's about transparently and accurately communicating the impact that a new version will have on your existing code. As a user of a large number of libraries, a more rigorous approach to versioning would make my life immensely simpler.

</comment></comment><comment><USER7> Interesting idea. I could imagine whole environments of development stacks being defined: e.g. a Rails 2.3.5 production stack, or a Django stack, or a Clojure webdev/ data mining stack, and all according to exact version numbers.

I could see that for Big Ticket projects such as Rails/ Clojure/ Django etc. people would maintain an up-to-date 'semver' database.

The only thing is that the name 'semantic' is not really a winner (it sets people on edge). Maybe something else will survive in the end, unless people are comfortable enough with the pragmatic value of the idea and will look past the name.

</comment><comment><USER8> Why is there an arbitrary requirement in the middle of it about the format of tags used in a version control system?

Symbol versioning is a better approach, on systems that support it.

</comment><comment><USER9> I think a lot of the issues of "dependency hell" come from the non-obvious way to specify a specific version of a shared library to link against (in fact, I can't even find out how to do this in the documentation for gcc or ld now, but I know I've done it, and that it's possible).

Take libncurses for example; I'm using it as an example because there was a time when multiple versions were installed on many linux distros. Both ncurses4 and ncurses5 could be available, and in fact, this used to be case with a lot of linux distros, ncurses4 was often installed for binary compatibility with stuff that was previously compiled.

So you end up with the following files on your machine:

       libncurses.so.5.7
       libncurses.so.5 (symlink to .5.7, maintained by ldconfig)
       libncurses.so (symlink to .5.7, mainted by ldconfig)

Ideally, you'd be able to install ncureses4 on the same machine, and you'd end up with these files also:

       libncurses.so.4.x
       libncurses.so.4 (symlink to .4.x, maintained by ldconfig)

the .so entry is a link, maintained by ldconfig, to the latest version. There is no conflict because shared linkage is against a specific A.B.C version, resolved at runtime (see below).

So if you compile/link with -lncurses, you get the latest one (which is a reasonable default), as that's what the .so points to. But if you have ncurses4 installed, and you know you want to link against that API, you need to link against the specific file (with a full path and version number in it), rather than use ld.so.cache and gain the advantages of runtime library location resolution.

So the work around for the inability to specify an exact version number to link against without having to give the full path to the library is to move some of the version number to before the .so and make it part of the library name. So you now you link with -llibraryX-2.4 which looks for liblibraryX-2.4.so. No one calls this, or thinks of it as, libraryX-2.4, they think of it as libraryX. Since there is no standard way to do name or indicate version numbers of with this work around, you sometimes end up with these different formats:

       libXXX.so.1.2.3
       libXXX-1.so.2.3
       libXXX-1.2.so.3
       libXXX-1.2.so.1.2.3
       libXXX-1.2.3.so

Each library maintainer making their own version number format. This could all be the exact same library version.

A quick demo to show that when using -llibrary (and -shared), the full path isn't stored in the binary, just the filename and version number, which is resolved at runtime by the dynamic linker in ld.so to an actual full path using the cache created by ldconfig (hardly conclusive, but you get the gist -- could also use binutils stuff here to see this):

       $ strings /etc/ld.so.cache | grep libmagic
       libmagic.so.1
       /usr/lib64/libmagic.so.1
       $ ldd `which rpm` | grep magic
            libmagic.so.1 => /usr/lib64/libmagic.so.1 (0x00007f9dfed95000)
       $ strings `which rpm` | grep libmagic
       libmagic.so.1

In this case, we see that ld.so.cache maintains a library name to filename mapping, rpm mentions just the library name (with version number), and ldd resolves that to a full path, and that there is no mention of the full path in the rpm binary itself.

I'd really like to see a -llibrary=version option that helps with this, allowing a specific A, A.B, or A.B.C (or whatever string is after .so in the filename)... maybe I was thinking of some linker other than gnu ld that works like this.

<comment><USER6> If you know what version of a library you want to build against and you know the path to it you can link against it. The compilation and linking is no longer automatic because you have to specify your dependent library specifically, but you can put it anywhere you want and it won't conflict with a different version of the same name.

One way to simplify this is to customize your library builds and associate a unique pkgconfig .pc file with them. When you build your application, reference the .pc file for the library version you want. If the application does not support pkgconfig you could write a wrapper that parses it and provides the build/link options you desire. If you're building packages you're doing enough work by hand that this should not be unnecessarily complex.

<comment><USER9> _If you know what version of a library you want to build against and you know the path to it you can link against it. The compilation and linking is no longer automatic because you have to specify your dependent library specifically, but you can put it anywhere you want and it won't conflict with a different version of the same name._

But that's my point: we should be able to get automatic linking. Different versions of the same library already don't conflict because the file names are different:

       libncurses.so.4.0.1
       libncurses.so.5.1.1

_When you build your application, reference the .pc file for the library version you want. If the application does not support pkgconfig you could write a wrapper that parses it and provides the build/link options you desire._

True, I see what you're saying. It always seemed to me that custom pkconfigs for this case, that generate full paths to the libraries instead of -llibrary options, is a bandaid on not having automatic linking against a specific version.

<comment><USER6> i too hope one day all this will be automatic (though we still have to specify a version, and keep up to date on what version supports what, so its hardly automatic for the dev or packager). the real fix to me is to embed all relevant information in the binaries and let the dynamic linker figure out which one should be used at run time. compile time would merely embed what version was used to build the app. maybe this is already possible? i'm curious...

<comment><USER9> While that would be cool, it doesn't seem very pragmatic. I think I'd rather have control over exactly which version is chosen (where I can use implementation details in making a decision), rather than have it decide automatically based on claims expressed in the library metadata.

 _though we still have to specify a version, and keep up to date on what version supports what, so its hardly automatic for the dev or packager_

I think the common case is for _new_ development, you'd most likely develop against the most recent release version, but you don't need to keep up to date on which version supports what because you can continue to use the old versions with long-since compiled binaries as long as it can be installed along side the latest version. I think people and distros, in general, are too quick to remove older versions from being installed (or even available), which increases the on-going maintenance requirements of still popular binaries.

On the other hand, during transition periods, distros have been pretty good about this, like the libc5 vs libc6 transition, and by providing compat packages. But this has mainly been an issue with closed source abandonware (Skype for a long time was still using OSS and needed an ancient version of some audio libs).</comment></comment></comment></comment></comment>