My NixOS Desktop Flow - <AUTHOR> https://christine.website/blog/nixos-desktop-flow-2020-04-25 <comment><USER3> >> Nix and NixOS ruined me. It's hard to go back.

I don't know. Not much about all this setup feels appealing. The apparent learning curve for nix looks...steep. I've been using linux for a pretty long time (I think kernel 2.1 was fresh when I started). I've done the slackwares and debians and redhats and arches and gentoos etc. And I have zero desire to put such effort into having a working system.

I realize the post is prefaced with a warning that it's over-engineered. I guess my question is- can I use nix without going so hard down the rabbit hole? I don't think I have the time to invest like my gentoo (read: teenage) years.

I'm pretty satisfied with doing a minimal install of fedora, setting up i3 and firefox and calling it a day. Maybe I'm just older and more crotchety than I thought.

<comment><USER4> So with NixOS your process would look like this. Open up your editor on one of your devices thats already running. Write up a nix config that sets up i3 and firefox, could be just a couple of lines. Save it on a usb drive along with nix itself. Boot your new pc off the USB drive and your set.

And thats just the first time you use nix. Next time you just reuse that thumbdrive, or redownload it, and get your config from a git repo you are tracking your config in.

I have a git repo that has configuration for three types of devices I run in my personal setup (desktop, nas, webserver). They all inherit from my base configuration which has stuff like the user configuration and maybe my vim how I like it. The server adds docker and runs the docker containers that it should. The nas mounts the raid array etc.

If I want to know how I configured my nas three years ago, all I have to do is read the nix file I checked onto github. Thats powerful.

<comment><USER5> Why would you want to know how you configured your NAS three years ago?

<comment><USER4> Ran out of disk space, want to run another service, want to check if there's any software updates.. I don't know, in my case I had it in a moving box for 1.5 years and I was pleasantly surprised it even booted and immediately started serving up stuff to my TV.

</comment></comment></comment></comment><comment><USER6> I think Nix/NixOS is a great idea.

But unfortunately *nix programs are not written to support this, so you see lots of hacks in Nix to get things to work.

Since GCC isn't really meant to work with headers spread across a varying set of directories, you end up with this wrapper for every GCC invocation: [https://github.com/NixOS/nixpkgs/blob/master/pkgs/build- supp...](https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/cc- wrapper/cc-wrapper.sh)

And this just doesn't sit well with me: [https://github.com/NixOS/nixpkgs/blob/master/pkgs/top- level/...](https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/all- packages.nix)

<comment><USER7> I agree there's a lot of hacks and maybe the current model of Nix as it is today won't survive.

However, I think several aspects of the Nix concept are highly novel and worth pursuing, and there's no way to get there without large intermediary steps.

NixOS and GuixSD represent, to me, some of the most exciting OS research not aimed squarely at security. It's difficult to fully appreciate until you've really exploited it well.

The hacks that are needed today, indeed, are a bit of a turn off, but I do still find a remarkable amount of stuff ends up working well in the model. As a personal example, NixOS not managing dotfiles feels like it would be a huge deal, but actually it isn't as big of a deal because you can just manage system level configs; for example, my SwayWM config is stored at /etc/sway/config and so forth, and I can neatly provide Nix store paths in my config files through substitution, allowing me to keep my global namespace cleaner. (Various approaches for per user config can then be applied as needed, such as referencing global configs from dotfiles, or wrapper scripts that have logic.)

My opinion is that it's unlikely NixOS or Nix are the stable, hermetic utopia we're looking for, but they or a successor may very well become it, and the exploration done today is an important part of the necessary research. I'm already excited by things you can do today that are not well documented, like cross compiling to other platforms almost seamlessly (for example, MinGW has worked quite well in my experience.)

<comment><USER8> There also is a NixOS derivative OS project "aimed squarely at security" [https://spectrum-os.org/](https://spectrum-os.org/)

</comment></comment></comment><comment><USER9> I gave NixOS a try recently, and generally liked it. I could get over the arcane packaging language and hit-or-miss documentation. The red flag for me was the inattention to software freedom. Most other distros like Debian or Fedora have source packages or SRPMs that include everything needed to rebuild a package from scratch. Nix pushes binary packages, and even stores them in S3, but with no matching source packages that I could find. They tout reproducible builds, but really haven't considered to how to deal with the "disapearing sources" problem, including vanishing git repositories. I grabbed some URLs that pointed to sources in the old Nix Tarball Cache and they all returned 404. Nix has no longer term plan to preserve package sources.

<comment><USER10> I've noticed this seems to be a problem with F-Droid as well. Seemingly half the packages are marked "the source is no longer available", which renders them non-free in practical terms. It's great that they tell you, but why is it a problem at all?

<comment><USER11> F-Droid packager here (gotten inactive though so maybe my knowledge is outdated, beware). F-Droid actually does store source code of the package. A tarball for each published version. Not like what debian's git mirrors have, but already some progress. "The source is no longer available" means that the upstream sources have vanished and no updates can be obtained. The tarballs are still available.

The build that F-Droid executes comes in two phases: one to obtain source code, which then gets packaged, the second phase to execute the build. Note however that the build execution phase does have network access and many builds actually do use the network to download dependencies, so its certainly not as advanced as Debian. I'd put what F-Droid is doing to somewhere between Nix OS (which doesn't have source packages at all) and Debian (whose source packages are complete so that no internet is needed).

For F-Droid, one could maybe think about running build twice: first with internet enabled but a recording proxy in between, and second with internet disabled but that proxy replaying the recorded file. That file is then published with the sources. There are formats for this, e.g. warc. It would be a partial improvement although it might still download binaries etc instead of source code and patching the source code would be also hard (tools would have to be developed to do this), hurting the FLOSS spirit.

<comment><USER10> Thank you for the detailed explanation of the F-Droid build process. You say it's possible for an application's build scripts to download binaries that don't correspond to any published source for the app, and patch them in - <USER2> seems very non-free and indeed dangerous. Is there a way of finding out if an app does this?

I also think that believing you have the source code to an app but being unable to build it because of missing, possibly proprietary dependencies is far more damaging to the FLOSS spirit than any amount of format difficulty.

<comment><USER11> The way you can tell is to run the build and inspect the build log. Usually it prints out if it downloads something.

I think it's pretty common that stuff is being downloaded during the build phase, mostly from java package hosts like mvn, jitpack, etc. There are checks in f-droid to ensure those hosts are on a whitelist of FLOSS-policy repos but the checks don't prevent any custom build logic of downloading stuff via http, cloning git repos, etc. Also while maven central does not, some of these hosts also allow takedowns of published artifacts, at least jitpack allows it and it's on the whitelist (also jitpack's policy isn't FLOSS only, only requiring that the package is on public github, which still allows for nonfree "source available" software AND jitpack doesn't have any policy about downloaded binaries during _its_ build).

</comment></comment></comment></comment></comment><comment><USER12> Nix is very cool, and I encourage anyone to at least install nix on their machine and try it out. I started using it on my Mac, mostly to set up a Haskell environment, which at the time meant quicker builds than using other tools, due to the binary cache.

I now use it for python, scala, emacs and basically wherever else I can get away with not using Homebrew. I share the config [1] between my work and personal machine. This works really well: it's just a git pull, and a `nix-env -iA nixpkgs.devEnv` and my environment is updated (and I can easily roll back to the previous state if something goes wrong). It does take a lot of up-front investment, learning a new language and paradigm, but once things are working they tend to stay working.

[1]: [https://github.com/mjhoy/dotfiles/blob/master/nix/nixpkgs/co...](https://github.com/mjhoy/dotfiles/blob/master/nix/nixpkgs/config.nix)

</comment><comment><USER13> I tried to use NixOS a few years ago, and it was reallly hard.

The Nix language didn't have good tutorials and I couldn't use any of my NPM skills with the Nix package manager.

I saw talk from one guy who wanted to make the Nix package manager use commands that were more like in other package managers.

Did any of this happen?

I really think NixOS and GuixSD are the next generation Linux distributions and want to use it.

<comment><USER14> > I saw talk from one guy who wanted to make the Nix package manager use > commands that were more like in other package managers.

I'm guessing this is about `nix` and `nix-env` having poor interfaces and lacking e.g `nix install` – those aren't _really_ meant to do package management, because it's an imperative approach akin to Apt. I haven't touched `nix-env` for actual package management in over a year now.

You should instead be writing your system-level package dependencies and services in your configuration.nix, your user-level package dependencies and services in home-manager's home.nix, and if you just need to use a package quickly, you should use `nix run nixpkgs.hello -c hello` or `nix-shell -p hello`, and if you're trying to set up a dev env for a project you should be using direnv or lorri. nix-env pollutes your environment and causes headaches when/if you add the same packages you have installed there to your declarative files.

>I couldn't use any of my NPM skills with the Nix package manager.

You can – look into direnv and lorri, they let you handle system-level dependencies while NPM handles its own libraries, on a per-project basis. This is IMO the best contemporary way to do a developer environment.

<comment><USER13> Sure, but a small CLI tool that adds and removes packages in these files would probably go a long way.

</comment></comment></comment><comment><USER15> I just tried out Nix (not NixOS) earlier this week in the context of creating Docker images.

Getting started with Nix is easy but getting the hang of the Nix language isn't so much (despite having a reference manual.)

My best advice to get you started with the Nix language is looking at what's already available in <nixpkgs>[1].

Going fast-forward, my Docker image got a lot of unnecessary files in it (include headers, configuration files, /etc/passwd, /etc/group, etc.) I have to come back to it and see how I can improve this.

P.S. On the other hand, I succeeded creating a minimal Docker image using magicpak[2].

[1]: [https://github.com/NixOS/nixpkgs/tree/master/pkgs/developmen...](https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/libraries) [2]: [https://github.com/coord-e/magicpak](https://github.com/coord-e/magicpak)

</comment><comment><USER16> I spent a lot of time setting up Nix and NixOS to replicate my current dotfile environment on Debian I've spent years developing and which I can deploy on a new machine with a one liner. I really like Nix and found their DSL fairly easy to pick up, I didn't keep it for my desktop, workstation, or servers though for a few reasons.

1) Package availability: this is by far the largest reason. I frequently need to use software or specific versions that are just not available and while I did create some packages myself it is just too much work when I need to get something done.

2) Language Documentation.

