NAXSI – Open-Source, High Performance, Low Rules Maintenance WAF for Nginx - <AUTHOR> https://github.com/nbs-system/naxsi <comment><USER2> They did not see that coming:

[http://blog.memze.ro/?p=39](http://blog.memze.ro/?p=39)

>Why the name "NAXSI" ?

>The name stands simply for NGINX ANTI XSS & SQL INJECTION

>Some reported us that the pronounciation is complicated and can lead to a misleading sound of "Nazi". Of course, it's definitely not our intent.

>Our company is based in France and pronouncing "XS" is easy for us since we have some words like this. Russians as well doesn't have any issue with this since they have complicated sounds.

>But English & American people doesn't have any sound like this and are hesitant in the way to pronounce it. Is it a X, is it a S and if they pronounce only the S, it then sound like nasi, not good… We didn't saw this forcoming and are a bit sorry about that. We may change the name to NAXI to make more clear, and, of course, remove the SQL injection protections. (kidding)

</comment><comment><USER3> NGINX Plus, the newest R10 release just integrated their own WAF using ModSecurity ([https://www.nginx.com/products/web-application- firewall/](https://www.nginx.com/products/web-application-firewall/)).

Seems like an obvious choice to stay within the native NGINX community and just use NGINX Plus. What would be some advantages to using NAXSI?

NGINX Plus is actually not that expensive, especially since you can purchase an AMI and pay per month using AWS.

<comment><USER4> Modsecurity is notoriously slow, and its rules are complex to read and to write, while the naxsi ones are simple: [https://github.com/nbs- system/naxsi/blob/master/naxsi_config...](https://github.com/nbs- system/naxsi/blob/master/naxsi_config/naxsi_core.rules)

</comment></comment><comment><AUTHOR> Here's more about NAXSI: [https://www.nbs-system.co.uk/blog-2/naxsi-web- application-fi...](https://www.nbs-system.co.uk/blog-2/naxsi-web-application- firewall-for-nginx.html)

Although, it's sad that Nginx chose the unreleased v3 of ModSecurity [0] [1] for their commercial offering instead.

[0]: [https://www.modsecurity.org/](https://www.modsecurity.org/)

[1]: [https://github.com/SpiderLabs/ModSecurity- nginx](https://github.com/SpiderLabs/ModSecurity-nginx)

<comment><USER5> Since this doesn't go well with HTTP/2 so far, we'll have to stick with ModSec for the time being.

> [https://github.com/nbs-system/naxsi/issues/227](https://github.com/nbs- > system/naxsi/issues/227)

<comment><USER4> It seems that the issue is fixed: [https://github.com/nbs- system/naxsi/issues/227#issuecomment-...](https://github.com/nbs- system/naxsi/issues/227#issuecomment-243101685)

<comment><AUTHOR> Thanks!</comment></comment></comment></comment>


Ask HN: Restrict users to log in to my site with LinkedIn credentials only? - <AUTHOR>

My website is targeted at MBA students (can't go into much detail beyond this - sorry!). It's very much in the prototype stage as of now.
I'm trying to reduce friction in the sign-up process as much as possible, and would like my users to register painlessly. Given that I'm focusing on a specific niche, would it be a good idea to limit registration through their LinkedIn credentials?
I'm wondering if I will limit my "market" as a result of doing this, and if I should also allow users to log in with the Google/Twitter/Facebook credentials as well. <comment><USER2> You shouldn't ask HN for these kind of questions as this isn't your primary target demographic. Ask MBA students whether they have LinkedIn profiles (and actively using it) and whether they find it easier to use their LinkedIn credentials to log in.</comment>


Ask HN: What keeps you going? - <AUTHOR> I am a university student in CS, and I have been programming for over three years now. The initial motivation for studying CS came from the ability to make a computer do anything I wanted, but over the years, this feeling has dissipated.<p>What keeps you going over the long term? What makes you wake up every morning and sit down to code again? <comment><USER3> What makes me wake up and do it again? Mortgage. The desire to eat nice food once in a while. The fact that, as "the system" is currently configured, one pretty much needs to have a job, and writing code is a pretty nice one.

That's my take after several decades of doing this. Sounds like the passion maybe went right out, didn't it? No, it didn't. It's like a marriage. Sure, those first few years it's hot as lava, fsckin' like rabbits every day, hate to leave for work because it's time away from him/her. But that calms down, and frankly I think we should be glad it does as I don't know how sustainable such a relationship would be. Same with careers. Oh, sure, I was a coding maniac for years after I got access to a computer. But like a marriage, eventually the honeymoon ends and you settle into a nice, reliable, sustainable relationship with your work.

Just roll with the times you're not so passionate about it. There are times I don't like my wife very much, but I stick with her. There are times I don't like my job very much, because every job has some shit work or some drudgery. And even the coding can become drudgery some times. Because after twenty years, how many times do you think you'll have hand-crafted a _for_ loop that iterates over an object collection?

But after twenty years of writing SELECT statements in your sleep, you can "level up" to where you easily slay the SELECT boss and move on to more challenging endeavors. And I guess in the end, _that 's_ what gets me out of bed: familiarity with my tools allows me to keep things interesting by moving on to new challenges. Right now I'm working on Programmable Logic Controllers. Before the interview I had to look up "PLC" on Wikipedia. I'm learning lots. :-)

<comment><USER4> I want to echo a lot of what was said here.

I've moved around in roles and duties a lot over what is now almost a two decade long tech career. I'm only in the fourth year of it actually paying well, but now it feels like I can do anything I choose to.

That's not to say that I know everything, but I'm pretty sure if I target a specific job, I can learn what's needed in a reasonable amount of time...enough to get hired.

I've had jobs from laptop hardware repair, syadmin for banks, software developer, malware research, NOC tech for an ISP and now systems engineer. Not in that order and I could see doing almost any of these again someday.

Do whatever in this field interests you and you'll be around a long time. When you're doing something that doesn't interest you, work towards the things that do.

</comment></comment><comment><USER5> I've been programming for 25+ years. I still love programming. Never wanted to be a manager. The challenge of coding, solving problems, and being well-paid for it make me very happy. I'm currently sitting in my kitchen, working from home, looking out my deck onto SF Bay. This is not a lifestyle I would have been able to accomplish being a chemical or mechanical engineer, a biologist, an accountant, etc. I truly feel blessed that I love programming, that I'm good at it, and that I am living in a place that rewards good programmers consistently for the past 2 decades. Who knows when this well will dry so I'm taking it as far as I can.

<comment><USER6> Programming is an art, and you, and me too, we are like artists in the meaning we juts don't want to give up being creative, and solving challenges is a large portion of the reward we get. Besides of the money of course, we all need that.

</comment></comment><comment><USER7> It helps if you've had other jobs. Pretty much all jobs have downsides and therefore "suck".

I think loving your job is a dangerous phantasy sold to CS grads to get the them work longer. It doesn't mean you have to hate every minute, you can enjoy parts of it.

But passion should be reserved for hobbies outside of work (unless you work for yourself). Be a professional - do it for the money mainly, and don't put up with horrible work environments. At the end of the day go home and have fun. It's just a job, and should never define you.

<comment><USER8> This is my biggest take away after almost a decade working in this industry.

"Love your job" has been sold to me thousands of times. Yet, I think that people that say they love their job lie to themselves. It is also very unhealthy.

Let's do a quick game. If you had all the money in the world, would you still do your job? Probably not.

I highly advocate for balance in your life. A job needs to be done properly, and once in a while there is nothing wrong about doing a 80 hours work week, but don't drink the koolaid and work away for a dream that is not yours.

<comment><USER9> While I probably wouldn't do my job, I do believe I would do something similar for an open source project.

<comment><USER10> Your relation to the work would change I think. You would be less inclined to put up with bad working conditions, heavy deadline pressures, that sort of thing. Things you would normally let slide for the paycheque become dealbreakers or things you push back on.

<comment><USER11> I think this is true, but it's also a bit frustrating in that it's not at all obvious that programmers are building more or better stuff as a result of the "bad working environment" side of things. So can't we just lose that?

(It probably doesn't help that preferences are quite variable. I'm generally pretty comfortable doing tight-deadline stuff at least some of the time, especially if it's clear why someone needs the thing fast. On the other hand, I'm not a big fan of some of the current process/"practices" stuff, and can see that people who enjoy a fair amount of structure could dislike an environment I found near-ideal)

</comment></comment></comment></comment></comment><comment><USER12> CS pays. Luckily it's also mildly interesting and sometimes very interesting. I don't love my job, but I work for a company that does good things and pays me pretty well.

None of my goals have ANYTHING to do with my career and most of them have EVERYTHING to do with motorcycles and offroad racing.

Software engineering funds my (very amateur) racing "career".

Loving your job such that you want to wake up every day and commit yourself to it is a fantasy for almost everyone and a reality for the few. Some people even on my team love what we do and think it's the coolest shit. For me, I'm happy here because it allows me the freedom to do the things in my life that are actually important to me.

</comment><comment><USER6> What keeps me going? Obsession and passion. I got my first computer in December 1994. I was 43 then. The first night I did not sleep. Not the next either. Got hooked, immediately. I was in a full time job as a mechanic. In a workshop, wrenches, oil, welding, repairing, cars, machines, etc. Taught myself programming, besides the the normal job. In 1997 I got headhunted by a software company, having won 1. prize in a programmer's competition a Magazine ran. Now I am retired, and am programming more than ever. Will sell my own products, I have what they call an ISV, my own one-man company. Programming is as fun as ever. I do everything, Web, Desktop apps, plug-ins for the large multi media applications. Several languages, all is very fun :)

</comment><comment><USER13> I think you either enjoy programming and have a knack for it or you don't.

I love programming so I look forward to it everyday.

Learning new things, applying things you have learned, solving hard problems keep it interesting for me.

Having your own side projects are a good way to learn new things and look forward to the time you have to spend on them.

A CS degree and a job as a developer can lead to untold riches right now. So having a semi-relaxing job you enjoy that pays really really well (hopefully doing something you enjoy) is something to look forward to.

It's also amazing what one or two developers can create, as far as their own business. From a small SaaS app that brings in $200k/yr to a small team developing something that exits for $1B. Amazing times and knowing how to develop and create is the key to that kingdom.

Enjoy University while you are there, they are some of the best times.

Study and prepare for the real world, keep learning new things.

<comment><USER14> I have tried side projects but I never have the time for (finishing) them. I have a lot of interests outside of tech and outdoor sports feels like a far better us of my spare time. They keep me fit and are a good way to clear my mind of work.

</comment></comment><comment><USER15> I'm 50+. More and more ready to chuck it. Or at least take a long sabbatical.

I have the funds to do it, probably. My parents both worked until they were about 70 and neither lived to see 75. So I'd like to avoid that ending.

If I do, I think I will go tech-free for a while. No internet, no cable TV. Books, some other non-tech hobbies. If I really need to look something up I can go to a coffee shop with a tablet. Sounds very tempting.

<comment><USER16> Do it if you can. I'm 33 and took a year in 2013, can hardly reacclimate to tech work culture as it's so sick but love building my own stuff. It's all inspired by healthy things, and when I go back to the salary time suck my life gets miserable. Not gonna go all woo woo since it's only Tuesday, but when one is in tune everything is more vivid and time loses a lot of meaning. I could never fast at a corporate job for example, still exploring the mental effects. Reboots are great and there's nothing to fear.

<comment><USER17> Nice! I'm 26 and thinking about doing the same thing soon. So you just took off for a year or did more things? I agree about the vividness. Once you get in flow, doing things you generally enjoy, and you have a few days/weeks of solid sleep and enjoyment, everything just makes sense. The path is clear.

<comment><USER18> What's this path you're talking about? Is it fasting as a means of rebooting your system?

<comment><USER17> I meant that when you get in a flow and do things you enjoy (generally on a long vacation from work), you start to realize who you really are and what you thrive on. So then, after some introspection, the path forward is a lot clearer compared to your day to day drudgery mindset. Fasting is separate, but connected. Can be a tool to help nudge this process on. IMHO.

</comment></comment></comment></comment></comment><comment><USER19> Making computers do harder and harder things. My current project is dynamic robot control, using some machine learning. I'm not even close to making them do anything I want in this domain (nobody is).

[PhD in CS, programming for 38 years]

</comment><comment><USER20> What keeps me going is a semi-decent lifestyle: -Eating decent (fruits and veggies and reasonable portions) -Devoting about an hour to exercise (i like to run) -Getting the sleep I need (varies over time, but hitting snooze and getting an extra hour is worth it over going to work early and being cranky all day).

I find that if I fit these things into my schedule regularily I have more energy - physically and mentally - to put up with the nonsense of reality.

But what really keeps me going is the fact that I know nothing. Whenever I get bored and arrogant I google something that I think I know (say some signal processing or math concept) and just dive into the rabbit hole. It helps if it's work related.

</comment><comment><USER21> The lifestyle that having such a lucrative skill set has created for me.

While I'm currently living off savings on a beach, I'll have to find a job again in the next twelve months and it's not something I'm stressed out about because I know I can find remote work again.

Building stuff is one of my hobbies, and this hobby is marketable. But I am more than someone who can write code. I have other hobbies too that my programming hobby pays for.

Also, university is a grind. I recommend finishing it rather than being tempted to let your emotions drive it. But, just like in the rest of life, remember to have fun and take the opportunity to meet people.

</comment><comment><USER22> I work in medicine, specifically genetics, and virtually all code that I write is serving that purpose. A few near-death experiences in life is what keeps me going, each and every day.

Losing everything is the most motivating loss function. If only my life had a more stochastic optimizer that didn't get stuck in local minima.

</comment><comment><USER23> It's a job that:

* allows autonomy (depending on where you are)

* is lucrative

* makes you a valued employee (often)

* is mentally challenging

* has a low barrier to entry (though getting higher)

* is location independent (or can be)

* is in demand across different geographies (especially most cities)

* is easy enough on the body to be done into your 80s

* doesn't require selling anything

* requires you to learn every day

* lets you build things that actually help people

I've been a developer for almost two decades and have looked at many other kinds of jobs, but haven't found anything that compares to that set of attributes. At least for me, it's the bees knees.

Note that above I used the word "development" and not coding. That was conscious. The world of software development includes the magical flow of coding, but is so much more.

Edit: I did write a blog post about the difference between a developer and a programmer.

</comment><comment><USER24> I enjoy it, I'm good at it, and it pays well. It's rare in life that all three line up.

IMO: That's the best way to pick a career. Find something that you enjoy, you're good at, and pays well. It doesn't have to be exotic, BTW. Electricians and plumbers get paid well, and don't have much student debt.

BTW, even when you pick something you enjoy as a career, your job won't always be fun. There will be times your job isn't fun, times you aren't good at your job, and times it doesn't pay well. Part of being an adult is being able to manage the natural ups and downs in life.

</comment><comment><USER25> Just FYI the 3 year mark when you're in University is notoriously the place where you get bored. Just push through for another year... you'll thank yourself later

</comment><comment><USER26> My projects, by and large, serve a greater purpose than "neat code". I do a lot of modeling and basic research, so that's pretty motivating. It's not without its own grind, of course, but it's easier to convince myself that it's worth pulling long hours when the payoff is finding out something new about the world versus writing a slightly better ad-seller algorithm or something.

</comment><comment><USER27> After being in the industry for around 10 years, my view has now expanded beyond just the projects im working on and into what I am contributing to the company. I am less motivated by 'programming' and more motivated by how it affects the business goals which in turn affects my livelihood and that of my colleagues.

</comment><comment><USER28> I'm not surprised your feeling has dissipated. A computer really can do anything you can think of. After that, I'm not surprised your utility from that has disappeared.

There are a lot of different types of jobs in the world. Most require you to sit at a desk in a suit and attend meetings. Programming is fun because problems come in text format and you can solve them in a sense that more abstract disciplines cannot, i.e if you run code and it does what you want, you solved your problem. If you want true happiness, solve problems you care about. That true happiness is rare in any industry though. You probably maximize it if you're your own boss.

The only thing that can keep you going is you. Try to understand what you love and do what you love until you knock it out of the park.

</comment><comment><USER29> Don't just look at the problem, itself. Look at the circumstances.

Get yourself healthy. Get some balance -- social interaction. New and different and positive inputs.

I think you'll sit down to the problems you're working on, refreshed.

And problem-solving might have renewed purpose. Improving the world you're engaged in.

Best wishes.

P.S. Another way of looking at this: Get some "domain expertise". I was always a lot more effective when I had a domain to which to apply my skills -- and that motivated me to improve those skills, to improve the domain or the instance of the domain with which I was engaged.

Also, what was it Larry Wall said?

[http://threevirtues.com/](http://threevirtues.com/)

</comment><comment><USER30> I've strived to do what I enjoy. When that hasn't worked out, I've done whatever necessary to pay the bills. And, as others have noted, doing shit jobs has kept me looking.

There's been a general pattern. I would get tired of my work, and would put more and more energy into hobbies. At some point, then, I would leverage a hobby into a new career. Usually not exactly what I'd focused on, but something that a friend or mentor pointed me to.

So maybe coding _per se_ isn't the rush it once was. But is there something that you're deeply committed to, where coding could make a huge difference?

</comment><comment><USER31> The plain joy of solving problems via code. I'm 55 and wake up every day with another set of problems to code against, it never gets old. You can also make a lot of money along the way if you take some risks.

</comment><comment><USER32> Being able to do things that I believe in.

I haven't seen many others mention this, most focus on basic sustenance, passion or luxurious life.

For me, the part of life worth living is that I get to do things that advance my personal values, which, while related to coding, are not necessarily any of those. As someone else suggested, having all the money in the world wouldn't make me change jobs.

I feel this question can be rephrased as "what is the meaning of life?". Is coding a mean to reach it? I'm sure that pursuing the meaning will keep anyone going.

</comment><comment><USER33> You mentioned that you've been programming for over three years. In that time, have you ever completed and launched something?

It doesn't have to be a startup, though that's one possibility. Rather, it just has to be something where you can go from idea to reality and hopefully get a few users along the way.

I hated programming when I was in CS, then I discovered products and realized that I love solving problems. Code is a tool for me to solve problems.

</comment><comment><USER34> Speaking as someone who just started his third programming job, and who had a previous unrelated career; the money.

The money and other benefits allow me to subsidize and fund the kind of life I want to have with my family. I know that my children and my wife in our later years will have the resources we need to be financially, physically, and emotionally healthy.

<comment> et-al How do you evaluate which companies to join when you're looking for a job? Would salary be your primary factor?

(Asking this as someone who's juggling between Big Co. with RSUs and smaller startup that pays well, but nowhere near as much.)

</comment></comment><comment><USER35> You could go be a bankruptcy lawyer and write the same threatening letter over and over every day for the rest of your life

</comment><comment><USER16> I agree. Between jobs the spark comes back. Shoving out and doing it solo for life now, due to reflections on circumstance changes. Not everyone must have the spark to code now that we have 0-100 code schools and stuff. I'd love a cozy job in R&D where the funding speaks for itself and not one breath will ever go down my neck. Haven't browsed for it, but I can picture creating it myself with books, merch, contracts, etc. Helps to have a handle on energy flow, costs of things.

Employed work is by definition for money and will always be heart/gut wrenching or soul crushing to degrees, that's a cost. Holding personal boundaries helps but invites plenty of abuse from above and ridicule from beside, in competitive markets. Economics, incentives, biology all factor in. A small piggy bank of FU money helps mindset and against being put in an intolerable or worse compromising spot.

</comment><comment><USER36> For me it's solving actual problems faced by actual humans, making their lives easier or their work process less painful, and reaping the accolades and appreciation. Actually I'm kidding about the accolades... I do get them, but I don't really care. The point is, I feel like I'm helping people. In college the environment and the problems are probably a bit artificial, so you might not be getting that experience yet.

I still get some satisfaction from the "making the computer do what I want" thing, but usually that only happens in situations where first there's some degree of doubt that it'll actually do what I want. Which is usually when I'm trying to master a new technology. When using things I already know how to use, making the computer my beyatch is less of a surprise, so the feeling, as you say, dissipates.

</comment><comment><USER37> As a programmer, you have a highly leveraged ability to affect change in the world. Some people are driven by the programming itself -- the art of it, the isolated problems to solve in a satisfying and elegant way, and the decent salary that comes with it. But for others, perhaps including you, it's a means to an end. What's your end?

Do you want to change people's lives, or make their lives better?

Do you want to have an outsize financial impact on a company and be appreciated for it?

Do you want to create something new alongside people you really enjoy?

Do you want to help shape the world in a positive way using technology?

Do you just want to have a comfortable, secure living and focus on other things (family, hobbies, etc)?

Are you driven by being the best at what you do?

Etc

I'm a PM, not an engineer, but I love creating things that materially improve people's lives in some way. That brings me deep satisfaction.

</comment><comment><USER38> I grew up in a third world country in conditions that would be considered poverty here. Every day I'm thankful to be part of the 1% of the global population whose skills are in demand and who earn big bucks (relatively). I don't need much more motivation than that.

</comment><comment><USER39> Bills. Mortgage. Family. The individuals in the development team I lead. All of these things make getting up in the morning and coming to the office well worth it.

Having a hobby that isn't coding, but just as intricate and puzzle-solving, is another outlet I have. I restore and refurb old video game consoles in my spare time. It restores my sense of patience and want for a carefully- deliberated project with problems to solve and no time horizon should I want to step away for a bit.

Coding used to be that hobby growing up. Then, in the dot-com boom, I made it my career. There are rare times I regret ever doing so, but on the balance I make an excellent salary, have benefits, a lot of flexibility, and I realize I easily made the right choice.

</comment><comment><USER40> Answers here revolving around life are reasonable, but a bit deflating.

How about getting a bit of historical context? If you're a geometer in the era of Euclid, and you're grinding, it's not going to feel motivating. But...you're a geometer in the era of Euclid. Same thing goes for the CS revolution now.

Don't take it from me though - take it from Mehran: [https://www.youtube.com/watch?v=nWRGPxSNnag](https://www.youtube.com/watch?v=nWRGPxSNnag)

</comment><comment><USER41> I'm 30 and been doing software as a day job for a decade, and as a hobby for three.

Other than being passionate about coding, what keeps me going is taking regular breaks - small and big. And by break, I mean stuff that has absolutely nothing to do with computers: downhill longboarding, hitch hiking, sailing, etc ;)

The industry pays really well, even on average, so taking a 1-2 month break between jobs is totally doable. Finding a job in tech that allows you to balance work&life is a bit harder, but if you're any good, it's gonna be you choosing the employer, not the other way around.

Recommended reading: [http://expatsoftware.com/](http://expatsoftware.com/)

</comment><comment><USER42> I've gotten burned out pretty hard before, and also struggle with depression.

It's not a very exciting answer, but mine is "I'm good at it and it pays better than anything else someone would be willing to pay me to do every day." It supports me and my wife in a comfortable lifestyle, and I can work from home in my pajamas if I want to.

If I had all the money I could possibly need, I would probably take a very long break from programming, maybe a year or two. Then I would still code, but it would be only fun little personal projects, game jams, stuff like that. Things to stretch my skills and creativity because learning is fun.

</comment><comment><USER43> I failed.

After 20 attempts, I was still a failure

I was about to give up

But one thing changed everything

I was watching a documentary on lions, and I came to know something interesting.

Lions fail 8 times out of 10

They fail a lot and one mistake may make them lose their life and reign.

But do they give up? Do they cry and complain?

No!!

They Fail - Learn - <USER2>

And that's why they are called King of Animals

It was an important learning for me.

I will fail, but I must learn and evolve from them and never give up on my dreams. And thats keeps me going

As someone has rightly said, "If size really mattered, the elephant would be king of the jungle."

</comment><comment><USER44> Honestly I don't know. I've been working on an ambitious project for the last 6 months fighting procrastination. Working all by myself, sometimes showing my progress to friends and family, but no one really cares. I could really use someones input, no matter what kind, just need someone to tell me it's good or it sucks. No one cares. So I just keep going, money is running out, new bugs keep showing up, I patch them. Hopefully when I release it will get traction because I honestly don't want to rejoin the work force.

</comment><comment><USER45> This question itself shows a little bit of privilege.

What keeps me going is having to pay the bills. And even after you pay bills you have to worry about retirement, and if you have enough for that you can worry about your family and friends.

Don't get me wrong I actually REALLY like my job right now but I didn't always like what I was doing. And probably one day I will also dislike what I am doing, but in the end you have to keep working so long as you need money.

</comment><comment><USER46> I make tens of thousands of people's lives easier, safer, and less stressful every day, and I help keep 450 tons of CO2 out of the atmosphere every day.

</comment><comment><USER47> I think the biggest thing you can do is to find a project that really interests you.

After I started my first job, I had a long period where I no longer had any motivation to code. What snapped me out of it was starting a project that I found interesting and challenging (related to data compression, if I remember correctly). For me, at least, solving a difficult technical problem is what keeps me going.

</comment><comment><USER48> It is not the computers I enjoy, it is solving real world problems. I really get a kick out of that, computer or not.

</comment><comment><USER49> If You Get Tired Learn To Rest Not To Quit

</comment><comment><USER50> This captures it pretty well:

[https://www.smbc-comics.com/?id=3454](https://www.smbc-comics.com/?id=3454)

</comment><comment><USER51> I don't look at it as just coding, but rather the purpose behind that code.

I don't know if I am interested in coding for years and years, but I do enjoy solving problems and right now I am doing it via coding.

Seeing that code solve real world problems for our users is a very good feeling.

</comment><comment><USER52> As a part of society, you receive a lot.

Food, water, shelter, security, all sorts of services and conveniences... all of them requiring time from different people and the sacrifice of countless plants, animals and the environment.

What keeps me going is working hard to make those sacrifices count.

</comment><comment><USER53> Don't have anything to live for just too scared to give up and die.

</comment><comment><USER54> Business, Mortgage, Wife, Kids, family, friends and the various lovely moments/things that life has to offer. Thats what keeps me going at the moment.

</comment><comment><USER55> For me it is two things. First, the ability to think about abstract problems is incredibly interesting.

Second, the job pays very well and is in high demand.

</comment><comment><USER56> When I was you age: the rush of the "it works!" moment.

Now: knowing that when I get home, my infant baby will smile at me.

</comment><comment><USER57> Curiosity. The desire to create. The will to have agency and interact with the universe. Interacting with other ppls ideas too.

</comment><comment><USER58> remember that you are always choosing to do what you do. look around at other stuff if you are bored. i haven't been too unhappy with my work (which has varied) because i always feel like im doing what i want to do. just try to convince yourself that you are doing the best thing given your circumstances.

</comment><comment><USER59> Fun by exploring new ways. It implies not to follow the majority.

If it's boring, do it differently.

</comment><comment><USER60> Occasional thanks from end users, hearing how stuff I wrote makes their lives easier.

</comment><comment><USER61> Survival.

</comment><comment><USER62> I still have student loans to pay off.

</comment><comment><USER63> > What makes you wake up every morning and sit down to code again?

Having other coders to talk to about code as well as life. You won't have access to such people unless you keep working with them.

As it happens most of my current team is remote, but a lot of the socialising is over Slack.

And it's a big deal having qualified experts to talk to about stuff; they know the most about what's interesting, what works, and what's been tried before.

</comment><comment><USER64> You know what's bad for health? Being homeless. Imagine the stress you have now. Now imagine the stress down the line when you have an eviction notice in your hands because you can't afford to pay rent, drive to work and eat at the same time. If you aren't getting hired for low-end jobs then a) You are a fake and you cannot code (fizzbuzz is an impossible task) b) You disgust people when they meet you and they vomit once you leave the room c) Your resume and job search process is fucked up You need to be amazing to get an amazing job (or fake it like most people do). You need to be average to get an average job. Can you code fizzbuzz? Can you create an android calculator app in a weekend? Congratulations, you are way above average! Because the average guy basically needs a personal assistant because he's fucking retarded and he still gets hired. No problem at A. Do you shower? Do you have a clean set of clothes? Do you have greasy hair and a tattoo of a dick on your forehead? Do you look like you listen to heavy music and will shoot up the place? Do you manage to look at the other person in the eyes at least once when they talk to you? Do you manage to make sound when you open your mouth and not spit at the interviewer? Do you manage a handshake and do you manage not to cuss and swear during the interview? Then B is okay. The reason you can't find a job is because 1) your resume sucks 2) you suck at prostituting yourself to the employer 3) you have no projects. Make a fucking android calculator if you apply for mobile jobs. You've opened android studio and managed to compile something that doesn't set your phone on fire, you are already ahead of 99% of applicants. Make a web calculator if you are applying to web jobs. Make a flappy bird clone in Unity if you are applying to Unity jobs. Unreal engine if unreal engine jobs. Sure, curing cancer or making spaceships fly is cool and all, but "I have experience WITH THE TOOL YOU MENTIONED IN THE LISTING AND I HAVE A PROJECT IN GITHUB THAT ACTUALLY RUNS WITHOUT CRASHING AND IS OVER 20 LINES LONG" puts you above and beyond 99.99% of job applicants because they have a hello world app in C# that doesn't even compile. Open a job listing, pick every technology they have and make a project that includes it. C++? Sure thing. Git? Yup. ReactJsAssemblysadfsadfeafsefsaf Framework? Yup, got a USD to EUR converter in that. Once you start to have projects that include stuff your employer is interested in, you can talk about it. I did some obscure random thing in Matlab like fucking ages ago back when I was a 1st year student. And the employer happened to be interested because he did a similar thing 20 years ago and we talked about it for 30 minutes and what kind of things did I learn since and blah blah blah. Boom, hired. I fucked around with a library employer mentioned on the listing and did a simple proof-of-concept (like 30 lines of code, took me 30min) in it because I was applying to a job way above my competence level. I cut the line straight past everyone else because they had nothing, I had something. Hired. Applied to 300 jobs every summer during study years. NOTHING. Fixed my resume, added projects, tailored resume for each employer to tick off every box. Actually get interviewed almost every time and since I actually did familiarize myself with the technologies instead of lying, I started getting hired because everyone else was like a deer in headlights when asked about the technology. If you don't give a damn about working a top company, you don't have to be a top candidate. You just have to beat everyone else. Everyone decent and above will apply to top companies and end up not getting hired because they weren't top candidates. You are smart, you don't need a top company. You will be the best candidate in a mediocre company.</comment>


'Electric mud' teems with new, mysterious bacteria - <AUTHOR> https://www.sciencemag.org/news/2020/08/electric-mud-teems-new-mysterious-bacteria <comment><USER2> Who knew. Cable bacteria [1]:

> ...are filamentous bacteria that conduct electricity across distances over 1 > cm in sediment and groundwater aquifers. Cable bacteria allow for long > distance electron transport, which connects electron donors to electron > acceptors, connecting previously separated oxidation and reduction > reactions.

Cable bacteria and bacterial nanowires [2] seem to form linear bacterial colonies [3] that conduct electrons.

[1] [https://en.wikipedia.org/wiki/Cable_bacteria](https://en.wikipedia.org/wiki/Cable_bacteria)

[2] [https://en.wikipedia.org/wiki/Bacterial_nanowires](https://en.wikipedia.org/wiki/Bacterial_nanowires)

[3] [https://en.wikipedia.org/wiki/Colony_(biology)](https://en.wikipedia.org/wiki/Colony_\(biology\))

<comment><USER3> It's discoveries like this that cement my belief that we fundamentally don't know the actual effects when we decide that we're being "safe enough" for the planet.

<comment><USER4> I came to the opposite conclusion, very often it's amazing how adaptable and resilient the biological world can be.

<comment><USER5> Yeah, but nevertheless .. I'm still gonna be headed to space when the day comes that we can 'just grow your CPU' in the bathtub...

</comment></comment></comment></comment><comment><USER6> 'Electric mud' was Muddy Waters' 1968 attempt to create a psychedelic record to connect with the youth of the day. He did not even play guitar on the record.

Despite the sneering of blues traditionalists, it is a great record.

<comment><USER7> I saw the title and thought that it was about Muddy Waters and was disappointed when I clicked through. BTW. The Electric Mud album was recorded using Muddy's regular band and then the psychedelic tracks were remixed in. If you listen carefully you can hear Pinetop Perkins, Willy Smith and the rest of the band. I remember hearing a remastered version without the psychedelic tracks and it was much better.

<comment><USER8> Surely you weren't actually disappointed this was about electron conductive bacteria as opposed to the psychedelic folk album?

<comment><USER7> I am a blues guy. Sure, electron conductive bacteria are cool, but not as cool as Muddy singing "I've got my mojo working".

</comment></comment></comment></comment><comment><USER9> The researchers used "[...] custom microsensors that detected changes in the mud's chemistry."

I have been toying with the idea of analysing the composition of soils for house plants etc, but never had the time to actually dig deep enough to get started working on it. My shallow searches for raspberry pi sensors was not super succecssful (they do exist, but most projects seem old and abandoned)

Are there any affordable sensors out there that can be used to analyse soil samples? Alternatively, what knowledge is required to build sensors that can detect chemical composition of soil?

<comment><USER10> There are a few sensors, see meter group for a professional selection, but soil analysis requires sampling and wet lab work to determine composition.

</comment></comment><comment><USER11> Bacteria forming macro scale structures in nearly every wet ecosystem studied. Perhaps we need new definitions for 'organism'.

<comment><USER12> Our innate fixation on categorizing everything has given us strange blind spots all over the place. Take the whole thing with plants in a rain forest communicating via chemicals and intermediate fungii and all sorts of things - we insist on thinking of them as separate organisms mutely battling each other, or (hippie hat firmly in place) as a single cohesive whole living in harmony.

In reality it's neither, it's a disparate bunch of organisms in a complicated web of iterated cooperation and defection in a cutthroat battle for individual (and therefore often communal) survival.

<comment><USER13> What if we look at it from the other side, too? How much competition and individual optimization is going on among the cells in the bodies and brains of animals, including humans? I suppose one of the big differences is the shared lineage and DNA, though I don't know how much that affects cooperation.

<comment><USER12> Exactly! We think ourselves as a single _thing_ but we're more like a megalopolis inhabited mostly by bacteria with infrastructure provided by a clone army.

Of course in our dystopian internal society any unsanctioned individuality is quashed by the militarised police... unless of course it isn't at which point it metastatizes and everyone dies.

(The question about shared DNA is really interesting - so much of our individual drive for survival is a result of our K-strategist genetics and the resultant selection pressures over the years. If we spawned like octopi or grew from spores like orks, how much different would our worldview be?)

</comment></comment></comment></comment><comment><USER14> The Black Sea is rich on hydrogen sulfide. Googling on cable bacteria and Black Sea showed this:

Cable bacteria can limit sulfide release by promoting iron oxide formation in sediments.[1]

[...] we used laboratory incubations to assess whether cable bacteria can establish in iron (Fe) monosulphide-poor coastal Black Sea sediment and to determine the impact of their activity on the cycling of Fe, phosphorus (P) and sulphur (S). [...] we show that the enrichments in Fe oxides induced by cable bacteria are located in a thin subsurface layer of 0.3 mm. We show that similar subsurface layers enriched in Fe and P are also observed at field sites where cable bacteria were recently active and little bioturbation occurs.[2]

[1] [https://pubs.acs.org/doi/10.1021/acs.est.9b01665#](https://pubs.acs.org/doi/10.1021/acs.est.9b01665#)

[2] [https://bg.copernicus.org/preprints/bg-2020-292/](https://bg.copernicus.org/preprints/bg-2020-292/)

</comment><comment><USER15> Very much worth a read:

"as if our own metabolic processes would have an effect 18 kilometers away,"

<comment><USER16> Yeah, but my metabolic processes sometimes do have an effect many kilometers away.

It's like with ants, they can carry things many times their size, but if ant was the size of an elephant and made with the same materials, it couldn't even support itself.

<comment><USER12> > Yeah, but my metabolic processes sometimes do have an effect many kilometers > away.

You mean like ordering pizza to be delivered?

<comment><AUTHOR> Winning!

</comment></comment></comment></comment><comment><USER17> This whole mud special issue is really quite good.

I remember many times in childhood being at the beach and trying to "help" the stream reach the water. The end result was always a muddy mess. Lesson learned, let the water meander.

</comment><comment><USER18> Wondering if this relates in any way to the bioluminescent soil 'discovered' in TN during the civil war ( [https://www.mentalfloss.com/article/30380/why- some-civil-war...](https://www.mentalfloss.com/article/30380/why-some-civil- war-soldiers-glowed-dark) ) If if the science used here can shed extra light on it.

</comment><comment><USER19> This is fascinating. I was a bio major in college 2000-2004 and its awesome to see how many things just weren't known back then.

<comment><USER20> When I got my teaching credential in 2002–4, I had to do a few general education requirements even though I already had a B.A., one of them was a semester of biology. I'd taken two years of bio in high school in the 80s and the difference in what was known in those two decades was astonishing.

</comment></comment><comment><USER21> I want somebody to isolate these, re-engineer them to respond to a control input, and use them to implement nanowire network reservoir computing

[https://www.sciencedaily.com/releases/2019/12/191226084403.h...](https://www.sciencedaily.com/releases/2019/12/191226084403.htm)

</comment><comment><USER22> >The discoveries are forcing researchers to rewrite textbooks

I see comments like this all too often. It makes it sound like textbooks were not supposed to be updated anyways. I fear people expect science to "settle".

</comment><comment><USER23> New mysterious bacteria in 2020? Put it back and leave it alone! Maybe next year.

<comment><USER24> Recent article about a discovery that's a few years old.

</comment></comment><comment><USER25> Life is amazing.</comment>


I still think you can manufacture a (slightly) unfair coin - <AUTHOR> http://www.win-vector.com/blog/2015/04/i-still-think-you-can-manufacture-an-unfair-coin/

<comment><AUTHOR> The post got truncated by a bad character in my blockquote paste (sorry!). It should be legible now (and include two figures).</comment>


Libor: Bank of England implicated in secret recording - <AUTHOR> http://www.bbc.co.uk/news/business-39548313 <comment><USER3> It's not really news; it's always been clear that:

1\. The Bank of England knew about the Libor rigging as it happened

2\. And was, _at a minimum_ , very happy with the results (given that it reduced the risk of bank runs imperiling the entire system)

3\. And that nobody involved really thought this was a serious issue, much less a crime.

Putting the above together, it would be surprising if there wasn't some pressure from the Bank of England to push Libor down; why wouldn't they be doing that? In the circumstances, it would have practically been remiss of them to do otherwise.

Of course, it looks absolutely horrific now that we've decided that manipulating Libor is a serious issue that people should go to prison for!

<comment><USER4> > "3\. And that nobody involved really thought this was a serious issue, much > less a crime."

I'm not sure where that point came from. It's not only a crime, it's an extremely serious crime. What on Earth are you talking about?

LIBOR is a derivative of daily rate data which is shared between banks. It is not rigged centrally.

You can't tell investors that the rate is based on a daily measurement of interbank risk, and then just go ahead and base that rate on something entirely different when it suits you. That's called fraud.

<comment><USER3> > It's not only a crime, it's an extremely serious crime. What on Earth are > you talking about?

Today it is. Back then it wasn't. (Or rather, it wasn't seen as such.) It was, by definition, a number that people made up based on their gut feeling (NOT hard data), and there was no regulation or precedent for what sort of number you could make up.

Notice that in the linked article, the Bank of England carefully doesn't deny putting pressure on banks to keep Libor low, and just says that: ""

Or see the article I linked elsewhere in the thread about Barclay's who was perfectly open with analysts and regulators that they were lying about Libor to improve their share price: [http://dealbreaker.com/2012/07/same-old-boring- story/](http://dealbreaker.com/2012/07/same-old-boring-story/)

Yes, we see it as a serious crime now, but it's pretty clear that circa 2007-2008, that was not a common view.

> LIBOR is a derivative of daily rate data which is shared between banks [...] > You can't tell investors that the rate is based on a daily measurement of > interbank risk

It's neither of those things, and I certainly _hope_ investors weren't being told that, because that would be a lie. It's literally the result of asking some banks, "hey, if you went and borrowed some money...how much do you reckon you'd get charged?". And it turns out that's horribly subjective, not very useful, and prone to manipulation!

<comment><USER5> That people think LIBOR is some objectively calculated rate is probably an even bigger lie than LIBOR itself. How did that view come about, poor financial reporting?

<comment><USER6> The calculations are objective, the input values are subjective.

ICE says they ask a particular bunch of people "If _your_ bank wants to borrow money, how much does that cost?" and then they do a particular calculation to turn all those inputs into LIBOR

90 days later we can see all the individual numbers, so we can check if ICE did their job properly, and also we can see if, say, Lloyds have been ridiculously low-balling their numbers every Tuesday.

Because the question is subjective, that's still subject to bias, in particular it makes an unspecified assumption: that the bank asked could in fact secure such a loan because it's available to them if they wanted it. As a result loss of liquidity in parts of the market is not visible through LIBOR even with reforms.

<comment><USER5> There seems to be a pattern lately of people replying to comments assuming the poster doesn't know anything. It is getting really annoying. Pro tip: many of us here work in finance or related fields. It is like people are just itching to show how much they know.

</comment></comment></comment></comment></comment></comment><comment><USER7> There is no recording of any BoE official asking Libor to be changed, which I had partially expected.

Instead, a Barclay employee is on record saying: "The bottom line is you're going to absolutely hate this... but we've had some very serious pressure from the UK government and the Bank of England about pushing our Libors lower."

This is the equivalent of hearsay evidence, and how Dearlove brought up the BoE only illustratively further distances the BoE.

Also, the manager just says they had pressure for lower BoE rates -- but charitably read, the BoE may have meant through actually lending at lower rates and trusting your fellow banks. After all ensuring trust in the banking system is a core BoE function. Your parents might pressure you to get better grades, but often they don't intend cheating.

Now does is this evidence that the UK government wanted Libor rates lower -- sure. Does it increase the chances the BoE encouraged the manipulation -- probably. But is it a smoking gun where the BoE explicitly instructs manipulation? Far from.

<comment><USER8> Well they'd have to be pretty stupid to put it in writing, given that it was against the rules.

It seems to me a shame that people lower down the chain, who didn't stand to personally profit from the manipulation are going to be the only ones to take the fall for this. The suggestion that the rate fixer acted independently to manipulate the rates, even though he will have known that he risked prosecution as a result, just isn't credible to me.

It's obvious that general banks + BoE colluded to fix a rate that was _meant_ to be based on the realities of lending, and that they did so either to make more money (in the case of the general banks) or to instill confidence in the banking system (in the case of BoE).

Whilst there may not be enough evidence to prosecute, it seems wishful thinking to say that the BoE didn't know that people might take their wishes and translate them into effectively illegal actions.

The point of Libor was that it was _meant_ to be a reflection of bank's actual rates, so any pressure for lower rates inevitably is pressure to cook the books, and the BoE staff involved will have known that.

<comment> K9-Mumbai "It seems to me a shame that people lower down the chain, who didn't stand to personally profit from the manipulation are going to be the only ones to take the fall for this."

The point is now that its clear that the people who have been arrested are not to blame - what happens next? They rot in jail while years pass while the country and the SFO and the courts debate on who was really to blame!?

</comment></comment></comment><comment><USER9> This is, broadly speaking, the same story that came out in 2012:

"Barclays Submitters believed mistakenly that they were operating under an instruction from the Bank of England (as conveyed by senior management) to reduce Barclays' LIBOR submissions"

[https://www.publications.parliament.uk/pa/cm201213/cmselect/...](https://www.publications.parliament.uk/pa/cm201213/cmselect/cmtreasy/481/48106.htm)

Whether this belief was "mistaken" seems a matter of opinion, since no evidence has surfaced of what was actually said.

</comment><comment><USER10> Back in my Econ classes we were taught that Libor was this atomic-clock-like gauge that objectively and impartially measures interest rates with absolute precision. Turns out that isn't exactly the case.

We know that some commercial banks that participated in rigging it - <USER2> article mentions about employees of Barclays who and got caught, convicted and jailed for rigging Libor. But if the Bank of England has exerted pressure one way or another on Libor the claim that it is a a 'precise' interest rate gauge determined by the 'free market' are starting to look increasingly more questionable.

<comment><USER11> Yes, and in high school chemistry you were taught that electrons go round the atomic nucleus in orbitals. The real scandal here is the poor state of undergraduate education in economics.

<comment><USER12> Back in high school, our chemistry teacher explicitly told us that this is nothing but a model and that all models are approximations. At the same time our economics teacher argued that rational self-interest is the undiluted essence of human behaviour.

<comment><USER13> Your kindergarten teacher probably told you that the number after 1 is 2. How stupid of them not to know that you can also have 1.1!

You can't hop in the deep end when you start learning a new subject.

If you continue in Economics you will deal with models that consider irrational actors.

<comment><USER12> Deep end? I tried to illustrate that one teacher made the effort to highlight a model's shortcomings while the other one couldn't see beyond his own ideological biases.

</comment></comment></comment></comment></comment><comment> sid-kap Is the US the only state whose federal bank (the Fed) controls the inter-bank lending rate (called the federal funds rate in the US)? What are the pros and cons of the Bank of England not setting Libor in the same way?

<comment><USER14> I could be wrong. But I think that the two rates serve slightly different purposes.

The federal funds rate is an overnight rate for one. And I'm sure that American banks sometimes use libor for setting rates on securities.

I would be surprised if the Euro didn't have something that was closer to the federal funds rate than libor.

<comment><USER15> I guess that would be the Eonia:

"Eonia reference rates are calculated by the European Central Bank, based on all overnight interbank assets"

[https://en.wikipedia.org/wiki/Eonia](https://en.wikipedia.org/wiki/Eonia)

<comment><USER16> EUR: EONIA

GBP: SONIA

</comment></comment></comment></comment><comment><USER17> There were those manipulating Libor to prevent bank runs (somewhat defensible) and those manipulating Libor for self gain (not defensible).

Both manipulations went straight to the top and thus far, as expected, only mid-level operators have been held accountable.</comment>


The Economist: What they don't tell you about climate change - <AUTHOR> https://www.economist.com/news/leaders/21731397-stopping-flow-carbon-dioxide-atmosphere-not-enough-it-has-be-sucked-out <comment><AUTHOR> quote: Don't be so positive Fully 101 of the 116 models the Intergovernmental Panel on Climate Change uses to chart what lies ahead, ASSUME that CARBON will be TAKEN OUT OF THE AIR in order for the world to have a good chance of meeting the 2°C target. The total amount of CO2 to be soaked up by 2100 could be a staggering 810bn tonnes, as much as the world's economy produces in 20 years at today's rate (see article(1)). Putting in place carbon-removal schemes of this magnitude would be an epic endeavour even if tried-and-tested techniques existed.

(1) cited article: [http://www.economist.com/news/briefing/21731386-cutting- emis...](http://www.economist.com/news/briefing/21731386-cutting-emissions- will-not-be-enough-keep-global-warming-check-greenhouse-gases-must-be)

<comment><AUTHOR> Could someone please upvote?

It is important, that people know, that this assumption has been made. It also means that the climate goals are unreachable and that we are basically being lied to.</comment></comment>


OpenZFS launch - <AUTHOR> http://www.open-zfs.org/wiki/Announcement <comment><USER2> I suspect an unmentioned goal of this project is eventually to make the installation of OpenZFS on Linux (and other *ix operating systems) quick and simple, legally running around Oracle's license restrictions.[1]

Unsurprisingly, the list of supporting companies[2] does not include Oracle, which surely isn't happy about this project.

\--

[1] The source code upon which OpenZFS is based was provided by Oracle (Sun) under the CDDL license, which prevents OpenZFS from being distributed in binary form as part of the Linux kernel.

[2] [http://www.open-zfs.org/wiki/Companies](http://www.open- zfs.org/wiki/Companies)

<comment><USER3> Installing ZFS on Linux is quite simple.

sudo apt-get install linux-headers-`uname -r` linux-headers-generic build- essential

sudo apt-add-repository ppa:zfs-native/stable

sudo apt-get update

sudo apt-get install ubuntu-zfs

The goal of OpenZFS is to foster cooperation between the various groups using ZFS.

<comment><USER4> That takes care of post install.

\- How do I install onto ZFS?

\- How do I maintain this? Since ZFS is outside the mainline kernel, how do I know whoever compiles the ZFS packages will keep track of (distribution)'s kernel package?

<comment><USER3> Good questions. Booting from Linux ZFS is a bit more of an advanced project. Here is the guide for Ubuntu: [https://github.com/zfsonlinux/pkg- zfs/wiki/HOWTO-install-Ubu...](https://github.com/zfsonlinux/pkg- zfs/wiki/HOWTO-install-Ubuntu-to-a-Native-ZFS-Root-Filesystem)

The ZFS packages are not fully pre-compiled. The ZFS packages use the dkms system where the kernel specific parts are recompiled when the kernel changes. This greatly reduces the maintenance work and is a system that has been in use by other out of tree kernel modules for a decade. Its not perfect, but it does largely reduce the distribution specific maintenance burden.

Of course, when a new kernel version comes out, ZFS may have to make adjustments to support it and ZFS may lag a little bit. However, currently there are significant resources being dedicated to ZFS on Linux development and packaging and for the last 18 months they've kept up pretty well.

It isn't perfect. I wish that ZFS could be in the linux source tree. While I saw ZFS on linux being available, I wasn't ready to try it until last year. However, third party file systems do have a long tradition, such as AFS, vxfs, and numerous SAN file systems. ZFS on Linux seems to be doing very well.

</comment></comment></comment></comment><comment><USER5> I built a 16TB raidz home office server this weekend using Ubuntu and ZFS on Linux[0]. It worked great out of the box. I was even able to import a pool created on another server without any problem. Of course, your mileage may vary.

I was using FreeNAS previously (mainly for the ZFS support to keep my data safe and not spend a bunch on raid controllers) and kept getting bogged down by feeling the need to grok jails. I think jails are terrific in theory, but a pain to work with if you're not intimately familiar with them. Maybe it's just the way it works on FreeNAS, but newly created jails (by default on FreeNAS) were getting a new virtual IP addresses, which really threw me for a loop. Add to that frustration trying to get all the permissions correct just to make a few different services work together started to get really painful.

The drop-dead simplicity of setting up exactly what I had previously on a fresh Ubuntu box with native ZFS port _really_ warmed my cockles.

[0] [http://zfsonlinux.org/](http://zfsonlinux.org/)

<comment><USER6> What's the advantage of using ZFS RAIDZ over mdadm? I thought that mdadm was more flexible in growing your RAID array.

<comment><USER7> I have been doing lots of research on this recently and here is the main thing that makes ZFS win every time:

When you have a RAID of any kind you need to periodically scrub it, meaning compare data on each drive byte by byte to all other drives (let's assume we are talking just about mirroring). So if you have two drives in an mdadm array and the scrubbing process finds that a block differs from drive A to drive B, and neither drive reports an error, then the scrubber simply takes the block from the highest numbered drive and makes that the correct data, copying it to the other drive. What's worse is that even if you use 3 or more drives, Linux software RAID does the same thing, despite having more info available. On the other hand, ZFS does the scrubbing by checksums, so it knows which drive has the correct copy of the block.

How often does this happen? According to what I have been reading, without ECC RAM and without ZFS, your machines get roughly one corrupt bit per day. In other words, that could be a few corrupt files per week.

My conclusion is that as I am building my NAS, I want ECC RAM and ZFS for things I cannot easily replicate.

<comment><USER8> Just to make it clear. raid-5/6 mdadm arrays does the right thing when repairing/checking/scrubbing data. It writes the correct data if one of the drives has a corrupted block.

[https://raid.wiki.kernel.org/index.php/RAID_Administration](https://raid.wiki.kernel.org/index.php/RAID_Administration)

      How often does this happen? According to what I have been reading, without ECC RAM and without ZFS, your machines get roughly one corrupt bit per day. In other words, that could be a few corrupt files per week.

This is complete nonsense without more data to back it up.

<comment><USER9> > Just to make it clear. raid-5/6 mdadm arrays does the right thing when > repairing/checking/scrubbing data.

This is inherent to RAID-5/6\. Doesn't really have anything to do with mdadm other than mdadm implements RAID-5/6\. And now you probably have a write hole.

</comment></comment></comment></comment></comment><comment><USER10> What about patent encumbrance? Has the squabble between Sun(now Oracle) and NetApp been completely resolved? According to this[1], it was a quiet draw- down, followed by NetApp suing some hardware manufacturers selling ZFS.

Are the patent issue laid to rest?

[1] [http://en.swpat.org/wiki/NetApp's_filesystem_patents](http://en.swpat.org/wiki/NetApp's_filesystem_patents)

<comment><USER11> CDDL has patent shielding. Oracle is on the hook for that patent, not users of Sun's (now Oracle's) CDDL licensed code.

</comment></comment><comment><USER12> I have trouble understanding the position of OpenZFS.

My understanding is that Oracle ZFS, which can not be integrated in mainline Linux, can still be distributed as a separate project (zfsonlinux.org).

On the other hand, Linux kernel developers have started btrfs, which is inspired by, but incompatible with, ZFS.

So, what is this project? I can only imagine that this is either a white room reimplementation of ZFS, or a fork before the license changed (but I think it was CDDL from the start).

A more interesting question would be: who should use or develop this? IMHO this will never be on par with "the" ZFS, so btrfs is where everyone's energy should go.

(Also, by reimplementing a ZFS product you're supporting them in a way.)

<comment><USER13> You should read the link, it answers many of your questions here. For example, it's not a reimplementation of ZFS, it's an organization to coordinate between the many different groups that are actively using ZFS in their products.

Parts of btrfs may be inspired by ZFS, but btrfs doesn't even _aspire_ to some of ZFS's niceties like zraid3. And if you're looking at ever using 4TB disks, a third parity bit should be a requirement.

I'm a fan of btrfs, but I'm a much much bigger fan of ZFS. ZFS will almost certainly be at the base of our next storage buildout, and btrfs probably will not. The only thing keeping btrfs relevant is that the GPL and CDDL interact poorly. But when there's a great, well tested, and higher tech code base, why should people abandon it? ZFS is used by many many people in production, btrfs by very few, and even if btrfs hits all its development roadmap it won't be the equal of ZFS.

<comment><USER12> I read the link, and I disagree that it answers these questions. It is presented as "the truly open source successor to the ZFS project", which is why I understood it was a fork.

I agree that btrfs is not ready for production (and I'm not ready to hand my precious bytes to it yet), and will probably never be as feature rich as ZFS. But the licensing issue will always exist, and Linux needs a modern file system -- btrfs.

That said, a lot of people/businesses use ZFS on Linux in production, so it's nice that there is an central place where they can find documentation about it.

<comment><USER13> My apologies, on reading again, my first sentence comes across far snarkier than I meant it to be! I thought that the announcement was clear, but reading again, I can see some ambiguities.

I do agree that that Linux probably could use something better than ext4. But Linux also needs something like ZFS.

If Linux's license makes it too difficult to run ZFS, then I can run FreeBSD, Illumos, OpenIndiana, or whatever other open source OS I want in order to get ZFS. But I can't replace ZFS with btrfs, and it doesn't look like btrfs wants to be able to replace ZFS.

</comment></comment></comment></comment><comment><USER14> you know why this is huge? its the first kernel piece of code that are and can be shared by different open-source operating systems in the kernel codebase!

i hope more technologies could get up into this model.. while the democratic open-source ecosystem in userland is a rule this days.. on the kernel land this is not true and that may force us to use a OS instead of other because of some feature that only that Os has, even if we wish to install the other one..

for instance, i love linux, but i also love the BSD´s and want them to grow as much as linux did.. if the good things created in one OS could also be used on other, by a proper port to that kernel, we might not being bullied to accept on OS in favor of another, and be stuck by it!

I hope this movement make its way to others kerneland technologies! great news!

<comment><USER15> Not quite the first, but likely to end up one of the most wide spread. The DRM graphics drivers are actually older than ZFS and have been MIT licensed from the beginning (they started from older MIT licensed X11 projects). There's also possibly some other's from the BSD projects (network drivers and such) that are even older than those.

<comment><USER14> yeah, but in those cases you have cited, the interested party get the source and implements it on its own codebase himself

eg. microsoft using bsd network layer on windows and freebsd porting linux drm to its own kernel..

this is different.. its aggregated as a product that target several os´s with different implementations for each kernel, but shareing only one core codebase.. this tends to be much more stable and cheap to everybody.. less bug prone, etc..

didnt heard of anything like it..

</comment></comment></comment><comment><USER16> ZFS is really a good thing, even if you never use it.

Why?

It raised the bar on filesystems and other filesystems have innovated in response.

<comment><USER17> I would tentatively disagree with raising the bar and describe it using my favorite MySQL / PostGRES analogy that they have a fundamentally different philosophy but do about the same thing.

For example, if you want to do something software raid-ish, ZFS has the philosophy that should be done at the filesystem layer, not as a virtual device like every other linux filesystem, ever. Its not a new feature to be able to do RAID, but its new to embed RAID into the filesystem layer itself. Linux style virtual RAID devices don't care if you build a FAT32 on top of /dev/md0.

There are other examples of the same philosophy in ZFS. For example everywhere else in linux if you want some manner of "volume manager" you simply use LVM. ZFS has its own interesting little volume manager. Which relates to snapshots.

It's exactly the same with encryption. Every other implementation on linux uses a loop device and your choice of algo. ZFS shoves all that inside the filesystem.

Another philosophical decision is every other linux filesystem doesn't scrub, but only fsck's metadata, so logically ZFS implements the exact opposite.

Although ZFS supporters are technically telling the truth when they run around saying only ZFS can provide software RAID, or only ZFS has a volume manager, and ext2/3/4 does not, its not relevant. I've had LVM and software RAID and all that for many years on existing linux stuff.

One of the few true features ZFS provides is allowing ridiculously big filesystems. Which is cool.

It is mostly a philosophical difference between modularity and monolithic design, with pretty much everything else being modular, and ZFS being extremely monolithic.

In that way I don't think ZFS has prodded any innovation at all in any other filesystems other than maybe BTRS which I haven't been following because my data is too valuable to experiment upon and filesystems aren't my thing. I don't see the iso9660 FS driver adding native volume management, snapshotting, software RAID, and encryption any time soon.

<comment><USER18> _ZFS shoves all that inside the filesystem. [...] I 've had LVM and software RAID and all that for many years on existing linux stuff._

I suggest you study the design of ZFS and also NetApp's WAFL to understand why they are combining what have traditionally been separate layers into one larger system.

The short version is that this cross-cutting of layers enables substantial optimizations and new features that aren't possible when everything is kept to strict interfaces.

<comment><USER17> But your conclusion is basically what I wrote, that one design is monolithic and one design is modular.

Yes in theory you could probably come up with a weird pathological scenario where a monolithic design is slower and a modular design is faster. But that usually doesn't happen.

Usually, turning a modular design into a monolithic design for a tiny performance gain turns into an epic disaster/mistake. Maybe the whole ZFS thing will be an exception. Probably not.

<comment><USER18> _Yes in theory you could probably come up with a weird pathological scenario where a monolithic design is slower and a modular design is faster. But that usually doesn 't happen. [...] Usually, turning a modular design into a monolithic design for a tiny performance gain turns into an epic disaster/mistake._

Well, think about this. Suppose you're running RAID-1 with two drives, and you've got some filesystem (maybe ext4, but that doesn't matter) running on top of that. You create one huge file, and then a little while later you delete it. And right after that, one of the disks dies, and you replace it.

In this case, your RAID layer doesn't know that most of the data written to the original drive is junk, and that the only really important bits are some inodes and directory entries consuming a few MB near the end of the disk. It has to re-mirror the entire drive from the original to the replacement before they are in-sync again and you are fully protected. Even with modern drives, that leaves a large window of time that you're not protected.

If, on the other hand, your RAID layer has a thicker interface to the filesystem than just a dumb block store, it can just mirror the little bit of metadata, and within seconds you're in sync again and fully protected.

That's just one example. There are many more. Go read the stories about people complaining about RAID-5 and RAID-6 performance.

</comment></comment></comment></comment></comment><comment><USER19> How does this and ZFS on Linux compare? How are they related? As a casual bystander, this is all very confusing.

<comment><USER3> ZFS on Linux is OpenZFS ported to Linux. As various OpenZFS users (FreeBSD, Nexenta, etc) add features to OpenZFS the code will be merged upstream then adopted downstream by the other OpenZFS users (including ZFS on Linux).

</comment></comment><comment><USER20> Still CDDL, so still cannot be included in the main Linux kernel tree?

<comment><AUTHOR> The legal issue is a matter of some debate (see below). In practice, I don't think the Benevolent Dictator wants ZFS in the main Linux kernel tree at the moment.

[http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue](http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue)

<comment><USER21> There's no debate. The CDDL has never been compatible with the GPL... and CDDL'd code will never be a part of the kernel.

[http://www.gnu.org/licenses/license- list.html#CDDL](http://www.gnu.org/licenses/license-list.html#CDDL)

[http://www.groklaw.net/articlebasic.php?story=20041205023636...](http://www.groklaw.net/articlebasic.php?story=20041205023636236)

[http://www.groklaw.net/article.php?story=20050205022937327](http://www.groklaw.net/article.php?story=20050205022937327)

In this link Linus talks about loadable module licensing.. gives an example of AFS, which he says he did not think counted as a derived work (and therefore did not need to be licensed under the GPL).. very similar to the ZFS case.

[https://lkml.org/lkml/2003/12/3/228](https://lkml.org/lkml/2003/12/3/228)

<comment><AUTHOR> You don't see Linus's viewpoint as contrary to the one on gnu.org? It seems like Linus is saying that the GPL allows AFS to be used with Linux (because it is not a "derived work"). How is ZFS different from AFS in this respect?

<comment><USER21> No, I don't. The gnu link says CDDL is not compatible with the GPL. What Linus is saying is, if a kernel loadable module relies on kernel internals, then it may count as a derived work, and must be licensed under a GPL-compatible license. If it does not -- for example, it is a filesystem that was ported to Linux (like AFS, and zfs fits here too IMO), then it may not be a derived work, and can be licensed under a non-gpl compatible license (like the CDDL).

Obviously, including the AFS or zfs into the source WOULD DEFINITELY create a derived work, and would require AFS/ZFS to be licensed under the GPL.

So Linus' is only explaining how a kernel loadable module could be licensed under a GPL-incompatible license.

<comment><USER22> I don't understand how putting the code into the same repository/makefile changes whether it's derivative in terms of copyright.

<comment><USER21> It's really more than simply adding it to a repository. I can store two text files that have nothing to do with each other on my HD or in a repo or wherever, and I would not be creating a derived work.

But if I have file A (kernel source) and file B (zfs code), and I compile A+B into a binary (the kernel image), then I have a single work that has been derived from A and B.

When it's suggested that ZFS be added to the kernel repo, what's really being said is that a single work (kernel+zfs) should be created.

In contrast, ZFS is currently a kernel loadable module. We have the kernel binary, and the module binary.. two separate works. (What Linus was clarifying was how integrated the module could be with the kernel and it still be considered a separate work.)

<comment><USER22> So what if it was inside the official kernel repo but defaulted to building as a module, and anyone distributing binaries left it on the default? Would that actually satisfy the licenses or are there clauses that would get in the way?

<comment><USER21> Good question. I think this is getting to specific for me to comment on. IANAL.

<comment><USER23> From my mostly second-hand knowledge, in practice even lawyers specializing in IP wouldn't have a solid answer for how to make this distinction, without looking at a specific case in detail. If it came up in a trial, the two sides would make a version of the arguments presented here: one would emphasize that the sources have now been "added to the kernel tree", a unified project managed with close integration etc. etc., while the other side would argue they were merely placed alongside the kernel sources in a version control system, like collecting short stories in an anthology.

<comment><USER22> Let me ask a slightly different question then. Does the GPLv2 _ever_ try to control anything that is not derived from the GPL source code? Some of the FSF's saber-rattling seems to imply that either the answer is yes, or they're being misleading, or they have a completely ridiculous definition of derivation.

<comment><USER21> Yes, if you link to a GPL'd library your program must also be GPL'd. That is why the LGPL was created.

Only example that immediately jumps to mind.

Edit: rephrased for clarity

<comment><USER22> Don't they claim that the linking rule works via derivation? As far as I understand it, the FSF would tell you that anything linked is always derivative. But that doesn't mean it's true. If you could prove that a particular instance of linking to a library was not derivative, would they still claim your program had to be GPL?

As I understand it, the LGPL exists to 1. provide legal certainty and 2. allow some amount of external derivation _if necessary_.

And it's easy to create an artificial dynamic-linking case where there is provably no derivation, using multiple libraries with the same API.

<comment><USER21> _Don 't they claim that the linking rule works via derivation?_

Yes.. it was the closest thing I could think of where the two pieces of software are fairly separated. I mean you could have a huge proprietary program, and a developer calls gsl_pow_int() from the GNU scientific library, and the entire program must be licensed under the GPL.

I think that's about as close as you're going to get.

If you're looking for a case where the FSF said a piece of software had to be licensed under the GPL, even though it was NOT a derivative work, I don't think you'll find it. The reason it must be a derivative is copyright law.. the GPL can't unilaterally change that.

<comment><USER22> The GPL can't extend copyright law, but it can refuse to let you distribute.

It's possible to make a license that would say "can't be distributed with other software that does X".

But good, I'm glad there's nothing like that in the licenses here that I missed. Just the normal derivation-based questions.

<comment><USER21> Yes, you are right.. I didn't think of that case.. They cover this question in the FSF GPL faq: [http://www.gnu.org/licenses/gpl- faq.html#MereAggregation](http://www.gnu.org/licenses/gpl- faq.html#MereAggregation)

And they do have a requirement if you do so: _The only condition is that you cannot release the aggregate under a license that prohibits users from exercising rights that each program 's individual license would grant them._

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> ZFS is the best thing that happened in storage! Big thanks to the developers! Happily uses Western Digital 25AV 2.5 disks. Will probably use WD Red series. Total remote backup time with ZFS incremental snapshots negligible.

</comment><comment><USER25> Are they going to reconcile incompatibilities with GPL by adding additional license? Since OpenZFS is not associated with Oracle, who owns it (as in giving it a new / additional license?). It's a really silly situation since according to the authors they never intended to use the license to exclude Linux. But that's what happened.

<comment> vertex-four Unfortunately, Sun (now Oracle) provided the original source code under the CDDL, so re-licensing it would require Oracle's approval, which is unlikely to happen.

ZFS's license is compatible with those of FreeBSD and Illumos, which are very stable operating systems. Given that ZFS is most likely to be used for a SAN or a NAS box, you can quite easily use FreeBSD for those boxes and Linux for your application servers if you choose.

<comment><USER25> So essentially Oracle still owns the original rights on it? How does it work with derivatives? Let's say OpenZFS over the years will move far away from Oracle's ZFS. Will it sill be indirectly controlled by them as in not allowing to relicense it?

<comment><USER26> Generally it's a complicated area. Generally the only safe way to sneak out from under an existing license would be a black-box rewrite, done by people who hadn't looked at the source for the original version. Otherwise the original author could claim that it's a derivative work, and thus falls under the terms of the original license.

The CDDL in particular specifies that any modifications (changes, additions or deletions to the source code or their files) are also under the CDDL.

See [http://web.archive.org/web/20090305064954/http://www.sun.com...](http://web.archive.org/web/20090305064954/http://www.sun.com/cddl/cddl.html) 3.2,3.4 along with their definition of Modification.

However, even a black-box rewrite could still fall foul of any patents granted to the original creators.

<comment><USER25> _> However, even a black-box rewrite could still fall foul of any patents granted to the original creators._

Well, OpenZFS is already vulnerable to it. So if Oracle will decide to sabotage it, it easily can.

</comment></comment></comment></comment></comment><comment><USER27> I dabbled in ZFS on FreeBSD + OpenSolaris 3 years back. It was nice and all, but it hasn't been worth the overhead of running another OS to get its features since. I'm therefore glad to see some unity in the ZFS community to create more trust around its use in Linux, and proud to see my beloved Gentoo in the list of standard-bearers! Bring on the unrivalled pragmatism. Quack quack.

Observation: Gentoo packages still point to [http://zfsonlinux.org/](http://zfsonlinux.org/) not to [http://open- zfs.org/](http://open-zfs.org/) .. is this the same code? I suppose so.

Further observation: The kernel code looks like, as packaged by Gentoo, it can only be compiled as a module. Generally I disable LKMs on production systems. Grumble.

<comment><USER28> _it hasn 't been worth the overhead of running another OS to get its features since._

That's a rather cavalier attitude towards the integrity of your data. :/

I can replace operating systems. It's a lot more difficult to replace lost or silently-corrupted data. That makes data integrity one of my prime concerns, which it should be for any production systems.

<comment><USER27> _That 's a rather cavalier attitude towards the integrity of your data ... data integrity one of my prime concerns, which it should be for any production systems._

Different projects have different resources and requirements. There's far more ways than just ZFS to provide for data redundancy and integrity (TMTOWTDI).

(Edit: why the downvote? Geez.)

<comment><USER28> Downvote wasn't me. I agree with the sentiment regarding requirements.

However, I disagree with the bit regarding data redundancy and integrity. You _can_ do it other ways, but that doesn't make it a good idea; it's a bit like Greenspun's Tenth Rule, but for data. ZFS, or something like it (and there isn't anything else like it), is the foundation of any modern setup where data is important.

Because it's not on Linux is a terrible reason. If your data is important, then you'll need to look elsewhere than Linux for the servers where the data sleeps. The importance of data _requires_ it.

If data is relatively unimportant, then you're right. There are few domains where that's true nowadays though.

<comment><USER27> _I disagree with the bit regarding data redundancy and integrity._

You are welcome to disagree but I'd like to see some reasoning.

 _You can do it other ways, but that doesn 't make it a good idea; it's a bit like Greenspun's Tenth Rule, but for data._

Had to go searching for that rule, which seems to be Lisp-snobbery which is clearly somewhat justified in theory but almost irrelevant in practice. Right tool for the job, and all that. It's such a broken metaphor for storage consistency or availability that I'm not going to comment further.

 _ZFS, or something like it (and there isn 't anything else like it), is the foundation of any modern setup_

Do you honestly view ZFS as the be-all and end-all of data storage? That would be ... sad. Other filesystems can offer snapshots and high availability, as can other elements within a storage system. For example, in Linux, DRBD is a block device driver that provides even more powerful availability guarantees that any conventional (~single-host-homed) filesystem. Likewise, LVM2 has provided block-layer snapshots for ages. Similarly, Linux is unsurprisingly the most vibrant platform for cluster filesystems. Then there's also other great general purpose tools such as RAID, signatures/checksums, and such.

 _If your data is important, then you 'll need to look elsewhere than Linux for the servers where the data sleeps._

That's just ridiculous. I guess you're going to tell me most of the world's data lives on ZFS? Google uses ZFS? Facebook uses ZFS? Yahoo uses ZFS? Let's be realistic here: you're absolutely and demonstrably wrong, and have provided no compelling argument.

<comment><USER28> _which seems to be Lisp-snobbery which is clearly somewhat justified in theory but almost irrelevant in practice_

I agree, but you're missing the forest for the trees here. Please accept my arguments in good faith.

 _Do you honestly view ZFS as the be-all and end-all of data storage?_

For local storage? Right now? Yes, it's the best we have.

 _provided no compelling argument_

How many filesystems have Merkle trees? You need something like them to avoid phantom reads, phantom writes, and silent corruption.

How many filesystems have duplicate metadata blocks, duplicate [what's analogous to] the superblock several times, and can duplicate data a user- specified number of times? And then check their validity using the Merkle tree property above to validate reads?

How many filesystems offer free and instant snapshots? As many as you want? Those things are wonderful for databases.

How many filesystems offer software RAID? Hardware RAID is a dodgy idea, because it's a complex binary blob in firmware you have no insight into when something goes wrong (speaking from bitter experience, things go wrong). Furthermore some hardware RAID suffers from a write hole.

How many filesystems are transactional? And allow you to roll back if a transaction becomes unfixably corrupted? How many can replicate? How many use SSDs efficiently? How many have been in heavy industrial use for years?

ZFS has _all_ that (not some of it, that's the point), and more. There's nothing else like it. btrfs probably will be one day as well, but not yet.

So, no, it's not ridiculous. I've been down this trail of tears before, and ZFS has made life so much better. At least I don't need to dread a number in my database silently flipping a digit anymore -- if that scenario doesn't give you the hives, then I really don't know what to say.

<comment><USER27> Many things can corrupt your data ... outside of the filesystem. You seem unswervingly fixated on ZFS for some reason. This is simply wrong. If there's any forest-missing going on for tree fascination, it's with you.

<comment><USER28> I make an argument in good faith and get a nonsensical passive-aggressive blow-off in return. You should be ashamed.

<comment><USER27> I fully recognize ZFS's great feature set, it's just a tool though, and only represents one potential solution, appropriate for certain requirements, within one layer of a storage subsystem. If paranoid levels of data integrity are an end-to-end requirement, ZFS isn't a magic bullet.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> the site is lacking the Mac OS X version called Zevo: [http://getgreenbytes.com/solutions/zevo/](http://getgreenbytes.com/solutions/zevo/). It was developed by Don Brady, formerly a Senior Software Engineer at Apple

<comment><USER30> And it's at Zpool 28 already.

</comment></comment><comment><USER31> Not GPL compatible and patents from my understanding. Is there any way they can expect large scale deployments or linux integration?

<comment><AUTHOR> ZFS on Linux large scale deployments: 55 Petabytes at LLNL

[http://www.slideshare.net/MatthewAhrens/open-zfs- linuxcon](http://www.slideshare.net/MatthewAhrens/open-zfs-linuxcon)

See slide 3; last slide has a little more detail.

ZFS on illumos: Nexenta claims 1.5 Exabytes under management (across multiple deployments)

[http://billroth.ulitzer.com/node/2461630](http://billroth.ulitzer.com/node/2461630)

</comment></comment><comment><USER32> Can I please, please, please have a Windows port?

At work, we use Windows boxes, and I would love to use ZFS on them.

<comment><USER33> The operating systems that are getting support are mostly or at least partly open-source, so good luck with that.

<comment><USER34> That's probably not as big of a detriment as the high level functionality Windows expects to be in the filesystem layer that unix doesn't (or puts in VFS). From what I read, this is why Microsoft themselves have a hard time replacing NTFS.

<comment><USER32> There's having ZFS running as a native Windows file system...

...and then there's running ZFS on my Windows systems, which I must use a special API to access.

The second one isn't ideal, but it would be awesome to have.

</comment></comment></comment></comment><comment><USER35> FORK YEAH, this is what I've been waiting for the last 2 or so years. <3

</comment><comment><USER36> I am curious. What are you using ZFS for?

<comment><USER27> [https://en.wikipedia.org/wiki/Comparison_of_filesystems#Feat...](https://en.wikipedia.org/wiki/Comparison_of_filesystems#Features)

<comment><USER36> I know. I mostly ask, because a lot of people these days keep nearly every kind of data in databases and ZFS usually isn't the best thing for this (depending on the exact use case of course). It's by far one of the most exciting file systems, for storing "raw" data, but if you are having another layer, your data base system it (again, based on the exact use case) can become an unbearable overhead performancewise.

</comment></comment></comment><comment><USER37> I have a lot of respect for those working on this project, but realistically, if you use Linux, using an out-of-tree filesystem is just asking for pain-- lots of it. I would never use this on a production system. You know how painful out-of-tree video drivers are? Yeah. Imagine that, only now with the potential for data loss and divergent on-disk formats. And if it's your root fs, you can forget about booting if there's a problem.

Sure ZFS has a great reputation, but a lot of that came from how well- integrated it was into Solaris and how much QA was done on it. Neither of those things were ever true (or are going to be true in the future) for the various ZFS-on-Linux projects (yes, there are multiple.)

The comments about btrfs are about 5 years out of date. SuSE has already shipped btrfs in their "stable" 11.1 distribution, and Red Hat is going to do so in RHEL7. Give it a chance.

<comment><USER38> > The comments about btrfs are about 5 years out of date.

Not really. I've tried it, and it still has pain points I'd not like to have in my filesystem. It's like ZFS almost a decade ago (and I'm not talking about features)... although ZFS on Linux vs. btrfs on Linux... right now I'd still go with btrfs.

> Neither of those things were ever true (or are going to be true in the > future) for the various ZFS-on-Linux projects (yes, there are multiple.)

I believe there is a shift with regard to this, as demonstrated by the Gentoo project's integration of ZFS.

<comment><USER39> > Not really. I've tried it, and it still has pain points I'd not like to have > in my filesystem. It's like ZFS almost a decade ago (and I'm not talking > about features)... although ZFS on Linux vs. btrfs on Linux... right now I'd > still go with btrfs.

Care to elaborate? I've never tried ZFS, but been very happy with btrfs for my smalltime personal usage, I'm wondering why people find it so painful in comparison.

<comment><USER38> Well, there's just the general lack luster performance: [http://www.phoronix.com/scan.php?page=article&item=linux_311...](http://www.phoronix.com/scan.php?page=article&item=linux_311_filesystems&num=3)

I've also seen particularly bad pain points when doing things like using it with an NFS server.

<comment><USER37> ZFS also has "general lackluster performance" in areas like using memory (it requires tons of it). It's inherent in the design of a copy-on-write filesystem.

According to Ted Dunangst: "ZFS wants a lot of memory. A lot lot lot of memory. So much memory, the kernel address space has trouble wrapping its arms around ZFS. I haven't studied it extensively, but the hack of pushing some of the cache off into higher memory and accessing it through a small window may even work." See [http://www.tedunangst.com/flak/post/ZFS-on- OpenBSD](http://www.tedunangst.com/flak/post/ZFS-on-OpenBSD)

Different filesystems are good for different things. If you want a filesystem that has subvolumes, copy-on-write snapshots, built-in RAID, transactions, space-efficient packing of small files, batch deduplication, checksums on data and metadata, and so forth, you have to pay a price. Just the same way as running Apache with all the bells and whistles is not going to be as fast as ngnix.

<comment><USER38> > ZFS also has "general lackluster performance" in areas like using memory (it > requires tons of it). It's inherent in the design of a copy-on-write > filesystem.

Those benchmarks aren't about CPU or memory consumption. These days a good filesystem probably _should_ trade memory and CPU for increased performance. Those benchmarks are about throughput/latency.

> Just the same way as running Apache with all the bells and whistles is not > going to be as fast as ngnix.

...except ZFS generally performs very well as compared to other filesystems. When it first came out it had all kinds of ugly corner cases where it performed poorly, but it seems to do great these days.</comment></comment></comment></comment></comment></comment>


Seeking Co-Founder for BigTweet and Social.com - <AUTHOR> http://www.bigtweet.com/2009/10/seeking-cofounder-for-bigtweet-and-socialcom.html

<comment><USER2> Nice idea. Start with a new logo.

<comment><USER3> Good advice. Not trying to be mean or say anything about the service, but it was a big turnoff from the moment I saw it.</comment></comment>


Manfred Mohr, the groovy German who taught computers to make art - <AUTHOR> http://www.theguardian.com/artanddesign/2016/feb/12/manfred-mohr-the-man-who-taught-computers-to-make-art <comment><USER2> Manfred Mohr: [http://www.emohr.com/](http://www.emohr.com/)</comment>


Ask HN: Commercial projects that ended up being open sourced - <AUTHOR>

I am looking at Brevidy (https://github.com/iwasrobbed/Brevidy) and it looks like a really nice place to read good code.
"Brevidy was a video social network that I built with Ruby on Rails 3.0.7, HAML, Bootstrap, and jQuery that was released into beta testing February 2012. Brevidy closed down shortly after due to the high costs of server hosting in addition to all of the add-on services such as video transcoding, email, error exception handling, database storage, etc. Unfortunately, it's very difficult to get investor interest without knowing a friend of a friend, so I wasn't able to afford the rising costs that accompanied the user growth."
Are there other commercial projects like Brevidy that ended up being released under a FOSS license that you know of? I am primarily looking at Rails apps, but projects from all platforms are welcome.
My intent is to create a list of such apps. <comment><USER2> Well if you're looking for any kind of project, some famous ones are:

* Netscape a.k.a. Firefox

* Blender ([http://blender.org](http://blender.org)) was commercial until 2002 when the company behind it failed. The rights to the code were bought for €100,000 of user donations.

* Lightworks, a video editing program, is apparently supposed to become open source, right now it could be described as "freemium".

<comment><USER3> I love Blender, you stole my comment.</comment></comment>