SpoofMAC - Spoof your MAC address in Mac OS X - <AUTHOR> http://feross.org/spoofmac/ <comment><USER2> Original author here. Thanks, nh, for sharing this.

To those wondering why you would use SpoofMAC when you can just do `sudo ifconfig en1 ether 00:11:22:33:44:55:66`, let me explain why I wrote this.

The main advantage of SpoofMAC is that it automatically disassociates from any connected Wi-Fi networks before it changes your MAC address. The ensures the MAC change will be applied correctly. The biggest annoyance with doing it manually is figuring out how to dissociate manually, which usually requires trying to connect to a non-existant network.

After I put the code on GitHub, a few random contributors submitted patches for features like random MAC generation, etc. <3 open source.

Glad that so many are finding this useful.

<comment><USER3> You can disassociate from any network with the well hidden airport command:

        /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport --disassociate

EDIT: and looking at the source, that's exactly how you're doing it.

</comment></comment><comment><USER4> There was a great article in 2600 Mag about scanning a network for devices that were already connected to a pay-to-play WiFi network. You could then change your mac address to a mac address already connected. You would then share the connection and bypass having to pay for WiFi. It was really handy at airports and coffee shops that would charge to get online.

<comment><USER5> That was Volume 28, number four. Winter 2011-2012, Page 10 I believe titles " Mac Spoofing your way to free internet".

