Organic molecules discovered by Curiosity consistent with early life on Mars - <AUTHOR> https://phys.org/news/2020-03-molecules-curiosity-rover-early-life.html <comment><USER2> The article touches on this a bit, but I've always wondered what is defined as life. As noted in this article, source of complex organic compounds on Earth is most likely biological, but on other planets, the odds are pretty low for that. If life is self sustaining complex organics, then I guess the bar is pretty low to find it in the universe.

However, if life is defined as adapting complex organics(evolution), where the errors in replication of cells triggers different combinations then it gets more interesting as that is in a nutshell how life started evolving on Earth.

<comment><USER3> In biology 101, they taught us that life is something with the following properties:

1\. Has order

2\. Has metabolism

3\. Has evolutionary adaptation

4\. Responds to the environment

5\. Reproduces

6\. Grows and develops

Which seems fine as a definition, but certain physical processes are still a little ambiguous. Like consciousness, there's probably not a clear dividing line between life and non-life, but rather a gradient between the two.

<comment><USER4> Why is evolutionary adaptation a necessity? If some reasonably complex organism evolved and then perfected its DNA replication to the point where no mutations occurred, and thus it could not evolve any further, it would cease to be considered alive?

<comment><USER3> Just because no mutations are occuring doesn't mean natural selection isn't taking place, it just means that there are no fitter variants in that organism's immediate fitness landscape

</comment></comment></comment></comment><comment><USER5> If we find life a second time in our solar system, would that imply that life throughout the universe is much more likely to be abudant? Answers to the fermi paradox I've heard is that there may be some unknown true difficulty for creating life. A second form of life in our solar system would counteract that belief?

If true, then I'd be worried about some Great Filter ahead of us (ie technology destroying us) as that may be a plausible reason why we haven't spotted aliens yet?

<comment><USER6> I suspect that intelligent-like-us life is vanishingly rare. It's only happened to one species (maybe a few of our extinct relatives) out of billions of species on Earth so far. And even we spent most of our history not being space-faring — it doesn't feel inevitable even given our biology that we would be.

<comment><USER7> idle speculation: maybe there's an uncanny valley type effect where intelligent tool users are inherently hostile towards their near peer species? could explain why our ancestors are extinct but much less capable primates still exist.

if true, the number of such species might converge to one over time.

<comment><USER8> Well, predisposition to tribalism may be the manifestation of a strong evolutionary pressure against those early hominids who did not eliminate other subspecies with prejudice.</comment></comment></comment></comment>


36TB FreeNAS Home Server Build - <AUTHOR> https://ramsdenj.github.io/server/2016/01/01/FreeNAS-Server-Build.html <comment><USER2> There is a lot of cargo cult about this.

Firstly the claim that freebsd has wider testing is utter trash. In terms of TBs installed ZFS on linux >> freenas/freebsd

the amount of money behind ZoL is now surprisingly large.

Also, extensive memtest of ECC ram is pointless, ECC ram has checksumming built into the chip which will tell you if there is a memory error and correct it if possible.