3) I still need to use cargo and pip anyway.

4) Even when packages were available they often lacked the configuration options I needed and I would have to fork and edit them anyway.

I do think Nix is a lot better than current systems though.

<comment><USER17> I use pip all the time in NixOS. I just run it in a nix-shell, and install from a requirements.txt when the Python package is not in the nix packages.

<comment><USER18> I created a template which to the extent that I used it completly replaces the need for virtualenv and integrates well with declarative setuptools: [https://github.com/takeda/example_python_project](https://github.com/takeda/example_python_project)

With direnv + lorri when you enter the directory, it is as if you enter virtualenv, your code behaves as if it is installed with pip -e, if you call nix build it takes care of all dependencies and the command created in bin/ behave like binaries, have all dependencies needed.

I plan to update nixpkgs code that processes setup.cfg and make this less trivial example when I find some time.

</comment></comment></comment><comment><USER19> I tried Nixos but I found out it is really easy to setup a system but then it gets harder when you get off the beaten path by messing with npm or steam for example.

I think a winning approach would be to manage the OS using nix, but let the user do more imperative stuff in his home directory.

Here is an illustration of how one is supposed to use a package manager for a programming language (in this example npm) in Nixos: [https://unix.stackexchange.com/a/381797](https://unix.stackexchange.com/a/381797)

And here is an article about the hoops needed to run Steam games: [https://nixos.wiki/wiki/Steam](https://nixos.wiki/wiki/Steam)

<comment><USER14> Regarding NPM, you can do user-level "global" installs on NixOS, see toraritte's answer in the same Stackexchange question. NPM should work fine within a project, but if you need specific dynamic libraries that a Node package implicitly depends on, you can specify them using Nix, and this means you automate the process of installing system dependencies for anyone else who touches the project too.

While you could use nix-shell, it is IMO a dated and very manual way, preferably you'd use direnv or lorri to automatically load a default.nix or shell.nix from your project root directory where libraries have been specified in `buildInputs`.

</comment></comment><comment><USER20> Christine, very attractive and minimal site. Well done.

I see on your "new site" blogpost you mention "This content is markdown rendered by Purescript."

..have you considered doing a write up with more detailed information as to how your site is generated or a howto? I think many might be interested.

Thanks!

</comment><comment><USER21> Author of the article here. Ask me anything!

<comment><USER22> Can you share the list of hardware you choose to build your tower?

<comment><USER23> Why? Do you for some reason assume that the author is an expert on hardware and authority on picking the best, most compatible parts?

Do you not have your own specific requirements and use cases? It is better you do some research on your own end and learn to pick the parts that will best work for you.

Ryzen CPUs run hot, the stock cooler is garbage.

The tower is not silenced, and with the stock cooler you will have a lot of fan noise both from the CPU fan and chassis fans.

Ryzen 3900 is a much better choice than the 3600, especially for CPU intensive work like compilation.

The M2 disk is on the slow end.

The motherboard supports 128 GB RAM, but now all 4 DIMM sockets are used for 64 GB. You should go with 2x32 GB, in case you have a need for more RAM later on.

There are more issues here, but those are the worst.

<comment><USER21> Running my computer at full blast (GPU+CPU), the loudest thing in the room is the death metal from Doom Eternal.

<comment><USER23> Some people use their computer for more than trivial things like video games.

<comment><USER24> Do you have an axe to grind against the blog's author?

<comment><USER23> No, but the author is obviously not a hardware person. And anecdotes about perceived loudness does not contest reality. It's why we use dBA and temperatures as benchmarks.

<comment><USER21> I do not have a sound gauge, so the best I can give you is anecdotes. If this is insufficient, I accept donations and could arrange to receive a properly calibrated professional quality sound gauge to get a more precise answer.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER25> > I had been using a 2013 Mac Pro for at least 7 years.

Assuming the 2013 Mac Pro came out in 2013 I'd say that's at most 7 years.

<comment><USER26> Then you also have those who still use unsupported Mac Pros. I know a friend who was in this dilemma and I asked why they still use it. My friend replied that it still 'just works' and switching to something else isn't worth the effort.

By then you can see why when I gave them the choice of either upgrading to the latest version of macOS + H/W upgrade or just installing either Ubuntu/Fedora/etc on a second partition in which both are long winded processes the decision was obvious and clear to them.

They didn't care about either solution and rejected both suggestions to carry on with the status quo with great reason: 'If it ain't broke, don't fix it.' So until their favourite app requires a higher version and kills their productiviy, it is enough of a reason for them to upgrade it. A full blown switch to any Linux distro would be the worst decision for my friend, especially NixOS since even with this blogpost it gives little reason why they should bother switching.

</comment></comment><comment><USER27> Would be nice to mention that you're using home manager for user space package management, if I read your config files correctly. User space package management is a bit of a confusing topic especially since overlays supersede some of the former overrides but the documentation doesn't mention that prominently enough.

Also great post and great blog <3

</comment><comment><USER28> I really want to try NixOS but the Nix language is just so damn weird... Why didn't they use a syntax people wouldn't have to actually read a tutorial to learn. E.g. C-style or Python-style? This article has a whole paragraph explaining `with`, but it wouldn't have needed any explanation if they called it `using` or `import`.

Same for the script parameters. I have absolutely no idea what this does

      { pkgs ? import <nixpkgs> { } }:

Why not:

      function main(pkgs: Package = nixpkgs) {
      }

Or something like that.

My second issue is that the files clearly aren't machine-editable. There's no sensible way to make a GUI that can edit your hostname if the hostname is defined in some Turing complete functional program.

But it definitely beats the design of any other package manager.

<comment><USER29> > My second issue is that the files clearly aren't machine-editable. There's > no sensible way to make a GUI that can edit your hostname if the hostname is > defined in some Turing complete functional program.

For the times I need to do this, I define the values in a JSON file, which can be parsed by Nix's builtins.fromJSON into a Nix datatype.

<comment><USER21> Do you have a more detailed example of this?

<comment><USER29> As an example, I have a program for regularly backing up directories to cloud storage (with deduplication, encryption, key management, etc. it's just a wrapper around Restic), which it does regularly via cron. I manage this in NixOS: different machines backup different directories, with different keys.

This program has a CLI mode for setting up keys and buckets, which I run locally, and it writes to backup-metadata.json .

So my workflow for adding a new directory to my system is:

1\. Run CLI tool to create a new bucket, new API key with access to the bucket (with just the permissions it needs), and new encryption key. This writes to my backup-metadata.json file locally.

2\. write some NixOS along the lines of:

      let
        metadata = (builtins.fromJSON "../backup-metadata.json").git;
      in {
        backup = {
          git = {
            path = "/var/lib/git-repositories";
            frequency = "hourly";
            bucket = metadata.bucket;
            key = metadata.key;
            apiKey = metadata.apiKey;
          };
        };
      }

3\. Hit deploy. This starts the backups, and some monitoring to check the cloud storage is being regularly written to.

The implementation of "backup" is private, but reuses parts of upstream NixOS (systemd.timer, Prometheus, ...)

</comment></comment></comment></comment><comment><USER30> Does anyone know if Ansible works on NixOS? I understand that Ansible requires a working Linux system before it can operate, but it would be nice to use some of my existing Ansible playbooks rather than rewriting everything in Nix.

<comment><USER18> Ansible would work, but to use NixOS properly or would have to only modify /etc/nixos/configuration.nix and run nixos-rebuild switch after that.

Any other changes are not recommend, unless it is home directory and you don't use home-manager.

At that point you would correctly wonder why would you use ansible it is like running ansible to run saltstack.

NixOS essentially makes these tools redundant. It is also more powerful. Imagine that you wanted to for example use libressl instead of openssl with python, because it is more secure, or maybe introduce your custom patch put use different configure option. With other tools like ansible, you would start with building custom package(s), then place that package in repo like artifactory. Then write your ansible definitions, you would add artifactory to the OS uninstall the old package install a new one (also worry that replacing your Python package with a custom version could break other stuff, you might end up installing your Python under a different path). If you want to revert it, removing these steps is not enough, you would need to write steps that would revert it.

In Nix, you make change to the disk that is being installed. If nix won't find precompiled package in its repo it will automatically pull compiler and compile it. If you configure caching after finishing it it would populate the cache so other machines no longer would need to compile it. And if something else is using old Python version it won't be affected at all, it will continue using what it was using. If you remove your change nix will restore back the previous state, no need writing rules about restoring it.

Another killer feature is that nix will never leave your packages in half state, everything is atomic. So if you incorporate many changes you either get all or nothing. It also guarantees that all machines using particular configuration are identical, I often seen rules working on one machine and not working in another (different OS version, maybe previous state was not applied everywhere or somebody made changes by hand).

<comment><USER30> These are good points, but one reason to use Ansible to configure NixOS is if you must continue using Ansible to configure other computers / cloud instances that are not running NixOS. It would be easier to adopt NixOS if you could do it incrementally rather than replacing everything.

I suppose one could use Nix to configure computers that are not running NixOS? Switching all of my Ansible playbooks to the Nix package manager is non- trivial, but perhaps less effort than changing every OS at the same time?

But can you use Nix to interact with the cloud? I currently use Ansible to spin up virtual servers on Linode using their web API, for example, and I expect to have to interact with AWS or Google Cloud in the near future.

<comment><USER31> There's NixOps:

\- [https://github.com/NixOS/nixops](https://github.com/NixOS/nixops)

\- [https://ops.functionalalgebra.com/nixops-by- example/](https://ops.functionalalgebra.com/nixops-by-example/)

</comment></comment></comment></comment><comment> globular-toast I would use Guix rather than NixOS, but I wonder if I would feel as in control as I do as a Gentoo user. I suppose I should set aside some time to try it in a VM.

<comment><USER32> I tried them both last week. All I did was spin up a server, connect through ssh.

NixOS was fine. Standard systemd (bleah!) commands to enable and then start sshd. (Because "enabling" and "starting" are two different things, yeah?)

Guix required editing a file and rebuilding the OS. This wasn't well documented, and they had forgotten to include the file in the VM image. (The manual says edit /etc/config.scm (IIRC) but it's not there. There's a bug open for it.) I had to find a copy of the VM config and hack it up to work, but after that everything went smoothly. (Can you taste the irony on that last sentence? I am being sardonic. The experience was hugely demotivating.)

Anyhoo, FWIW, Nix seems great but I don't like the language (and I don't like systemd, and no, I don't want to talk about it.) Guix seems like it will approach being a new kind of Lisp Machine, Guile lisp is fine, and integrated into other parts of the OS. (Shepard seems fine.) But having to edit a file and rebuild the OS to get ssh access was gnarly.

All in all, something like NixOS or Guix seems to me to be the way of the future. Other build/package managers seem just stupid and dangerous in comparison (like operating a chainsaw without kevlar chaps. I have two legs thanks to kevlar chaps. _Always wear your chaps kids!_ )

</comment></comment><comment><USER33> Used NixOS for a short bit, it was easy to get going with and most things works good out of the box with a pretty simple config. Didn't want to replace my linux knowledge with something this different though so moved back to something more normal for my desktop. Thinking about using NisOS on my home server though, already have the configuration.nix to get it up and running very fast which is nice obviously.

</comment><comment><USER34> I don't understand the conjunction of the following two phrases in the article:

> * Nix goes a step further by disallowing package* > * builds to access the > internet. This allows Nix* > * packages to be a lot more reproducible;*

and

> * The src attribute tells Nix where the source * > * code of the package is > stored. Sometimes this* > * can be a URL to a compressed archive on the* > * > internet, _

<comment><USER35> The idea is that as long as the downloaded source file matches the hash all inputs are deterministic and so is the build overall.

<comment><USER36> Right. More specifically, Nix itself can download files in this way, but the build scripts (in this case, the mkdir & cp part) are not allowed access so that the build is deterministic.

</comment></comment></comment><comment><USER37> Nice layout. A fundamental reengagement with the concept of "formatted hypertext".

<comment><USER38> I agree! Showing a bit of the markdown in the rendered text really gives the page a nice hacky feel. I'm doing something similar on my website[1] but this blog looks a lot nicer then mine!

The biggest problem on my version I think is that links aren't obvious enough in dark mode, but I like the links used here so I'll look into that.

[1]: [https://noahloomans.com/tutorials/makefile/](https://noahloomans.com/tutorials/makefile/) (The contents of this page is intended for the other students at my college and probably doesn't make a lot of sense standalone)

<comment> aaron-lebo Noah, I love that menu. Nice work!

</comment></comment></comment><comment><USER39> The functional package management sounds good and clean in theory, but when I tried nixos Firefox had terrible fonts.

Because of some config files in /etc influencing it indirectly.

So pograms in nixos influence each other via global configs, they are not isolated.

I was unabne to fix that.

</comment><comment><USER40> The best part of Debian and Ubuntu is package maintainers do all the heavy lifting for you.

So a simple apt get install package is all I need.

This looks like having to write packages again and that's the very reason I use a Debian based distribution is for apt

<comment><USER29> I can see why the blog post gives the impression that packaging is involved, because the author is creating packages! However, what's novel is that the author is packaging their own software (a blog). A Debian and Ubuntu maintainer isn't going to package Joe Blogg's blog.

NixOS also has package maintainers, which the author of this blog post relies on (see "nixos.graphviz").

Traditional distributions also allow you to package your own software.

The difference between a traditional distribution and NixOS is that NixOS makes packaging your own software (and config) easily and safely enough to treat as first-class citizens along with the distro's own packages. So much so that I don't think of NixOS packages as "packages". Rather, I just see them as config/code.

<comment><USER21> I mainly nix-ified my blog build to make a docker image that is as small as possible.

Compare my super-optimised dockerfile results:

$ docker images | grep xena xena/christinewebsite latest eb8c27a1a5d2 12 seconds ago 121MB

To the naiive nix results:

$ docker images | grep xena xena/christinewebsite latest b087ad7fb924 50 years ago 102MB

This image ends up only including my blog (statically compiled), ca certificates (because of the patreon integration), time zone data files (because of the go time package), iana port numbers (something to do with the go net package) and mailcap (for some reason). It's puny!

<comment> asdf-asdf-asdf so, what makes up the 19MB difference? (i assume it's not caused by the nix one being MUCH older :-)

couldn't you simply do a multi-stage docker-image (in the not-nix situation),where you just copy over the go binary into the final docker-image, and add the needed files?

<comment><USER21> The 19 MB difference is alpine linux crud, musl and other base things in my custom docker base image.

In theory I could do the multi-stage docker approach to get an as-tiny-as- possible setup (and I actually do this: [https://github.com/Xe/site/blob/master/Dockerfile](https://github.com/Xe/site/blob/master/Dockerfile)) but that won't cover ca-certificates generically.

</comment></comment></comment></comment></comment><comment><USER41> You know, for all the nerding out about how package managers do their work and how "correct" they are, they all still pale in comparison to how easy and intuitive homebrew is to use.

I'm running Linux and pacman/yay are great but if something is screwed up I miss being able to run brew doctor to figure out what's wrong or add a tap for some weird thing here or there.

I know I'll get crucified for saying it but usability counts for a lot and apt, dpkg, yum, dnf, and yes, even nix suck. All the correctness and perfection don't matter if nobody uses or wants to use your software.

<comment><USER42> I haven't used a Mac so I don't know what UX breakthroughs I might be missing but I think even for beginners, apt and the like are fine, given how much assistance software and online help there is for them.

It does take you a while to understand everything about it but that's always the case with power tools. You'll likely not need to dive into the guts of your package manager on day one anyways.

<comment><USER41> No. apt-get install for installing and apt-cache search for searching? That's... not discoverable to say the least: how about brew install and brew search? Didn't know they were there? No problem you'll see they are available commands when you run brew.

<comment><USER42> The exact same applies to apt. You can do "apt search", "apt install" and just "apt" will give you a short help text. This is the default apt program for interactive use. Unfortunately few people advertise it in tutorials.

Oh and you can of course use "man" to read the manual pages for most apt programs if you want more in-depth info.

</comment></comment></comment></comment><comment><USER43> ergonomics oversight:

/nix/store/c99n4ixraigf4jb0jfjxbkzicd79scpj-gruvbox-css.drv

should be

/nix/store/gruvbox-css-c99n4ixraigf4jb0jfjxbkzicd79scpj.drv

<comment><USER18> They actually answer that in FAQ: [https://nixos.wiki/wiki/FAQ](https://nixos.wiki/wiki/FAQ)

</comment></comment><comment><USER44>
        $ docker run --rm --name temp -it nixos/nix
        c343661ad923:/# nix search graphviz
        warning: using cached results; pass '-u' to update the cache
        error: no results for the given search term(s)!
        c343661ad923:/# nix search -u graphviz
        error: no results for the given search term(s)!

Well... that's not off to a good start. I don't mind learning something new, but nix just seems super convoluted.

In many other distros the package manager makes it pretty easy to get a graphical environment running or even to install and configure software. Not nix.

Nix is far from easy to use or install [https://invidio.us/watch?v=QujRHErFG4w](https://invidio.us/watch?v=QujRHErFG4w)

<comment><USER32> That video is two years old, and the comments make it clear that dude didn't RTFM, so... YMMV.

</comment></comment><comment><USER45> For all the folks that can't get into Nix because they find it obtuse: Okay, fine, don't use it. Nobody is forcing you to adopt it, and moreover, we don't want an influx of folks who are only embracing the situation reluctantly and cannot respect the Nix way of doing things.

The top complaints I've seen in this comment section so far are about the Nix expression language. It's not appealing, hard to learn, weird, etc. Okay, good. If learning a single simple DSL is completely off-putting, then we should probably keep the DSL for a while, since it seems to be effective at weeding out folks who aren't interested in learning about the theory of package management, while allowing the rest of us to get things done.

The next top complaints I've seen are about how nixpkgs is hacky, lacking, or doesn't well-support traditional UNIX tools. Well, to the extent that we can force traditional UNIX tools to respect package-capability discipline, we're doing quite well. According to Repology [0][1], nixpkgs is amongst the top 5 repositories for number of packages, number of maintainers, number of fresh packages, and percentage of up-to-date packages.

Seriously, before you downvote or reply, _stop_ and look at [1]. Look at how nixpkgs is literally _off the charts_ compared to almost any other distro. The only close contender is AUR, which doesn't have the reproducibility or less- insecure build model of Nix.

[0] [https://repology.org/](https://repology.org/)

[1] [https://repology.org/graph/map_repo_size_fresh.svg](https://repology.org/graph/map_repo_size_fresh.svg)</comment>


AI added to the curriculum for doctors-to-be - <AUTHOR> https://www.nature.com/articles/s41591-019-0648-3 <comment><USER2> Paywalled :)

<comment><AUTHOR> I know :_( but next best ;-) [https://imgur.com/a/1cMjDsb](https://imgur.com/a/1cMjDsb)

<comment><USER2> thanks :)</comment></comment></comment>


Online Summarizers overview - <AUTHOR> https://www.linkedin.com/pulse/online-summarizers-overview-yuri-kitin?trk=prof-post <comment><USER2> There is also TextTeaser ([https://github.com/MojoJolo/textteaser](https://github.com/MojoJolo/textteaser)). There is a version in Python and Scala. I believe is behind the article summarization bots on reddit.

I explored using it to generate talk summaries for [https://www.findlectures.com](https://www.findlectures.com) and have been reasonably happy with it, although it's tough to get a summary that is succinct enough for search engine results.

</comment><comment><USER3> One of the best summarizers not mentioned: [https://slack.com/apps/A2B487WT0-sumbot](https://slack.com/apps/A2B487WT0-sumbot)</comment>


Google Now Imitates AOL With New Page Speed Service - <AUTHOR> http://www.semclubhouse.com/google-now-imitates-aol-with-new-page-speed-service/

<comment><USER2> A few earlier submissions in case you're interested:

<http://news.ycombinator.com/item?id=2816166> : 59 comments

<http://news.ycombinator.com/item?id=2816190> : 3 comments

<http://news.ycombinator.com/item?id=2816591>

<http://news.ycombinator.com/item?id=2817415>

<http://news.ycombinator.com/item?id=2820628>

<http://news.ycombinator.com/item?id=2820794> : 10 comments

<http://news.ycombinator.com/item?id=2821049>

<http://news.ycombinator.com/item?id=2822515> : 1 comment

</comment><comment><USER3> Seriously? What is it with this "imitation fetish" of the tech blogosphere that they want to mention it every time a service slightly resembles another service, or product.</comment>


Why Does Everyone Else's Code Suck? - <AUTHOR> http://visitmix.com/Opinions/Why-Does-Your-Code-or-Design-Suck

<comment><USER2> Sometimes, other people's code really does suck.

<comment><USER3> I once got a piece of code where 1% of the lines of code were global variable declarations.</comment></comment>


Visualizing the Discrete Fourier Transform - <AUTHOR> http://blog.revolutionanalytics.com/2015/09/because-its-friday-visualizing-ffts.html# <comment><USER2> Rather than funny analogies about signals spinning on poles, I think it's relatively easy to understand what the DFT is with just two things that many people already know: 1) knowledge of the complex exponential definition of Fourier series [1], and 2) how to approximate integrals with the left rectangle rule [2].

Take your continuous signal and represent it with a Fourier series. Since the Fourier series is a linear decomposition into integer frequency sinusoids, the coefficients of the series tell you the amount of each frequency contained in the signal. The DFT gives you an approximation of these.

The coefficients of the Fourier series of a function are integrals. Approximate these integrals with a left Riemann sum. Integrals turn into sums ... sums turn into a linear system ... the linear system turns into a matrix ... bingobango there's the DFT matrix [3].

[1]: [http://users.wpi.edu/~goulet/Matlab/overlap/efs.html](http://users.wpi.edu/~goulet/Matlab/overlap/efs.html)

[2]: [https://en.wikipedia.org/wiki/Riemann_sum#Left_Riemann_Sum](https://en.wikipedia.org/wiki/Riemann_sum#Left_Riemann_Sum)

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

<comment><USER3> I like the linear algebra interpretation, where the DFT is a basis change, and the only 'magic' is believing/proving that the Fourier basis is orthogonal. (It's an easy proof.)

I still don't understand how the FFT works though...

<comment><USER4> If you understand DFT, it should be very easy to understand FFT. It's the same thing but with an infinite-dimensional vector space. The fact that it's a vector space is the important thing. The infinite dimensionality is relatively a minor detail.

<comment><USER5> No that's not right. The FFT is not infinite dimensional. It's the same dimension as whatever length FFT you take. The FFT is just a set of algorithms for computing the DFT. In general they work by recursively decomposing an N-length DFT into shorter length DFT's.

The DTFT on the other hand is "infinite" dimensional in that it takes an infinite time series as input and outputs a continuous spectrum with period of 2pi.

<comment><USER4> Sorry, This is embarrassing, I must have not drank my coffee... Of course you are right.

</comment></comment></comment></comment></comment><comment><USER6> On a similar note, The Engineer Guy's walkthrough of Albert Michelson's Harmonic Analyzer gave me a much better understanding of Fourier analysis in general.

[https://www.youtube.com/playlist?list=PL0INsTTU1k2UYO9Mck-i5...](https://www.youtube.com/playlist?list=PL0INsTTU1k2UYO9Mck-i5HNqGNW5AeEwq)

</comment><comment><USER7> Why not link to the original site? [http://www.billconnelly.net/?p=276](http://www.billconnelly.net/?p=276)

<comment><USER8> Some admin should fix the link, the current article don't contribute anything important over the original.

</comment></comment><comment><USER9> I found this video to be an incredibly useful explanation of the Fourier Transform: [https://www.youtube.com/watch?v=FjmwwDHT98c](https://www.youtube.com/watch?v=FjmwwDHT98c)

</comment><comment><USER10> I love the way they used color and plain English to describe that function. It would be awesome if a general app for this sort of color coded simple translation were available to help kids learn about mathematics. It'd have to be more inclusive for people with dichromacy and anamalous trichromacy, but there could be settings in the app to compensate for that.</comment>


Maglevs: The floating future of trains? - <AUTHOR> http://www.bbc.com/future/story/20120504-the-floating-future-of-trains

<comment><USER2>
       BBC Future (international version)

       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>


Studies: Airborne particles may contribute to obesity, diabetes, heart disease - <AUTHOR> http://www.bbc.com/future/story/20151207-the-air-that-makes-you-fat <comment><USER2> I've been on a clean air kick for a while. While investing in a HEPA filter is probably a good idea for urban dwellers, I've been working on filling my home with plants from the book How to Grow Fresh Air [1], a book based on some research NASA did on the air purifying abilities of various indoor plants. The book rates each plant by degree of purification, ease of cultivation, and resistance to pests. Add that to some fountains for negative ions, and you have a fresh and stimulating (rather than repressing) home environment.

[1][http://www.amazon.com/How-Grow-Fresh-Air- Plants/dp/014026243...](http://www.amazon.com/How-Grow-Fresh-Air- Plants/dp/0140262431)

<comment><USER3> Also:

[https://www.ted.com/talks/kamal_meattle_on_how_to_grow_your_...](https://www.ted.com/talks/kamal_meattle_on_how_to_grow_your_own_fresh_air)

"Researcher Kamal Meattle shows how an arrangement of three common houseplants, used in specific spots in a home or office building, can result in measurably cleaner indoor air."</comment></comment>


Perl 5.11 released - <AUTHOR> http://www.nntp.perl.org/group/perl.perl5.porters/2009/10/msg151376.html

<comment><AUTHOR> See also these:

[http://search.cpan.org/~jesse/perl-5.11.0/pod/perl5110delta....](http://search.cpan.org/~jesse/perl-5.11.0/pod/perl5110delta.pod)

[http://search.cpan.org/~jesse/perl-5.11.0/pod/perlop.pod#Yad...](http://search.cpan.org/~jesse/perl-5.11.0/pod/perlop.pod#Yada_Yada_Operator___)

[http://www.modernperlbooks.com/mt/2009/10/why- perl-5110-matt...](http://www.modernperlbooks.com/mt/2009/10/why- perl-5110-matters.html)

<comment><USER2> Maybe these also, if so inclined:

\- new perlperf man page that looks interesting: <http://search.cpan.org/~jesse/perl-5.11.0/pod/perlperf.pod>

\- 'use 5.11.0' also implies 'use strict' now, yay: [http://search.cpan.org/~jesse/perl-5.11.0/pod/perl5110delta....](http://search.cpan.org/~jesse/perl-5.11.0/pod/perl5110delta.pod#Implicit_strictures)

</comment></comment><comment><USER3> What is new?

<comment><AUTHOR> If this is an actual question (rather than snark), check out the link I gave below to the changelist: [http://search.cpan.org/~jesse/perl-5.11.0/pod/perl5110delta....](http://search.cpan.org/~jesse/perl-5.11.0/pod/perl5110delta.pod)

<comment><USER3> Thanks. ( It was an actual question. )

<comment><AUTHOR> Cool, and sorry then if I seemed inclined to doubt it. The troll put me on edge, but that's my bad anyhow.

</comment></comment></comment></comment><comment><USER4> I wonder if perl would be less popular if it was a better language.

<comment><USER5> I wonder what the world would be like if people made their own choices, not influenced by what's "popular" this week.

<comment><USER4> I don't care _which_ language is popular, I want to know _what makes_ a language popular. I try to choose languages orthogonally to popularity.

<comment><USER5> _I want to know what makes a language popular._

"Jobs."

<comment><USER4> There's a chicken and egg thing here...

<comment><USER5> Such is the reality of a field where the decision-makers are not practitioners.

</comment></comment></comment></comment></comment></comment><comment><USER6> I can't wait for 5.88.

</comment><comment><USER7> Perl is by far the worst widely used language that I have ever seen.

Why promote it here?

It has caused enough damage, particularly in the bioinformatics community where it is required/used by people who don't know any better.

From <http://www.perl.com/pub/a/2002/01/02/bioinf.html>:

"But Perl programmers may be surprised to find that their handsome language has become one of the most - if not the most popular - of computer languages used in bioinformatics."

<comment><USER8> The fact that Perl is so unfashionable and yet still far more prevalent than the trendy Ruby and Python (which are also good languages - I am no partisan) should tell you that it is not a bad language. I does however enable bad programming in a way that other languages do not.

<comment><USER5> _It does however enable bad programming in a way that other languages do not._

This is wrong -- read StackOverflow some time, and you will find that people write horribly, horribly bad code in Java, PHP, Python, Ruby, C#, Haskell, ... anything. Bad programmers enable bad programming. The best a language can do is to make sure that the bad code is indented consistently.

(Have you read _1984_? Replacing negative words with positive words does not make the world a positive place.)

<comment><USER8> I didn't say it's not possible to write bad code in other languages. I was refering to 'there's more than one way to do it', which allows more freedom to screw up.

I think there's a reason that Perl is still the number one scripting language, and it's good to see that development on it is still progressing.

<comment><USER5> There is more than one way to do it in any language.</comment></comment></comment></comment></comment>


Getting started with Bower - <AUTHOR> http://www.codingdefined.com/2016/01/getting-started-with-bower.html <comment><USER2> Bower is on its way out. Most projects use npm for front-end assets nowadays. This article is about two years late.</comment>


Show HN: Wallmine – Google Finance portfolio alternative - <AUTHOR> https://wallmine.com/google-finance-portfolio-alternative <comment><USER2> Love the simple interface and speed. Is there a mobile app available?

<comment><AUTHOR> Thanks! Mobile apps are currently under development, stay tuned!

</comment></comment><comment><USER3> Is this free or does it cost $29 per month?

<comment><AUTHOR> The basic functionality is free, certain advanced features are paid.</comment></comment>


Facebook Platform, One Year Later - <AUTHOR> http://www.techcrunch.com/2008/05/24/facebook-platform-one-year-later/ <comment><USER2> As someone who has developed FB apps, I have to agree, and add that not only are most users (myself included) jaded to the Facebook Apps and their diarrhea of invitations and notifications, but facebook app developers themselves are wary of trusting facebook with their time, effort, etc.

There's a few reasons: \- The main point of developing a facebook app was to reach a lot of users very quickly and cheaply. Now that Facebook has mercilessly nerfed all the viral features of applications, is there any point in tying your app to FB? \- The FB platform has proved notoriously unreliable and requiring constant tweaking and oversight by app developers to keep their apps working with the latest backwards-incompatible changes that FB brought in. \- The FB platform features themselves have fairly often been unreliable, with the standard error displayed to users blaming the application developers even when it was facebook's fault (e.g. when they broke their own FBJS)

These and many things mean that myself and a number of people I know who used to develop FB apps would not consider doing so in the future.</comment>


Thattutorguy – Making Math Tolerable - <AUTHOR> https://www.thattutorguy.com <comment><USER2> Looks like fun to create. Seems a tough stretch going up against Khan Academy.</comment>


Radio clocks interfere with air traffic radio  - <AUTHOR> http://translate.google.com/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&u=http%3A%2F%2Fwww.heise.de%2Fnewsticker%2Fmeldung%2FAlte-Wecker-funken-Stoerfeuer-im-Flugzeugfunkverkehr-1977634.html&act=url

<comment><USER2> What? Radio clock is a small radio receiver. How a receiver can interfere with the signal?

<comment><USER3> Perhaps this: [http://en.wikipedia.org/wiki/Superheterodyne_receiver#Local_...](http://en.wikipedia.org/wiki/Superheterodyne_receiver#Local_oscillator_radiation)

?

<comment><USER2> Interesting! Unfortunately I'm not into radio or electronics beyond resoldering bad caps - so I can't really understand the principle of this. Maybe you could enlighten me, can we surround this oscillator with tinfoil/Faraday cage or something so it wouldn't radiate interference?

<comment><USER4> Emission is frequently conducted through the components backward to the input antenna and transmitted. In this case a Faraday cage would not help.

Conducted/radiated local oscillator radiation can be substantially suppressed if this is a design criterion.</comment></comment></comment></comment>


A Speech on Science, Knowledge, Human History & Religion (Douglas Adams, 1998)  - <AUTHOR> http://www.douglasadams.se/stuff/sand.html

<comment><AUTHOR> I thought this might be relevant to today's links on religion/atheism related topics.

 _The society of Bali is such that religion permeates every single aspect of it and everybody in that culture is very, very carefully defined in terms of who they are, what their status is and what their role in life is. It's all defined by the church; they have very peculiar calendars and a very peculiar set of customs and rituals, which are precisely defined and, oddly enough, they are fantastically good at being very, very productive with their rice harvest. In the 70s, people came in and noticed that the rice harvest was determined by the temple calendar. It seemed to be totally nonsensical, so they said, 'Get rid of all this, we can help you make your rice harvest much, much more productive than even you're, very successfully, doing at the moment. Use these pesticides, use this calendar, do this, that and the other'. So they started and for two or three years the rice production went up enormously, but the whole predator/prey/pest balance went completely out of kilter. Very shortly, the rice harvest plummeted again and the Balinese said, 'Screw it, we're going back to the temple calendar!' and they reinstated what was there before and it all worked again absolutely perfectly. It's all very well to say that basing the rice harvest on something as irrational and meaningless as a religion is stupid—they should be able to work it out more logically than that, but they might just as well say to us, 'Your culture and society works on the basis of money and that's a fiction, so why don't you get rid of it and just co-operate with each other'—we know it's not going to work!_

<comment><USER2> That thoroughly fascinated me when I first read this (also, if you liked this, there's more like it in _Salmon of Doubt_ ). I've used it before in religion arguments, both in defending religion against people who think it could be easily disposed of, and in arguing why religion's affecting society isn't the same thing as proof of a god's existence.

Unrelated: why WERE there so many atheism posts today? There was definitely a surge, but why? New users? The Mormon issue?

<comment><AUTHOR> Not really sure why.

This piece is something that I find I want to share with people a lot. He had a great way of thinking about things. And while this is simple really, it has had an effect on how I think about this issue. It's not often I can say that.</comment></comment></comment>


Planning to sink: What happens if Kiribati drowns? - <AUTHOR> http://www.pbs.org/newshour/updates/planning-sink-happens-kiribati-drowns/?utm_source=facebook&utm_medium=pbsofficial&utm_campaign=newshour <comment><USER2> ""If you have everything but land – if you have a population that is displaced – whether that allows you to be a state is a novel question,""

Well, I can think of our own example - Poland has been forcibly taken and split into three parts during late 18th century, by Russia, Prussia(Germany) and Austria. For nearly 20 years there was no such country as Poland on the map, and people who lived on the lands of former Poland were forbidden from even speaking Polish.

Yet the entire country has survived - we had a government and an army which both operated from other countries, until finally we were given little independence back in 1807 - but even after that Russia has controlled majority of the land here. Fast forward 200 years - Poland is a large country in the centre of Europe, despite having disappeared from every map for more than two decades at one point.

So based on that I would say that yes, there can be a nation without land.

<comment><USER3> > For nearly 20 years there was no such country as Poland on the map, and > people who lived on the lands of former Poland were forbidden from even > speaking Polish.

Sounds like Poland didn't exist at that time then, if there weren't even people speaking the language.

To my mind a more relevant example would be various governments-in-exile. Wasn't there a case during WWII where a Canadian(?) hospital was redesignated as the territory as one of the occupied countries, so that a princess(?) born there could be legally born on native soil?

<comment><USER2> >>Sounds like Poland didn't exist at that time then, if there weren't even people speaking the language.

Of course there were, they just had to do it at home, in secret. My point is, that the entire nation survived even though for two decades they couldn't even identify as Polish in public.

And yes, we also had a government in exile during that time. Heck, we also had a government in exile during communist rule in Poland(1945-1989), which based its operations in London.

<comment><USER3> > My point is, that the entire nation survived even though for two decades > they couldn't even identify as Polish in public.

How do you distinguish between a nation surviving, and a new nation being founded with the same name?

<comment><USER2> Well it's not like the Russians or the Prussians suddenly decided they wanted to start Poland again - it must have been Polish people who wanted that, so I think it's quite clear it was Polish people "surviving" long enough to see their country come back. I think new nation would apply if the people starting it had nothing to do with the original citizens? Like if someone wanted to create a country of Sparta now - it's not Spartans surviving, it's just a new country with an old name.

<comment><USER4> Your Sparta analogy has a real-world example in Macedonia:

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

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

"Citing historical and territorial concerns resulting from the ambiguity between the Republic of Macedonia, the adjacent Greek region of Macedonia and the ancient Greek kingdom of Macedon which falls mostly within Greek Macedonia, Greece opposes the use of the name "Macedonia" by the Republic of Macedonia without a geographical qualifier, supporting a compound name such as "Northern Macedonia" for use by all and for all purposes"

"..millions of ethnic Greeks identify themselves as Macedonians, unrelated to the Slavic people who are associated with the Republic of Macedonia, Greece further objects to the use of the term "Macedonian" for the neighboring country's largest ethnic group and its language. The Republic of Macedonia is accused of appropriating symbols and figures that are historically considered part of Greek culture such as the Vergina Sun and Alexander the Great"

<comment><USER5> It's not clear that modern-day Greeks themselves are _closely_ related to ancient Macedonians. Certainly some of today's Greeks are descended from the Greeks of that time, but they're descended from a hundred other peoples who at that time lived in a hundred other places as well. Just like those who live in Macedonia today. Just like people all over the Earth who have some Mediterranean heritage. (We can probably exclude the Inuits, Pygmies, Aborigines, etc.)

Your great-grandfather might not remember migrating from a thousand miles away, but that doesn't mean it didn't happen fifteen generations back.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> The Order of Malta has no territories except some buildings and no "real" citizens and is semi recognized like a country, more by tradition than other things, with a big difference that Kiribati has citizens that should be relocated. The loss of their territories is a not so natural disaster. I think is more a matter of international willing, if they will to recognize it and maintain the status of Kiribati.

<comment><USER7> how is the order of malta "semi recognized like a country" ?

<comment><USER8> It retained its sovereignty.

Quoting from Wikipedia: [http://en.wikipedia.org/wiki/Sovereign_Military_Order_of_Mal...](http://en.wikipedia.org/wiki/Sovereign_Military_Order_of_Malta)

Although this state came to an end with the ejection of the Order from Malta by Napoleon Bonaparte, the Order as such survived. It retains its claims of sovereignty under international law and has been granted permanent observer status at the United Nations.

</comment></comment></comment><comment><USER9> Meanwhile, in reality:

[http://www.abc.net.au/news/2010-06-03/pacific-islands- growin...](http://www.abc.net.au/news/2010-06-03/pacific-islands-growing-not- sinking/851738)

"Climate scientists have expressed surprise at findings that many low-lying Pacific islands are growing, not sinking.

Islands in Tuvalu, Kiribati and the Federated States of Micronesia are among those which have grown, largely due to coral debris, land reclamation and sediment.

The findings, published in the magazine New Scientist, were gathered by comparing changes to 27 Pacific islands over the last 20 to 60 years using historical aerial photos and satellite images."

<comment><USER10> Wow, that is incredibly selective quoting! From the same article "Sea levels are obviously rising...the key problem is that sea level rise is likely to accelerate".

The article describes that in the short term, bigger waves are leaving more sediment expanding the island's area—but, the islands are not raising up, so sea level rise will (and already has) displaced people from these islands.

My mother has been to Kiribati, she saw first hand portions that have been lost to the sea. The reality is clear if you simply open your eyes and look.

<comment><USER11> The actual paper is, I believe, [http://www.pacificdisaster.net/pdnadmin/data/original/SOPAC_...](http://www.pacificdisaster.net/pdnadmin/data/original/SOPAC_2010_The_dynamic_response.pdf) . It comments "Results presented in this study show that the entire footprint of islands are able to change so that erosion at the local scale (on one aspect of an island) may be offset by accretion on other parts of the coastline."

If correct, then it means seeing "portions that have been lost to the sea" is an incomplete observation, without seeing which parts have been gained. The paper's figure 6 shows some of changes over the decades, both loss and gain.

As a further complication, some of the increase in land area seems to be human-controlled. In any case, one of the points of the paper is that the Bruun Rule, "commonly advocated as an appropriate tool to assess coastal change", is "ultimately misleading" because it doesn't explain the observed changes.

The paper also agrees that sea levels are rising, at about 2mm/year.

But "in reality" \- quoting gd1 - the point isn't simply one of land area growing or decreasing. It's that changes in sea level cause complicated changes in the islands, because they are actually part of a complicated dynamic system. I'll quote from the end of the paper:

> Given this positive trend, reef islands may not disappear from atoll rims > and other coral reefs in the near-future as speculated. However, islands > will undergo continued geomorphic change. Based on the evidence presented in > this study it can be expected that the pace of geomorphic change may > increase with future accelerated sea level rise. Results do not suggest that > erosion will not occur. Indeed, as found in 15% of the islands in this > study, erosion may occur on some islands. Rather, island erosion should be > considered as one of a spectrum of geomorphic changes that have been > highlighted in this study and which also include: lagoon shoreline > progradation; island migration on reef platforms; island expansion and > island extension. The specific mode and magnitude of geomorphic change is > likely to vary between islands. Therefore, island nations must better > understand the pace and diversity of island morphological changes and > consider the implications of island persistence and morphodynamics for > future adaptation.

</comment></comment></comment><comment><USER12> Related:

Paradise almost lost: Maldives seek to buy a new homeland

[http://www.theguardian.com/environment/2008/nov/10/maldives-...](http://www.theguardian.com/environment/2008/nov/10/maldives- climate-change)

And a longer story on Kiribati

Drowning Kiribati

[http://www.businessweek.com/printer/articles/169064-drowning...](http://www.businessweek.com/printer/articles/169064-drowning- kiribati)

</comment><comment><USER13> What's preventing people from moving onto stilt houses or even large floating seasteads? The big asset of Kiribati is their extensive EEZ which guarantees income from fishing or other activities (mining, drilling etc). You can chain together steel and concrete pontoons, add soil on top all without terrafirma. That could even be funded by the industrialized nations that are supposedly responsible for the sea level rise (a tiny cost, compared to actually cutting emissions).

<comment><USER11> I can think of a few likely problems. The lack of surface area would make it harder to get fresh water; something that's already difficult. One of the main exports is copra, but I doubt that growing coconut trees on a platform will be economically worthwhile. The same holds for other agriculture currently on the island. (Sea level rise would also affect aquaculture in the lagoons, but I can't guess if it would be better or worse.) I expect it will be extremely expensive to raise the two international airports and over a dozen domestic ones.

Assuming intense agriculture at 0.25 acres per person (that's 8x the current population density) implies 100 sq. km of platform area. I see that sea docks cost around $30/sq. foot. That's just a bare dock, without soil, so let's say $50/sq. ft. "furnished" and at wholesale pricing. (I suspect I'm far under the actual price.)

That's roughly $50 billion, or almost 20x the country's GDP.

On top of that, add maintenance costs. I can't begin to estimate that.

<comment><USER13> How much would that be if it's a concrete platform with polystyrene on the inside for buoyancy?

<comment><USER11> And able to stand up to the occasional typhoon? I have no idea. The point of my exercise was to establish a minimum cost, to show why the idea isn't economically practical.

Japan's Mega-float cost $150 million in 1999 for 1km x 60 meters. It was designed as a floating airport for use in a protected bay. The floating airport proposal ("Floatport") for San Diego was estimated at $10-$30 billion. Both show that my $50 billion estimate is very low.

Then again, you don't actually need floating structures. As an alternative estimate, a cubic meter of soil is about $35. The cost of 1 meter of soil spread across 100 sq. km is $3.5 billion, plus shipping.

I see no way to get lower than that number. I see many way to get a lot higher.

</comment></comment></comment></comment><comment><USER14> ""If you have everything but land – if you have a population that is displaced – whether that allows you to be a state is a novel question,""

Jews would have disagreed that this is a novel question -- for them the question has been about for around 2000 years if not more.

<comment><USER15> No, it IS a novel question, and it has yet to be answered. You talk as though Israel is a done deal, when the ongoing situation suggests anything but.

Why do you need to do political astro-turfing for Israel on a totally unrelated thread?

<comment><USER16> I wouldn't call it astro-turfing. For a long time, Israel was a race/people without a homeland. You could maybe say the Palestinians are in that state now as well.

<comment><USER17> I sure as shit would call it that.</comment></comment></comment></comment>


W3C CEO revises history of patent war - <AUTHOR> http://lists.w3.org/Archives/Public/public-restrictedmedia/2013Nov/0005.html

<comment><AUTHOR> Those old enough to have been online for the W3C patent wars ought to be incensed by this. My reply is here:

[http://lists.w3.org/Archives/Public/public- restrictedmedia/2...](http://lists.w3.org/Archives/Public/public- restrictedmedia/2013Nov/0006.html)</comment>


MIT: For Clean Drinking Water, All You Need Is a Stick - <AUTHOR> http://inhabitat.com/mit-for-clean-drinking-water-all-you-need-is-a-stick/

<comment><USER2> That's amazing. I wish they had a picture of the proccess. What does "pour water through a branch" look like?

<comment><USER3> Hehe. I get a mental image of CIA agent water boarding that branch. Like "TAKE THIS YOU LITTLE SHIT, GIVE US WATER". Hmm. I may be a sick person....

<comment><USER2> LOL</comment></comment></comment>


My cofounder is sleeping with an employee and lying to me about it - <AUTHOR> https://startupsanonymous.com/story/cofounder-sleeping-employee-lying/ <comment><USER2> Memo to self: include a clause in future start-up ventures allowing the co- founders to be kicked out of the company -- and possibly losing their ownership share -- if they engage in conduct detrimental to the company. Isn't that already standard practice though? Seems to me the co-founder having sex with an employee is a much larger liability that the other party. Remove the offending co-founder and the other party will likely go away (or change their behavior).

A secondary point: how much liability would the company face for a sexual harassment claim if the offending co-founder were removed upon the discovery of proof?

In the end, people are flawed creatures and co-founders should probably be vetted more thoroughly than a prospective mate.</comment>


Alphabet earnings show Google Cloud on $10B run rate - <AUTHOR> https://techcrunch.com/2020/02/03/alphabet-earnings-show-google-cloud-on-10b-run-rate/ <comment><USER2> Whatever the number, it would be 10 times better if google didn't have such a terrible terrible customer service reputation plus a reputation for closing services down.

Google utterly fails to understand the need for its customers to trust that google will support and service them and not destroy their business after building on a google platform.

Apparently they are completely oblivious to these things being important though.

Right here on HN are the influencers who tell companies to use this or that techonology and there's a loud howling from everyone that googles support is beyond bad and that you'd be mad to risk building on any google service cause they'll shut it down.

<comment><USER3> Do you have any experience with GCP as an enterprise customer compared to AWS or Azure? Is GSuite or GCP support any worse or are you just assuming those experiences are the same as what you get with a free GMail account?

I mean, what kind of support does a small business with two EC2 Instances or three Office 365 licenses really get? I can't imagine you get to call someone and get in-depth technical help for free.

In other words, I think you're repeating really common criticisms of Google in general, but I can't tell if you're speaking objectively or from a matter of pure opinion.

<comment><USER4> I'm an enterprise GCP customer, Google Support have a few superbly irritating habits: 1\. They link to generic documentation that doesn't solve my problem 2\. They insist that things that are clearly bugs aren't bugs until they're provided with some trivial reproduction case that satisfies them 3\. They refuse to advise on issues with beta products despite half of GCP's products being in a beta 4\. They are sometimes just flat-out wrong (but confidently so) about the cause of an issue

Give me AWS support any day

<comment><USER5> I'm an Enterprise AWS customer(well, I work for one), our account is special enough that we've got extra AWS tech people on site regularly in addition to normal support, and I've seen 1, 2, and 4 with AWS, both regular support and our on-top handholding.

On top of that AWS documentation is often both needlessly opaque, elliptical, incomplete, and outdated or otherwise incorrect.

On the other hand, if the issue isn't too obscure, AWS's huge marketshare means that you can usually find decent answers on SO.

<comment><USER6> AWS has become hard to grasp in full scale.

</comment></comment></comment></comment></comment><comment><USER7> Google is the Valve of the internet space.

Like Valve they have created products that took over the whole space.

They have a tendency to completely drop things when they don't pick up traction early enough. (artifact, everything Google)

There used to be a Halo around both companies in the 2000s, that was slowly eroded in the 2010s.

They suck at communicating.

They create good products that never see the light of day again (Portal, l4D,Half Life) because their main product (steam, ads) makes so much more money.

________

GCP has the same problem as Artifact, where Google bull headedly tries to enter a different type of product/business model (b2b, instead of b2c) without adopting any of the cultural must-haves of a b2c company. (customer before product, service, reliability over speed)

Tensorflowv2 is failing due to a similar kind of stubbornness.

_______________

The scary thing is, if Google manages to pull off the culture change (unlikely), I can see them sweeping both AWS and Azure in the cloud space.

<comment><USER8> I think implicit in this myopia is they don't eat their own dogfood. If they have their best people managing their core products running their own infrastructure which is clearly much more reliable than GCP, then GCP won't get better. On top of which their best people will move toward their own internal services.

Contrast this with the other cloud providers who seem to be using their own clouds for their primary services creating a feedback loop which ensures they don't have the big outages that GCP has had over the past year.

<comment><USER9> Not true.

<comment><USER10> Could you elaborate?

</comment></comment></comment></comment><comment><USER11> Does anyone know if there are numbers somewhere for how much energy the different cloud providers use? Would be interesting to see which is more efficient from that perspective for those of us who care about such things. Energy per $ revenue or even better per compute would be helpful.

<comment><USER12> A cloud provider that specializes in compute will have vastly higher energy costs than a cloud provider that specializes in storage. Even without explicit specialization, it's not unreasonable to assume that the distribution of compute-heavy and storage-heavy customers is quite different between providers. So you'd have to sort of calculate that out.

But if you do that, I'm not sure what would even differentiate them. They're all using essentially the same hardware. They all have the same cooling requirements. I wouldn't expect an average to be very interesting.

<comment><USER13> > I'm not sure what would even differentiate them

Distance from carbon-neutrality per dollar of revenue sounds like a good start.

<comment><USER14> Carbon neutrality is a flawed statistic IMO and can be doctored with a lot - e.g. if Google pays a company X to plant an amount of trees, who's to say that neutralizes carbon?

Keep it simple, just publish how much power they're using and what the sources are.

<comment><USER15> I'm not sure what you mean by publish "what the power sources are." Data centers are grid connected and are therefore connected to a lot of different generators—including coal, natural gas, wind, solar, and hydro. All generators on the grid contribute to the grid. It's really tough to single out a generation source for a particular user.

<comment><USER16> I remember walking by a google data centre on the Columbia river years ago and being told that it was sighted there so that it could use the power from the dam.

<comment><USER17> Or for water cooling the CPUs?

<comment><USER18> Personally, I don't understand carbon neutrality. How deep does this rabbit hole go? If Google only buys and uses fully electric cars for street view and use only solar and wind to power them is that good enough? Does the manufacture of the car, batteries, solar panels also have to be carbon neutral? If not, can a company become carbon neutral by simply letting another company do the dirty work?

<comment><USER19> Yes. It goes all the way down. That is what makes it very, very hard to fix.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> I would really love to know what the quarterly revenue is for just compute and storage, for each of the major cloud providers. Including things like G Suite and Office 365 just muddies the waters.

<comment><USER21> Will this meme please die.

[https://www.neowin.net/news/microsoft-q1-2020-earnings- reven...](https://www.neowin.net/news/microsoft-q1-2020-earnings-revenue- up-14-on-office-365-and-azure-growth/)

Office is not counted in cloud. It's counted in "Productivity and Business Processes".

<comment><USER22> Office 365 and Azure with other cloud based services is still counted under the 'Commercial Cloud' division. I'm sure that's what op is referring to and with G Suite and GCP under the Google Cloud division.

<comment><USER22> I was wrong, MS seems to have changed its revenue disclosing methodology but it's still not clear how much Azure generates as it's lumped with Windows server, SQL server and Enterprise mobility under the 'Intelligent Cloud' division.

</comment></comment></comment></comment><comment><USER23> I hate how we are just giving away control over the internet to Amazon/Google.

How does a small cloud provider stay in business when up against these multi billion dollar companies? At any point in time, these companies can just lower the cost of their products, and suffer through a few bad quarters while the small businesses slowly bleed out and die.

<comment><USER10> So predatory pricing is very illegal, and considering that there are three major players in this space (azure/gcp/aws), all three of them would have to coordinate to kill other competition (since otherwise one of them could break from the deal and make their own money by betraying the other two), which is also very illegal.

And why would they even need to do something like that? AWS is wildly profitable anyway with enormous amounts of market share. When would it ever make sense for them to give up billions and billions and billions of dollars in profits to wipe out tiny cloud providers while also screwing up the economics of the space (changing people's expectations of how cloud should be priced meaning they won't accept prices as high as they are currently) and hoping and praying that GCP and Azure play along when it's time to hike prices back up?

<comment><USER23> What about the case of Amazon vs Diapers.com? Amazon basically undersold this company on diapers to the point where diapers.com was told to sell to Amazon or fuck off and die. The company ended up selling out for $540M USD.

This behavior is illegal yet Amazon is still here. While there's no obvious case for their cloud division, it's not unprecedented within the company to do so.

<comment><USER10> Good point. As a counter, this article (It's a national review article, so take it with a large grain of salt - I don't agree with it entirely but you and I have likely read the same articles on the other side of this and the NR article provides a good alternate perspective) suggests that the Quidsi case is not really predatory pricing (as the FTC determined in their investigation) as this did not drive amazon to achieve a monopoly in diaper sales (most diapers are still bought in grocery stores etc), even in the online space did not have a long term effect (The founders of Quidsi did quite well for themselves in their next venture, Jet.com). The allegations of undercutting to kill quidsi also came primarily from the founders and hasn't really been backed up. In the long term, that didn't really impact the consumer at all, even if amazon did kill Quidsi, they weren't able to shape the market.

[https://www.nationalreview.com/corner/misplaced-trust- antitr...](https://www.nationalreview.com/corner/misplaced-trust-antitrust/)

</comment></comment></comment></comment><comment><USER24> kubernetes on google cloud rocks. If they kill gcp like they do with other random services I'll cross that bridge when I come to it, kubernetes is open source and there are lots of other provider. For now, I don't feel trapped in the least, it's a great serive, it's priced right, and the time I save not dealing with AWS nonsense far out weighs the potential downsides of using their services.

<comment><USER25> Cloud Run is so freaking cool too, and it's a nice combination of totally hosted and totally portable (since you can just run it on k8s if GCP dies)

</comment></comment><comment><USER26> Even looking at comparative offerings from different providers, they're really lackluster [1], and in some cases, even more expensive [2].

What could be contributing to those large numbers?

[1] - Memorystore only allows vertical scaling, no support for GCP managed Redis clusters, no hybrid functionality (only instances in the same VPC network can access Memorystore, whereas ElastiCache offers all of this.

[https://cloud.google.com/memorystore/docs/redis/networking](https://cloud.google.com/memorystore/docs/redis/networking) [https://cloud.google.com/memorystore/docs/redis/scaling- inst...](https://cloud.google.com/memorystore/docs/redis/scaling-instances)

[https://docs.aws.amazon.com/AmazonElastiCache/latest/red- ug/...](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/accessing- elasticache.html) [https://docs.aws.amazon.com/AmazonElastiCache/latest/red- ug/...](https://docs.aws.amazon.com/AmazonElastiCache/latest/red- ug/Scaling.html)

[2] - [https://cloud.google.com/memorystore/](https://cloud.google.com/memorystore/) vs. [https://aws.amazon.com/elasticache/pricing/](https://aws.amazon.com/elasticache/pricing/)

<comment><USER27> To be fair, it seems Memorystore instance is not the same gb-for-gb as Elasticache, since Memorystore gives you extra memory overhead, and on aws you have to manage it yourself. Memorystore also has free network egress/ingress. There is also a RedisLabs offering on Google Cloud with integrated billing.

Disclaimer: I work at Google Cloud.

<comment><USER28> what do you mean by 'extra memory overhead'

<comment><USER27> if you run Redis you need at least 25% of extra RAM on top the instance memorysize if you want to avoid a lot of nasty OOM scenarios. Memorystore gives this memory by default and in aws you need to tweak the reserved-memory. [https://docs.aws.amazon.com/AmazonElastiCache/latest/red- ug/...](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/redis- memory-management.html)

</comment></comment></comment></comment><comment><USER29> [https://archive.md/kjOTs](https://archive.md/kjOTs)

</comment><comment><USER30> Article is missing the point. Growth is not the hardest problem in a fast- growing market. The real question is whether they're growing faster than their competitors, and that's unlikely.

<comment><USER31> Do you mean in terms of revenue dollars growth, revenue percent growth? Total number of customers growth? Growth amongst solo devs? Growth amongst fortune 500? There are many ways to look at this

<comment><USER32> % growth of revenues among the top cloud providers is the normal comparison.

<comment><USER31> It would be shocking if Google were in last place by that metric! After all their baseline is so much lower.

Are they really?

</comment></comment></comment></comment><comment><USER6> Does GCP still have a cost advantage compared to AWS and Azure?

<comment><USER9> Yes, for most use-cases. Google "understanding cloud pricing"

</comment></comment><comment><USER33> Aside: This was the first time I've tried to read a techcrunch article in Austria (or the EU in general). The splash screen implies I _must_ consent to tracking cookies or I can't view their content. Is that not illegal?

<comment><USER34> There is this add-on for Firefox that allows you to toggle js on and off and remembers your setting per domain [https://addons.mozilla.org/en- US/android/addon/disable-javas...](https://addons.mozilla.org/en- US/android/addon/disable-javascript/)

It improves the user experience by a lot on Techcrunch, medium and a bunch of other news sites.

<comment><USER35> Can't you do this with just uBlock origin?

<comment><USER36> Yes, you can do that with uBlock, the <\> icon blocks javascript, very handy.

<comment><USER34> Ah, didn't know that, thanks!

</comment></comment></comment></comment></comment><comment><USER37> I hate to be that guy, but why is it called Butt services?

<comment><USER10> Because you installed that one extension that changes cloud to butt a while back as a joke and apparently somehow forgot you did.

<comment><USER37> Bahahaha I've been pranked! Either by a coworker or possibly myself.

</comment></comment></comment><comment><USER38> Conflating consumer software and cloud infrastructure is a big lie. Microsoft is famous for having started this years ago.

Why do they do it?

Because AWS is at a $40B run rate, and both Google and Microsoft have to show analysts and customers that they are catching up, and that they are big enough, etc.

Real "cloud infrastructure" revenues for Google are probably less than half that.

The worst part is that famed and well-paid analysts perpetrate the lie, either by collusion, or by ignorance.

<comment><USER9> This number does not include that conflation...

<comment><USER39> The article says that it does, as it includes enterprise gmail/drive/chat revenue with the infrastructure revenue.

</comment></comment></comment><comment><USER40> Meh. I'd wish Microsoft and Google would start separating their actual cloud platform (Azure, GCP) revenues from their "cloud" SaaS revenue (Office 365, G Suite). It'd make comparisons to AWS a lot more meaningful.

Edit: Apparently Microsoft is already doing this.

<comment><USER41> This has become a meme and urban legend at this point, but Office 365 revenue isn't included in Azure's revenue. G Suite is included in GCP revenue though.

<comment><USER42> It looks like this has changed [0]. Microsoft now places Office365 under " Productivity and Business Processes", which earned 11.8b in FY20 Q2.

Azure is under "Intelligent Cloud", which earned $11.9b this last quarter.

0: [https://www.microsoft.com/en- us/investor/earnings/FY-2020-Q2...](https://www.microsoft.com/en- us/investor/earnings/FY-2020-Q2/press-release-webcast)

<comment><USER43> Based on that last sentence, Azure has a 12*4=48B$ annual run rate.

AWS has $40B annual run rate ([https://www.zdnet.com/article/aws-brings-in- nearly-10b-in-sa...](https://www.zdnet.com/article/aws-brings-in- nearly-10b-in-sales-for-amazon-in-q4/))

Something is not quite adding up.

<comment><USER44> See below thread, but Azure + Enterprise services + server products are reported as "Intelligent cloud". It's intelligent cloud that has the $48bn run rate. So it's not a like-for-like comparison with AWS even though it doesn't include Office365.</comment></comment></comment></comment></comment>


S.E.C. Scrutinizing Stock Trading in Facebook and Twitter  - <AUTHOR> http://dealbook.nytimes.com/2010/12/27/stock-trading-in-private-companies-draws-scrutiny/?partner=rss&emc=rss <comment><USER2> Traditionally there are three reasons to go public: (1) need capital, (2) founders or VCs need to cash out, or (3) have 500+ stockholders. Reason (3) has driven some otherwise cash rich companies with somewhat patient VC money to go public, and I expect it is what the SEC is looking at here. If pools try to buy, the SEC may look through the pool structure and count each of the pool investors as a separate investor, making it hard to keep under the 500 holder limit. A few non-tech companies that do not need capital have recently gone the "perma-private" route, with private exchanges set up to facilitate trading, but that is difficult to do, especially as more and more employees join up and expect stock and push on the 500 holder limit.

<comment><USER3> I tried Google but didn't find anything: Is (3) just a rule of thumb, i.e. "more than 500 is unmanageable without going public" or is there a law in the USA which forces companies to go public if they have more than 500 holders? And - why would there be such a law (if it exists)?

<comment><USER4> The reason it exists is so companies don't end around the SEC and create unregulated stock markets. Once you get 500 shareholders you don't need to offer shares to the public, but you do need to release financials like you have (AKA send them to the SEC).

<comment><USER2> This is correct. Once a company has to go to the trouble of producing quarterly and annual financial reports and filing them with the SEC and making them available to the world, most companies conclude they might as well do a real IPO and get some pop from building a market in their stock.

</comment></comment></comment></comment><comment><USER5> Valuations in the thinly-traded, easily manipulated secondary market are used to justify venture investments and acquisitions. If the SEC starts finding irregularities and clamping down, that's one more sharp pointy object bursting the bubble ...

</comment><comment><USER6> What does being a public company mean?

Part of it is having to spend a large chunk of your profit on audits, which supposedly certify that your company is healthy and non fraud committing.

This certification was granted to Enron, Lehman Brothers, and many other companies that absolutely did not deserve it.

The S.E.C. should take this as an opportunity to learn something about what investors really want. It isn't regulation. Its profit and growth.

<comment><USER7> The audit requirements have absolutely nothing to do with preventing companies making risky bets (e.g. Lehman) from going public.

They are there primarily to make sure the company actually exists and is roughly what is represented to investors. The point is to make sure Lehman is actually a major global investment bank rather than 3 guys + a website in Long Island + a bank account to accept cash wires.</comment></comment>


No Dark Matter Seen in Deepest Limits to Date - <AUTHOR> http://blogs.discovermagazine.com/cosmicvariance/2011/04/14/no-dark-matter-seen-by-xenon/

<comment><AUTHOR> This experiment was attempting to directly detect specific individual dark matter particles over a range of masses and cross sections, and did not find any there.

There is still a wide variety of astrophysical evidence for _some_ kind of dark matter [1]; this just pushes back the search to determine exactly what it is.

[1] [http://en.wikipedia.org/wiki/Dark_matter#Observational_evide...](http://en.wikipedia.org/wiki/Dark_matter#Observational_evidence)</comment>


Show HN: My Hacker News clone - <AUTHOR> https://github.com/bohdyone/hackernews-clone-redux <comment><USER2> Not sure what the OP means by the term "clone" in the title. I'm pretty sure the source code for the Hacker News website is proprietary and can't be cloned, at least in the usual sense.

<comment><AUTHOR> It's not a feature-complete clone intended to replace or compete with HN in any way, "HN clone" is just a popular term for an interface that lets you interact with HN live data. Many coders have implemented such a project as a way of demonstrating their framework or exploring an approach as I have.

</comment></comment><comment><AUTHOR> Take a look, I think I've done some things in an interesting way.

Any feedback would be welcome, particularly if there are more elegant ways to achieve some of my design goals than those that I've discovered.

</comment><comment><USER3> I like how you presented "problem" and "solution" in your read me.</comment>