<comment><USER6> [http://servv89pn0aj.sn.sourcedns.com/~gbpprorg/2600/2600_28-...](http://servv89pn0aj.sn.sourcedns.com/~gbpprorg/2600/2600_28-4_Page_06.txt)

</comment></comment></comment><comment><USER7> Cool script--it has some useful features like generating a random MAC. But it's also possible to set your mac with:

sudo ifconfig [device] [mac]

...and one can replace [mac] with `openssl rand -hex 6 | sed 's/\\(..\\)/\1:/g; s/.$//'` for a random address.

<comment><USER8> should redirect the error/warning output so that it isn't mashed into the command:

        openssl rand -hex 6 2>/dev/null | sed 's/\(..\)/\1:/g; s/.$//'

because if you are running this on startup there is a chance HOME or RANDFILE aren't set yet, the .rnd file doesn't exist or the permissions on it are not set properly - resulting in a warning such as "PRNG not seeded" or "unable to write 'random state'" that would be passed into the ifconfig command.

<comment><USER9> Command substitution does not capture standard error.

<comment><USER8> you're right, it is from my own script where I do it different with more sanity checks and my own errors, I just applied it to the line above.

I'm also in that habit for anything fired at startup or in cron so you don't pollute logs.

</comment></comment></comment></comment><comment><USER10> What I really want is a tool which lets me masquerade (to nmap, etc.) as whatever kind of machine I want. Pick MAC addresses out of the correct range, but also change how the network stack, etc. respond to various passive and active attempts at fingerprinting.

It's eventually going to throw up alarms if your macbook pro osx 10.8.2 with an valid apple or intel MAC is on a network segment, then drops off, then a machine reappears with a DECstation MAC address.

<comment><USER11> > but also change how the network stack, etc. respond to various passive and > active attempts at fingerprinting.

I can't see how you could do this without swapping out part of the OS, which is where the network stack lives these days. A simpler way might be to swap out the whole OS, by using virtual machines that communicate on an internal virtual LAN: The Windows XP virtual machine sends the packets under control of the Linux virtual machine that's hosting the analysis software.

> It's eventually going to throw up alarms if your macbook pro osx 10.8.2 with > an valid apple or intel MAC is on a network segment, then drops off, then a > machine reappears with a DECstation MAC address.

It's an eternal game of cat and mouse anyway; if it isn't detailed MAC address analysis, it's subtle timing quirks, or hooking AM radio receivers to computers listening for the sounds of CPUs grinding through AES, or something else.

</comment></comment><comment><USER12> Seems a bit silly to write a python script for this when most people have it in a bash function. I find running a python command through the interpreter like that to be cumbersome, but a good script nonetheless.

On another note: GO BEARS! Down with the tree!

</comment><comment><USER13> If you are on windows , there is a small app to change your mac address easily: <http://www.zokali.com/win7-mac-address-changer>

</comment><comment><USER14> Neato, I liked it so I cleaned it up/rewrote it a bit -> <https://github.com/feross/SpoofMAC/pull/4>

</comment><comment><USER15> guys, what are practical use cases for spoofing your MAC address?

<comment><USER16> Drexel University has wi-fi throughout campus. Its main wi-fi network, dragonfly3, allows any device to connect using WPA2 (with your student account as your login). But it also has dragonfly and dragonfly2, which are secured with only WEP, but only allow whitelisted MAC addresses to connect (to prevent strangers who have cracked the password from connecting). Each student has a customizeable list of up to only two MAC addresses, editable through a web interface, that they can keep on the whitelist.

When I was living in a dorm on campus, I had two devices (gaming consoles) whose OSs didn't support WPA2, meaning I had to connect them to dragonfly2. These two devices filled up my whitelist. And occasionally, the dragonfly3 network signal totally dropped out while I was using that network on my computer, while the dragonfly2 network stayed accessible. So then I wanted to connect to dragonfly2 with my computer.

To do that, I had to log in to the web interface, select one of my other devices to unlist, and then add my computer's MAC address in its place. If I had had SpoofMAC, I could have used it to set my computer's MAC address to match one of my other device's. Running SpoofMAC would probably have taken much less time than changing my whitelist through the web interface, and would have obviated the need to re-list the removed device when I wanted to use it again.

<comment><USER14> This is very silly and very pointless. If they already have the WEP keys then grabbing frames to get whitelisted MAC addresses is trivial. This does nothing but make it more annoying for legitimate users.

Also, for these silly things I usually keep a DD-WRT capable router around like the trusty WRT54G or one of the newer Buffalo routers. It's easy to use it in a bridge configuration to have as many devices as you want behind it.

</comment></comment></comment><comment><USER17> Literally did this 10 minutes ago when connecting to hotel Wi-Fi.

`$ sudo ifconfig en1 ether 00:11:22:33:44:55:66`

</comment><comment><USER18> Careful, you may be violating the CFAA by using tools such as this.

<comment><USER19> No you wouldn't be. Not in and of itself. If you commit a "computer" crime and they find that you have done this, then yes they will add it to the charges.</comment></comment>


Google Play Music Will Shut Down Completely in December - <AUTHOR> https://www.techradar.com/news/google-play-music-will-shutdown-completely-in-december-heres-how-to-save-your-music <comment><AUTHOR> > Google Play Music library and data

> In addition to transferring your library to YouTube Music, you have the > option to download any music that you've purchased or uploaded to Google > Play Music, as well as a list of the tracks, playlists, and radio stations > in your library. We'll notify you before you'll lose access to your Google > Play Music library and data. You can also delete your Google Play Music > data.

\- from the notice email today</comment>


Perlin Noise - <AUTHOR> http://freespace.virgin.net/hugo.elias/models/m_perlin.htm <comment><USER2> If you like this topic check out "Texturing and Modeling: a Procedural Approach" which covers Perlin noise and other similar algorithms. The books shows you how Pixar generates life like surfaces and effects in Renderman. [http://www.amazon.com/Texturing-Modeling-Third-Procedural- Ap...](http://www.amazon.com/Texturing-Modeling-Third-Procedural- Approach/dp/1558608486/ref=sr_1_1?ie=UTF8&qid=1302382638&sr=8-1)

</comment><comment><USER3> Discussion on Minecraft's use of Perlin noise: <http://news.ycombinator.com/item?id=1733157>

<comment><USER4> Some more details from Notch here: [http://notch.tumblr.com/post/3746989361/terrain- generation-p...](http://notch.tumblr.com/post/3746989361/terrain-generation- part-1)

</comment></comment><comment><USER5> Hugo's stuff is great. A lot of the content is derived from the work he and Matt Fairclough did on Terragen, which was (and presumably still is) a fantastic piece of software (<http://planetside.co.uk/>)

</comment><comment><USER6> Don't use Perlin noise, use Simplex noise. Less artifacts, faster, just slightly harder to understand.

<comment><USER7> Perlin noise has a fundamental problem that I believe Simplex noise accentuates:

(Begin quote) When rendering, it is common to texture 2D surfaces by sampling a 3D noise function, but the resulting 2D texture will in general _not_ be band-limited, _even if the 3D function is perfectly band-limited_. This means that the loss-of-detail vs. aliasing tradeoff cannot be solved simply by constructing a band-limited 3D function. To our knowledge this problem has never even been identified, much less addressed. (End quote)

I think this is responsible for the questionable look of the screenshots of 3D and 4D simplex noise at the end of this pdf (sorry, couldn't find a html version):

www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

Another practical problem:

(Begin quote) A Perlin band near the Nyquist limit contains both frequencies that are low enough to be representable (i.e., they contain detail that should be in the image) and frequencies that are high enough to be unrepresentable (i.e, they can cause aliasing). Excluding the band causes loss-of-detail artifacts, but including it causes aliasing artifacts. Balancing this tradeoff between loss of detail and aliasing has been a constant source of frustration for shader writers at Pixar and elsewhere. Because aliasing is usually more unacceptable than loss of detail in feature film production, bands are attenuated aggressively. An unfortunate consequence of this is that as you zoom into a scene the texture detail becomes visible later than the geometry detail, so the texture doesn't appear to be tied to its geometry. Instead, the texture appears to fade in unnaturally as if there were a haze that obscured only some aspects of the surface appearance and only when it was farther away. (End quote)

Enter wavelet noise. It's heavier in the theoretical side, but the paper that presents it claims it's efficient and solves the above problems.

<http://graphics.pixar.com/library/WaveletNoise/paper.pdf>

</comment></comment><comment><USER8> A reasonable FOSS library in C++ for those attempting to quickly play with coherent noise (Perlin, cellular) is <http://libnoise.sourceforge.net/> Used it in a couple of projects and been happy with the ease of use. Also has some good doc pages to supplement those in the linked article.

</comment><comment><USER9> I wrote a rough-and-ready jQuery plugin that sticks Perlin noise in the background of an element. This is a great writeup, I wish I had it when I was figuring everything out.

<http://www.njl.us/projects/jquery-perlin/>

</comment><comment><USER10> the linked article is wrong.

that, or [http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise....](http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf) (from euccastro's comment below) is. but the latter looks more authoritative to me and checks against <http://en.wikipedia.org/wiki/Perlin_noise>.

perlin noise is gradient noise (so the gradient is chosen at random, not the height.

</comment><comment><USER11> Check out his other work too: <http://mrl.nyu.edu/~perlin/> (submitted this to hn a while ago)

</comment><comment><USER12> I love Perlin noise. There's seriously no better way to generate a lot of classes of textures. E.g. I used it in a pixel shader to get wood grain textures for a maze game I built: <http://sites.google.com/site/codybrocious/proto.jpg>

</comment><comment><USER13> Surprisingly, there is a complete C implementation of perlin noise in the w3c SVG specification : <http://www.w3.org/TR/SVG/filters.html#feTurbulenceElement>

</comment><comment><USER14> I remember consulting this page when making what must be the canonical "my first Perlin", a terrain heightmap generator!

<http://i.imgur.com/fTiWC.png>

</comment><comment><USER15> Question: for the random number generator, instead of changing the internal prime numbers, can't you use a seeded generator (e.g.: mersenne twister), using the "i" value (the function number) as a seed?

</comment><comment><USER16> There is a nice talk by Perlin here at <http://www.noisemachine.com/talk1/>, too.</comment>


Ask HN: What is your IDE for Rust? - <AUTHOR>

What is your IDE for Rust? Please, specify your OS as well. Thanks. <comment><USER2> Not necessarily an IDE but Sublime Text + Racer[0] on OS X.

[0]: [https://github.com/phildawes/racer](https://github.com/phildawes/racer)

</comment><comment><USER3> Emacs, OS X, rust-mode <[https://github.com/rust-lang/rust- mode>](https://github.com/rust-lang/rust-mode>).

</comment><comment><USER4> Vim on OS X with the Rust plugin [1].

[1]: [https://github.com/rust-lang/rust.vim](https://github.com/rust- lang/rust.vim)</comment>


Ask News.YC: Who is working on a Mobile Startup? (Me:Mobile+VOIP) - <AUTHOR>

 I tried, downloads, SMS, WAP and all the other crap. Now I am giving VOIP its fair shot. At least this time I have a revenue model from the beginning. .
<comment><USER2> If only you were Bill Gates at 19 (Sam Altman and Loopt), then you may not have this problem. Don't know if Sam has time to weight in on this, but maybe some folks from HeySan, TextPayMe, and others could weigh in on their thoughts of the future of mobile and give you a one-sentence (Good, do it. or No, do this.)</comment>


Show HN: Coronavirus Dashboard Focused on Clarity - <AUTHOR> http://covidly.com <comment><USER2> I'm not a stats expert, and this is a genuine question rather than an accusation. I notice on the "graphs" page, the trends look very close to perfect exponential curves when China is excluded, but get a lot further from that when China is included. Does this suggest a lack of accuracy in the numbers they've reported, or is it more likely that the government's strong reaction to the outbreak quelled the exponential growth in a mathematically disruptive way?

<comment><AUTHOR> Great question - I have heard both of the options you mentioned as possible explanations for the decline of new cases.

Personally I like to give countries the benefit of the doubt. As difficult as it sounds to quarantine and stop the spread of a virus in a country with 1+ billion people and multiple 10M+ cities, China is one of the few countries that could actually pull it off.

At the end of the day, the option you pick probably depends on whether or not you trust the numbers provided :)

</comment></comment><comment><USER3> Can you add the copyright attribution to the map (Mapbox, OpenStreetMap it seems) or at minimum on the /about page? It's part of their terms of service and not optional.

<comment><AUTHOR> Very good point - the attribution has been added. Thanks!

</comment></comment><comment><USER4> Cool! Is there somewhere a explanation what the "halth score" means?

<comment><AUTHOR> For a site focused on "clarity", I sure didn't make the formula very clear :) I will work on clarifying it on the website.

The formula is a combination of: 40% - new cases / total cases (indicator of how much things are blowing up) 40% - absolute number of new cases (indicator for whether things are slowing down or not) 20% - recovered cases / total cases (indicator for recovery progress, although not all countries seem to post their recovery data)

The formula itself is somewhat arbitrary, but I felt it was a decently good metric that summarized the situation in every country. I'm open to suggestions on how to improve it as well!</comment></comment>


Show HN: OneBody Church Directory software I've been hacking on for 7 years - <AUTHOR> https://github.com/churchio/onebody <comment><AUTHOR> Hard to believe, but I've been working on this Rails app for over 7 years now! It started as a Rails 1.0 app waaayyy back when, and I've managed to bring it along through almost every major Rails version (still working on updating to Rails 4.1), which I'm pretty proud of.

You can see screenshots at [http://church.io](http://church.io).

Being specifically church software, it might not find much of an audience here on HN, but still, I'm proud, so wanted to post about it.

Keep inspiring HN!!!

<comment><USER3> Why are you not charging money for this?

At the very least, you should offer a hosted version of this (borrowing the wordpress.com/wordpress.org model would seem the best plan) so that non- technical churches could click a button and just have it magically spin up a website and start billing their card every month.

Seems a bit silly looking in from the outside that you'd spend seven years building something that's clearly worth selling, then refuse to sell it. I wouldn't be surprised to see a few "church.io hosting" businesses spring up within a week if you don't build that option yourself.

<comment><AUTHOR> Glory to God! :-) It's just my passion. I really hope someone does build this as a slick hosted service. I don't do well dealing with customers :-)

<comment><USER4> Good for you man. But just realize that sadly, many churches operate as businesses where the pastor and his family just pocket tithes for their lifestyle and build fancy LED signs instead of giving to the poor......

<comment><USER5> I know a lot of pastors, and none of them have lifestyles that stand out in their communities.

The inner city churches I know all have food banks, clothing banks, free hot meals, or similar programs. The churches I know in Utah set up safe houses for women and children fleeing polygamy.

If you're connected to a church that operates as a business with the pastor taking home the profits, time to find a different church.

<comment><USER6> Or be an agent for change from within.

<comment><USER7> Good luck changing the Church of Scientology from within. Or lecturing the Pope about preventing AIDS by distributing free condoms, for that matter.

<comment><USER8> I believe the current pope has gone on record saying that the Christian world pays more attention to sexual issues than is warranted, when compared to other issues that exist in the world. I'm not a Catholic, but am quite impressed with this guy so far.

<comment><USER7> You're awfully easy to impress, if only by the slight contrast to how absolutely evil, horrible and immoral the previous pope was.

Not even the current "liberal hippie pope" is having much success changing the Catholic Church from within, so what makes you think anyone who's not its most powerful leader could ever possibly have any success? Anyone claiming they haven't resigned from the Catholic Church in disgrace because they want to remain inside to be an "agent of change" is totally full of it, and guilty of perpetuating the problem.

Does it actually impress you that the current pope wasn't personally the architect and prosecutor of officially covering up and perpetuating all the terrible widespread sexual abuse systematically perpetrated by the Catholic Church, who wrote and enforced the official church policy of protecting priests who rape children, and excommunicating anyone who speaks out about it? [http://www.theguardian.com/world/2003/aug/17/religion.childp...](http://www.theguardian.com/world/2003/aug/17/religion.childprotection) [http://thewe.cc/weplanet/news/europe/vatican/papal_evil.htm](http://thewe.cc/weplanet/news/europe/vatican/papal_evil.htm)

If the pope's desire to cover up sexual abuse is what you mean by "paying more attention to sexual issues than is warranted", can you please justify why you think the Catholic Church should pay less attention to their longstanding issues of raping children and protecting the rapists from prosecution? And why you think it's a good thing that the current pope doesn't think it's such a big deal that requires much attention?

<comment><USER5> I see you're relatively new to Hacker News and may not have had time to fully grasp our culture. While I value the experience of those who remember usenet newsgroups, this is not usenet and we do not appreciate the same sort of posts as might have been popular there.

Having looked over your comment history, I believe you may need to reread the guidelines at [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

Take particular note of:

"Be civil. Don't say things you wouldn't say in a face to face conversation."

"Please avoid introducing classic flamewar topics unless you have something genuinely new to say about them."

Also note that you have already been asked to stop trolling by one of our moderators, dang, at [https://news.ycombinator.com/item?id=7644504](https://news.ycombinator.com/item?id=7644504) .

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is really nicely done. My parish seems really fond of phone services like CallingPost; you might be able to do some integration with Twilio to annoy other church people the same way. :)

You might also consider an explicit obit feature, along with explicit features for weddings and baptisms, since those are the big "out of process" services (at least in Catholic churches) that need announcements.

<comment><USER10> At Twilio, managing the Twilio.org program, I get inquires from churches looking to do just this - sms notifications for events, youth groups, etc.

This is a stellar app Tim, congrats!

</comment></comment><comment><USER11> Beautiful UI! Let me bring attention to one thing that's a bit tangential - <USER2> see that you have a "church directory" function. Please make sure that proper privacy settings are in place and people are prompted to opt in rather than are opted in by default. Especially in this case, registers for places of worship have been historically used to target minorities for their associations, nationalities and beliefs. Not saying this would happen in the US anytime soon, but better safe than sorry in my humble opinion.

</comment><comment><USER12> This is really nice, I've often wondered about the dearth of such things every time I look at a church website.

In the Catholic churches in my area, the company that prints the paper bulletin appears to also have something to do with the web hosting as well. I think many of them just go with that and slap something up there.

Have you thought about actually using it to build a full-blown SaaS offering that churches can subscribe to? Similar to the WordPress model? There are a ton of Churches who probably would have someone who can set up a website, but not necessarily do the whole Digital Ocean VPS thing. I haven't explored this space, but I'd bet this is one of the nicest looking things like this out there.

<comment><AUTHOR> Yeah I understand 80%+ of churches probably won't bother to try to install something like this. I'll just be happy if anyone can get some use out of it, as it makes me happy to share.

I would LOVE for someone to offer hosted OneBody -- I just can't do it because I have a day job and really dislike typical customer support. (Love helping other tech people and hackers, but am really bad at being patient with "customers".)

<comment><USER13> Maybe you could find someone to integrate it into Sandstorm: [https://sandstorm.io/](https://sandstorm.io/)

<comment><USER14> Thanks for letting us know about such a thing!

So, what exactly does Sandstorm do for me? Does it turn web applications into SaaS with individual instances of software per user without the user having to install it on their own hosting themselves? But there's a price to pay for that: each application has to be specifically _ported_ to work with Sandstorm. Right? Where is the catalog of currently ported apps, then?

<comment><USER15> The idea is that each user has their own Sandstorm instance and can install web apps on it through a web interface, like installing apps on a phone or desktop. Be sure to try the demo -- it takes 30 seconds: [https://demo.sandstorm.io](https://demo.sandstorm.io)

Apps require a little bit of porting, but not much. Sandstorm implements a native-code sandbox, so it can run any tech stack that works on Linux (no need to rewrite in a new language). The main things you have to do to "port" an app are:

* Packaging (gathering dependencies, specifying metadata).

* Removing your authentication/authorization systems and relying on Sandstorm's instead.

* If your app communicates with the outside world or publishes public web content, it has to use the APIs for that, since by default apps are isolated for security reasons.

There's some (work-in-progress) docs about how to port on the wiki: [https://github.com/sandstorm-io/sandstorm/wiki](https://github.com/sandstorm- io/sandstorm/wiki)

The current catalog is at: [https://sandstorm.io/apps/](https://sandstorm.io/apps/)

Generally Sandstorm is meant for apps that deal with a single user's personal data and which act in federation with other users' personal servers. It can also work for data owned by a small group, but generally won't work well for anything that needs multiple machines' worth of resources (we'll support that eventually; it's just not the main focus right now).

Sandstorm is currently in alpha testing, with a first production-quality release expected early next year. We're also running a crowdfunding campaign: [http://igg.me/at/sandstorm](http://igg.me/at/sandstorm)

</comment></comment></comment></comment></comment><comment><USER16> Great work! I've got a RoR church scheduling system I've been hacking on for 4 years off and on (mostly off). In a weird twist of fate, we've used the exact same bootstrap template, although I colored mine purple. Going to have to look into integrating my system into your software, since you've got some abstractions and models that I need but have not yet implemented (families, for one).

<comment><AUTHOR> That would be awesome!!! I've been thinking about adding some scheduling stuff, so that could be a great pairing!

<comment><USER16> Excellent, inspiration for me to finish it. I've been working on abstracting/gemifying most of it lately, specifically for integrating it into other projects, so this is perfect. Not yet on Github. Thanks again for making your stuff public.

<comment><USER17> And that right there is what I _love_ about open source :)

</comment></comment></comment></comment><comment><USER18> This is the most unlikely but deserving post to spend all day atop HN. Great, great piece of software, deserving market, it's just great. Our company was originally started to serve my co-founders church as well believe it or not (the church was worried that credit card fees were usurious and so he tried to build a solution). I hope you do commercialize it purely because it will spread and serve more people that way - doesn't mean you need to try to make a lot of money on it, but some level of commercializing helps sustain and spread a project like this.

</comment><comment><USER19> I'm a pastor, and I'm technical, and I think I may just have found the Church Directory software we've been looking for! Thank you!

</comment><comment><USER20> I myself am not blessed with the gift of faith, and I don't particularly enjoy Rails, but I greatly appreciate your making your very mature passion project available to one and all. Very impressive!

I enjoyed: "It's like a cross between Facebook, Google Groups, and SharePoint, but it's completely free and open source and awesome." I especially like that it's awesome in addition to being completely free and open source, rather than _ just because_ it's free and open source.

</comment><comment><USER21> > true # everyone can read bible verses!

must be my favourite code comment ever. :)

[https://github.com/churchio/onebody/blob/3cac22587627b7846ea...](https://github.com/churchio/onebody/blob/3cac22587627b7846eae16788fb92f3e2910e5ec/app/models/verse.rb#L133)

<comment><USER22> No love for the Apocrypha though it seems ;-). Not being Catholic, I don't know how much teaching is done out of those books, but this might reach a larger audience if the books to show were configurable.

<comment><AUTHOR> OneBody is powered by another of my projects [http://bible- api.com](http://bible-api.com) ([https://github.com/seven1m/bible_api](https://github.com/seven1m/bible_api)), which just needs a little bit of code to return verses from the Apocrypha. If there's interest, I'd be willing to make it happen or show someone where to get started!

<comment><USER23> Part of the trick is that verses are numbered differently, for example, the Psalms. And Catholic Bibles have more chapters in Daniel and I think Esther. An API that would allow people to match verses across the two types of Bibles would have to have some kind of durable primary key for each verse in addition to its nominal address.

<comment><AUTHOR> Ahh, I wasn't aware. I imported the World English Bible XML directly. I'll need to investigate more...

</comment></comment></comment></comment></comment><comment><USER24> This looks very nice. I'm the technology director for a Catholic college prep school and we have been wanting to put up an online alumni directory, but the commercial packages we've seen are too expensive for our small school. I'm thinking your software could be adapted for that purpose, so I will show it to the lady who runs our web site and see if we can use it. Thanks for sharing your work with the world!

<comment><USER25> Check out [http://www.alum.ni/](http://www.alum.ni/) if you haven't already, built for alumni groups.

<comment><USER24> Thanks!

</comment></comment></comment><comment><USER26> Nice app! Good to know there are other Christians here in HN. :P I've always thought about building something similar. Maybe I'll contribute, but my Rails skills is quite lacking (read: non-existant, I'm a C# guy)

</comment><comment><USER27> Why can't a church use a general purpose social network framework? How are the constraints/feature-needs different for a non-church group?

I'm asking from a place of honest curiously. Could a non-religious community group use this? Could a church get by with a social networking tool built for non-religious groups?

<comment><USER28> Non-technical people aren't like technical people. They don't look at general- purpose software and think "hey, that's for me!" They look at general-purpose software and think "if that was for me, it would say so on the box."

For this reason, software that is _specifically targeted and marketed_ into a niche/vertical will usually get more traction in that vertical than a general- purpose alternative, even if both have the exact same feature set. (Or even, in many cases, if the general-purpose alternative has _more_ features.) People need that little push of being explicitly told that the software is right for them.

<comment><USER29> Yes. Why buy a "vehicle" when you specifically need a "pickup truck."

</comment></comment></comment><comment><USER30> I remember using this years ago to build out a private social network for a fraternal organization. It works very well even for non-monastic purposes!

<comment><AUTHOR> Awesome! It is true one could turn off and/or rip out the handful of church- focused features and it would stand as a fairly good member directory and private social network for close knit communities.

Thanks!

</comment></comment><comment><USER31> This is great! Are you aware of The City ([http://onthecity.org](http://onthecity.org))? Many churches pay $100/month or more for their similar, hosted solution.

<comment><USER32> I help administrate an instance of The City for my church, and it definitely is expensive and cumbersome. This FOSS solution looks like an awesome alternative, but is missing a few features of The City that would be hard to replace, like online giving, and childcare security (check-in, nametags, etc).

<comment><AUTHOR> Yeah we don't have online giving.

Check-in is being beta tested at my church though, so be on the lookout for that in the next version :-)

</comment></comment></comment><comment><USER23> Have you got a demo site where somebody who's interested can log in and play around with its features? Two feature questions I can't answer by looking at the screenshots: (1) Does it have a way to highlight "Mass times" (or whatever), or is that just thrown into a general calendar with all the other events? (2) Does it have any way for the pastor to post messages to the front page in a prominent way, or is his user account just another user account?

It looks outstanding -- keeping my eye on it.

<comment><AUTHOR> I put up a demo several hours after this comment. If you're still interested, you can find this on the [http://church.io](http://church.io) website.

1\. As for service times, the software doesn't really have any calendaring feature at the moment. Besides, that seems like maybe something that would go on the main church website (this is meant more as a private "members only" area).

2\. Anyone can post news on the site (or you can restrict to only admins).

</comment></comment><comment><USER33> This looks simply fantastic. You clearly put a lot of thought into making it accessible to the non-technical user which means you really know the audience.

Kudos to you on taking a passion project and turning it into something wonderful and sharing it with the world!

(I'm also glad to see so much positivity in a thread that could have gotten gunked up. Just because something isn't your thing doesn't mean you can't appreciate a craft)

</comment><comment><USER34> This is great stuff, how do you "market" it? There are generally not a ton of tech people at smaller churches and then at the larger/mega churches, they have entire teams, which IME, love vendor software vs roll your own.

<comment><AUTHOR> Yeah I have no clue!! I'm struggling to find good places to announce this or generally make it known.

CITRT (Church IT Roundtable) is a huge community of IT folks which seem to also include some devs, but I really don't know any other good places.

Most of the commercial church software do heavy adword buys and sponsor church magazines and blogs and such. I have no means to do that :(

<comment><USER35> I just posted it to /r/Christianity for you: [http://www.reddit.com/r/Christianity/comments/2bp1k8/onebody...](http://www.reddit.com/r/Christianity/comments/2bp1k8/onebody_is_free_open_source_church_directory/)

You could probably talk to the mods and get it as a permalink on the sidebar. Quite a few pastors/bishops/other church leaders hang out there.

<comment><AUTHOR> Awesome, thanks!!!

</comment></comment></comment></comment><comment><USER36> Our church has members from age 0 to 80. Some of the oldest members have never used a computer, but we'd want to include their pictures in a photo directory. Does this software support adding pictures on behalf of someone? Can you designate "editors" or some lower-level admin ability for that?

<comment><AUTHOR> Yes, there is support for Admin users who can manage the entire system, or just part of it, depending on the permissions given.

</comment></comment><comment><USER37> "You can see lots of screenshots here." \- Amazing how many people forget to do that. Good stuff.

</comment><comment><USER38> This looks very nice. Maybe an Events feature? Maybe a backend admin type thing that can track offerings people are making, and then also a way to make an offering through the site if you can't make it into church that week.

Really nice though, great work!

</comment><comment><USER39> Great work! I've been watching from the sidelines, and I'm glad you finally had a big public launch! OneBody looks really good from the screenshots.

I started [http://www.churchmint.com](http://www.churchmint.com) over 2 years ago, and I have not made any progress for a while now. Seeing your success and all these positive comments though has encouraged me quite a bit. There are still a lot of churches out there that are severely under-served by technology. Kudos to you for using your skills for the kingdom and donating your time to a good cause!

</comment><comment><USER40> Really cool stuff. My mother's church would benefit from using this kind of software. They are a pretty disorganized.

I like seeing labor of love side projects actually turn into something cool and useful.

</comment><comment><USER41> Just for your information. There's is a simliar tool from Germany in german: [http://www.churchtools.de/](http://www.churchtools.de/)

</comment><comment><USER42> This software looks great. I've actually looked at this before, but for a different reason. This is a space sorely lacking in options.

My amateur radio club has no coherent roster. We've got a couple people volunteering time to take all the application forms at our secretary's house and put them into a spreadsheet. But I also have spent some time looking to setup an open source club membership roster online. I even started working on a flask application, but don't really have the time to bring it to completion.

In my search I found various things revolving around subscription management and a lot of offline club roster type stuff, but nothing that really fit the bill. Most members pay their membership dues in cash, and we'd also like to denote officers of the club.

My goal was that we could add members contact information in directly. If they had an email, then they would be able to use that to login. Alternatively, members could go on the site and register themselves, with a club officer validating and activating their account. Members can update their contact information at any time. Club officers can record membership dues and when the current membership expires. While a nice option, we're not really concerned with an ability to pay online or not.

There should be privacy checkboxes: share my contact information with club members, share my contact information with with ARES (a 3rd party organization the club is affiliated with and most members are also members of).

Finally, members that are authorized should be able to download a roster of members (which is really the whole point).

</comment><comment><USER43> I'm a complete Rails noob, can anybody help me understand why after installing this my app shows up without any formatting? [http://imgur.com/pQ8wOdG](http://imgur.com/pQ8wOdG)

I did notice that there was a Warning regarding different versions of libxml used for Nekogiri:

$ RAILS_ENV=production rake db:migrate WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8

<comment><AUTHOR> Depends on how you installed it... if you're running on your local computer, then it sounds like you're running in "production" mode without first compiling assets with `rake assets:precompile`. (See [http://guides.rubyonrails.org/asset_pipeline.html](http://guides.rubyonrails.org/asset_pipeline.html) for some more info.)

Or just run it in development mode with `rails server`.

<comment><USER43> Sorry I didn't mention it, I followed the wiki install which sets up the production environment. Just noticed after seeing your post that there are pretty simple instructions for the development setup, if I just kept looking past the wiki link.

I ran it in development mode first with the only hitch being I needed to re- run the mysql user/table creation with _dev, but once I did that the development started up flawlessly on localhost:3000. I then went back to the apache/production server and suddenly it looks a lot better, but I still have some missing images (FATALs in log for GETing assets still?).

I'm still confused about how to point my rails server to production instead of development, but I'm completely satisfied that it is working perfectly with rails in development mode. Here's a screenshot showing the images missing on my production/apache/passenger setup:

[http://i.imgur.com/XVLz7lt.png](http://i.imgur.com/XVLz7lt.png)

</comment></comment></comment><comment><USER44> This looks fantastic. Truly a great app here if it works as well as it looks.

If anything, I think you might be targeting too small of an audience with this. While I realize there's no incentive for you to make this change, I could easily see someone forking this and using it for any large-ish group of people united under any purpose, such as a PTA or soccer league.

</comment><comment><USER45> I know little about this kind of software, but a local church uses this site like it provides similar functionality?: [http://www.onthecity.org/](http://www.onthecity.org/)

Have you compared your project to this company's offering at all? I'm just wondering if they are even similar.

<comment><USER46> It looks like the same type of software, give or take a feature or two or my opinion that OneBody looks way better than onthecity.com. The difference is that OneBody (or Church.io) is free and open source. OnTheCity is a SAAS which starts at $85 - $388 (or more) per month depending on the size of the church. This doesn't even include a "setup fee" which for some reason ranges from $99 - $499 (or more) depending on the size of the church.

</comment></comment><comment><USER47> The site looks really nice and polished. I just passed it along to a coworker who handles most of the IT for his church. I know he has been kicking around the idea of spinning up an online directory and some social networking aspects for a while. You may have just saved him a lot of time!

</comment><comment><USER48> Wow, this solves _so many problems_ for me! I was dreading having to hack together some ugly CRUD solution for my own church's directory-management needs. Thank you so much for doing a wonderful job working on this over the years, and creating an open source solution to boot!

</comment><comment><USER49> Very neat. I think that with some slight tweaks this could be very applicable to home owners associations. This model could also be offered as a hosted version like someone else commented.

(not that I really like HOA's all that much)

<comment><USER50> For what it's worth there is a similar social networking site already out there with a lot of traction: nextdoor.com

</comment></comment><comment><USER51> One thing I noted, (which I think is really awesome), is how you outline on the main Github page how to contribute and fix bugs. this kind of thing is really helpful in getting people to participate in open source.

</comment><comment><USER52> Thanks for sharing this. I am going to ask my church if they would be interested in using it. I could easily spin this up on a PaaS and get it up and running. Really neat and original software, kudos man.

</comment><comment><USER53> What if my church is called a mosque?

<comment><USER9> Or a temple, synagogue, cathedral, monastery, abbey, tabernacle, or center?

"Church" is just the generic English word for "place of worship".

<comment><USER54> >>"Church" is just the generic English word for "place of worship".

It definitely is not. I have no idea where you even came up with this.

Heck, there are even groups of Christians who object to the use of the word "church" to mean place of worship.

[http://en.wikipedia.org/wiki/Place_of_worship#Christianity](http://en.wikipedia.org/wiki/Place_of_worship#Christianity)

<comment><USER55> "Church" definitely is the generic English word for place of (particularly, Christian) worship (or, similarly, for the actual worship services), largely as the result of it being the word used by the religious groups that were dominant throughout the entire evolution of modern English for their places of worship.

Yes, there are certain groups that object to that for etymological reasons because "church" _also_ is the English word for the body of believers, and who _don 't_ use the word that way, but that doesn't make it any less a normal (and, in fact, _the primary_ ) meaning the word has in English.

<comment><USER54> >>"Church" definitely is the generic English word for place of (particularly, Christian) worship

Not particularly. _Only_. As in, the word "church" _only_ refers to Christian places of worship.

Honestly it is pretty bizarre that you and tptacek are claiming otherwise. Maybe we're talking past each other. I just don't know any Muslims who say "I'm going to the church tomorrow," or any Buddhists say "I was at the church yesterday". I also don't know of any Christians who refer to synagogues as "churches."

Now, if you are saying that "church" means any _Christian_ place of worship - as in, people don't differentiate between church and cathedral, which _are_ different things - then yes, I can agree with that. But that's not how I read your comments.

<comment><USER55> > As in, the word "church" only refers to Christian places of worship.

That's not correct; e.g., the first definition from the full definitions at m-w.com is "a building for public and especially Christian worship".

In practice, there is more to it than that -- its not uncommon to be used _generically and inclusively_ for place of worship, but you'd never (except through ignorance) use it for a _specific_ place of worship except consistently with the usage of the group for whom it is a place of worship. (But the groups who use it _specifically_ for their places of worhsip is also not the same as "Christian" \-- it includes many, but not all, Christian groups as well as some, mostly newer, non-Christian groups.)

More relevant to the thread: the use of "church" doesn't seem to be about a place of worship, anyway, its about a body of believers, which is a use of the term which is somewhat less divisive, though still has the same generic for unspecified religions (though "congregation" would probably be better) and specific for some, mostly Christian, religions. So, its not an unreasonable single-word term to use in explaining the function of a generic product, though the complexities of the use and the emotional attachment that goes with naming issues around religion may make it problematic. Though, really, the name ("OneBody") of the product is far more of a specifically Christian reference than the word "church" in its description of purpose.

> Now, if you are saying that "church" means any Christian place of worship - > as in, people don't differentiate between church and cathedral, which are > different things

Well, this is far off the point of even this subthread, but the set of cathedrals is a proper subset of the set of churches in the way both terms are used by most groups that use the former term at all. That is a cathedral is a church that is also the seat of a bishop. So even outside of the generic sense, its proper to refer to a cathedral as a church.

</comment></comment></comment></comment></comment></comment><comment><USER56> Quick question: have you thought about porting this to sandstorm.io? Having a one-click "app-like" install would help out many less-technical church folks.

<comment><AUTHOR> I looked at Sandstorm, but it seems it's in "closed alpha" \- how do you recommend I use it?

<comment><USER15> Only our hosting service is in closed alpha. The source code is all open ([https://github.com/sandstorm-io/sandstorm](https://github.com/sandstorm- io/sandstorm)) and there's an easy installer script (though it requires a Linux machine), so you can start hacking any time. :)

</comment></comment></comment><comment><USER57> Looks great! A few years back I built a hosted product similar to this. It was only focused on groups within a church. This looks like it has a whole lot more to it.

</comment><comment><USER58> Looks cool. Maybe you should change the name so it's not just focused on churches? Non-"church" denominations and organizations could use it as well.

<comment><USER59> Or branch out several personalized versions for each faith/denomination.

<comment><USER58> Yea, maybe I'll try one.

</comment></comment></comment><comment><USER60> I don't understand what does the software do. It is a "group manager" for churches? Something like Facebook Groups or many others of the same kind?

I really liked the aspect of the app and that it was built, because I really think group management and group data is an issue, but WHY is it a problem when there exists Facebook Groups, email groups and lots of other solutions?

Is church directory a totally different domain? Have I understood everything wrong?

<comment><AUTHOR> Yeah, I suspect a lot of churches could just get by with Facebook Groups and be happy.

For our church, however, finding/begging people to join Facebook was a problem, and some people have privacy concerns, so having our own private social network has been successful.

<comment><USER61> We had the same thing at Sunday Assembly. Some folk don't want to have their privacy revealed on FB. Also, it doesn't have great events functionality so that attendees can create their own events.

</comment></comment></comment><comment><USER62> Looks good. One positive benefit I can see from churches using this is that they won't have to force their members to join Facebook to stay connected.

</comment><comment><USER63> It looks very, very pretty and user friendly. I can think up ideas, and imagine certain tasks and features, but I can NEVER make an inviting and warm UI.

</comment><comment><USER64> Surprised about the community response in this thread that is silencing and claiming inappropriateness of criticism. It is strange to see here the glorification of the technological augmentation/support of a most insidious form of marketing -- religion. And this is for a community that slams marketing and advertising as often as it has an opportunity.

</comment><comment><USER65> Great work! This is really cool! My church currently doesn't have a system like this, but is definitely heading this way.

</comment><comment><USER66> Any chance to change the license to MIT?

<comment><AUTHOR> No, sorry. AGPL still allows a company to provide a hosted commercial service (which I encourage), while also ensuring said company doesn't keep improvements to themselves.

<comment><USER67> You are awesome!

</comment></comment></comment><comment><USER68> Beautifully done. Thanks for selflessly putting all the code online as an excellent use of RoR.

</comment><comment><USER69> Hah, I'm using the same admin template for a project that I'm working on right now. :)

<comment><USER70> What admin template is that, please?

<comment><AUTHOR> AdminLTE [http://almsaeedstudio.com/AdminLTE/](http://almsaeedstudio.com/AdminLTE/)

</comment></comment></comment><comment><USER71> It was refreshing to see something like this on HN. I'll have to look into it. Thanks!

</comment><comment><USER72> Love it, looks really nice! Can't believe you stuck with it for 7 years! Great job.

</comment><comment><USER73> This is great work. I agree, the state of church software is absolutely appalling.

</comment><comment><USER74> I am so impressed with your consistency over the years. Kudos and best of luck.

</comment><comment><USER75> I think you have done a very nice job with the design and clean user interface.

</comment><comment><USER76> I haven't dug into it yet, but that UI is really lovely. Really nice work.

<comment><AUTHOR> Thanks mostly to the MIT licensed (and awesome!) AdminLTE template. [http://almsaeedstudio.com/AdminLTE/](http://almsaeedstudio.com/AdminLTE/)

I really can't thank that guy enough!

<comment><USER77> This is a really nice looking UI. Thanks, I'll look into using it on some upcoming projects.

</comment></comment></comment><comment><USER78> Is a good software, I'm sure, but 500 points? Is this some sort of communal self-assurance humble-brag about being accepting of "religious software"? Or does everyone just really love ruby CMSs?

<comment><USER79> I know you got a lot of downvotes, but made me chuckle with the part about everyone just loving ruby CMSs. :)

Honestly though, I think it's a combination of a few things. First, Christians (and other religious people) are used to being bashed on HN and other similar sites, so I'm sure they (which includes me) would find it cool to see a positive post on religion and upvote it. Second, I'm sure some non-religious people thought it was a good piece of software and good work. And third, I'm sure some non-religious people felt good about themselves for upvoting this (as you mentioned in your comment).

<comment><USER9> Did you look at it? It's _really nice work_. That's why I upvoted it. I don't think we have to reach psychoanalysis to see why this is doing so well.

<comment><USER78> We are techies here, we know someone could pack WordPress with a couple of plugins, stamp some theme and call it ChurchPress and it would be way faster, safer and more extensible than this. So yeah, 640 points do seems a bit ridiculous, and is going to reach 1000 without doubt, meaning hn crowd find this article just as relevant as snowden prime revelations.

<comment><USER9> I disagree and further would be concerned that a comment like this says more about you professionally than it does about the software we're discussing, somewhere in the vein of "Stack Overflow? Weekend Project".

<comment><USER5> It's important to note that what to put into a project like this (ie, requirements) is at least as important as the technical aspects. Part of the reason for the massive upvotes is the software has most of the right features for the job, which is actually quite rare in this arena.

</comment></comment></comment></comment></comment></comment><comment><USER80> What exactly makes it specific to churches and not organizations in general?

<comment><AUTHOR> It has a handful of Christian church-specific features, such as personal "Testimony", bible verse sharing, attendance tracking, etc. If one were to take those features away, it would work for any close-knit community.

<comment><USER61> Also, you could then monitor which events people go to, to see which ones lead to the most conversions, then optimise these. I'm really excited by using data to make our Assemblies more effective (though we don't have as clean a metric as baptisms!).

</comment></comment></comment><comment><USER81> It takes 1GB to run? dude I might have to port this to node

<comment><AUTHOR> Yeah, with Rails + MySQL, 1GB is best in my experience.

I bet someone could tune it all to run in 512 MB, but for me, the difference in money isn't worth the extra effort.

I'm not really sure how one would "port" a Rails app to a Node app -- the layout of the app and libraries you'd need would be completely different.

I've built several small apps in Node.js and Express, and I have to say, debugging Node.js code is way harder than Ruby.

If you do decide to build something, please let me know! I'd be interested in following your work.

</comment></comment><comment><USER82> Really slick! I want to get in on the development of this!!

</comment><comment><USER83> Wow, that looks like some quality stuff. Nice work.

</comment><comment><USER84> This is great news! Keep up the good work.

</comment><comment><USER85> Thanks plenty for releasing this!

</comment><comment><USER86> Impressive. I might use it!

</comment><comment><USER87> What a cool idea! Great job :)

</comment><comment><USER88> Nice work, this is awesome.

</comment><comment><USER89> This. is. awesome.

</comment><comment><USER90> Would it not have been more efficient to build a plugin for, say, BuddyPress?

<comment><USER60> Why not?

<comment><USER90> Well, only 1% of the software "is Christian". The other 99% has already been created in various forms. I'm not criticising the project, I just don't know why he didn't extend existing software, or even fork something like BuddyPress.

<comment><AUTHOR> Sometimes it's just fun to build something from scratch and make it awesome.

Also, if I had built OneBody using PHP I certainly would not have lasted this long in keeping it going. Ruby is great language that I really enjoy using every day.</comment></comment></comment></comment>


When Henry Ford Doubled His Minimum Wage (2014) - how-about-this https://www.saturdayeveningpost.com/2014/01/ford-doubles-minimum-wage/ <comment><AUTHOR> I can't believe this actually needs to be said, but a single employer raising its wages is not the same thing as a government raising a legally mandated minimum wage. It's so much not the same thing, that the very fact the article tries to conflate them by comparing Ford's decision with the proposal from the Obama administration makes me doubt the voracity of the entire piece.

For one thing, Ford's logic is quite sound precisely because he's the only one raising wages. If his aim is to remain competitive and retain workers, that only works if he's the only one doing it -- competition, by definition, is relative.

Furthermore, the idea that people become richer because the number on the bottom of their check goes up, rather than the buying power of that number, is easily debunked by looking at the entire history of inflation. I'm easily making more money, in nominal dollars, than an average CEO in 1919, but I'm not running wild in Saint-Tropez every summer either.

The one thing the article does get right is Ford's attempt to fight the stock market crash in 1929 by raising wages further backfiring. The reason is because his higher wages were not the actual reason why Detroit was richer -- the opposite was true: he was able to pay higher wages because Detroit was richer; or, more precisely, because he made the best cars in the world and capital flowed into his company and his city at high rates. But when the economy contracted, Detroit was going to feel the pinch, also.

Nothing in this article makes a case for raising a federally mandated minimum wage, and actually undermines the argument quite a bit.

<comment><USER2> 100% agree. In Ford's case, it was a voluntary decision to attract and keep the best workers. In the case of federally mandated minimum wage, it's a threat of force against business owners who are otherwise acting peacefully and quite literally, minding their own business.

Raising the minimum wage results in: \- A raise in the price of products (hurting the poor the most) \- Firing employees \- Reducing hours \- Going out of business \- Outsourcing

I'm a business owner, and I'm not going to sit here eating up the cost of a higher minimum wage. The central planners don't seem to understand this -- or they do, and they ultimately want more people dependent on them. If that's the case, raising the minimum wage is a great idea.

<comment><USER3> As you must know being a business owner, labor is only one component of expenses, so prices don't go up x% just because labor went up x%. In McDonald's case, a 100+% rise in wages would represent a 4% rise in price. Obviously most minimum wage increases don't double at once so it would be even less. You don't go on a firing spree and shut down the business when property taxes or materials go up so why would you need to do that if labor went up?

[https://www.marketwatch.com/story/raising-fast-food- hourly-w...](https://www.marketwatch.com/story/raising-fast-food-hourly-wages- to-15-would-raise-prices-by-4-study-finds-2015-07-28)

There would be no need for a minimum wage if we had UBI but that kind of thing is too far off.

<comment><USER4> The production cost of a McBurger may only go up 4%, but the consumer price of goods is also significantly dependant on how much money is in consumer's hands. If you just hand everyone in the country $500/mo, rent is going up everywhere.

<comment><USER3> Only <4% of people make the federal minimum wage. Couldn't find stats on state minimum wage earners but it's still probably not so much that rent would be hugely impacted.

Not to mention, rent control is a good idea in addition, or finding ways to make homeownership more in-reach for more people.

<comment><USER4> Rent wasn't intended to mean literally just rent. You'd need price controls on everything, which is historically a terrible idea.

</comment></comment></comment></comment></comment></comment><comment><USER5> "Higher wages were necessary, Ford realized, to retain workers who could handle the pressure and the monotony of his assembly line."

This sentiment and empathy seems to be lost in today's business / cultural climate.

<comment><USER6> I think there's little sentiment to it and much practicality.

He raised the wage, in large part, because he _could not retain employees_ due to the work conditions.

<comment><USER5> Right. And today, instead, churn is accepted. "Leadership" blames staff for being unmotivated, etc.

Put another way, Ford understood that to get what he wanted he'd have to consider the fate and faith of his employees. Do you think that's how Bezos thinks?

<comment><USER7> Bezos has to mitigate the cost of turnover somehow. You can mitigate it by reducing it (as Ford did), or you can mitigate by having faster training so new hires are productive faster. Both can fail.

<comment><USER5> OK. Don't take this the wrong way but let me repeat the statement + question:

Put another way, Ford understood that to get what he wanted he'd have to consider the fate and faith of his employees. Do you think that's how Bezos thinks?

I think what you're saying is - correct me if I'm wrong - Bezos does __not__ factor in his employees in the way Ford did.

p.s. The fact that we even have the term "human resources" tells us a lot, eh.

<comment><USER7> Right, Bezos currently doesn't see value in treating his employees well. (or so I'm given to understand - I don't have any knowledge) This can change.

</comment></comment></comment></comment></comment></comment><comment><USER8> There is a massive difference between employers raising minimum wage (healthy for the economy, good for the individual, healthy for the employer), and the government raising minimum wage ( hurts the economy, regressive against low income individuals, bad for the individual, bad for employers).

<comment><USER9> > hurts the economy, regressive against low income individuals, bad for the > individual, bad for employers

[citation needed]

Actual data tends to disagree: [https://www.nber.org/papers/w4509](https://www.nber.org/papers/w4509)

</comment></comment><comment><USER10> > "The owner, the employees, and the buying public are all one and the same, > and unless an industry can so manage itself as to keep wages high and prices > low it destroys itself, for otherwise it limits the number of its customers. > One's own employees ought to be one's own best customers."

I note that in a world of globalising trade this isn't true - there are vast untapped reserves of both employees _and customers_ out there. It then becomes possible to cannibalise the existing market through unsustainable practices. Until the global market as a whole is lifted up to the same level.

<comment><USER11> > One's own employees ought to be one's own best customers.

taken literally this is an absurd claim. sure it makes sense if you're making the first mass produced car, but no matter how well my company treats me, I'm not going to buy their niche B2B software.

</comment></comment><comment><USER12> You aren't getting the complete picture if you discuss the $5 workday without also mentioning Ford's Sociological Department. They were basically a group of investigators that looked into numerous aspects of Ford's employees personal lives. If your kid didn't go to school, if you kitchen wasn't clean enough, if you spent too much time at the bar, if you weren't saving enough, you wouldn't qualify for $5 a day. That new salary wasn't purely a capitalist endeavor, it was a totalitarian endeavor that gave Ford the ability to control the lives of his employees.

<comment><USER13> Please don't give anyone ideas ;-).

</comment></comment><comment><USER14> The industry didn't take kindly to this:

 _Dodge v. Ford Motor Company, 204 Mich. 459, 170 N.W. 668 (Mich. 1919)[1] is a case in which the Michigan Supreme Court held that Henry Ford had to operate the Ford Motor Company in the interests of its shareholders, rather than in a charitable manner for the benefit of his employees or customers. It is often cited as affirming the principle of "shareholder primacy" in corporate America. At the same time, the case affirmed the business judgment rule, leaving Ford an extremely wide latitude about how to run the company...._

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

</comment><comment><USER15> How is there no mention of the strength of organized labor during that period in the article or any of these comments? That was a big part of what motivated Ford to appease the workers when rolling out his new flexible production system. It wasn't his benevolence.

Ford, the company, along with GM gave up that system half a century later for a more rigid system that included more outsourcing but had the upside of being impermeable to strikes. Toyota on the other hand continued the flexible system along with the higher cost of labor and royally outsmarted the American companies in the 70s.

The role of organized labor shouldn't be ignored. And neither should the competitve advantage of working with well-skilled and well-contented labor.

<comment><USER16> The strength of organized labor, particularly at Ford in 1914 was weak, both GM and Chrysler unionized in 1937, Ford was the last to do so of the big three, holding out until 1941.

Ford's rationale for increasing the wage for his workers, as laid out by him, was to make it so every Ford employee could buy a Ford car.

If you're curious, and want to know more about Ford Motor Company, I highly recommend a book called Wheels for the World by Douglas Brinkley. ([https://www.amazon.com/gp/product/067003181X/](https://www.amazon.com/gp/product/067003181X/)) Ford opened its full archives to the author, and it covers their entire history, warts and all.

<comment><USER17> >The strength of organized labor, particularly at Ford in 1914 was weak

It was about seeing off an incipient threat. IWW were quite active at the time. Amazon's goal last year was similar when they raised wages even though they refused to recognize the union.

>Ford's rationale for increasing the wage for his workers as laid out by him, was to make it so every Ford employee could buy a Ford car.

Which was obviously bullshit. The effect employees buying cars could have had on the bottom line was far outstripped by the increased wage bill.

</comment></comment></comment><comment><USER18> _Ford employees would be "demoralized by this sudden affluence,"_

Love it. Workers are _better off_ poor!

<comment><USER19> That statement made me laugh also

</comment></comment><comment><USER20> Ford doubling his minimum wage is simply an example of capitalism (not government) raising wages. This is why capitalism is the greatest economic system (by a mile) ever devised.

<comment><USER21> And it's so common we have 1 example from a century ago and we're still talking about it.

<comment><USER22> What are you arguing? That wages haven't risen since?

<comment><USER23> wages have absolutely not risen proportional to worker productivity

[https://www.epi.org/productivity-pay-gap/](https://www.epi.org/productivity- pay-gap/)

<comment><USER24> An increase in aggregate worker productivity isn't necessarily an increase in the ability of workers; most productivity gains are attributable to capital investment. If you took a productive modern worker back 500 years, they wouldn't be much more productive than the locals of that time, as they'd lack the tooling, machinery, resources, equipment and factories that magnify human productivity today. It hence makes sense that the gains from rises in productivity wouldn't all accrue to workers, as the gains result from the actions of business owners investing in better means of production, not from action on the workers' part.

<comment><USER25> All productivity gain is the result of capital investment. That doesn't mean the benefits should not accrue to workers. Who do you think is provisioning, configuring and using the machines that result in that gain? Shareholders?</comment></comment></comment></comment></comment></comment>


How Not To Sort By Average Rating - <AUTHOR> http://www.evanmiller.org/how-not-to-sort-by-average-rating.html <comment><USER2> Why get the lower bound: this means you systematically underestimate the items with fewer ratings. Also this formula assumes normal distribution.

There is another solution called 'True Bayesian Average' that is used on IMDB.com, for example. For the formula and the explanation how it works see here:

<http://answers.google.com/answers/threadview/id/507508.html>

<comment><USER3> It assumes that the aggregate outcome of a large number of Bernoulli trials (i.e. true/false; up/down; good/bad) are distributed binomially, which can be reasonably approximated by the Normal distribution when the number of trials is large. This is technically true, and works for HN-style voting.

This isn't true for Amazon ratings, since ranking something 1-5 isn't a Bernoulli trial. But the central limit theorem says that that the _average_ of those ratings will be normally distributed (assuming that they're identically distributed and independent), so it can still work. The confidence interval is different, however.

</comment></comment><comment><USER4> Actually, I think Amazon has it right, for several reasons:

1\. The user can actually _understand_ and _predict_ the behavior.

2\. The "problem" the OP identifies is partially self-correcting, because items with a few positive ratings get more attention as a result of their high ranking, and if they deserve more poor ratings, they'll get them.

3\. As long as you _tell_ users how many ratings there are, they can use their own judgment as to how important that is.

</comment><comment> jim-greer On Kongregate we do the same thing that Newgrounds does - games don't display an average rating or appear in the rankings until they have a minimum number of ratings. For us that's 75 ratings.

Of course we only get a hundred or so new games a week, so it's not hard to get that many ratings. Much harder for a site with lots of stuff, especially if they have lots of stuff from day one.

</comment><comment><USER5> Speaking of Amazon -- I'd rather buy a book with lots of 1s and 5s than a book with straight 3s. Wouldn't you?

<comment><USER6> So you'd rather sort by variance?

I don't see why (outside of security issues) we can't just define our own sorting functions for a site.

<comment><USER7> This is a dream of mine as well, but performance may be a problem. Custom functions mean no caching and arbitrary computational burden from each function.

<comment><USER8> It doesn't have to be totally custom. Just solicit a few representative types and allow all those. This also solves the problem of not everyone knowing how to write such a function, and dealing with user code running on the server.

<comment><USER9> Better yet, play around with lots of different sorting methods, and look for patterns in the sorting method used (s), the user's data and history (h), and the amount of money the user ends up spending ($).

Maximize $, and don't ask stupid questions like "Would you rather sort by variance, average rating, or Wilson score?"

(I'm pretty sure that's what Amazon is busy doing every day. They're positively brilliant at turning data into money.)

</comment></comment></comment></comment></comment><comment><USER10> OK, I came to this late, but there are other solutions.

On Dawdle, we spent _a ton_ of time thinking about this. For their Marketplace sellers, eBay does number one; Amazon does number two. What we do _is not three_ , but something that I think is better: we just rank our users.

Look, you can't ask buyers on the site to rank any particular transaction against all others; that's crazy talk, especially as you get into large numbers and people forget about all their experiences ever on a site. But we guide all our buyers to leave feedback of 3 - not 5 or a positive. The hope is that you'll have a semi-normal distribution of all feedback. _Then_ , and only then, do we do all sorts of stuff to that. We have bonus points for good behaviors, some of which we talk about (shipping quickly, using Delivery Confirmation, linking your Dawdle account to Facebook, MySpace, XBL, PSN, etc) and some we don't. Then we just throw the ranks on a five point scale.

We call this our Seller Rating, not a feedback rating. Feedback is just the beginning of the process. KFC starts with the chicken - necessary but not sufficient - then adds their 13 herbs and spices. That's what we do, and it's why we don't even allow users to see the individual feedbacks. They're designed to be useless individually, and I don't want some new eBay expat bitching about not having 100% feedback.

Does this mean that some people are going to end up with 1s on a 5 point scale? You betcha. And we don't want them anyway - they're more hassle than they're worth. They can go to eBay or Amazon.

</comment><comment><USER11> Yelling "WRONG" at two popular options isn't much of an argument. I suspect that Amazon has a good profit-maximizing reason for their ordering.

<comment><USER12> But the author didn't just yell wrong, he provided examples exposing the flaws in both scoring models.

<comment><USER11> He showed screenshots, without explaining anything wrong with the rankings unless the reader already intuitively agreed with him.

But why isn't the net-positive score the right thing for UrbanDictionary, and the average the right thing for Amazon? No case was made.

I could argue these either way, but if I were to write an attention-grabbing headline and yell "WRONG", I'd actually make a case. Attitude alone is not an argument.

</comment></comment></comment><comment><USER13> Could it be that the _business requirement_ for the ranking system is actually that users be given the illusion of participating in a social site? because ultimately the rankings have very little impact on overall sales?

While over there, the "Users who bought X also bought Y" feature has a very strong impact on sales, so the engineers spend all of their time tweaking its algorithm?

</comment><comment><USER14> The first example is wrong. 60 - 40 = 20 which is greater than 100 - 100 = 0.

<comment><USER15> I noticed that too. The numbers in the picture do support his point though. 209/259 = 80.7% is listed higher than 118/143 = 82.5%

<comment><USER13> Sadly, the proggit comments are overwhelmed by debate as to whether a small error like this means the author is an idiot. What makes this happen? It's not just debating the color of the bikeshed, it's questioning the qualifications of the Nuclear Power Plant architect on the basis of the bike shed.

<comment><USER3> Amen. This is a big reason that I can't see myself working as a developer for the rest of my life. I can't deal with the abundance of passive-aggressive personalities who will seize on tiny errors like this, and discount an individual's intelligence.

If you ask me, it comes from the fact that software geeks are primarily young men, many of whom were emotionally abused by their peers while growing up. When you think the world only values your intelligence, you go out of your way to prove that you're smarter than everyone else.

<comment><USER16> Hah! If you want abuse, you should see some of the frothing at the mouth that happens about LangPop.com, which, as clearly stated on the site, is never going to be more than an approximation. Man does it set people off when their favorite language doesn't do as well as they think:

<http://journal.dedasys.com/2009/01/08/angry-perl-users>

</comment></comment></comment></comment></comment><comment><USER17> Silly that he messes up the first example, but I've wanted something like this third solution when sorting by rating on Amazon -- when a product has only a couple of positive reviews, it's almost the same as being unreviewed. (On the other hand, just a couple of negative reviews can often be quite helpful, since they can list concrete problems making the product bad -- a positive review has the much harder case to make of "there will be nothing bad about this product".)

</comment><comment><USER18> Yeah, this always drives me nuts.

Assuming that someone's rating is only an estimator of their true rating, and then clipped to an integer - the more ratings there are, the less the maximum.

You never see something with hundreds of ratings actually score a 5.0, even if most people love it. And the fact that there ARE hundreds of ratings of that thing, and not some comparison thing, is also important.

<comment><USER2> If you treat the number of ratings as an indicator of quality, you need to account for the time the item has been available for rating as well. Otherwise you underestimate newer items.

<comment><USER19> Not just time available but also units sold; if you are looking for a niche item, you don't expect a lot of ratings.

</comment></comment></comment><comment><USER20> This is a decent way to estimate the average score. But sometimes you're not really trying to estimate the average score. You're really trying to estimate the score that the user who's currently viewing the page would give it, especially for someone like Amazon (ie, People Like You Rated this Product as 1-star).

His estimator might be a decent one at picking the average score, but in Amazon's case, it's not a great estimator of the rating I would give the product I am viewing. If you have such an extensive record of my past- purchases, use it to predict how I would like certain products! Surely the 5-star ratings of SICP are more applicable to me than the 1-star ratings.

</comment><comment><USER21> This is, I think, the bestest funniest post to hit Hacker News in awhile.

<comment><USER22> Evan and I worked together at IMVU, and at one point a senior engineer heard one of my (appallingly bad) ideas and replied "You're fired." and went back to work.

A few weeks later I, apparently, made a terrible joke. Seconds later this shows up in my inbox:

Dear Timothy,

After careful deliberation, it's been decided that you need to be fired.

Reason: telling not funny jokes

You may take one (1) Odwalla for the road.

Thanks,

The Firing Committee

Not only was it hilarious but while I suspected Evan, he hadn't had time to type that whole message! Over the next few weeks I received quite a few of these e-mails, but with different messages:

Reason: distracting Evan from his conversation with Luc

Reason: Asking too many questions

etc.

It turns out that not only did Evan find the need to write a formal you're fired letter; he wrote a web service to send formal you're fired letters. To me.

<comment><USER23> _he wrote a web service to send formal you're fired letters. To me._

You're fired, for dragging down the average amount of awesome in any room Evan is in.

</comment></comment></comment><comment><USER24> I wrote a little bit about a (mathematically naive) solution to the averages problem on my blog (props to Eric Liu for his feedback) -- <http://www.cederman.com/?p=116>

</comment><comment><USER25> I actually have yet to encounter a single website with this sophisticated of a rating system.

It is particularly hard to find quality content on websites with a large database (i.e. YouTube). Newer videos will always have a higher 'rating' because it is 'newer'. Older videos will always have the most 'views' because it has had more time to get to that state. If you can't reach a consensus about what the most optimal rating system is, implement a nested rating system. This way, the end-user can specify to sort by 'rating' and then by 'date' and then by 'views', or however order he/she feels most optimal.

</comment><comment><USER26> _How Not To Sort By Average Rating_

Or, "How to Make Your Host Very Happy Because You Suddenly Have to Move Up To a Server With Double the Processing Cycles"

<comment><USER23> I realize this is probably a joke, but the relative infrequency of rating, the fact that this rating algorithm only requires information from the local context[1], and the existence of caching means that this is very, very unlikely to be the bottleneck for any site.

[1] i.e. to calculate Harry Potter's rating you only need to know about Harry Potter, not every other book ever printed

<comment><USER26> yeah, you could cache it in the db until you get a new rating.

It would still slow you down a little though.

And yes, it was a joke :-)

</comment></comment></comment><comment><USER27> Every site's crappy sorting has always bothered me, it reminds me of AltaVista (before Google kids).

I have not checked the math on this, but damn near anything should be better then what most sites are doing today.

In fact a better way to sort user ratings is a good idea for a startup.

</comment><comment><USER28> The simple formula is to assume a Dirichlet prior. This gives you

      score = positives / (negatives + x)

and you can fiddle with x to get something that looks reasonable.

</comment><comment><USER29> pedantic: the urban dictionary example is voting not rating. that's what leads to the confusion of adding up all the positives and negatives.

amazone is rating. it's a scale and there is a clear mean, medium and standard deviation.

whether solution #2 is wrong kind of depends. some of this is a social problem on what items get the kind of followers who are likely to rate online. at the extreme case you could imagine a product where (not) liking it was caused by an inability to use html forms.

</comment><comment><USER30> Excellent. Can we implement that on comments here? How hard would it be?

</comment><comment><USER31> An easier solution is to give each item a number of implied mediocre ratings (say 10 3s) to start.

1 rating, 5.0 = 35/11 = 3.18; 90 ratings, 4.5 = 435/100 = 4.35

The downside is that, since items with few ratings get mediocre scores, if there isn't a way for them to be visible, they won't get out of that rut. So a better approach might be to feature (on a "top 10" list) seven high scorers and 3 "rising stars" selected purely on average score.</comment>