As for most drive fail in the first hours: [https://www.backblaze.com/blog/how-long-do-disk-drives- last/](https://www.backblaze.com/blog/how-long-do-disk-drives-last/) evidence says other wise. Infant mortality is a thing, but its a matter of months, not hours. (internal QA grabs most of the ones that die within a few hours.)

The best way to combat simultaneous failure is to mix hardrive types, this makes it much less likley that a single fault class will be triggered on all disks.

<comment><USER3> > Also, extensive memtest of ECC ram is pointless, ECC ram has checksumming > built into the chip which will tell you if there is a memory error and > correct it if possible.

Yes, but if the chip is getting lots of memory errors, correctable or uncorrectable, I probably don't want it. I don't want to build my system and put it into production and then find out.

<comment><USER2> you'd pick this up straight away, ECC ram detects memory errors in real time. The reason why you run memtest is to systematically go through all the bits and flip them in a known pattern.

You can check that known pattern to see if the bit changed properly.

With ECC this is redundant, as each byte(or word, or some unit of memory) has a hardware checksum. So using ECC ram in normal operation will indicate if there are errors.

<comment><USER3> Yes, I understand that.

The reason to run memtest on ECC memory is to verify that every bit of memory is good _before_ you finish building the system, installing an OS, and putting it into production. If you have, say, 32GB of memory, there's no guarantee you'll hit those bad bits for ECC to log an error until you're doing something memory intensive two weeks later.

The primary use case of ECC is to handle random bit flips from cosmic rays and whatnot, not to mitigate bad hardware. If you have bad memory, replace it, don't rely on ECC. The only way to test memory is to run something like memtest, where you read and write from every bit in memory.

If you're OK with finding out a month later that ECC is logging a hundred uncorrectable errors an hour whenever you do anything memory intensive, then sure, don't bother memtesting. If you would rather deal with it beforehand, then run memtest.

<comment><USER2> but you have hardware monitoring linked to an alerting framework right?

<comment><USER3> Yes, but again, you may not get that alert and find out that memory module is bad until months from now. It all depends on where the chip is bad at, how much is bad, how much load is usually on the system, etc.

I (and I would guess most people) don't want to find out a month (or more, potentially much more) from now that the memory module is bad, I want to know _now_ so I can RMA it and get it over with without having to take a running system down and apart.

That's the problem that memtest solves, ECC does not solve the same problem at all.

</comment></comment></comment></comment></comment></comment><comment><USER4> I used to build my own stuff, but now I buy Synology. It's really convenient, has great UI and support, a bunch of different packages you can install, etc.

Although I ran into a problem a couple of months after setting it up where the NAS became so slow, it was unusable. I saw that my IOWait was 100%, so I figured it was a disk, but nothing indicated a problem. Eventually I was able to get to a log that showed that one of the drives had some weird error messages, so I bought a new drive from Amazon that came the next day, pulled the drive, and replaced it and instantly everything was okay again.

I would have expected something on Synology's status programs to show a problem, but they were all green, so that was annoying.

<comment><USER5> The prices for the larger ones are ridiculous though. 800$ for a 5-bay NAS without HDDs is a lot. You could easily build 2 or more NASes with the same specs for that money.

Also, having used a Synology I think it's a niche product. It's too powerful for people who simply want to put files and backups on their network. But for people who like to tinker and control, it's too restricted. You can basically only install software that has been ported to Synology. Getting it to do automated tasks the way you want to can be annoyingly complicated. I would recommend it to an advanced customer, who needs features like Owncloud or VNP without having the burden to maintain a system.

<comment><USER6> I was playing with the parts in this article, and it was up near $2500 from amazon. $250MB motherboard, 4x$60 8GB dimms, etc.

<comment><USER5> I was talking about the 5bay Synology model.

</comment></comment></comment></comment><comment><USER7> And the word 'watt' is no where in the article. I'd be curious to the yearly power costs.

I've been the eying the Lenovo Thinkserver TS-140: [http://amzn.com/B00FE2G79C](http://amzn.com/B00FE2G79C) with a Xeon E3-1225v3.

Some comments state that it has an idle draw of less then 40 watts. Which is hard to believe. My Dual core intel atom box idles at about 50 watts (of course there is no difference between idle and full load draw with the atom, just super slow either way...)

<comment><USER8> I must assume I'm wrong in this calculation but 40 watts seems pretty cheap in cost. [http://www.wolframalpha.com/input/?i=40+watts+in+kwh+per+mon...](http://www.wolframalpha.com/input/?i=40+watts+in+kwh+per+month) at a 3.3 cents per kWh rate is just under a $1 per month right? On the top tier of my local utility it would still be under $4 per month. [http://www.austinenergy.com/wps/portal/ae/rates/residential-...](http://www.austinenergy.com/wps/portal/ae/rates/residential- rates/residential-electric-rates-and-line-items)

<comment><USER7> I think most Americans pay between $0.20 and $0.40 per kWh.

I am lucky though that here it is only $0.06. But in summer months it goes to $0.14 for every kWh over 600. Staying under 1000 kwh's a month is hard to do.

<comment><USER9> Speaking of summer, if you're trying to cool the house with an air conditioner, you can multiply the effective wattage of the computer by 3.

<comment><USER7> True, that is a good point.

</comment></comment></comment></comment></comment><comment><USER10> There's a very active subreddit[0] that discusses a lot of stuff like this. Worth checking out if you've considered having a server in your home.

[0] [https://reddit.com/r/homelab](https://reddit.com/r/homelab)

<comment><USER11> This guy also does his own periodic FreeNAS system builds: [http://blog.brianmoses.net/2015/01/diy- nas-2015-edition.html](http://blog.brianmoses.net/2015/01/diy- nas-2015-edition.html) [http://blog.brianmoses.net/2015/05/diy-nas- econonas-2015.htm...](http://blog.brianmoses.net/2015/05/diy-nas- econonas-2015.html)

<comment><USER12> Oh the irony. I have an HP54L microserver that I used to boot BSD from the exact same usb key (sandisk cruzer fit). One day boot hanged badly, cold reboot fubared some data, I had to make a spare boot key which didn't have the ZFS disk config. I failed to reimport the ZFS pool properly, wiping the root nodes off the drive. 3TB of mostly inaccessible data sleeping. I still hope that I find the time and brain resources to write a program to reconstruct the metadata from the fs nodes still on disk. ZFS sources analysis gave some hint about magic numbers and other patterns that could help scan and infer node positions.

Anyway, as always, be cautious. And, when too many things are down, don't fiddle.

</comment></comment></comment><comment><USER13> I'm regretting building my NAS. It's expensive, the storage is small (16TB of drives gave me ~7.9TB of usable space) and any question or doubt about your configuration prompts responses like: [http://blog.ociru.net/2013/04/05/zfs- ssd-usage#comment-17223...](http://blog.ociru.net/2013/04/05/zfs-ssd- usage#comment-1722341810)

<comment><USER14> > the storage is small

What did you expect here? 50% is typical trade off these days in disk arrays.

<comment><USER15> You go from 16 terabytes to 14.5 tebibytes right out of the gate. And then if you use Raid-Z2 (Raid 6), which uses 2 disks for parity, on a four disk set, half of your drives will be used for parity. This was of course the right call, because with the size of current drives Raid-Z1 (Raid 5) is really risky.

Personally on my ZFS based home built server I use mirroring, due to the well publicized issue with the extreme difficulty of increasing the size of ZFS's VDEVs. Which has the same 50% usable space reduction.

<comment><USER13> Yep, I've gone to a pair of vdevs too. I'm calming down now, even if I had to format an external drive to ZFS just to get it to mount (yes, yes, I know, USB is terrible and I'm going to lose all my data). I would _not_ recommend FreeNAS for a home user.

<comment><USER15> You are making me very glad that I went with Ubuntu rather than a NAS oriented OS like FreeNAS.

<comment><USER16> My first NAS build used FreeNAS. For a simple Samba box, it's just about perfect. However, I wanted my NAS to run a few more services than the ones that were easily available and pre-built "blessed" plugins.

I had a low spec CPU in the NAS and went through hell and back to build/install/jail a few packages from source (along with their dependancies). It was a steep learning curve and wasn't terribly fun.

When it came time to add a second NAS, I chose Ubuntu and ZFS on Linux. It's been running like a champ for well over a year without a single hiccup. I don't think I've even built a single package ever. Best of both worlds, in my opinion.

</comment></comment></comment></comment></comment></comment><comment><USER17> If you are into this type of thing, check out the storage form on [H]ardForum: [http://hardforum.com/forumdisplay.php?f=29](http://hardforum.com/forumdisplay.php?f=29)

Specifically, the showoff thread: [http://hardforum.com/showthread.php?t=1847026](http://hardforum.com/showthread.php?t=1847026)

</comment><comment><USER18> This post covers everything except the cost. The cost will vary from region to region and country to country, but it would have been nice to get a ballpark figure for what this cost.

<comment><USER19> And power consumption!

<comment><USER20> I have 3 NASes but my largest is a similar build with 7 drives (6x6TB WD Red + an old WD Black for the OS). It pulls about 70 watts.

Full specs here: [https://pcpartpicker.com/user/Viper007Bond/saved/xwP9TW](https://pcpartpicker.com/user/Viper007Bond/saved/xwP9TW)

</comment></comment></comment><comment><USER21> The author probably bought all of those hard drives at once, from the same vendor. They're very likely in the same batch.

What if something goes bad with a drive? Well, ZFS to the rescue. Maybe even two.

What if the whole batch was bad?

I've built my NAS with not quite as much storage but more drives using drives from different vendors and different batches from different manufacturers.

<comment><USER22> It is good to be concerned about batching disk drives, as you imply.

However, given that the problems that arise with a bad batch are physical ones, properly burning in the drives does, I think, alleviate those concerns.

We burn ours in for 5-6 days[1] before we put them into production and history shows this weeds out the bad ones. If there was an entirely bad batch, we would catch it that way.

In my opinion, far, far more likely to find yourself with fake-new drives than with an actual "bad batch". We see that all the time from amazon sellers that claim brand new drives, but SMART says otherwise...

[1] with a zero tolerance policy for even the tiniest deviation from normal in the SMART output. Even a blip and that drive is out.

<comment><USER23> _If there was an entirely bad batch, we would catch it that way._

You're a very optimistic guy. That test would not have caught IBM deathstars or the more recent Seagate 3tb barracuda failures.

I lost 6 of the 8 drives in my NAS due to that last one.. luckily not all at the same time.

</comment></comment></comment><comment><USER24> I personally think SilverStone's DS380 would make for a better case for something like this. 8x hot-swap 3.5in bays + 4x 2.5in bays in M-ITX form factor.

[http://www.silverstonetek.com/product.php?pid=452](http://www.silverstonetek.com/product.php?pid=452)

It's what I'm using right now for my server and I love it. I have it filled up with 6 drives and haven't had any issues with heat so far. Can't say the same about the ASUS P9A-I motherboard I'm using it with though...

<comment><USER25> I second the DS380, had a HD failure the other day and it was easy to hot swap. +1 for the case -1 for Seagate Barracuda's

</comment></comment><comment><USER8> $2,870.15 from Amazon right now which isn't as bad as I expected. That is a great build you've put together. After losing a 3TB drive of thankfully replaceable data I have been eyeing a similar setup but not as intense.

[https://amzn.com/w/MHNNS9EDAORX](https://amzn.com/w/MHNNS9EDAORX)

Side note, I would love to have a list or something on Amazon because the wish list isn't right. A purchase list perhaps? It doesn't include the quantity by default when clicking Add to Cart. I had thought about adding in the Amazon Associates code but I've never actually had that make any money.

</comment><comment><USER26> Looking forward to FreeNAS 10 when it is available. Thinking about rebuilding my HP N54L microserver currently running Windows Server 2012 R2 with a 'virtual' NAS, Ubuntu + ZFS, running under Hyper-V (yes, this is unnecessarily complicated).

It would be great if whatever virtualisation is built into FreeNAS supports the AMD Turion II the N54L uses but support for AMD virtualisation sometimes seems a bit spotty (not supported in SmartOS for example).

<comment><USER13> I found the FreeNAS community to be a bit difficult to work in - less than 32GB of ECC RAM? Using something other than RAIDZ2 with 6+ high performance drives? You're terrible, and you'll lose all your data!

<comment><USER3> The FreeNAS community is definitely not very friendly and they'll jump on you if you have any problem whatsoever and you didn't follow one of their recommendations, but let's not misquote them. The FreeNAS forum folks say 8GB minimum ECC memory and don't suggest "high performance" drives, merely drives with firmware hypothetically optimized for NAS applications.

RAIDZ-2 is recommended on lots of drives for the same reason RAID6 is, so that's not something unique to the FreeNAS community.

[https://forums.freenas.org/index.php?threads/hardware- recomm...](https://forums.freenas.org/index.php?threads/hardware- recommendations-read-this-first.23069/)

</comment></comment></comment><comment><USER13> I wonder if the author has run into many problems with FreeNAS, or the terrible community. I've seen posts on the forum where the problem was with Samba not authing correctly but the first response is "You don't have enough RAM".

At least they're patching the SSH CVE from today, but it's not just a _pkg upgrade_ , it's a tarball that upgrades the whole root drive.

</comment><comment><USER27> When I built my home NAS, I started with FreeNAS, but it was a pain. The instance of ECC RAM, the lack of USB support[ _], the community that seemed more focused on office solutions exclusively were killers, and a hermetically sealed distribution were all killers. I switched to Linux based OpenMediaVault[1] and all my problems went away. It uses the same UI as FreeNAS, but defaults to EXT4, supports USB backups, and lets me do anything I want on it. It 's great.

[_] The answer to multiple independent requests about backing up the NAS to a USB enclosure, and met with a refrain of "USB drives are crap, so you're stupid for using them. You should back up your NAS to another NAS, that you never move." Fuck you. I know the limits of my failure model.

[1] [http://www.openmediavault.org/](http://www.openmediavault.org/)

</comment><comment><USER28> I know that ZFS is cool and LVM isn't, but I literally just finished repairing my LVM-based home NAS, and it left me with a good feeling about LVM. Overall, a stack of md, LVM and XFS is a lot more complicated than ZFS, but each piece is more understandable in isolation.

<comment><USER19> ZFS is a filesystem which does waaaay more than LVM does as a container. It's not just that it's "cool". Rapid filesystem snapshots, checksums, dedupe, do some research and you'll see why it's recommended.

<comment><USER28> LVM does snapshots & checksums. dedupe and compression require huge amounts of memory and cause problems with databases. I've used ZFS before, and I switched back.

<comment><USER13> I have a ~8TB NAS on an Atom C2758 system. I've loaded less than 4TB so far and FreeNAS is really getting on my nerves. Am I "protected" from a single drive failure with LVM? Can I grow the storage size by swapping out one drive at a time? If so, I might just go to Debian and be done with it, although FreeBSD 10's bhyve hypervisor looks really good.

<comment><USER15> No, LVM doesn't provide any protection, you need to layer mdadm below LVM to provide any sort of protection.

Even with the use of mdadm, it doesn't provide near the sort of protection that ZFS does. Due to pervasive checksuming of data, ZFS handles the bit-rot and corruption that a dying disk does much better than the traditional raid that mdadm provides. For example if you have your disks mirrored or RAIDed, if the disk doesn't provide a read error, mdadm will pass the data back to the OS. Since the data isn't checksumed, there is no way for it to know if it needs to read from the mirrored disk or the parity drives.

<comment><USER28> \- as of RHEL 6.3, LVM supports raid4/5/6 without mdadm. It has supported raid1 (mirroring) and raid0 (striping) for much longer.

\- any LVM or mdadm mode with parity contains a functional checksum. To use it for data integrity, do a regular scrub. You should be doing a regular scrub with ZFS anyways, so ZFS's checksum on read doesn't add much except for slowing things down.

<comment><USER29> > any LVM or mdadm mode with parity contains a functional checksum. To use it > for data integrity, do a regular scrub.

That doesn't work. Scrubbing the RAID can detect errors, but when they occur, the block layer has no idea which copy is the correct one. I haven't verified for LVM, but at least for mdraid, Linux explicitly does not make any attempts at recovering a 'correct' block even in cases where there is more than one copy. It just randomly picks a winner and overwrites the other versions. You still want to scrub for the error detection.

<comment><USER28> I've seen it work. It knows which block has the error because the disk reported the error. It then rewrites the sector with the correct data, the disk moves the sector, you see "read error detected, corrected" or some such in your kernel logs.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> ECC RAM should be the minimum requirement if using ZFS.

<comment><USER31> >If your system supports it and your budget allows for it, install ECC RAM.

There are some threads of overstatement of the necessity of ECC RAM or the opposite, but the above is the best advice. It might be more wise to invest your money more efficiently in backup resources than more expensive RAM.

<comment><USER30> The aforementioned quote should be: "If you value your data, you should use ECC RAM. Especially so, if you use a checksumming filesystem such as btrfs or zfs."

There is no use investing money in offsite backups if the onsite backup is corrupted already from faulty RAM.

</comment></comment></comment><comment><USER32> What I would like is more discussion of choosing FreeBSD vs FreeNAS.

The author was inexperienced and so chose FreeNAS for "ease of use". But what, other than a GUI, does FreeNAS really provide? I've never read a detailed explanation. The forums on freenas.org don't seem to address this fundamental question. Everything seems to be predicated on the choice already having been made, nothing helps people make the choice in the first place.

Perhaps FreeNAS is more aggressive than FreeBSD about patching storage related bugs?

Can anyone point to a detailed discussion about choosing vanilla FreeBSD vs FreeNAS?

<comment><USER33> FreeNAS is distributed and supported as an all-in-one appliance primarily. The boot process is generally expected to be run off of USB flash drives because, similar to how VMware ESXi works, is typically expected to be run on systems where installation to a local disk is not only a waste of space but potentially dangerous (mounting your USB device with write wears it out faster than if it was read-only with RAMdisks mounted). I generally build my file servers so that each disk is part of the data pool and the boot device is a USB flash drive that either shipped with the computer by the OEM (HP, Dell, Cisco, etc.) or one I imaged myself and put onto the available USB port on the motherboard (not the rear or forward ports typically in server hardware for security reasons at least).

It comes with a lot of features in the web interface that any decent FreeBSD admin could install and manage, and many out of the box settings are optimized for situations that are common for SOHO file servers. This buys a bit of time and makes it easier for others to maintain that may not be FreeBSD gurus necessarily.

There are a few tunings (sysctl stuff) and customized options specific to ZFS servers that FreeNAS offers as well. For example, most ZFS users don't have an encrypted scratch partition created on each drive in their ZFS vdevs, but FreeNAS creates them for you by default as a strong recommendation unless you explicitly turn it off with a slightly obscure setting in the web GUI.

<comment><USER32> Thank you for your comments. That helps.

I'm putting together a home NAS and am leaning toward FreeNAS. Someone else here mentioned waiting for FreeNAS 10, but it probably won't have any "gotta have it" features above what FreeNAS 9.3 already has.

The FreeNAS Mini (not mentioned in the article) seems a bit underpowered (Atom processor) but it's a turnkey solution for $1000 plus disks. I might go that way rather than trying to screw together a box by myself.

</comment></comment></comment><comment><USER34> I'd rather have a rack-mount, rather than that case. In my opinion, it would be a bit easier to replace faulty hard drives.

Otherwise, it seems quite neat!

<comment><USER35> As someone with a similar build (Freenas, 8x3tb raidz2 main array, 3tb scratch/hot spare, 2tb scratch, and 500gb ssd for jails)

I would love a rackmount for drive accessibility, but I can't justify 10x the case cost and additional engineering in making it as quiet and clean as my fractal design R4. Rackmount stuff just isn't designed to be either of those, high static pressure fans and expectation of pre-filtered air. (That said I'd totally be willing to pay ~500$ if such a case existed)

<comment><USER36> 10x the cost?

I picked up a 24 bay supermicro case on eBay for $265. This came with 24 hotswap bays and even a SAS2 expander backplane so I only have to connect 1 cable from the motherboard SAS controller to the case, and all 24 disks just work.

As far as making it quiet. Well that consisted of buying a $11 fan wall, installing 3 120mm Noctua PWM fans inside it and writing a simple script to govern the fan speeds based on the HDD temperatures to keep them in check with the minimum fan speeds necessary.

It's sitting in my bedroom next to my bed and I can hardly hear it.

I will concede the dust issue, but I have a normal air filter in my room and don't normally have dust issues with my computers. Maybe I clean them out once a year in the spring if they need it.

</comment></comment></comment><comment><USER37> This is all great info. The only thing I shudder at is that there is one huge single point of failure. I've learned one thing when building huge dumb storage devices, build two and mirror them. I've got 32TB of storage mirrored so if one hits the fan I've got an exact copy.

<comment><USER38> i would recommend you also do snapshots. mirroring will just replicate a bad fuckup.

as for OP, i share your concerns - i'm skeptical of the reliability of consumer gear in an application like this, especially in the absence of an actual backup solution (maybe he doesn't care).

he calls it a backup server, but it's actively serving files.

<comment><USER4> Yes, I agree, mirroring will help when a disk goes back, but it won't help if you accidentally delete data. This is the one that people tend to forget a lot, which is ironically the original reason for having backups.

<comment><USER39> I have two sets of drives on my home server and keep them mirrored using a nightly rsync. It's infrequent enough that I can recover from accidents.

<comment><USER40> This is why people should use ZFS (or BTRFS) - snapshots. My home server runs a minutely, hourly, daily and monthly snapshot job. Cryptolocker could have a field day and the most likely scenario is at worst I'd lose a day of data - more likely maybe 15 minutes worth.

</comment></comment></comment></comment></comment><comment><USER41> What I hate about FreeNAS is that it is not permissive of what kind of disks you put in. I bought a Drobo5N just because I was able to slap any drives I wanted, in any size or configuration and it would just work.

When FreeNAS can handle that, automatically and on the fly, I'll switch to that.

</comment><comment><USER42> interesting article. a few more points which may be of interest

\- in addition to raid it's worth having automated off-site backup. the best solution i could find is duplicity as its encrypted and supports a bunch of backends.

\- freebsd supports full disk encryption using geli. with some work its possible to make it boot (only) from a usb key, so some protection if the server is stolen. I believe newer versions of Intel Atom support hardware AES acceleration, so this isn't a large overhead.

\- if the memory requirements of ZFS are too large (which to be honest for a soho application they are!), then you can use UFS together with freebsd software raid1 (gmirror)

</comment><comment><USER43> But why?

I'll assume the media mentioned in the article that's stored is illegal. From the cost of that home server you could very likely legally watch everything and actually support financing the creation of new stuff. Even if that's not true, how many of the movies you watched do you watch more than once? And 24 TB? How do you find time to watch that much stuff?

<comment><USER44> _> you could very likely legally watch everything_

this might be true if you live in the US, but in some other countries it is still hard to actually buy movies or tv shows.

as for the legality itself: in some countries downloading media itself for personal use is not illegal.

for example in switzerland, there is a media tax/fee included in the price of every device that _potentially_ could store pirated materials. the income from this tax is then distributed to media producers and artists. in return, copying copyrighted material is tolerated for private use and consumption... this excludes redistribution and uploading.

<comment><USER43> > this might be true if you live in the US, but in some other countries it is > still hard to actually buy movies or tv shows.

I actually live in Germany, and you also can't get everything here, so this is true for me as well. Sometimes you simply have to accept that something is not available. It's not like there's not enough media out there.

> in some countries downloading media itself for personal use is not illegal.

But offering the download you use is still illegal. But that's all just semantics and doesn't matter that much. What I find more important is the moral issue.

> for example in switzerland, there is a media tax/fee included in the price > of every device that potentially could store pirated materials. the income > from this tax is then distributed to media producers and artists. in return, > copying copyrighted material is tolerated for private use and consumption...

We have a very similar fee in Germany and it's there to allow normal copying in personal use (something that would be called fair use in the US). I guess the swiss fee is there for the same reason and is not there to allow people to get the majority of their media for no additional money. The fee most likely is not enough to finance the media producers and artists. Why spend it on hardware when you can give it to the people that produce what you enjoy?

</comment></comment></comment><comment><USER45> Didn't seem to list the total price.

</comment><comment><USER46> Wow what on earth are you doing (at home) that you need that much space backed up with that level of reliability?

<comment><USER47> Having fun.

<comment><USER39> Two words: "kids" "videos".

Between me and my wife we have our phones, a SLR, and then there are other people's phones. Whenever they fill up I dump them onto my file server and delete from the phone; it's amazing how fast the terabytes get filled up. Nice problem to have I guess.

<comment><USER48> Same here and shooting picture of kids in raw format needs space :-)

</comment></comment></comment></comment><comment><USER49> The OP bought 6x6TB drives. I truly hope that they didn't configure it to be a 36TB zpool. That should be RAIDZ2 at the very least. Heck, I have 4x2TB drives and I am running RAIDZ2. a 2TB drive took 24 hours to rebuild the data on the replacement disk. I would probably be linear, so 72 hours to rebuild a 6TB drive, during which time the other drives are doing tons of reads.

<comment><USER50> The article says they're using RAIDZ2

<comment><USER49> I stand corrected; I see that now. The HN submission is in error, then.

<comment><USER36> Why is it in error? It's 6x6=36TB. Parity is still storing data. Who says the data storage total number has to be for only user data?

My ZFS pool is 12x4TB in RAIDZ2 and when I query zpool list I get: name size alloc free tank 43.5T 25.3T 18.2T

The size reported by ZFS itself is 43.5TiB which is close to the 48TB that 12x4TB is.

<comment><USER49> Eh. I suppose. When any of my friends discuss NAS size, we quote it in "usable space". So you have a 40TB usable NAS. I have a 4TB usable NAS with 4x2TB in RAIDZ2.</comment></comment></comment></comment></comment>


Study: 49% of American Adults Predicted to Be Obese by 2030 - <AUTHOR> https://www.axios.com/american-adults-obese-2030-d19cb8c8-67d9-4963-9571-78d8fbf3e8d4.html <comment><USER2> Increasing amounts of data suggest that obesity is enormously more complicated than "willpower." I feel like studies like this are a strong indicator of that: the entire generation doesn't just, you know, lose willpower overnight. Nor is it likely to be genetic; a species doesn't flip a switch like that.

But point out the amount of endocrine-disrupting chemicals we stick in our environment, the amount of processed food we use to replace real food, the way our built environment actively pushes people away from fresh produce - well, duh, but who would ever do anything about that?

I went back to school for a masters in public health at one point. The very first day of behavioral psychology our professor chose to discuss food deserts - the phenomenon in which grocery stories target high SES enclaves, leaving most lower SES folks without access to fresh groceries. The campus was situated, like most urban campuses are, in a so-so type of area. This was a major northeastern city, not some obscure nowhere.

He cut the class into quarters, gave each quarter a $15, a short shopping list (banana, lettuce, milk, chicken breast) and a cardinal direction. Go forth, my children, and return unto me within two hours.

Not a single one of us managed it. Three groups managed to find a bodega or something and came back with, say, milk and a shitty banana. One group managed to make it to a fancy market on the edge of the hood where it's beginning to gentrify - but couldn't afford the full list. (Never mind how unrealistic it is to walk almost an hour in each direction to come back with a full load of groceries.)

I actually lived near campus. I lived that experience. I had to pay a premium for peapod so that I could have, you know, fresh produce. If I'd run out of food and couldn't wait for peapod, my only reasonable choices were a bodega full of crap and a 7/11.

Meanwhile, when I was in Europe, there were tiny hole-in-the-wall shops stocked with fresh nearly-everything nearly everywhere. In London I could always swing by on the way back to my apartment without going more than five minutes out of my way to grab some fresh salad vegetables; in Madrid the same. In Athens I had to go almost _ten_ minutes out of my way.

Of /course/ we're fat, and getting fatter.

<comment><AUTHOR> Totally agree, I'm from the States but the last few years I've been living in Europe but right now I'm in LA for a few meetings and staying near the airport. It's obviously a lower income area and it's absolutely shocking in comparison to Europe - there are only gas stations and fast food restaurants and the occasional corner store. Everything is incredibly expensive except for the fast food places which aren't exactly the paragons of healthy food production. Also - no banks. I almost always use a card but I wanted some cash just in case and realized that in this area every ATM charges $5 and up as a usage fee and there's no banks. Contrast that against where I had a meeting in a posh area in Santa Monica and there are plenty of banks with free ATMs and restaurants serving healthy (although super expensive) food.

I think the US is also in a tough spot with our food regulations for quality - our frozen foods, sodas, etc. are just packed with garbage fillers and the regulators don't care to require food manufacturers to produce healthier food. Lots of things you would never think needed sugar inexplicably have sugar. Of course, you can say this is a consumer preference thing and the manufacturers are fulfilling a demand (and wouldn't be wrong - most people like sugary/flavorful stuff because we're really bad at discounting how much we value being healthy in the future vs. a tasty food right now).

</comment></comment><comment><AUTHOR> Link to the study: [https://www.nejm.org/doi/full/10.1056/NEJMsa1909301](https://www.nejm.org/doi/full/10.1056/NEJMsa1909301)</comment>


How Reporters Pulled Off the Panama Papers,Biggest Leak in Whistleblower History - <AUTHOR> http://www.wired.com/2016/04/reporters-pulled-off-panama-papers-biggest-leak-whistleblower-history/ <comment><USER2> Ah, Snowden will not be in the Guinness Book of Records because of that, won't he?

<comment><USER3> Snowden's may have been one of the most controversial ones, but certainly not the biggest at time of leak.

<comment><USER2> Do you count size by the impact on the society or by characters count?</comment></comment></comment>


What Are You Going To Stop Doing in 2014? - <AUTHOR> http://www.feld.com/wp/archives/2013/11/what-are-you-going-to-stop-doing-in-2014.html <comment><USER3> I wish people would give up New Year's resolutions... and not as a New Year's resolution. They're little more than an excuse to fail: People who are going to do something do it. People who aren't are still going to talk about it. There's a morbid example here that I don't need to explicitly state.

If you're doing something you consider bad, or aren't doing something you want to do, then start (or stop) NOW. Don't wait for 2014. January 1 is not some magic date. Ever have a friend who's going to start that diet next month? Guess what a New Year's resolution is? It's not a commitment. It's an excuse not to do something now.

I'm just as guilty as anyone of doing this, but let's not pretend "what I'm going to do in 2014" isn't utterly meaningless unless it's something you are and have been working towards that _can 't happen_ until 2014 because it's just that damn hard.

<comment><USER4> I disagree.

I quit smoking easily last year on January 1st. I decided to quit a month prior to Christmas, but I was afraid of the jolliness of the season making me slip. I assume it is the same for exercise, portion control, and alcohol consumption moderation.

Sometimes it is nice to have a clean break in a month where nobody bothers you and where you haven't had a routine for a couple of weeks.

Although I really wish the gym wouldn't pack up so much.

<comment><USER5> Care to give pointers/mindset/whatever helped, for quitting smoking?

<comment><USER6> Smoke two packs of Marlboro reds in a 1 hour timespan.

Yep that should do it.

<comment><USER6> Downvoted? Are you kidding me? Does anyone have a sense of humor anymore?

</comment></comment></comment></comment></comment><comment><USER7> I actually stopped doing it for some time already, but will continue in 2014: I stopped to train to failure. If you are into strength training I strongly suggest to give this a try in 2014, I read a few books about it but I'm not able to give you a short TLDR that is accurate, but if you wanna try:

\- Make about half the reps you could do with a given weight, but make sure you still do a great total volume.

\- Train every important exercise like bench and squat at least two times every week.

\- Form is everything. Train with great form.

If you are like me with a family, a full time job, and so forth, this may do wonders: never tired, faster improvements in strength.

<comment><USER8> I'm a body builder and competitive powerlifter. Why did you decide to stop training to failure?

Don't give us a loose tl;dr of the books you read, give us the books!

<comment><USER7> Unfortunately the main book is in italian language :-( But it is inspired to the Russian school of power lifters. That's the book btw: [http://www.accademiaitalianaforza.it/metodo-distribuito- libr...](http://www.accademiaitalianaforza.it/metodo-distribuito-libro- gruzza/)

The main idea is to observe the world top powerlifters schedule and apply it to amateurs.

</comment></comment></comment><comment><USER9> I had already recently come up with a list of things to stop doing:

\- eating meat and dairy (mostly... I just don't want to contribute to the animal cruelty/factory farming epidemic. I'll still eat fresh caught fish and free-range meat)

\- using Facebook, Google, and other stuff that contributes to the surveillance state.

\- using non-open source stuff. Starts with transitioning to Linux.

\- purchasing stuff that supports IP law or DRM.

\- using "herbal supplements" that support violent drug cartels. Still fine with anything produced by other means.

The hardest part is building a habit of not doing stuff that you've been trained to do since birth, such as changing your diet to vegetarian. Decided to use a spreadsheet to keep track. I may still forget and screw it up, but at least every day I have to remind myself whether I did it right or not, which slowly reinforces the correct habits. Has been working pretty well so far.

<comment><USER10> I stopped eating red meat for similar reasons (I live in China and free-range is quite a premium, although I may have some now and then when back in the West).

Instead of a spreadsheet I use [https://chains.cc/](https://chains.cc/) from Seinfield's "Don't break the chain".

48 weeks no red meat, 46 weeks no smoking, 3 weeks no coffee. Seems to help!

</comment></comment><comment><USER11> I'm going to stop making excuses for other people. I'm willing to give people the benefit of the doubt _myself_ , but if that's not working between two other people I'm not going to take someone else's bullet. Been there, done that, the T-shirt got ruined.

</comment><comment><USER12> I'm going to stop cutting into my sleep schedule, especially my REM sleep, for pointless matters. By increasing my sleep from 4 to 7 hours, my mood's gone up, my depression has near disappeared, my energy has risen, and my confidence is finally back to where I want it to be.

</comment><comment><USER13> I'm going to (actually already have) severely cut back on the amount of time I spend at HN, Reddit and other social sites. It's just not a productive use of my time, and life is too short to fritter away the hours doing nothing.

<comment><USER14> I've been Reddit-free for over two years. You can do it!

How? Just stop. You can't peek. You can't view it for "just a minute." You can't "just browse." The only solution is to not visit at all.

Give it a few days and it'll fall out of your daily routine altogether.

Also: edit your history to remove all reddit history so your browser navbar doesn't auto-complete when you reflexively open a new tab and start typing "re...".

<comment><USER10> I've quit eating red meat, smoking, and coffee so far this year and I think this one will be next for me and embarrassingly maybe the hardest! Thanks for the tip.

</comment></comment></comment><comment><USER15> I was going to resolve to stop procrastinating, but maybe I'll just do that in 2015.

</comment><comment><USER16> I would try to stop wasting time and be more focused on my topcoder rank!!! i want to enter the Red zone, right now i am in Green zone(i know i'll do it).

</comment><comment><USER17> As a first instance: I will stop using Adobe Photoshop, Illustrator and switch totally to Pixelmator and Sketch.

Second: relay more on data when meetings. This year I had a successful couple of meetings with destroying data so business men couldn't deny the facts and stopped the opinionated stuff. I will try to do it next year as a standard.

</comment><comment><USER18> i'd like to not get so angry so often.

</comment><comment><USER19> When my glass is full, I empty it. When it's empty, I buy an other one.

Started socializing (as in "going in bars with friends") this year, but I really dislike my behaviour. So next year, I will try to REDUCE it.

Moderation is everything.

</comment><comment><USER20> I'm happier with moderation. Perhaps I'll dance more, and drink less - <USER2> perhaps the reverse. But I'm pretty happy with my life right now; no need for any drastic changes.

</comment><comment><USER21> PHP

</comment><comment><USER22> My last day for my current consulting contract is December 31, 2013.

I'm going to be working full-time on my bootup business after that.

<comment><USER23> Sounds exciting - Good luck!

</comment></comment><comment><USER24> Working. Thanks, Bitcoin!

</comment><comment><USER25> things that don't matter. or rather, attempt to do more that do make a difference.

</comment><comment><USER26> Stop reading HN?

</comment><comment><USER27> Facebook(ing)

</comment><comment><USER28> My New Years Resolutions are always to continue to do certain things that I'm already doing. I don't resolve to stop or start something, I only resolve to continue painting, or drawing, or fiddling with electronics projects, or writing stupid game projects that won't ever see the light of day. I resolve to do this because I know that these activities shape who I am and I draw a significant amount of happiness from them.

So basically, the resolution is to not let the doldrums of life get in the way of the things I enjoy.

</comment><comment><USER29> To stop participating as a contributor to this society.

<comment><USER30> Why, if I might ask...

<comment><USER29> I live in the US of A.... look around.

#edit it's the only form of protest I can think of that might actually affect things, or at least my involvement.

<comment><USER23> > it's the only form of protest I can think of that might actually affect > things

Wait, that's apathy. Don't you think being selective about where you contribute is the right way to go? (I understand the idea of avoiding the "intelligence in the service of madness" trap but there's still a lot of good in the world.)

<comment><USER29> Yes, it would be much more comfortable to continue riding inside the machine that tramples others than to be the others. Perhaps the divide is how you see of our current global actions. Truly sinister, or just the actions of a jumbled congress/governing system.

<comment><USER21> > or just the actions of a jumbled congress/governing system.

Exactly.

<comment><USER29> Thank you for providing so much debt to the discussion.

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> I'm going to start starting

</comment><comment><USER32> I'm going to try to go the whole year without killing a single hobo.

</comment><comment><USER33> I'm going to stop making New Years resolutions

<comment><USER33> and the hobo gets a pass? c'mon</comment></comment>


Ask HN: Becoming more confident? - <AUTHOR> Hey guys & girls,
I'm a 25 years old male programmer and I want to ask you if there is someone among you who fought with shyness and win.
The reason I'm asking you this is because I'm a really shy person like a lot of programmers out there. Although I'm confident around close friends, I'm really anxious around other people.
It was never a real problem for me. I mean, every well raised kid should have an amount of shyness in him. At least this is what I thought.
But it's really pissing me off since I started working. I don't want to have a mediocre career just because I'm afraid of expressing  myself.
When interacting with my boss or other colleagues my voice is weak, I cannot look people in the eyes and even worse sometimes I fail to give proper answers just because of this anxiety.
Now I'm just having this feeling I'm living only half of my life. And I don't want to use alcohol or drugs to be more confident(even though they work sometimes).
So if someone became confident I would really appreciate to hear his/her story. Also book/posts are very welcomed.
Thank you very much.
ps. I'm sorry for my english. It's not my native language. <comment><USER2> I hope this doesn't come off as sexist or anything like that, but I've been really working on my confidence for the last year. I'm a bit of an introvert, and feel more comfortable around computers and talking through text messages than I usually did being around people. It actually made me a little bit paranoid in thinking about how others perceived me.

As a result, I began watching a bunch of "pickup artist" videos on YouTube. While I completely disagree with their goals, I admire the confidence of many of the people who do that. I think my favorite was this video on YouTube: [http://youtu.be/1mRM1VwUiYA](http://youtu.be/1mRM1VwUiYA) It got me thinking, and so I made the goal that I would get a girl's number every day for a week last March.

That week I really worked to make the goal happen. Walking around my college campus, I went out of my way to walk next to girls I thought were attractive, and sat next to them in our food court for lunch, and in the library. Originally I had thought that they would all turn me down or at least seem a bit annoyed about it, but by the end of the week one had told me she was married, one said she had a boyfriend, and none of them seemed the least bit annoyed about it.

At the end of the week, I had set up dates with seven different girls, and had 12 different phone numbers. To be honest, it was a bit overwhelming. I kept forgetting which of them said what, and confused their names and other bits of information. I asked three on second dates, two of those on a third date, and only one on another date after that. In the end, I didn't end up dating any of them, but the experience was extremely valuable.

I seriously stand up straighter than I used to now, and I'm not as afraid to talk to anyone. A friend and I looked to launch a startup that would help students on campus, so I spent a day on campus surveying random students walking around between buildings. I now average about a date a week with girls I'm actually attracted to. And I really have no problem talking to anyone.

The goal I set probably isn't right for everyone, but set a goal that is right for you. Speak to one random person a day and get their contact info. Your network would grow by thousands by the end of the year (including second- and third-degree connections).

</comment><comment><USER3> Confidence is really just the ability to be comfortable with the person you are. I would suspect this is why you are confident with your friends but not with other people. When you are with your friends, you are comfortable with what you say, how you act, what they are thinking but with other people, you are probably second guessing some aspect of your nature.

If you want to be confident with a wider group of people, you need to understand what part of you are you not comfortable showing to other people. For some people, it is physical. They do not believe they are attractive enough and so it holds them back. For some, it is intellectual, "what if I say something dumb or unimpressive". There are a myriad of possibilities and it is probably a good use of your time to understand what your issues are (and why you have those hangups).

There are a number ways to deal with your hang ups. One way that works is to apply brute force. Just act inspite of your anxiety. I suspect that a majority of people that appear really confident just take this approach. They're scared but just do it anyway.

Another approach is to try and remove the root of the fear altogether. Some people do that by actually courting failure. You think people are judging your intellect, then say the dumbest thing you can think of and see what happens. Scared people don't think you're good looking, approach people completely out of your league. The idea is to actively cause the situation you are afraid of so that you can experience it (instead of imagining it) and realize it isn't so bad.

Whichever approach you decide to take, I would suggest you ensure you do take action to deal with it. Anxiety has a way of making you feel like crap, which leads to further inaction, leading to more anxiety and then a spiral of regret and wasted time. The truth is there is not much that can happen to you that will crush you completely. Time and the love of a few heals all wounds.

Good luck!

</comment><comment><USER4> I have been shy for years, slowly getting less shy. The more confident I get, the more of what I want in life I get, and I still have a long way to go.

What I found helped is just going out there and doing those excruciatingly uncomfortable things. Asking boys/girls out, asking for a pay rise, public speaking etc.

However you WILL absolutely need some kind of moral support.

If friends and family are not helping then go find some friends that will. Get away from negativity from other people that can be holding you back. That is a massive topic in itself. Hopefully you are not dealing with that problem too.

A great positive example is Toastmasters. Participate and you will get better at public speaking. It will reduce it from a deathly experience to mild anxiety! More importantly thought the people there WILL encourage you and forgive your for forgetting your lines or being shy or whatever. Keep going and you will get more comfortable and you won't get derailed.

Getting some kind of therapist or psychologist to help you can be a good idea. Because getting over shyness is a hard knocks experience and you need this assistance. It doesn't mean you are crazy / mentally challenged etc. It means you are investing in your own personal development.

Also to reiterate the point - pick your friends wisely - try to associate with people who will encourage you be more confident. Also having some confident, easy going friends who you can emulate will help. Humans learn by imitation. Pick (or dump!) your partner wisely for the same reasons.

</comment><comment><USER5> I just read No More Mr Nice Guy[1] and recommend it. I rarely agree 100% with everything in a book, and 90% of this book was spot-on for me. I'll try to summarize _some_ of the advice from the book.

* "Nice Guys" are pushovers because they weigh every action by what would make their lives the most conflict free. Instead, do what you think is best, even if it's scary.

* "Nice Guys" seek the approval of everyone around them, especially women, for every action they take. Instead, do what you think is best, even if it's scary.

* "Nice Guys" often hide the truth (of what they think, feel or have done) in order to avoid conflict. Instead, be honest, even if it's scary.

* You, and nobody else, are responsible for meeting your needs.

* It is healthy and OK to put your own needs first.

* It is OK to ask people for help meeting your needs.

* It is OK to set firm boundaries and tell people "no", and it in fact garners respect, even if people fight it initially.

* We live in a world of abundance, and there is no need to be controlling and manipulative to try to keep what you already have.

[1]: [http://www.amazon.com/No-More-Mr-Nice-Guy- ebook/dp/B004C438C...](http://www.amazon.com/No-More-Mr-Nice-Guy- ebook/dp/B004C438CW/)

<comment><USER6> > It is OK to set firm boundaries and tell people "no", and it in fact garners > respect, even if people fight it initially.

This is the bit that's never made sense to me. It has not been my experience that I respect people who stick to their guns more than I respect those who are flexible and willing to listen - quite the opposite.

To put it differently, if someone is talking on their cell phone in the theatre and you ask them to stop, are you going to respect them more if they keep chatting through the rest of the film?

<comment><USER5> Of course not. That's not really a boundary, that's just someone being an ass. I consider a boundary to be a personal limit that is decided ahead of time, which preferably is communicated ahead of time. An example would be if we look at the above situation from the theater's perspective. Imagine there are two theaters, both of which ask patrons to not talk on their cellphones. Someone starts talking on their phone anyway. Which theater would you respect more:

One that reiterates the request until the patron finishes their conversation, but takes no action.

One that kicks a patron out for breaking the rule, with 0 warnings.

It's the second one, right? Because they enforce their boundaries. It's the same way with people... I respect people more when they say they're going to do something, and then they really do it. That's someone who is trustworthy and reliable. You may not agree with their decisions, but at least you know they have integrity. What kind of _boss_ would you prefer to have? One that will stick to their guns about what they say, or one that won't? The one that sticks to their guns can be counted on to stick up for _you_ when _their_ boss tries to pull on over on your team. What kind of person's word would you take more seriously? What kind of person's words carry more weight and importance? It's someone who is willing to stand up for themselves and tell people "no" if needed.

</comment></comment></comment><comment><USER7> My suggestion would be to think of confidence as if it were a skill and, like any skill, practice makes perfect.

The fact that you have recognized an area of your life that you want to improve and even specific situations where you know you can/want to work on it is half the battle. The other half is making a conscious effort to be more confident and less shy when these situations arise. Part of this is fake-it- til-you-make-it, and part of it is re-wiring your brain to be open, communicative and confident in these situations instead of shy and/or anxious.

As far as a book recommendation goes, I read a neuroscience book (written for the layman) that while not dealing with this topic directly, will definitely provide you the knowledge and understanding of how to improve. It's called "The Brain That Changes Itself" by Norman Doidge. It's about neuroplasticity, how it works and how you can use it to change your habits, behaviours & skills.

This has been one of the most impacting books I've read in my life. I have purchased more than 10 copies for family and friends and everyone who has read it has come away amazed and able to make almost any positive change in their life.

Cheers & good luck!

</comment><comment><USER8> Hey, confidence is a broad topic made up of a lot of skills, habits and forces. Think of it as an ecosystem of parts... To speak simply, it comes and goes. Like waves. No one is 100% confident all the time. You're 'secure' around people you hang out with because you're comfortable around them the same with the area you focus on. That's not confidence. Confidence is elusive and reacts well with the unknown. You cannot play safe with confidence. You have to go outside the barriers and push limits further than you can imagine. No one can guarantee confidence, but you, its a road of bumps and bruises. Hit the gym, work on your appearance, take daily risks and expand your knowledge, you'll feel better about yourself to harness the power and responsibility that comes with confidence. Which most don't. Most people fake it to make it. This doesn't work. It's like building a robust program. Strong code, strong functionality, Great User Interface. You got a hit. Fight for something in your life. That's a huge one, that's where passion lives. Check out a book called Think and Grow Rich by Napoleon Those are the 13 skills to master to become confident. Real World Experience that you can use immediately. Books on Leadership is another great resource.

<comment><USER7> Think and Grow Rich is a classic and I'd also recommend reading it. But it's less about Confidence and more centrally about Drive. What makes this a good recommendation though is that Drive, in my experience, renders Confidence essentially moot. If you're sufficiently driven, you won't let low confidence or low self-esteem get in the way of getting what you want/winning. But that said, Drive doesn't help you be more successful/participatory in a team meeting.

<comment><USER8> I think Drive and Confidence are mutually exclusive. Being confident without drive is being smug and complacent. Being driven without confidence teeders on the line of reckless arrogance Think and Grow Rich is for people who have lost all hope. It was written in the Depression era. The secret ingredient, that he doesn't refer to that all the 13 principles add up to, in my opinion, is Confidence. Confidence to save money, Confidence in creating desire in yourself. Even people who have lost their limbs and continue to be self- sufficient, it's confidence. Check out a book called StartUp Leadership by Derek Lidow, Drive doesn't always have to be Forward and Determined.. It's more of Letting your actions of taking a project or helping a project being the best it can be. Team Drive is extremely powerful. Hence importance of Culture in organizations... Where in Canada are you from? I'm From Calgary,AB

<comment><USER7> Interesting perspective. It would be interesting to try to understand which of our biases led us both to each of our conclusions. I really felt/feel strongly that the book was about Drive.. but anyway, that's not exactly a discussion to have on HN haha.

To answer your question, I'm originally from Toronto but living in Montreal now. You should consider moving out here :) (I would say that to anyone from Calgary haha)

</comment></comment></comment></comment><comment><USER9> Well there is good confidence and bad confidence. :-)

If you are like me you are rational and skeptical, willing to be proven wrong, but stubborn in holding opinions you believe in. If you are slow to form opinions, you may not seem very confident, at least until you are sure about something. And even then sometimes you may be confident about an opinion but you're uncertain what will happen if you express it, so you keep quiet.

If you're like this, then I think a lot of the advice in this thread is good. Your confidence will improve with practice and familiarity. Try politely disagreeing with your boss. Try inviting some women for coffee. Choose low- risk circumstances until you get used to it and prove that nothing terrible will happen and you'll survive. The good news is that as you get older it gets easier, sort of automatically. I'm 37 and there is a lot more I'm confident doing now than when I was 25.

I _still_ have a hard time looking people in the eyes. Maybe it's confidence, but mostly I think it's just too hard to think about doing that and think about what I'm saying at the same time. I don't know how others do it! I look at people while they're talking, but as soon as it's my turn I forget.

What I'm trying to say is that most likely there is nothing wrong with you. Probably you are just fine as you are. Thank goodness for self-doubting, open- minded, thoughtful people! So instead of trying to change your personality, try changing your basis for being confident or not. Be patient and don't feel bad at it. It gets easier.

</comment><comment><USER10> I'm over 40, but was once like you. I am also lazy, so I'll be brief:

* Do things, gain experiences. Build robots, take a rock climbing class, go on random hikes, take a dancing class and own your lack of dancing skills. Experiences build a more interesting you, which in turn provides for more interesting things to talk about.

* Read more books on a diverse set of topics that interest you. Watch much less TV (some TV is important from a conversational stance), play far less video games.

* Talk to random people regularly. People next to you in line, the homeless guy that asks you for spare change, maybe even a woman that you do or don't find attractive (this was an excellent crutch in my youth for gaining confidence and it made me realize how deep women were).

* Fake it til you make it.

* Study Buddhism. Learn how materialism and attachment affect you and work to fix it. When you do, external variables will have less of a power to drag you down should something go wrong.

* Realize that everyone else has their own inadequacies and issues behind the facade they present, even people like Obama. And that's OK, it's what makes humans beautiful and interesting.

</comment><comment><USER11> Hey, I know how it feels. I'm generally much more confident that I used to be, but I definitely have gone through stages of shyness that have lasted for a while. Im a 27 yr olds designer/ developer/massive code geek.

For me, what really really helped and now I can't get past 2 or 3 days without doing it is exercise..

I'm not sure if you include exercise in your weekly routine but seriously man.. it saved me. I started with cardio circuits purely for a mental boost, and energy spark and it sorted me right out. After a while I became more confident in myself and then moved on to weights an it really helps!!

Good luck.

</comment><comment><USER12> Try reading these articles, or articles by Dave Tate.

[http://www.t-nation.com/powerful-words/confidence- switch](http://www.t-nation.com/powerful-words/confidence-switch) [http://www.t-nation.com/training/five-tools-of-mental- streng...](http://www.t-nation.com/training/five-tools-of-mental-strength-aka- balls)

Maybe working out and getting physically strong would help you as it helped these guys?

</comment><comment><USER13> Something that hasn't been mentioned: Meditate! It can help understand yourself better and become more peaceful. It's not nonsense!

</comment><comment><USER14> I've always hated talking to my bosses. It was until I left my current job, then came back did I feel confident talking to a boss. I think the familiarity helped a lot with that. Also it helps that his personality is very similar to mine so its more so I'm talking to a friend, whom I have to report to.

</comment><comment><USER15> I don't know how helpful it may be for you, but getting involved in acting, theater, and live action roleplaying really helped bolster my social confidence.

</comment><comment><USER16> Go out every day. And speak to one random person. Every day. Do that for a few weeks and you'll slowly build more confidenece

<comment><USER7> This is great advice that helps/improves all kinds of things: fear of rejection, meeting new people/forming new relationships, dating, gaining perspective, learning languages, etc.

It's simple and more people than you'd think will engage with you.

</comment></comment><comment><USER17> MY advice will be to be arrogant try to be arrogant and see all people below you even if deep in you , you know it's not true , but just fake it so you can gain more confidence .</comment>


Popular Science: Every issue from May 1872 to March 2009 online - <AUTHOR> http://books.google.com/books?id=MC0DAAAAMBAJ

<comment><USER2> Wooo. Popular Science is all I had to read when I was a kid. It's precisely the reason I got into science and engineering.

Now I have something to read for the next year :)

</comment><comment><USER3> May 1920, p. 27: "Dare We Use This Power? Sir Oliver Lodge says atomic energy will supplant coal"

..."I hope that the human race will not discover how to use this energy," he says, "until it has brains and morality enough to use it properly, because if the discovery is made by the wrong people this planet would be unsafe."

</comment><comment><USER4> I think I still own the paper copy of this one:

[http://books.google.com/books?id=rAAAAAAAMBAJ&lpg=PP1...](http://books.google.com/books?id=rAAAAAAAMBAJ&lpg=PP1&pg=PP1#v=onepage&q&f=false)

Perhaps now I'll finally be able to bring myself to throw it out.

</comment><comment><USER5> This just makes me sad that as a kid I never tried to order the parts for my very own jet powered helicopter.

</comment><comment><USER6> I'm a color junkie so I started poking around in the 1920s and it's really cool to see there have always been ads to become this or do that to make more money.

Rollerblades are in this issue too.

</comment><comment><USER7> Who else immediately looked up their birth-month issue?

<comment><USER8> I immediately went for the personal computer articles. October 1977 "New home computers can change you lifestyle."

May 1977 has an article on assembling you own computer (IMSAI)

</comment></comment><comment><USER9> How long does copyright apply on magazines ? If the magazines are older than xx amount of years they are in the public domain, right ?

</comment><comment><USER10> Oh great. Hundreds of issues touting airships as the Next Big Thing.

</comment><comment><USER11> Apparently it actually goes to mid-2009.

<comment><AUTHOR> Thanks, I edited the title to reflect that.</comment></comment>


Europe's surprising knife capital - <AUTHOR> http://www.bbc.com/travel/story/20170425-europes-surprising-knife-capital <comment><USER2> Surprised that the article is not accessible from UK:

We're sorry but this site is not accessible from the UK as it is part of our international service and is not funded by the licence fee</comment>


Entity–component–system (ECS) back and forth - <AUTHOR> https://skypjack.github.io/ecs-baf-part-1/ <comment><USER2> Catherine West's RustConf keynote provides a good discussion about why you might want to organise "a program where objects interact" using an ECS system. She discusses the "how you might write it with standard-OOP", some drawbacks to this, and iterates this towards using an ECS system. [https://kyren.github.io/2018/09/14/rustconf- talk.html](https://kyren.github.io/2018/09/14/rustconf-talk.html)

I like that both this and TFA mention a focus on the data, and "row"/"column" roughly compares to (say) an SQL table. - It's an interesting way of thinking about objects/entities.

<comment><AUTHOR> Thanks for the link. I haven't read it before. It looks really interesting indeed.

<comment><USER3> And the response by Jonathan blow [https://youtu.be/4t1K66dMhWk](https://youtu.be/4t1K66dMhWk)

One of his points is that you still have to solve synchronization for allocations and deletions from the arrays.

</comment></comment></comment><comment><USER4> I feel like blogs about ECS are needlessly verbose when the idea is really simple.

Problem: Most games are built in with a game loop ticking frames through many gameobjects/actors. Many actors share some functionality like physics collision, but there is also a lot of unique functionality on the same objects.

Naive solution: Use inheritance to build out your core functionality and override functionality as needed.

-This leads to a mess of interacting parts a massive type tree with many permutations of functionality.

-The deep type hierarchies blow out cache locality as the natural way is to tick through all functionality for a single object as you loop through all objects

ECS: Break functionality apart into discrete systems. Use composition to build the permutations of functionality.

-Its easier to to manage what you intended and also easier to experiment with functionality through composition than inheritance.

-The natural way to loop through functionality is one system at a time. You loop over your entities many times but because you can run the same system code in a tight loop its really speeds things up.

-Systems provide singleton like functionality to store global state in a private way. In a heavy actor model we have to rely on static fields, which can be ok, but now you have a large cumbersome hierarchy of functionality with global access to state.

tl;dr

-Composition over inheritance is good in all walks of coding.

-Many discrete tight loops of systems is usually better than one loop of complex logic.

<comment><AUTHOR> I don't think the idea is difficult actually. What I've found difficult when I decided to implement my own tool ([https://github.com/skypjack/entt](https://github.com/skypjack/entt)) was that technical details on how to design something that was both easy to use and with good performance were scattered all around the web. I'm just trying to summarize what I've discovered so far for the "future me". :-)

<comment> ah- Sadly the article doesn't mention how ECS typically solve the "holes" problem, where your arrays might be quite sparse which leads to inefficiency.

Do you happen to know how that's usually done?

<comment><AUTHOR> Yeah, I'm the author of EnTT C++ ECS ([https://github.com/skypjack/entt](https://github.com/skypjack/entt)) and I can guarantee you there are no holes there. :-) The next post (part 2 of the series) will be more or less all about this point. I hope to publish it as soon as possible. The idea is exactly to guide the reader through different models, from the easiest to implement to the ones that are probably hardest to develop but have no holes, perfect matches, higher performance and so on. Stay tuned.

</comment></comment></comment></comment><comment><USER5> ECS is one of those things you "get religion" about, especially as a game developer. Like, "Oh, I've been fighting the class hierarchy and overcomplicating my code for so long... it doesn't have to be this way!" I've written about this as well, whilst developing my own game: [https://nullawesome.tumblr.com/post/146127692039/entities- an...](https://nullawesome.tumblr.com/post/146127692039/entities-and- components-in-nullawesome)

<comment><USER6> I went through a very similar thing writing my own toy/hobby game-project. It started out as a classical straightforward OOP design, but once I started adding extra stuff to it like animation, a scripting engine, etc. I really started to feel a lot of inertia from the design and the awkward forced hierarchies I had built. Over time I've been incrementally flattening the design to end up with the kind of hybrid/half-way design mentioned in the article, which borrows some things from ECS, but still has distinct game objects implemented as classes.

I'm not fully on-board with the (between-the-lines) assessment in the article that this is somehow inferior to, or should just be a stepping stone towards a full-blown ECS though. At least not for a simple game where performance is not really a concern. My view is that a hybrid approach can actually be _better_ than a 'real' ECS for those kinds of cases, taking the best of both worlds. In my case I don't use any inheritance, only composition, I don't have to fight OOP, but I can still write very clear and concise code to access and manipulate properties of my game objects. It may not be cache-efficient and whatnot, but that really is no concern for my simple game at all, having at most 20 to 40 lightweight entities active at the same time. Physics updates (which could drag down performance if too inefficient) _are_ treated like in a traditional ECS, simply advancing the full physics sim for all entities completely separate from the game objects.

Looking forward to the next article!

<comment><AUTHOR> Good point. I put it in wrong wording probably. I didn't want to say that it's a shitty thing, just let the reader know that it's not a great improvement in terms of performance. However, I point out also how the halfway approach already is worth it and brings in some benefits, the same you nicely described in your comments. ;-)

</comment></comment></comment><comment><USER7> I've been wondering for a long time about how ECS can be cache friendly.

If you look at Overwatch's ECS ( [https://youtu.be/W3aieHjyNvw?t=326](https://youtu.be/W3aieHjyNvw?t=326) ), there are many systems that can read from 10+ different components. For every entity in this system, at least 10 reads with no locality whatsoever are done. That seems crazy slow to me.

<comment><USER8> The point of data oriented patterns is to structure data how it is used. So if these lookups were bottlenecks you'd collapse components together if they were always used together.

The other idea is that where there is one access pattern there will be more of the same. So by updating by System you keep as much as possible hot in cache by doing all the similar lookups together. So whilst the first lookup might have ten complete misses the next one probably won't.

At a gameplay level there's a lot of chaos going on and entities are not generally doing things that are easy to organize in a way that avoids cache misses anyway. On top of which you are juggling ease of change with optimization. At which point you just need to be fast enough. I'd also bet most bottlenecks for Overwatch were not in gameplay code.

Mostly though people should be thinking in a data oriented way rather than grabbing an ECS framework and expecting that to magically make things cache efficient.

</comment></comment><comment><USER9> Here is a talk by Blizzard about Overwatch which uses ECS: [https://youtu.be/W3aieHjyNvw](https://youtu.be/W3aieHjyNvw)

</comment><comment><USER10> One day I'll write a blog post myself writing about how I went from ECS to OOP.

The short version is that ECS works against creativity. I want my entities to be unique: they move differently, they react to damage differently, they die differently, etc... In a ECS world, this means having at least 5 different components and 5 different systems per... type of entities. With just 10 entities you already have 100 different classes... that are never going to be reused. Also, because I reimplemented my game to OOP I was also able to compare the performance and noticed that the ECS performed worse (although maybe my implementation was not good?).

<comment><USER11> > In a ECS world, this means having at least 5 different components and 5 > different systems per... type of entities.

Shouldn't it be more data data-driven than that? That is, instead of 5 components and 5 systems, you have one or two components and one or two systems and the components declarative describe the differing behaviours in a data-driven manner.

In my personal experience, if you have objects or inheritance to define every possible behaviour, the codebase becomes a huge tangle and performance will suck and actually creating the content becomes a pain. I'd personally much rather have components that define the general flavour of the behaviour and then use data to fine-tune it.

And for the edgy edge cases.. have a script component that runs Lua or whatever.

Of course, you can do that with OOP too and you can certainly write high performance OOP, I just personally find it much harder due to how it encourages distributing state across the codebase, _especially_ when you want to do it in a multithreaded environment. But if you've had better experiences with OOP, then more power to you, use what works for you. I would, however, not write my own ECS, but use a well designed and well tuned existing one, like the article authors EnTT.

</comment></comment><comment><USER12> This is interesting. The vertical slicing the author talks about sounds a lot like the conventional way to structure a functional component based UI. Components + state tree + selectors + reducers in a typical react app fit together in this way and it makes it very difficult to apply traditional OOP design patterns. This is a huge source of contention on my team between the front end and the back end developers who are all c# dotnet guys. If anyone has any suggestions on where to find more information about functional, flow- based application architecture I would really like to learn more.

<comment><USER13> I's suggest reading a bit on the Elm Architecture. You don't have to use Elm to appreciate or use the architecture.

</comment></comment><comment><USER14> I really like the following article on ECS, as it shows the complete setup in a very compact way, making it not only easy to understand, but actually quick to implement yourself: [https://blog.therocode.net/2018/08/simplest-entity- component...](https://blog.therocode.net/2018/08/simplest-entity-component- system)

</comment><comment><USER15> I'd be interested to read a follow-up on how to incorporate other data structures such as quad trees, spatial hashes or scene graphs into an ECS.

<comment><USER8> I look at it as EC and S. It's a datastore keyed by Entity handles that lets look up Components. Data transformation is then driven by Systems. The behavior of a game is then driven by the tick order of the Systems.

From this view of the world it's fairly obvious that other structures need to reference entities through their handle. Or in the case of middleware with its own view of the world a translation layer keeps things synchronized.

</comment></comment><comment><USER16> is this right ?:

'entities' ~= object references (ids of objects)

'components' ~= properties (instance/member variables) of objects (maps of entity ids to components)

'systems' ~= algorithms that operate on lists of components

</comment><comment><USER17> A definition of "ECS" would have been nice.

<comment><USER18> Here's my simple explanation. Making a game with object hierarchies, you might do the equivalent of this:

        monster = {}              // create an entity
        monster.hp = 10           // give it properties
        monster.pos = [0,0,0]

Using ECS, you instead do the equivalent of this:

        currID = 1                // ECS init
        hpData = {}
        posData = {}

        id = currID++             // create an entity
        hpData[id] = 10           // give it properties
        posData[id] = [0,0,0]

Obviously neither version is really implemented that way, but hopefully it shows the key insight - instead of storing properties on the object they describe, you store them in tables full of like data, _keyed by the ID of_ the object they describe.

<comment><USER19> Showing the how without showing the why is probably not helpful IMO. Why is important here.

Using ECS is somewhat like treating your game state like a normalized database. It lets you perform operations on all the items of a certain type at once.

Say in my game I need to recenter my origin on a regular basis. In an open world game, you want to make sure that players don't start to see errors caused by floating point arithmetic, and the further away their position gets from 0, the worse this gets. To fix it, one option is to transform all positions by the same amount to keep the player's absolute position near (0, 0, 0).

To do this in the hierarchy style, the code might look like this: (Using JS because I was writing it today so that's where my brain is)

        var gameObjects = world.getAllGameObjects();
        var offset = [-1000, 0, 500]; // Pretend it's a real vector

        // Iterate through every single object in the game
        // (Not using foreach or filtering in either example, sue me)
        for(var gameObject in gameObjects) {

            // Branch on every game object just to see if it's positioned in the world
            if(gameObject.position !== null) {
                // Do what I really wanted to do
                gameObject.position.add(offset);
            }
        }

Meanwhile, the ECS version would look more like this:

        // This can vary greatly based on implementation
        // I'm going to go with an option that reads easily
        // This should just give back the list of components, which we'll say is an array.
        // Lookup time in this fictional system is the cost of a dictionary lookup.
        var positions = world.getComponents('position');
        var offset = [-1000, 0, 500]; // Pretend it's a real vector

        // Iterate through only the things we care about
        // Not using map here, sue me
        for(var position in positions) {
            // Do what I really wanted to do
            position.add(offset);
        }

Not only is the second example shorter, but it's also doing a _lot_ less work. We're adding a vector to an array of vectors. No branching, no touching objects we don't care about, nothing extra.

Many ECS systems will allow you to filter down to the set of entities that have two or more components at the same time. Obviously more expensive, but still not as wasteful as checking every object or adding an update function to run every tick on every relevant entity.

The above code was written just before bedtime and not against a real ECS library or OO hierarchy, so please forgive any obvious errors.

<comment><USER20> > like treating your game state like a normalized database

This makes me curious, how bad would it be to _actually store_ game state in say, an in-memory sqlite database? I feel like this could get you some nice things, like auto-destroying all components of an entity via foreign key deletion, being able to merge/join entities with the intersection of multiple components etc. Assuming the clunkiness of interacting with sqlite is abstracted away, I wonder what the real performance differences would be.

<comment><USER21> Compared to iterating over an array of structs (or a struct of arrays if you want to be fancy) it's probably multiple orders of magnitude slower.

And lets be honest, half of my performance problems in webapps are caused by the overhead of sending a query, the database is rarely bottlenecked by inserting or updating the data on the physical storage device if I do not use bulk insert or bulk update methods.

<comment><USER22> I assume you mean sending a query over the network, as most webapps do; sending it to a local sqlite file should be far less impactful.

<comment><USER19> But still not free.

Please try it out though, I would love to see a proof of concept that took the ECS-as-database approach. Like I said earlier in the thread I expect it would not do well, but I'd be interested to see the results either way.</comment></comment></comment></comment></comment></comment></comment>


Show HN: TF-IDF search engine in 30 lines of Scala - <AUTHOR> https://github.com/felipehummel/TinySearchEngine

<comment><USER2> You can do the same in Python (in about the same amount of lines I suspect). The below is the core of the linked implementation (Vector Space) in 15 lines of Python. All you need is something to build a clean concordance on the search terms/documents, then just compare the terms against the documents and sort based on the return value of relation.

Actually the below implementation is usually the first non trivial thing I try to implement in any language I am learning.

      import math

      class VectorCompare:
        def magnitude(self,concordance):
          total = 0
          for word,count in concordance.iteritems():
            total += count ** 2
          return math.sqrt(total)

        def relation(self,concordance1, concordance2):
          relevance = 0
          topvalue = 0
          for word, count in concordance1.iteritems():
            if concordance2.has_key(word):
              topvalue += count * concordance2[word]
          return topvalue / (self.magnitude(concordance1) * self.magnitude(concordance2))

EDIT - Was going to fork this on GitHub and make a quick Python port but corporate firewall got in the way.

<comment><USER2> Cannot edit anymore, but here is an example I had written some time ago in Python. [http://www.wausita.com/2010/08/build-vector-space-search- eng...](http://www.wausita.com/2010/08/build-vector-space-search-engine- python/)

</comment></comment><comment><USER3> A bit opaque, but cute. I've got a Redis + Python version (keeps the index in Redis) that I talked about last year: [http://dr- josiah.blogspot.com/2010/07/building-search-engine...](http://dr- josiah.blogspot.com/2010/07/building-search-engine-using-redis-and.html)

</comment><comment><USER4> As someone who works on search and is a scala fan, I'm super impressed. Next obvious question: how many lines would it take to add some sort of stemming?

<comment><AUTHOR> Maybe in a couple of lines we could do a very naive plural removal. I've seen code for stemming, they have tons of different conditions and possibillities, I guess it would be difficult to condense that into few lines.

</comment></comment><comment><USER5> i don't think tf-idf relevant for tiny in-memory index >__>

<comment><AUTHOR> The index does not have to be tiny, the source code is. I tested with a 500k documents dataset.

<comment><USER2> Out of curiosity how long did that take to index?</comment></comment></comment>


Would You Want Your Memories Uploaded to a Computer After You Die? - <AUTHOR> http://theinstitute.ieee.org/ieee-roundup/blogs/blog/would-you-want-your-memories-uploaded-to-a-computer-after-you-die <comment><USER2> 1\. It must be decentralized and no single entity should have control.

2\. I should be able to work after I die, and earn an income, paying for my hosting.

3\. If one can make a digital copy of a biological brain, they can make multiple copies. To prevent that, ICANN-like organization should issue unique addresses. If I authorize a clone, the clone must be identified what he is.

4\. I should know that I died, and I am now operating in a digital environment.

5\. I should be able to communicate with both biological and digital humans.

6\. I should be able to operate a surrogate mechanical body.

7\. I should be able to have multiple surrogate bodies standby, but only one must be operating at a given time.

8\. There should be a Matrix-like virtual reality for digital humans to hangout, when we are not interacting with the physical world.

9\. I should be backed up every second, to prevent data lose due to technical issues. Rebooting after a backup-restore should be like waking up from a sleep, rather than resetting it to a past time like a game, because other (biological and digital) humans would have progressed through time, when I was offline.

10\. Jurisdictions should make necessary amendments to grant digital humans necessary rights, if not all, including representation. Our income can be taxed. I won't say no to some extra taxes to keep the Digital Consciousness Network operating.

11\. People should not be able to sign in to the DCN prematurely (Read: Before legal death.). Suiciding should revoke the right to enter DCN, otherwise people may end biological lives just to enter the digital one. We may need biological humans around to make sure robots in charge of keeping the system running are operating optimally.

</comment><comment><USER3> It depends.

* First I would like to read the EULA very carefully.

* I would like to know what happens to my memories after company holding them goes bankrupt.

* How the memories are kept secret from unauthorized use.

* What about things like changes in laws or political situations. Even if you are considered individual with full rights inside computer, if physical people decide they don't recognize your rights, you are screwed royally.

</comment><comment><USER4> Yes.

With the current limited technology? No. No more that I would want to be mummified in ancient egypt, even if it was the top-of-the-line technology back then.</comment>


Ask HN: How can I leverage my Open-Source contributions to further my career? - <AUTHOR> <comment><USER2> Here are a few suggestions.

* List open source on your resume.

* During interviews talk about your open source accomplishments. Use open source as a way to show you have experience in software development. This is especially helpful with team based open source projects.

* If you are contributing to an open source project with a community be vocal in that space. Answer stack overflow questions, write blog posts, tweet, and get involved in other online areas where discussion takes place.

* Build a website for your open source project. HTML content is easier for most people to consume compared to a github repo with README.md.

* Speak at a conference or meetup. A great way to get started with this is to give a 5 minute lighting talk demo for the project at your local language meetup.

Doing these things will help you market yourself and your open source work. This usually opens the door to networking with people that have similar interests, which is a great way to further your career.

</comment><comment><USER3> The simplest way is to put your contributions on your resume, and many (good) companies will actually ask you to explain what your contributions were. Many companies see active OS contributions to be a big plus.

So, you don't have actively leverage it, the companies that value your OS contributions will see it as a big plus point in your resume.

However, what you can do is leverage the power of the OS community to get jobs. This can be very useful when first starting out.

<comment><AUTHOR> That makes sense. So far, most of the recent interviews I've had have asked me about my work experience, and none of my open-source work, even though that work is on my CV.

<comment><USER3> Are your open source contributions small or are they large, like contributions to a well known database or a well known web framework?

<comment><AUTHOR> They're for a (somewhat) niche iOS project, so not terribly well-known.

<comment><USER3> Then therein lies the problem. If you want large returns, you need to make good contributions to large or well known projects.

Otherwise, your work really has no context in which it can be judged favorably.

<comment><USER4> No, that is absolutely not a problem. If an interviewer is interested in your OSS contributions, hes's not going to be any less impressed because it's a project he's never heard of.

The simple fact that you have OSS on your resume makes you stand out. Period. I have seen exactly _one_ resume with OSS on it in all the years I conducted interviews.

One.

<comment><AUTHOR> That's actually quite encouraging, so thank you. I've been trying to find a balance between working on OSS contributions + getting better at "CS fundamentals" (I'm a self-taught programmer, so a bit lacking on the algs/data structures side of things). Which is definitely a disadvantage during an interview, and part of the reason I'm hoping to emphasize my OSS contributions more.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> How do you list your open source contributions on your resume? Unless you are applying to SV based, startup, technology company, just listing open source contribution under "Open Source Contribution" title is not going to have much impact.

You have to customize the information depending on the company and how likely the group you are applying to cares about open source contribution or connects the dots.

Considering you are contributing to _iOS_ open source project and assuming you are applying to iOS/mobile related opportunities, I will suggest listing your contributions under "Professional Activities" or "Personal iOS/Mobile Activities/Projects'.

In iOS area, you might be better off creating your own side app and listing that on resume than open source contributions.

</comment><comment><USER6> Look for company's which are using the OpenSource projects you are contributing to .

<comment><AUTHOR> Unfortunately (as of right now), there are no large companies that are using the projects I contribute to (there are some great indie devs who are though!)</comment></comment>


Aaron Swartz's Partner Accuses DOJ Of Lying - <AUTHOR> http://www.techdirt.com/articles/20130308/01330322250/aaron-swartzs-partner-accuses-doj-lying-seizing-evidence-without-warrant-withholding-exculpatory-evidence.shtml

<comment><USER2> I found the comments supporting the prosecution, implying Aaron expected to walk because he was rich and white, rather shocking. He expected to walk because he did nothing wrong (according to both MIT and JSTOR)

<comment><USER3> MIT settled the civil charges out of court. That's not the same as saying he did nothing wrong. Then, once the federal prosecutors got involved, MIT wouldn't accept a plea bargain that didn't include jail time.

<comment><USER2> You are right.

That doesn't make the comments less shocking.</comment></comment></comment>


Show HN: Help DREAMers find jobs and new countries - <AUTHOR> https://dreamon.io/ <comment><AUTHOR> Since the announcement that the DACA was going to be repealed I was feeling quite depressed about the way our country was treating so many people. I'm incredibly hopeful that the courts will protect the DREAMers, but leaving the fates of so many people who really are a part of the fabric of America is too reckless for me.

To Dreamers, I hope I and the community can help, and I'm really sorry.

To other hiring managers, companies, and recruiters outside the USA, and especially to other American expats like me looking in, please take just a moment to consider these people even if you wouldn't normally make an offer for relocation.

To other HN folks, please let people in your life who might need this know, and I'd appreciate any comments or improvements you could suggest. The source code is here [https://github.com/estsauver/Dreamon](https://github.com/estsauver/Dreamon) and I'll be attaching an open source license shortly.</comment>