Mastering Bash and Terminal - <AUTHOR> https://www.blockloop.io/mastering-bash-and-terminal <comment><USER2> Rather than temporarily suspend vim to use the terminal you can get vim to suspend and resume itself with the exclamation mark command. This has the benefit of not wreaking havoc on your vim session and allowing you to read data into vim by prefixing with r.

For example

        :!ls

will execute ls and show you the result (press enter to return)

        :r!ls

will read the result of ls in for you

More usefully

        :r!sed -n5,10p that/other/file

will read lines 5-10 from that other file.

However you will most often want to

        :!make
        :!up build
        :!git status
        :!git commit -am "Fixed #23"

<comment><USER3> Regarding the last git command you listed, I actually find it better to do

        :r !git status -v

And at the to of the result, type my formatted git commit message, visually highlight the message I just typed, and then use the following vim command

        :r !git commit -F -

Which reads the commit message from standard input.

<comment><USER4> That's interesting, why not just do `git commit` at the command line?

<comment><USER3> It's more of a way to be able to commit without having to exit or suspend vim. I typically type the commit message while checking the diff. If I find an error in the diff, I'll switch to the vim window with the file, correct the issue and run :!git add %, delete the original output of the git status -v command I ran earlier and I re-run that command (which I can pull up by using q: to bring up the vim command history window).

</comment></comment></comment></comment><comment><USER5> Great post & thread, a tl;dr:

      Ctrl-r      search history
                  - then Ctrl-r again to show next match
                  - then Tab to show all options
      Ctrl-p      previous command or arrow up
      Ctrl-n      next command or arrow down
      export HISTCONTROL=ignoreboth:erasedups
                  Add to .bashrc to avoid duplicate entries

      Ctrl-a      to beginning of line
      Ctrl-e      to end of line
      Alt-b       one word back
      Alt-f       one word forward
      Ctrl-k      delete to end of line
      Ctrl-u      delete to beginning of line
      Alt-d       delete to end of word
      Ctrl-w      delete to beginning of word
      Alt-Backspc same

      cd -        change to last dir
      pushd <dir> mark current dir and go to <dir>
      popd        go to marked dir
      z           fuzzy cd, install from https://github.com/rupa/z
      j           fuzzy cd and more, install via autojump

      Ctrl-z      to background & suspend
      bg          recent background app continue running
      fg          bring recent background app to front
      disown -h   remove recent background app from current tty
      fg %n       bring nth app to front, e.g.: fg %2 for second

      less        better than cat, doesn't flood screen, same keys
      find        find files, e.g. find / -name <filename>

      ag          install via the_silver_searcher, faster grep

      tree        shows dir like a GUI app, install
      !!          last command, e.g. sudo !!
      fish        bash alternative with more sensible defaults

      man bash    read more about bash

<comment><USER6> There is Ctrl-y for pasting deleted strings, which goes along very well with these commands:

      Ctrl-k      delete to end of line
      Ctrl-u      delete to beginning of line
      Alt-d       delete to end of word
      Ctrl-w      delete to beginning of word
      Alt-Backspc same

Bash keybindings behave like Emacs by default, hence every time you invoke one of these, it will put the string into a buffer, which can be later pasted using Ctrl-y.

This is very useful. For instance, if you remembered that you didn't `mkdir /mnt/disk` while in the middle of the command `mount /dev/sdb /mnt/disk`, you can delete what you have already typed with Ctrl-u; issue `mkdir /mnt/disk`; than you can paste the previous command with Ctrl-y. Very useful and I use it all the time! (Ctrl-u have never tied to my muscle memory, so I usually do Ctrl-a Ctrl-k to move to the beginning of the line and delete what comes next).

Other tips:

      cd            goes to home dir
      Ctrl-]        moves cursor to character (such as vim f)
      Ctrl+Meta+]   moves to character backwards (vim F)

I also put these in my .bashrc for searching history pressing up/down.

      "\e[A": history-search-backward
      "\e[B": history-search-forward

This is different of searching with Ctrl-r. When you type part of a command, such as

      mkdir /dev

and press up, it will complete with previous ocurrences of commands starting with `mkdir /dev`. It is faster than Ctrl-r if you already know what to do.

<comment><USER7>
      "\e[A": history-search-backward
      "\e[B": history-search-forward

These have to go in `~/.inputrc`, right?

<comment><USER6> That's right! Sorry for the late reply.

</comment></comment></comment></comment><comment><USER8> The article is nice but a small part of it rubs me the wrong way:

> I know there are some cool newcomers out there like zsh and fish, but after > trying others out I always found that some of my utilities were missing or > ill-replaced.

First of all bash was first released in 1989 and zsh arrived just 1 year later so zsh is in no way a newcomer.

Secondly zsh is almost strictly a bash superset so I don't know what he was missing (or what he found "ill-replaced").

<comment><AUTHOR> I wasn't so much commenting on the release date when I said "newcomers." Mostly commenting on my personal experience. I've been using bash for a long time and only recently have I seen zsh get so popular. It's entirely possible that only the people I know have only recently taken an interest in it.

I would have to run zsh again to remember the pieces that I didn't like. I might have been able to configure my way around it, but I do remember things not working as I expected them to.

<comment><USER8> zsh was quite popular when I first went spelunking in *NIX-land (2005). oh-my- zsh, which was a decent boost to zsh popularity, seems to have been around since 2009 ([http://ohmyz.sh/](http://ohmyz.sh/)).

zsh has always been held back by the "default browser"-syndrome: Linux and Mac OS both come with "good enough" default shells, so few people actually want to go through the effort of switching.

Especially since there is a bit of a learning curve to becoming more productive with zsh than you already are with bash.

<comment><USER9> The problem with installing zch on my desktop is that I won't have it on the servers I SSH into. I need to know the proper spells and incantations that will work on a wide variety of distros and versions, many of which I don't personally maintain. Therefore, bash.

<comment><USER10> Indeed. The same argument applies to other exotic tooling, interesting vim plugins with many dependencies, etc.

It's one reason to keep one's environment relatively standard and boring. Otherwise, one comes to be dependent -- psychologically, at least -- on one's meticulously configured custom environment, and either chafes at its absence elsewhere or spends a great deal of time copying it everywhere.

<comment><USER9> I must admit guilt to dragging my .vimrc and sometimes the whole of ~/.vim/ into machines that I'll be SSHing into for only a short time.

<comment><USER10> Me too. :-)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Regarding macOS and bash, it is slightly remiss of the article to not at least mention that the version of bash in macOS is

1\. Ancient.

2\. Will most likely never be updated by Apple

(Most GNU- and Linux-based systems, and also Windows, on the other hand, continue to use the latest versions.)

<comment><USER12> Why are you saying that Apple will not update bash? Wouldn't that be in the best interest of its users?

<comment><USER11> It would indeed be in the best interest of its users, but Apple has apparently decided that it would not be in _its own_ best interest:

[http://meta.ath0.com/2012/02/05/apples-great-gpl- purge/](http://meta.ath0.com/2012/02/05/apples-great-gpl-purge/)

[…]

 _Anyway, the message is pretty obvious: Apple won't ship anything that's licensed under GPL v3 on OS X. Now, why is that?_

 _There are two big changes in GPL v3. The first is that it explicitly prohibits patent lawsuits against people for actually using the GPL-licensed software you ship. The second is that it carefully prevents TiVoization, locking down hardware so that people can't actually run the software they want._

 _So, which of those things are they planning for OS X, eh?_

 _I'm also intrigued to see how far they are prepared to go with this. They already annoyed and inconvenienced a lot of people with the Samba and GCC removal. Having wooed so many developers to the Mac in the last decade, are they really prepared to throw away all that goodwill by shipping obsolete tools and making it a pain in the ass to upgrade them?_

<comment><USER13> Or, it could just switch the default shell to Z shell. First thing I do on a new Mac, is chsh -> zsh. Ships with an up to date (enough) version of that.

<comment><USER14> zsh was even the default shell for an OS X release, 10.3 or 4 can't remember at this point.

<comment><USER15> Nope, before switching to bash in 10.3, tcsh was the OS X default.

<comment><USER14> Yep looks like you're right, I could have sworn that zsh was after tcsh then bash from there on out. Went looking in my Mac OS X for unix geeks book and it was right on the transition so bad memory no cookie. I'll punish my brain with beer for its transgressions.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> Personally, I found the following to be extremely easy and powerful. A no- brainer that should be a bash default really.

      if [ -t 1 ]
      then
        #   search for commands that start off with the same characters already typed
        bind '"\e[A":history-search-backward'
        bind '"\e[B":history-search-forward'
      fi

One of my friends also recommended version-controlling your config files and storing them on gitlab, which I'm only sad I didn't do sooner. It's been such a help in keeping my aliases and configs in sync, as I make changes across numerous different machines.

<comment><USER17> I'm sorry, can you explain how to use this?

<comment><USER16> Just stick that snippet in your .bashrc file

</comment></comment></comment><comment><USER18> I actually resolved most of that common issues with just bash: :)

 _Substring history search, so you can use just a substring to look for a argument,command. Binded to ctr+r /s by default. ;)

