Raspberry Pi +
Raspberry Pi Camera +
dummy camera http://www.ebay.com/itm/NON-FUNCTIONING-SECURITY-CAMERA-/171187177851?pt=US_Dummy_Cameras&hash=item27db8d097b +
Buck converter http://www.ebay.com/itm/LM2596-USB-DC-DC-Step-Down-Adjustable-Power-Supply-Module-LED-Voltmeter-Needle-/360719055201?pt=LH_DefaultDomain_0&hash=item53fc87f961 +
PoE Power Over Ethernet Injector Splitter Adpater Cable http://www.ebay.com/itm/PoE-Power-Over-Ethernet-Injector-Splitter-Adpater-Cable-/390700244783?pt=LH_DefaultDomain_0&hash=item5af78c9f2f
Raspberry Pi +
FreeBSD is very well documented (The manual is awesome) and it has a great community. There are a lot of good discussions on the mailing list, and it doesn't require you to be a kernel hacker to participate. I use both Linux and FreeBSD, they both have their strength and weaknesses. I slightly prefer FreeBSD, as I feel its easier to turn it inside out(for hacking).
Btw. Poul-Henning Kamp tweeted this a few days ago.
Between FreeBSD, Varnish and Ngnix, at least 2 out of 3 packets on the net are delivered by #BSD licensed open source software. #EatThatRMS
So I would say, FreeBSD is a lot more interesting today, than 10 years ago.
Stay away from Owncloud....really, those guys don't even know that all modern filesystems have an API for watching changes in your filesystem. And syncing works on file level instead of block level.
In Scandinavia we have to use a java applet called BankID for login to our bank account. This has for the past few months become REALLY frustrating for people who really don't know what Java is. Even technicians who has a basic understanding of what a computer is, has problems keeping Java up to date(they don't know where to download it, and therefore accidentally download something they shouldn't) and all the them are infected with that Oracle search toolbar malware.
Pandas http://pandas.pydata.org/ is another great tool for data analysis. It use numpy and is highly optimized with critical code paths which is written in C.
If you are testing if the person can program or not, then it's fine. But if you're looking for only the cream of super software developers, then something minor as the persons emotional state for the day can make a huge impact on the result.
For me personally, I think understanding the actual question is the most difficult part. Some people find bizarre mathematical puzzles fun. I prefer puzzles from the real world, like for example how to get two systems to talk together.
There are many reasons!
The FreeBSD Handbook / Documentation with consistency
However FreeBSD doesn't excell for everything, for example Java support is far away from production ready. And another thing I ran into recently was that monitoring a lot of files for changes was slow/not scalable at all because kqueue uses file descriptors for monitoring changes in your filesystem. Linux, OS X or even Windows have scalable and working solutions for this.
Not only have you created an amazing tool, it is open source and the best part...it's actually well documented! Christmas came early this year!
Hammer can do deduplication with minimal memory requirements. For example only 512MB ram would still give a responsive and fast system. Hammer deduplication doesn't take a hard hit on performance like ZFS does, as ZFS dedup data in realtime while Hammer does it with a CRON job.
I'm not using BTRFS yet, however as send & receive in BTRFS is similar to the ZFS send & receive implementation you can do really cool things like superquick backup of a gigantic PostgreSQL Database.
The workflow is as following
Snapshot the filesystem with PostgreSQL data
Send the snapshot to your backup server
So if I run PostgreSQL on Windows I can be sure VSS executes psql -c "select pg_start_backup(‘hourly’,true);" before creating the snapshot?
My FreeBSD PostgreSQL backup looks like this and runs hourly.
prev=`date -v-1H '+%Y-%m-%d_%H'`
psql -c "select pg_start_backup(‘hourly’,true);"
zfs snapshot tank/pgsql@$now
psql -c "select pg_stop_backup();"
zfs send -R -i tank/pgsql@$prev tank/pgsql@$now | ssh backup@hpbackup zfs receive -Fdu tank/backup/pgsql
You can do the similar thing with Linux as BTRFS now support send and receive.
You forgot step 7 for Windows. Click ok for administration mode and next, next, next, and finally make sure to hook off those extraordinary browser bars.
Been there myself. There are so many good looking nuts out there, a dangerous world for a peaceful man.
I work with IPTV and VOD, we have 4 PB of data running on FreeBSD and ZFS which is being replicated off site with the send && receive features that comes with ZFS. Since we mostly deal with large media files we have even reversed the replication direction. That means that if master storage needs to go down for maintenance, the other offsite storage becomes the master. At the moment we're looking into using HAST which will make it even easier to switch what storage site that should be the master.