[https://github.com/liloman/asyncBash#use](https://github.com/liloman/asyncBash#use)

_Changing directories: Last n directories, transparent popd/pushd.

[https://github.com/liloman/dirStack](https://github.com/liloman/dirStack)

 _Movements: vim-surround for your cli, so you can do ysiw " o whatever... ;)

[https://github.com/liloman/bash-surround](https://github.com/liloman/bash- surround)

_Control-n right: So just type the start and control+n to search for the arguments/commands starting with whatever. And the classical up/down to look up for a complete history line:

[https://github.com/liloman/dotfiles/blob/master/bash/.inputr...](https://github.com/liloman/dotfiles/blob/master/bash/.inputrc#L234)

[https://github.com/liloman/dotfiles/blob/master/bash/.inputr...](https://github.com/liloman/dotfiles/blob/master/bash/.inputrc#L170)

There're a ton of hidden functionality and customization behind the classical bash instalation. :)

<comment><USER19> That is amazing, thanks for sharing.

I'm gonna steal some ideas from asyncBash

<comment><USER18> I'm glad you liked it. :)

I don't understand why the default bash/readline doesn't get something related for substring search or way better autocompletions, it's really not that hard definitely (actually quite easy) and even when that's the reason for a lot of people to choose zsh over bash.

</comment></comment></comment><comment><USER20> _I also assume you 're using bash. I know there are some cool newcomers out there like zsh and fish_

While there is much useful in this post, I always find comments like this one odd. bash was released back in 1989, zsh was released one year later, in 1990. One year difference in age almost thirty years ago means that you can't really call zsh a newcomer. Maybe he's talking about adoption, though.

<comment><AUTHOR> I was definitely talking about adoption ;-). See my comment [https://news.ycombinator.com/item?id=13400707](https://news.ycombinator.com/item?id=13400707)

</comment></comment><comment><USER21> For changing directories, you can also use something like z ([https://github.com/rupa/z](https://github.com/rupa/z)) to jump around:

           Tracks your most used directories, based on 'frecency'.

           After  a  short  learning  phase, z will take you to the most 'frecent'
           directory that matches ALL of the regexes given on the command line, in
           order.

           For example, z foo bar would match /foo/bar but not /bar/foo.

<comment><USER22> Also fasd, which has a z-compatible interface and does a little more: [https://github.com/clvv/fasd](https://github.com/clvv/fasd)

</comment></comment><comment><USER23> I've tried bash, zsh, and fish. After trying all three, I'm staying with fish. bash and zsh don't have sensible defaults, and configuring them is tedious. fish works great out of the box, and it's really fast. When I picked up zsh I used oh-my-zsh and later prezto, but it was slow and figuring out what everything all the framework did was complicated.

With fish I have a setup.fish script that defines all my universal exports, for when I setup a new computer. This is for private tokens, like HOMEBREW_GITHUB_API_TOKEN. For aliases and utilities, I wrote a fisherman [0] plugin. It has a functions folder and a fishfile for the few other plugins I use.

[0] [https://github.com/fisherman/fisherman](https://github.com/fisherman/fisherman)

<comment><USER24> I use fish too but I'm thinking about switching back to zsh. Mostly due to incompatible software here and there (like nvm) and lack of completions for a lot of cli tools.

<comment><USER23> asdf [0] is a great alternative to nvm. The best part is that it supports multiple languages and it's fast. I use the plugins for elixir, erlang, nodejs, and ruby.

Many CLI tools are missing completions, but I think it's slowly getting better over time. The pros outweigh the cons for me.

[0] [https://github.com/asdf-vm/asdf](https://github.com/asdf-vm/asdf)

[1] [https://github.com/fisherman/fisherman](https://github.com/fisherman/fisherman)

</comment></comment></comment><comment> why-el In the spirit of sharing: one of my favorite lines in my bashrc is the alias of `rm` to `rm -i`. This prompts for a confirmation. You might not need it but I deleted some important, not-yet-checked-in-git files in the past by accident.

If you want to delete everything and don't want to keep typing yes just do `yes | rm bla`.

<comment><USER25> No need to do that: just pass -f. The last flag "wins":

      $ rm -fi blah
      remove blah?
      $ rm -if blah
      $ # confirmation suppressed

<comment><USER26> With GNU rm, you can put the -f at the end, which I do for safety.

      rm -i x y z -f

</comment></comment></comment><comment><USER27> The one tool that saved me quite possibly a few months of typing paths over my lifetime is autojump: [https://github.com/wting/autojump](https://github.com/wting/autojump). I can't imaging a terminal workflow without it.

<comment><USER28> This should be shouted out regulary to anyone using any type of command line until everybody uses it. I cringe everytime I see someone spelling out cd /mega/long/path/to/a/place/i/visit/multiple/times/every/single/day. Ok some of them already know about tab completion, but it just hurts to see that knowing all that's really needed is _j d_ or _z d_ or so.

</comment></comment><comment><USER29> One that I learned from Mr. Robot: put a space before the command to avoid being registered in the history.

<comment><USER30> That only works if $HISTCONTROL includes "ignorespace" or "ignoreboth".

</comment></comment><comment><USER31> > "tool that every developer uses regardless of language, platform, or > framework it's the terminal"

I'm not sure I agree with that. If you work in a decent IDE and your vcs is not git then you can do pretty well without a terminal. Especially on Windows.

</comment><comment><USER32> Worth it just for finding out about `stty -ixon`. I never would have guessed from the `stty` man page description that this option would give me back C-s and C-q to bind to something actually useful.

<comment><USER33> It is described perfectly, but it does presume the reader knows the meaning of "XON/XOFF flow control".

Whether the reader knows that meaning immediately is a rather good proxy for just how long they have been working and/or playing with computers. Long ago, in a world of RS-232 connected display terminals and/or analog telephone modems, one became _very_ familiar with "XON/XOFF flow control".

</comment></comment><comment><USER34> bash (and shells in general) are so hacky (in a bad way) that I wouldn't want to waste my time mastering them. Whenever a shell script grows beyond 10 or 20 lines, I try to rewrite it in a "real" programming language. Fancy shell tricks are a code smell to me, and clarity and simplicity are of far greater importance.

For me, as far as shells go it's usually enough to know the basics and be able to look stuff up when debugging other people's shell scripts.

<comment><USER35> While I understand this sentiment, I think it's a point that needs a bit more thought; it's not a black and white issue.

On my personal machines, I often find places where I want to either clean up my desktop experience or automate some workflow, where I break some shell out. Most of the time, the overhead to drop into an actual programming language is quite heavy, and even though I try to comment my scripts and write them in a maintainable fashion, I only end up editing them maybe a few times a year.

I feel like discouraging shell scripts is part of what's driving us to seek increasingly heavyweight solutions like systemd in our architecture. Sometimes a lightweight environment where we trust the programmer is needed.

<comment><USER34> I'm about as anti-systemd as you can get, but I also cringe whenever I look at some of those massive, convoluted shell scripts in SysVinit. There is a middle path, with runit[1], which mostly uses short, simple shell scripts for its process initialization and supervision.

Brevity and simplicity are really the keys when it comes to shell scripts. I really don't have a problem with them if they're short and don't try to be too clever. Whenever I've let my shell scripts get long or complicated, I've always regretted it, and always wound up rewriting them in a "real" programming language anyway, and then realizing that I would have been better off rewriting them much earlier, as soon as they'd outgrown the short, simple stage.

There's no shortage of relatively light-weight "real" programming languages like Perl, Python, Ruby, Lua, and Go -- for even moderately sophisticated tasks, all of them would be better choices than shell scripting.

[1] - [http://smarden.org/runit/](http://smarden.org/runit/)

</comment></comment></comment><comment><USER36> I love `set -o vi`. It gives you vim motion in the terminal.

</comment><comment><USER37> Instead of ctrl-z and bg why not just do # <cmd> & to push it to the background.

<comment> number-sequence I don't know if you can bring a process back to the foreground using the

<comment><USER37> it does work. I just tried it.

#> watch -n 1 dmesg & #> fg -- brought it back

</comment></comment></comment><comment><USER38> On macOS, instead of

        ip addr show en0 | grep -inet\ | awk '{ print $3 }' | awk -F/ '{print $1}' | pbcopy

you can use:

        ipconfig getifaddr en0

If you wanna stick with ip addr, a more compact command is:

        ip addr show en0 | awk '/inet/{split($2,a,"/"); print a[1]}'

</comment><comment><USER39> One thing I am struggling with is that when I use several terminal windows then the history is not recorded immediately and history from one window is not available in other windows. Some time ago I was looking up how to solve this but didn't find a solution that would work for me.

<comment><USER40> This bugs me as well. I use a tiling windows manager, so terminal windows are completely disposable to me, and I'll open and close them at will, often having double digit terminals open across 10 desktops.

My bash history does not reflect my use of multiple terminals.

</comment></comment><comment><USER41> About bindings, it would have been better to redirect to:

LESS=+/"DEFAULT KEY BINDINGS" man readline

assuming it exists on mac.

About suspend, what's the benefit of suspending vim using C-z? Shouldn't you use a terminal multiplexer instead, or even terminal tabs if you don't want to learn how to use tmux or screen (which I find weird if you already spent time to learn how to use vim but alright)?

I only ever suspend a program when I want it to stop, for instance because it slows other programs and I realize I would rather resume it when I'm not in front of my computer. Even in that case, I often just renice the program instead. Stopping a program just because you want to run some bash commands looks like an anti-pattern to me, but maybe there are better motives I'm not aware of.

<comment><AUTHOR> I use tmux. The benefit of using suspend is not having to move around multiple windows/tabs. I try to keep those to a minimum (usually one or two). With suspend I can stick with the same tmux window for editing and cli within the same context. It's a personal preference over managing multiple windows.

<comment><USER41> To stay on the same window I would personally use a split-window depending on the size of the display. I didn't think about the context though, good point!

</comment></comment></comment><comment><USER42> Rather than trying to remember all those commands for moving around in your command, I recommend turning on vim mode for the command line, and remapping ESC to "jk".

bindkey -v bindkey -M viins 'jk' vi-cmd-mode

Then you can edit your command line the same way you would edit a line in vim.

<comment><USER43> But come on, the default mode is "emacs" for a reason.

</comment></comment><comment><USER44> Those Emacs commands you mention for moving around on the line also work in a lot of other text fields, in a lot of other programs.

Notably they don't work in MS Office, but they work in web browsers and practically every other app I have on my Mac.

<comment><USER45> They work in so many things because they're the default keybindings for the movement commands in readline. So anything using readline gets them for free.

</comment></comment><comment><USER46> I'm curious about the popularity of Bash vis a vis, say, Csh. Is Bash more popular due to superior features, or is simply because it is the default on quite a few *nix distros (and macOS)?

<comment><USER34> I used to use zsh way back in the day because it was clearly superior to bash, then decades ago switched to bash because it was everywhere by default and my job involved using lots of computers that only had bash on them, then about 4 or 5 years ago I switched back to zsh because I realized that it really didn't matter that I used zsh on my own machine and bash on others, and zsh was still better than bash.

These days bash seems to have a lot closer feature parity to zsh, and I'd be curious to read an up-to-date comparison of both shells to determine if either is clearly better than the other.

</comment></comment><comment><USER47> > _If there is one tool that every developer uses regardless of language, > platform, or framework it 's the terminal._

Sounds like the author never heard of Windows development.

</comment><comment><USER48> > Now that we know we don't need the up and down arrow keys, what about the > left and right? Unfortunately, these keys are still needed for single > character movements...

What? No. Use Ctrl-f and Ctrl-b. I use this probably more than any other readline shortcut.

Ctrl-h for backspace, Ctrl-d for delete. Half my keyboards don't even have arrow keys and I don't miss them.

</comment><comment><USER11> > _8\. alt-w - delete the word behind of the cursor_

He means "ctrl-w". But since that only works in bash, not in Emacs or other tools with Emacs key bindings, it makes more sense to use (in his terminology) "alt-backspace". This does the same thing, and works _both_ in the shell and in Emacs-like environments.

<comment><USER49> Another advantage to using alt-backspace over ctrl-w is that the former has the same semantics as alt-b. ctrl-w considers a word to be anything surrounded by spaces, whereas alt-b and alt-backspace consider a word to be any consecutive string of word characters.

</comment></comment><comment><USER50> Another trick is to use "!!" which is the last command launched, especially useful if you forgot a "sudo" in front of your command, just write

      sudo !!

In the same way, "!*" is all the arguments of your previous command, and "!$" only the last one.

<comment><USER51> Came here to mention the sudo-bang-bang trick, which really has the best name of all the commands I know.

</comment></comment><comment><USER25> Regarding history, another simple trick is to increase $HISTSIZE and $HISTFILESIZE, for the defaults are woefully tiny for 2017. I set mine to a million. You could have 100 terminals open and they would still consume less RAM than <insert "native" Electron app(s) of your choice>.

</comment><comment><USER52> Personally I found "Learn Enough Command Line to Be Dangerous" to be really helpful to get started with actually using the command line at all.

[https://www.learnenough.com/command-line- tutorial](https://www.learnenough.com/command-line-tutorial)

</comment><comment><USER53> It's missing my favourite: CTRL + _ for Undo.

Also there's a big difference between Alt + Backspc and Ctrl + w. The first will delete a word consisting of only alphanumerics, while Ctrl + w also deletes the word, but word can be made of any characters other than space.

</comment><comment><USER54> > Now that we know we don't need the up and down arrow keys, what about the > left and right? Unfortunately, these keys are still needed for single > character movements

Don't ctrl-f and ctrl-b work?

</comment><comment><USER55> I would suggest [https://github.com/BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep) over ag

</comment><comment><USER56> When going past something with ctrl+r, use backspace rather than ctrl+s. less has movements similar to vim. In less, hit v to open the file in your editor.

</comment><comment><USER57> Also:

Alt-l converts next word to lowercase

Alt-u converts next work to uppercase

</comment><comment><USER58> A very usefull command is Alt-m. This command repeat the last digited string in the current line. It only works in ZSH.

</comment><comment><USER59> Tipp for OSX-Terminal:

Option + Cursor-Left/Cursor-Right to jump words

</comment><comment><USER60> I never knew of `cd -` before -- very useful!

</comment><comment><USER61> Kindly help me out on how to learn this tool in Windows10 without using VM?

</comment><comment><USER5> tl:dr

      ctrl-r     search in history, ctrl-r again to skip-
      ctrl-p     previous command (instead of arrow up)
      ctri-n

</comment><comment><USER62> I recommend to install mc (Midnigth Commander) and bash-completion (if bash is your shell of choice) as first terminal tools.

mc allows to explore system efficiently while not standing in my way, because I can always press ctrl-O and get my shell back.

bash-completion saves time on typing of commands.

Other tools I install often are htop (better ps) and strace.

<comment><USER63> all of these are my go-to tools. I also edit inputrc to make pgup and pgdn history search - something I picked up from SuSE version 15 years ago, and stuck.

<comment><USER64> would you mind to share and elaborate a bit. tq.

</comment></comment></comment><comment><USER65> It would be good to mention that this article is MacOS centric.

<comment><AUTHOR> I use most of it on both GNU Linux and Mac. I have installed coreutils (GNU bins) and bash v4.4.5 via homebrew on Mac. It's probably safer to say these are more specific to Linux.

</comment></comment><comment><USER66> Seriously you can get on fi(r)st page of HN with 5% of man bash?

<comment><USER67> Consider for a moment that it might be better written and explained than man bash.

<comment><USER68> Which is quite sad, if you think about it.

<comment><USER69> If one thinks about it, one realizes that there's a difference between tutorials/guides and reference doco, and the world is happy to have _both_.</comment></comment></comment></comment>


Hackers target WHO as coronavirus cyberattacks spike - <AUTHOR> https://www.reuters.com/article/us-health-coronavirus-who-hack-exclusive/exclusive-elite-hackers-target-who-as-coronavirus-cyberattacks-spike-idUSKBN21A3BN <comment><USER2> Spanish police reported targeted ransomware attacks to hospitals and clinics. The lure are emails pretending to be updated covid medical information. It is very sad somebody out there is willing to try this right now.

<comment><USER3> It would be very interesting to know where these funds end up, and whose initiative it is. Clearly it is organized.

<comment><USER4> If I read between the lines, you want to say "state-sponsored"?

Maybe it is, but criminals be criminalin'. A ransomware author probably has a warped mind and is always looking to see what bait would get him the most clicks.

</comment></comment></comment><comment><USER5> Which domain registrars do these attackers use? Where do they host? Are they, perhaps, helped by large CDN providers happy to anonymize their traffic?

I'm not saying that I would like to see anonymity become impossible online. But I am predicting that if people die as infrastructure or institutions succumb to attacks mediated by such services, they will no longer be allowed to throw up their hands and pretend to be incapable of making the most obvious judgements of the customers they serve.

I haven't heard of a single service requiring anonymity for a legitimate purpose in any democracy. Maybe there are oppositional blogs in Iran and China with actual impact? If you believe so, that ability will soon go away if everyone continues tolerating a situation where 99%+ of the use of this freedom is for nefarious purposes.

The Pirate Bay and Sci-Hub haven't survived because they are they are technologically more sophisticated than everyone else. They are benefactors of a certain twilight zone, where societies may have rules but not quite enough motivation to expend their power on fully enforcing them. But if, in that twilight zone, things are allowed to flourish that escape the niche and harm people out in daylight, things will change almost instantly.

It's trivially easy to detect domain names intended to mislead: whó.net, or paypál.com. Banning those might be a good first step. There may be borderline cases, but that doesn't prevent anyone from acting on the obvious ones, in the same way that I can confidently say that Yosemite is a forest and a parking lot is not, even though I might not be able to define the exact number of trees required for a forest.

<comment><USER6> > It's trivially easy to detect domain names intended to mislead: whó.net, or > paypál.com

I've written a linux kernel filter that let's you do blocking for this exact case few weeks ago. no performance overhead since it uses the NFQUEUE/NFNETLINK kernel subsystems. I was pretty sure I'd be the only one ever using this but seems that hospitals or anyone who wants to block this on a gateway level would benefit. [https://github.com/DyslexicAtheist/nfq/](https://github.com/DyslexicAtheist/nfq/)

</comment></comment><comment><USER7> Any idea how are other businesses affected by this? Especially business that didn't provide WFH before this happens. My assumption is that they didn't have enough time to tighten their VPN's security.</comment>


Ask HN: Is an interdisciplinary career worth it? - <AUTHOR> Warning: typed on my phone.
I graduated my CS master. I like programming but don't love it. I get a bit scared to think about that I have to do it for 8 hours per day like I am doing now at a startup. The stress is insanely high and my performance is clearly affected when I sleep terrible (which I sometimes do) at this place. Also: the field of programming is either relatively easy but overbearing managers/stress (CRUD) or hard (Dijkstra's algorithm) or insanely hard (instrumenting a binary programs and applying a symbolic execution on it and an SMT solver to crack a program — see https://github.com/JonathanSalwan/Triton).
Moreover, I think it is cognitively a tougher job to do than say UX design or marketing. These disciplines also interest me despite having almost no formal training in them from an educational institution  (UX - 3 months, marketing - 2 months).
Relatively successful people that I know say a couple of things:
1. The bulls have raged there should be a.m. economic downturn within the next 5 years. If you get a good job now you're fine, otherwise you aren't.
2. Don't job hop you are near 30 years old.
3. Specialize and work at one company for at least 3 years .
4. Don't become an entrepreneur.
My question: what are your experiences in job hopping and gaining interdisciplinary skills? Is it worth it in hindsight? <comment><USER3> I get bored easily at last count I have changed disciplines 10 times. I tend to take on jobs where I need to learn new skills like crazy to get up to speed with my new peers. Along the way I have also dabbled in starting up businesses in addition to job hopping.

In hindsight my income has been far less than if I had stuck out with my first career and chased promotions into management. But there is far more to life than money. I have had masses of great experiences and made far more friends along the way than if I had stuck with a single industry.

I don't regret the many changes that I have made. BUT ... most of my relatives (not my wife) think that I should have focused on having a great career and had earned far more money. But that's their value system talking.

So when you ask: "Is it worth it?" \- it depends on your priorities and values.

<comment><USER4> > there is far more to life than money

I feel like this is a sentiment that is often missed on HN. So many postings talk about job hopping to optimize money.

To OP, i suggest finding a small company that makes physical products. They will always need people who are jacks of all trades. To me that keeps it interesting.

<comment><USER3> Funny you should mention that. It is exactly what my latest consulting business is focused on. There is far less competition in the space where you need skills and experience in making smart physical products.

</comment></comment></comment><comment><USER5> I've jumped disciplines and jobs quite a bit and can say, the manager stress issues are more related to your discovery that you were just fine getting things done up to this point without a manager, and now that you are on someone else's dime, they believe you need someone who is also seen as an expense, and their performance is guaged by their superiors by the amount of work they can load you with under pressure and convince their superior that their management position is highly important.

In reality, they are scared of losing the position they have and feel vulnerable because they are not as critical to the company's core business product which is software I assume, and it is being written by you.

Talk to your manager and let them know you understand they are pressured too and that you are feeling pressure and try to find an alliance. Let them understand if they treat you well you will give them praise and credit for things that demonstrate to whoever is breathing down their neck that they don't need to worry.

Maybe they will stop. If they have no superior and this is their personality in general and it is a constant pressure style then you will be leaving eventually whether you think you should or not.

That personality exists in every occupation and field and nothing you can do, but try to take them less seriously and look for roles in your free time without telling them this. Make sure if you interview somewhere else you pay attention to the type of manager you may be getting at the new job. I've only encountered 2-3 really bad ones and now that I'm more experienced in life I believe there is a possible way to manage them in a way without making them feel threatened, and teach them that pressuring you will not work - <USER2> practically because it makes your work suffer or because you will stop being concerned by their pressure.

Hope this is helpful.

<comment><USER3> I know that it is extremely difficult, but it really helps if you can handle losing a job. In my experiences with bad managers, not feeling vulnerable allowed me to push back and in all but one case I didn't get fired. In the one case, I was paid a substantial amount to leave quietly and immediately. My co- workers could see through the charade when I shouted my own farewell lunch at the local pub and denied everything.

</comment></comment><comment><USER6> I've been a graphic designer for a photo lab, a php code monkey, an insurance agent, a financial advisor, a construction worker, a high school math teacher, and, for the longest stretch (over 7yrs), a software developer. The php code monkey part was a short stint in university and I kept up some skills since then until being a "real" developer.

Feels like a lot for someone who is in their mid thirties. I've been blessed by working at the company I do. I could not imagine doing anything else. The pay is great. I'm surrounded by smart people who I enjoy. I have a greater work life balance than any of the other jobs I've had. Construction work did not follow me home, so there's that.

I've gained better people skills and presentation skills via my earlier jobs. I've gained enough "handiness" to do projects around the house. These things are part of who I am and I value them. I would also have valued making _way_ more money during my twenties and being able to better support my young family.

Learn lots. Learn varied things. Much of that can be done as hobbies though. Pay the bills. Save for retirement. Have financial security.

</comment><comment><USER7> Do whatever makes you happy man, I think the advice other people have given you might make sense in their lives but not necessary other peoples. Just to counter the advice you've been given - I've job hopped, I'm over 30, and I've never been happier with my career. I wouldn't be in the job I have now if I didn't have interdisciplinary skills, I think it's made my skillset more unique. I'm reminded of a Hunter S. Thomson quote about finding the right path - "Let's assume that you think you have a choice of eight paths to follow (all pre-defined paths, of course). And let's assume that you can't see any real purpose in any of the eight. THEN— and here is the essence of all I've said— you MUST FIND A NINTH PATH".

Find your own way friend!

<comment><AUTHOR> I wonder, what is it that you do? From an interdisciplinary standpoint.

</comment></comment><comment><USER8> I hopped around different industries quite a bit in the start of my career until I found a non-programming domain I felt want to focus on, and I've stuck with that for the past 10-12 years, spending at least 5 years at each company I've been at.

Had I been 'forced' to just write programs in the void solving problems I didn't care about I would have quit programming a long time ago. Now I get to solve interesting problems I care about (just so happens that I use programming and data analysis to do so). Also showing up at job interview and being able to say "I grok the domain you're operating in and find in fascinating, and I happen to know how to code" puts me way ahead of people who just know how to code.

The downside is there are only 6-8 companies where I live that work in this particular domain, but so far that hasn't been a problem.

</comment><comment><USER9> The job where I lasted the longest (4 and a half years) is where I learned the most, but it also screwed me wages wise as I was promised promotions that never happened. Job hopping is a pain in the arse but does tend to improve your wages faster than sticking it out ion one place.

</comment><comment><USER10> > I graduated my CS master. I like programming but don't love it. I get a bit > scared to think about that I have to do it for 8 hours per day like I am > doing now at a startup. The stress is insanely high and my performance is > clearly affected when I sleep terrible (which I sometimes do) at this place. > Also

Is this also your first job?

My experience has been: stress mostly relates to the expectations and attitudes of the people around me, rather than the technical difficulty of what I'm doing. (Technical challenges are fun, provided I get time and space to work on them).

Exploring other things might be great, but if the stress is "insanely high," it might be this particular job that's the immediate problem.

</comment><comment><USER11> I've job hopped for the last 20 years, spending between 1 and 5 years in each job. I'd be more concerned about approaching 50 than 30.

Programmers should be more valuable in a downturn if you can help businesses optimise and save time and money. Help people do more for less.

Don't set out to be an entrepreneur, instead talk to people and an opportunity will present itself in a problem you can solve and monetise.

</comment><comment><USER5> Ps: You already have multidisciplinary skills, you just are currently earning a living with the technical skill you now have based on skills you used while learned how to program and getting your degrees etc.

</comment><comment><USER5> I also agree with cyberfonic completely.</comment>


Facebook Is Using You - <AUTHOR> http://www.nytimes.com/2012/02/05/opinion/sunday/facebook-is-using-you.html?_r=1&hp <comment><USER2> I think this is a terrible headline that masks an interesting philosophical debate. Especially at this community, we feel we intuitively understand that we get the convenience and social value from Facebook for $0, and we pay in our personal data they use to serve up advertisements. That to me is hardly newsworthy and a relatively uninteresting piece.

But- there is an interesting question in what is an appropriate use of our personal data w.r.t credit ratings, financial decisions, etc... Just like there are anti-discrimination laws that prevent mortgage servicers from altering policies based on race, perhaps there should be other walls to keep separate how our data can be used financially.

This is a question the NY Times should've posed instead of this clearly linkbaity uninteresting headline.

<comment><USER3> This was also my immediate reaction, agreed. I wrote an article a while ago that talks about a similar thing, but concludes more along those lines - facebook offers us the service for free, and as far as we know they do not sell our personal data. Until they do, we don't need to worry.

<http://carrotblog.com/facebook-is-watching-you/>

<comment><USER4> Psst. We know they sell our personal data. Start worrying!

[http://www.forbes.com/sites/kashmirhill/2011/11/29/facebooks...](http://www.forbes.com/sites/kashmirhill/2011/11/29/facebooks- mark-zuckerberg-weve-made-a-bunch-of-mistakes/)

HN Thread: <http://news.ycombinator.com/item?id=3292225>

"Facebook promised users that it would not share their personal information with advertisers. It did."

I wonder why so few news sites picked up on this.

</comment></comment></comment><comment><USER5> This is what Freedombox is for (also Diaspora). Freedombox is one of the few projects I make time to contribute to. I'm surprised it isn't one of the more popular projects among this community.

Anyway, here are some links and background if you aren't familiar with it. From <http://freedomboxfoundation.org> and <http://freedomboxfoundation.org/learn>

What is FreedomBox?

        Email and telecommunications that protects privacy and resists eavesdropping

        A publishing platform that resists oppression and censorship.

        An organizing tool for democratic activists in hostile regimes.

        An emergency communication network in times of crisis.

If you live near New York City, there will be a hack-fest February 18, 19, 20 (more information in first link above). I hope to see you there.

<comment><USER6> I follow a few high profile tech news source, but I never heard of Freedombox.

One major worry I have about decentralized systems is crackers. It's hard enough to secure centralized systems using proprietary code behind firewalls managed by an army of experts. How can a decentralized system possibly avoid becoming a 0day distributed botnet?

<comment><USER7> > It's hard enough to secure centralized systems using proprietary code behind > firewalls managed by an army of experts. How can a decentralized system > possibly avoid becoming a 0day distributed botnet?

I do not understand your concern.

Centralized systems are easier to crack, not harder. Proprietary code may or may not be easier to crack, but I'd lean towards easier. Distributed systems do not require you to not have firewalls. Distributed systems do not require you to not have experts managing them. Nodes of a distributed system do not have to obey the commands of other nodes or have a central control mechanism.

How would a decentralized system ever become a 0day botnet?

<comment><USER6> The point of Freedombox is that everyone has his data in his own home. If average Joe wants to share this data with his friends, average Joe is going to run a server in his home. If the server code has a 0day exploit, average Joe server easily becomes a node in a botnet.

How do you address the problem of managing a fleet of 800 Million servers running in 800 Million homes? Who are the experts that manage this problem and who finances their work? Why would average Joe trust them with his data? What is the technical device through which they have admin access to 800 Million servers in 800 Million homes?

<comment><USER7> That may be the setup of that project, but it isn't the status of every decentralized system. A decentralized system could as easily be funded by individual users buying hosted space with professional admins.

I don't see the 0day exploit window of one additional application running on local users' boxes to be much cause for alarm. Somehow we muddled through decades of Windows boxes with everyone joining the Borg.

</comment></comment></comment></comment></comment><comment><USER8> I don't see that many merits in the views expressed in this article.

You are using Facebook, and Facebook is using you and your data.

"Using you" has a negative connotation, like a bad relationship. So what does Facebook do to "use you"? It shows tailored advertisements. By that standard, nearly every commercial entity on the web is "using you".

The article continues with non-Facebook-specific privacy issues, mostly focussing on law enforcement being able to access your data. If you got a problem with that you should take it up with your representation, not with those that simply comply with the law.

The problems with data aggregation are correctly identified, but not specific nor directly related to Facebook.

If an employer won't give you a job, because she found a drunk picture of you on your public profile, I really see only two people at fault: You yourself, and your employer (and maybe your local laws that allow for this to happen).

I think it is weak to point the finger at Facebook, when all they seem to do is facilitate you and others to give them data voluntarily.

<comment><USER9> Your example of the profile picture misses the larger issue - this data is not perfect and people have natural biases in their judgement. Does the situation change if the employer based her discrimination claim on stated relationship status or sexual orientation (illegally, yes)? What if that status is based not on overt information, but on your friends and relationship status?

This kind of discrimination is difficult to prove. If I'm hiring and have a large enough labor pool (say, retail in an area with high unemployment), I can apply this to each resume that comes in, never responding to those who didn't pass the test.

Anyway, using Facebook as the lead and straw man is flamebaid but, hey, it reached the top of HN.

<comment><USER10> In the US, I don't think its illegal at the federal level to discriminate on sexual orientation. Some states though have laws granting protection.

</comment></comment></comment><comment><USER11> I think the article's main point succeeds on the merits: while we have a variety of statutory and regulatory mechanisms in place to make sure that things like credit reports are compiled in a fair manner we have no such mechanisms for the likes of LexisNexis, ChoicePoint, Facebook, Google, etc., etc.

I don't think its unreasonable to want some assurances that my creepy neighbor can't purchase my web history or FB data. Less facetiously, at the very least, I should be informed when an adverse decision has been based upon this information and should have a chance to review it periodically.

</comment><comment><USER10> Somehow I feel this article hasn't gone through an editor.

Here are a few examples:

> In Europe, laws give people the right to know what data companies have about > them, but that is not the case in the United States.

This sentence primes the audience for a discussion of the laws, but that anticipation is never fulfilled. The article jumps to a new topic immediately.

> Ads that pop up on your screen might seem useful, or at worst, a nuisance. > But they are much more than that. The bits and bytes about your life can > easily be used against you. Whether you can obtain a job, credit or > insurance can be based on your digital doppelgänger — and you may never know > why you've been turned down.

Yes advertising uses the same 'bits and bytes' about your life to determine targeted ads, but you can't co-mingle the idea of advertising and the drastic case of being turned down on insurance because of a Facebook posting you made.

The premise of the article is that Facebook uses you, in that they use your personal data. It's true, but they use your data for _advertisement_ and not for the other more troubling purposes the article talks about.

The author appears to want to set up a slippery slope argument by saying that simply because a market exists for personal data beyond advertising, then Facebook will either (a) sell their corpus to those companies that already provide the service or (b) start providing those services themselves.

It's possible, but there's no evidence suggesting that it is occurring already or is likely to occur in the future---businesses don't enter new industries merely because they can; there's always a cost to diversifying and for Facebook the cost of selling user-data to let employers make hiring decisions is the loss of their dominance in social networking. Once its known that the information you give you Facebook can be used for more than advertising, people likely will stop giving that information. Facebook can make a one-time sale, but loses on the chance to continue reaping ad-profits.

Why would they kill their cash-cow and core business just for dubious short- term gain?

</comment><comment><USER12> First, the headline doesn't represent the content very well. It should be Others May Use Data They Glean About You From Facebook.

Secondly, I guess there's a fine line between "stereotyping" and statistics, isn't there?

Thirdly, the author looks at some of the worst offenses of this type of mining and seems to extrapolate it as the norm. FUD mongering.

<comment><USER13> Statistics teaches us that there is not a fine line at any boundary; there is wide fuzzy gradient.

</comment></comment><comment><USER14> This is somewhat disingenuous given that the entire commercial media industry does this, it's just that they aren't quite so efficient.

If you've not ever worked in the media it's easy to underestimate the lengths they go to to work out who is consuming what and how to better channel ads at the lucrative targets, or how astonishingly detailed their information actually is. Your cable provider is probably far more evil than you imagine.

<comment><USER15> Not to mention that the NY Times (the publisher of this article) probably collects a lot of information about their on-line readers. They know what articles you've read, what ads you've clicked on, what comments you've left on their site, where you live (based on your IP address and/or your billing address), approximately what your income is (based on your ZIP code), and that you found this article through Hacker News. And if you're a paid subscriber, they know your real name.

</comment></comment><comment><USER16> The article is a litany of citationless speculation. The things the writer mentions _could_ happen. But then, many things fit that description.

More to the point, companies that draw the wrong conclusions from data they have – changing credit limits without merit, targeting ads wrongly – will not be helping themselves.

And it goes without saying, for me anyway, that putting information online means putting it online. I don't assume that Facebook's interests are mine.

To me, the definition of "my data" is not claiming ownership of bits on FB's servers. It means that if it's on the Internet, it's because I put it there, caveat emptor.

</comment><comment><USER17> Financial institutions are using all available data to improve estimations of creditworthiness. The Horror!

I don't support the implicit assumption that it is better to err on the side of leniency when it comes to credit provision. Inadequate information was as responsible as lack of oversight for causing the financial crisis. Racial discrimination is also a flawed analogy -- that was a case of using traits that had no bearing on credit risk to calculate a deliberately false appraisal, whereas using data on online activity is far more akin to the practice of requiring bank statements.

Granted, mistakes could very likely be made, but so far the author presents no evidence that using such information is any worse than other means of estimating credit.

</comment><comment><USER18> Its a very good article although the title should include Google, American Express and NebuAd. I am aware of Facebook, Google and Cerdit card companies using personal data to perform business functions. However I am quite alarmed by the incident mentioned in the article where six ISPs sold personal data. I have never heard about it before, and am wondering how common is this practice.

</comment><comment><USER19> Question: why isn't my data's copyright owned by me? I should have the same rights over my data (my searches, my browsing history, relationships, etc.) as an artist has over his creations. And they (companies that use this information or trade in it) should have to pay me to use it.

<comment><USER20> they do just not in a monetary form, but by letting you use their services for free. it cost more to run, for example Facebook site, than $1.

<comment><USER21> that's true. but then again, how much would their service be worth without the user's generated content?

<comment><USER22> How much would their service be worth to you without other user's generated content? If it's more important to you to see other people's content than you putting out your content, then you should be the one paying them to access other's content.

</comment></comment></comment></comment><comment><USER23> The use of our data for purposes beyond advertizing is definitely a rapidly brewing storm. I already get emails from pretty looking web services offering sometimes dubious claims of magical insight, if only I send them a list of emails I want checked out. I expect the reach of those claims will only continue to broaden.

At the heart of the problem is that the sharing of data is assymetric, which will prevent market forces from weeding out services that don't put a premium on ensuring their data is even accurate, let alone whether their conclusions are sound. In other words, I have no idea who is sharing what about me, or how it is actually affecting the decisions being made around me. Employers, banks, etc, don't do a post game wrap up where they show you the data mining services they use, and what they say about you (relevant aside: when I get these data mining pitches emailed to me, where did they get my email, and why do they think I may be interested in these services? I have no way of knowing). I may be able to curate my facebook data, but I can't curate an augean stable of ever changing services that I don't even use, or know exist.

</comment><comment><USER24> Seeing how a lot of people on Facebook use fake names, I don't how the information Facebook provides for potential data buyers can be deemed as trustworthy enough to be used to lower credit ratings, or as basis for hiring. Granted, if a person has a history of bad-mouthing previous employers (which is the person's responsibility in the first place), it can be used against the person. But that can happen if an employer connects with the potential employee and checks the ever-helpful Timeline, without Facebook having to sell the data.

</comment><comment><USER25> I thought this was old news? Really old news.

<comment><USER11> To us, perhaps, but not to the average NYT reader.

</comment></comment><comment><USER26> I find it perverted that people are angry about Facebook but illegal warrantless mass surveillance of every citizen in the US doesn't generate a comparable outcry.

Facebook does nothing to violate your privacy. The FBI intentionally spying on you without your consent or knowledge IS a violation of privacy.

</comment><comment><USER27> I hope the NY Times considers "Facebook sells access to you" and "data mining can have unfair consequences when exploited by unaccountable credit rating agencies" to be facts that are not new, but are worth repeating again and again.

</comment><comment><USER28> Well the credit card example is not new. I remember reading, in the NYTimes, about several people who had their credit limits reduced significantly after the 2008 crash, and the reasoning they were told was the type of places they used their credit cards, and usually it had to do with certain bars in certain neighborhoods where many others who used those establishments defaulted on their credit card bills. I believe the other method employed by these banks were to increase the minimum payment substantially as well.

This article does not really reveal anything that has not been already well documented, and most likely on the NYTImes.

</comment><comment><USER29> There have been a lot of stories like this one and they usually show up on HN. This one is particularly good at drawing out the consequences.

But as these stories become more commonplace and the general public becomes informed of the true Facebook, I'm wondering if there will actually be people that care.

I can see as the kids that grew up on Google and Facebook become older that the idea of "privacy" becomes more obsolete and that they inherently trust the algorithms because they have always worked for them in the past.

I'm not saying that I agree with this and that I hope this is how it turns out, But maybe The Zuck is right after all.

</comment><comment><USER30> In an information economy, a data mine has the same value that an oil, iron, or coal mine has in an industrial economy. The great data aggregators-- Facebook, Google, Twitter, et al.--will be the robber barons of the information economy because they own-and therefore control access to-the data mines.

</comment><comment><USER31> The simplest opt-in/out I think would be satisfactory would be to limit the amount of data they can associate with me to an arbitrary time period (six months sounds about right).

I think there has to be a price to pay from the data aggregator side if they want information associated with my 'real' identity.

<comment><USER26> Facebook is opt-in/opt-out. You don't have to create an account and start adding a bunch of personal information to it.

If you're actually concerned about people destroying your data after six months, why are you giving it to people lacking such an agreement?

<comment><USER31> Yes at a simple level you're right, but you could use the same argument about lots of things, for example I could opt-out of using the Internet but that should not give ISPs carte blanche with my personal data.

As to your question, I use FB fairly cautiously and I'd also rather not exclude myself from a social forum which friends prefer to use.

What I'm suggesting is a simple compromise, rather than give social networks an unlimited license to my data I'm happy to give them a more limited one.

</comment></comment></comment><comment><USER32> Reading the Times' headline I can't help thinking of the grammatical difference between 'use' and 'utilize', which turns on what the intended purpose of the object is.

Which of course raises the question, what is the _intended purpose_ of a facebook user…?

</comment><comment><USER33> I wonder if Facebook would ever consider charging people to only to get rid of the ads.

<comment><USER13> That's more complicated than just using Adblock and is bad PR in the message it sends. If you mean charging to not "use" your data at all, that is an ill- formed concept, given the nature of the business as a sharing service. No friend recs? No featured suggestions? What about using data you give to a friend that they choose to give to facebook -- that there is all your data

<comment><USER34> Some sites (like deviantArt) do successfully upsell to premium accounts, where one of the many features is no more ads. (And they actually advertise "no more ads!" to encourage upsells, though they advertise other features too.) Only a tiny portion of internet users have heard of adblock let alone use it, sadly (or perhaps not sadly if you think ad-driven companies like Google have made a lasting positive effect on the world), and even if they've heard of it forking over a credit card number may be conceptually easier than installing an addon or calling their "computer whiz nephew" to come over and do it.

Anyway, one way Facebook could do this is by upselling to an account where you have access to a database table or key-value file (or mixed) showing you all the data they have about you (not necessarily use). They could further upsell you on using your data for a particular function or not using your data for a particular function, showing you the documentation to the various functions in question. e.g. an option called "Send to credit agencies" (which you can pay $5 to turn off) when expanded highlights the particular data or sections of the data it sends to which agencies. Indeed, there may even be code it can take the docs from:

        /**
         * Sends user's Account Data (username, full name, address if provided, etc.) and a credit score estimate determined by @See otherfunc to EquiFax.
        */
        function send2equifax($account_data) { }

Or, you know, something simpler like how oAuth permissions are granted. But considering the likely target market for significant data restriction upsells, customers are probably pretty technical and can handle the specifics.

</comment></comment></comment><comment><USER35> Wait… Facebook is a… business?!

Seriously though. Facebook is a for profit company. I don't really think thats wrong or even ambiguous?

</comment><comment><USER36> It IS using you and if you aren't smart enough to figure that out then you're living in a bubble universe.

FB is an awful, monstrous growth on society. I'm sorry if this sounds like an over-reaction, but its pure, undiluted evil. Its reach is just way far too pervasive and the tracking on non-members is just plain illegal as far as I'm concerned. Unfortunately, people seem to have come to believe that society couldn't exist without it.

I'm (vainly probably) hoping that the flotation will, ultimately, be its downfall. Even existing toothless Regulation might scupper its share value enough to make it an obvious bubble investment -- and people might wake the fuck up and start to remember the real value of money, people and _privacy_ again.

<comment><USER37> >FB is an awful, monstrous growth on society.

I can think of many things I'd apply that label to (Such as DHS, the republican party, ACTA), but applying that to a service that people _voluntarily sign up and use_ is a bit absurd, don't you think?

This just in: Advertising companies track people. Film at 11.

It's possible to completely avoid facebook and their tracking with the most minimal of effort. I wonder when we're going to stop seeing these breathless "zOMG EVIL!!1" rants against commonly used services and stop diluting the meaning of the word "evil".

Showing you advertisements is not "evil". Using cookies is not "evil".

<comment><USER36> No, its not. Its what they are doing with your responses to those things that are potentially or actually evil. The fact it requires _any_ response on my part, minimal or not, is absurd and unacceptable.

Don't you get that?

I find this kind of response unfathomable.

<comment><USER37> >The fact it requires any response on my part, minimal or not, is absurd and unacceptable.

Cookies and ad-based tracking have been around for years. I find characterizing that behavior as "evil" is patently absurd.

So no, I don't "get" that. I don't see what you're so up in arms about.

</comment></comment></comment></comment><comment><USER38> "They trust me. Dumb fucks." -MZ</comment>


An anonymous EA employee's letter regarding Sim City - <AUTHOR> http://www.reddit.com/r/gaming/comments/19xb2m/a_letter_from_an_ea_employee_to_executives/c8sbzg3

<comment><USER2> The biggest fallout for EA will be difficulty attracting and maintaining quality staff. If you keep making games people love, you can ignore a lot of the hardcore gaming community criticism over DRM and survive, or even thrive. (I dislike a lot of Apple's business practices, but still give them a boatload of money for their superior products).

But people don't want to be embarrassed by the company they work for, and the best people who can leave do leave - and it becomes hard to replace them with top level people. (Many of whom will never work for EA due to it's reputation) Eventually, your game quality declines, folks stop buying your games not because you are an "evil" company, but because you now make terrible games.

If EA top brass has any sense, this is what they will understand and act on. The real danger is in the insidious impact it has on EA employees, and what this does to everything else over time.</comment>


Can We Engineer Ourselves Out of the California Drought? - <AUTHOR> http://curbed.com/archives/2015/07/28/engineering-drought-california-desalination.php <comment><USER2> Unfortunately this article really smells like a PR article ([http://paulgraham.com/submarine.html](http://paulgraham.com/submarine.html)) and the author's other works only support that ([http://curbed.com/authors/patrick-sisson](http://curbed.com/authors/patrick- sisson)).

I would love to read an actual investigative article on engineering efforts to adapt to California's (probably) changing climate.</comment>


There's a command line IM client called Finch, made by the devs of Pidgin - <AUTHOR> http://developer.pidgin.im/wiki/Using%20Finch

<comment><AUTHOR> It even loads your pidgin account data automatically :D</comment>


Bill Gates: Windows Phone strategy was 'a mistake' - <AUTHOR> http://www.theregister.co.uk/2013/02/18/bill_gates_microsoft_phone_mistake/

<comment><AUTHOR> Essentially ...

"Mind you, to say that Microsoft isn't leading with Windows Phone is a bit of an understatement. According to recent research from comScore, Microsoft's share of the smartphone market actually shrunk during the three months ending December 2012, leaving it with a paltry 2.9 per cent."</comment>


Ask HN: Esperanto and Hacker News - <AUTHOR>

Saluton! Mi tre ŝatus scii ĉu estas aliaj Esperantistoj en HN, kaj kion ili pensas pri Esperanto por laboraj celoj.<p>For the non-Esperantists here (the most of the people here I guess): what do you think about Esperanto and about using it internally in a business (externally doesn't make sense, better use the native languages instead of the company vernicular). <comment><USER2> Current researchers believe that language influences thought to some extent, so speaking Esperanto in your business might be an interesting way to promote lateral thinking.

If you try it, you should share your results. Do your employees become more creative, do they treat customers differently? Or does it impede problem solving and employee retention?

Lots of really interesting info here on how language influences thought (and even a PG 'Blub' mention): <http://en.wikipedia.org/wiki/Linguistic_relativity>

<comment><AUTHOR> On the background I am doing already quite some preparational work (and I can name you some organisations that work like this already) and it works out nice :)

</comment></comment><comment><USER3> Interlingua gets less press than Esperanto, but I think Interlingua is a much better interlanguage -- interlingua is a latin-derived language that has some modern features and the corners squared off; people who know English or other european languages with a lot of latin influence can read Interlingua with remarkable comprehension without any training, take a look at...

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

</comment><comment><USER4> Esperanto: An artificial language based as far as possible on words common to all the European languages. <http://wordnetweb.princeton.edu/perl/webwn?s=esperanto>

I don't speak Esperanto. Why would you use it internally while using some other language externally? Why not just speak one language and be done with it? It doesn't make any sense.

<comment><AUTHOR> I speak 9 languages by now, and it helps a lot to get to the customers to speak their language. English-only communication fails to sell out of the safe borders of the English speaking nations.

Esperanto is just used as a communication tool, just like we use better or worse programming languages to get things done.

</comment></comment><comment><USER5> Mi laboras ĉe internacia kompanio, sed (triste) ni ne uzas Esperanton por komuniki. La angla lingvo venkis. Mi ankoraŭ ŝatas paroli Esperanton por amuziĝi.

(I work for an international company, but (sadly) we don't use Esperanto to communicate. English won. I still like to speak Esperanto for fun.)

<comment><AUTHOR> Is it a big company? I think you can move a lot more on this field in small companies.

Mi tre ŝatus scii cetere ĉu vi aktivas en aliaj interretaj forumoj, kaj kiunome... Mi ne trovis ajnan kontaktinformon en via profilo...

<comment><USER5> It's around 350 people at the moment, on every continent but Antarctica. I suspect that the talent pool of English speakers is larger than that of Esperanto speakers and that they didn't want to add an additional burden to the hiring process by asking people to learn another language. In fact, we have an internal list of who speaks what languages and there are only two of us listing Esperanto, and neither of us is fluent. (Though I could probably be there in 1-2 weeks of serious effort.)

Mi ne aktivas en multaj Esperantistaj forumoj... mi ne kredas ke mian Esperanton estas sufiĉa bona. :) Sed oni kapablas kontakti min ĉe launchpad.net. Mi estas 'fader' tie ankaŭ.

<comment><AUTHOR> Mi estas administranto de la tradukteamo de Ubuntu en Esperanton en Launchpad.

Mi provu kontakti vin persone.</comment></comment></comment></comment>


Ask HN: Self-Hosted API Documentation? - <AUTHOR>

Is there any good self-hosted, open-source and preferably PHP based API documentation ? Something like; https://stripe.com/docs/api#intro <comment><USER2> This is what I use, with good success: [http://apidocjs.com](http://apidocjs.com).</comment>