Using Vim as a Python IDE - <AUTHOR> http://www.liuchengxu.org/posts/use-vim-as-a-python-ide/ <comment><USER3> Yesterday I've downloaded VSCode and [https://github.com/DonJayamanne/pythonVSCode](https://github.com/DonJayamanne/pythonVSCode) (seriously, look at the GIFs in this repo!) for first time and I had autocompletion (with IntelliSense and documentation lookup), refactoring and code define jumping for Python code out of the box working within 10 minutes in a VirtualEnv. VSCode + one plugin (all opensource) and I had something similar to PyCharm and fast. (nothing against vim, just want to mention how impressed I was)

<comment><USER4> VSCode/Atom are great, but for most folks on UNIX they are worthless, since you have to use something else when ssh-d into another machine. So folks build these elaborate Vim and EMACS set-ups so that they could use the same editor and the same config on all of their machines, whether they're local or remote. Vim is an acquired taste, but once acquired, it's pretty awesome.

<comment><USER3> Well this is your use case. I use Linux every day but I never touch python code directly on remote systems (it's getting automatically or manually deployed). All my python code lives in virtualenv locally here. But I understand when people work for many projects they maybe want to encapsulate it more (vagrant etc.).

<comment><USER4> I prefer console in general, for everything. I've been doing this for 20+ years, and you can pry it from my cold, dead hands.

<comment><USER5> I've only been coding for 11 years professionally, but also as a hobby before that. Only in 2016 did I move most of my work out of VIM into an IDE: the Jetbrains family. That mostly started for better interactive debugging, but with IDEAVim handling 95% of my VIMisms I find that I'm simply coding in PyCharm and PhpStorm by default now.

The base editor is open source but you can get the full PyCharm for $99 per year. Worth every cent.

<comment><USER6> I've used PyCharm. The editing feature is beyond useless to me, because it does not have vim key bindings. How am I supposed to cut and paste code when commands like "y}" don't work? You actually expect me to use a _mouse_ to select things or move the cursor? Ridiculous.

The only thing I've found PyCharm good for is doing other functions, like linting, not for the actual code editing. No IDE is any good for that. Luckily, PyCharm works just fine when the code it's working with changes on the filesystem below it because of the use of an external editor.

<comment><USER7> There is VIM plug-in for Intellij family IDEs. It covers the great part of VIM functionality. It even supports some sort of VIM configs. "y}" works fine, as well as "yi{".

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Emacs comes configured with a command called "send-region-to-shell" that will take the current region and send it to a python interpreter. It makes for a great development experience that I haven't seen replicated with other tools and I'm not sure why there's not a bigger interest in it.

<comment><USER9> If I'm not mistaken, that's one of the features of Tslime[1], which is a Vim plugin that allows Vim to communicate with Tmux.

[1]: [https://github.com/jgdavey/tslime.vim/](https://github.com/jgdavey/tslime.vim/)

<comment><USER10> Yup! There are in fact quite a few similar vim plug-ins that do the same.

This is one of the longest-standing line in my vimrc so far:

        Plug 'epeli/slimux'

Works best for what I do.

</comment></comment></comment><comment><USER11> Hadn't heard of w0rp/ale, but it looks like an improvement over Neomake. I feel like I've done a pretty good job at enabling a lot of features with only ~200LOC vimrc[0]. I also avoid dependencies that need to be compiled or depend on a scripting language installed to the system. My .zshrc these days even parallels my vimrc style[1].

[0]: [https://github.com/jzelinskie/dotfiles/blob/master/.vimrc](https://github.com/jzelinskie/dotfiles/blob/master/.vimrc)

[1]: [https://github.com/jzelinskie/dotfiles/blob/master/.zshrc](https://github.com/jzelinskie/dotfiles/blob/master/.zshrc)

<comment><USER12> Same here, I'd never heard of it. I switched over to check it out, and am very pleased with how much more responsive it is than neomake. It's marking things while I'm still in insert mode, and not waiting till I save the file, quite useful. It's probably going to stick around and be my new go too!

Even though I write ruby and javascript all day, I still like to go and read how others are using vim. I usually walk away with a keybinding or plugin that makes my life better.

</comment></comment><comment><USER13> The one thing I'd love to see, as a vim user and a scientist, is something like Matlab/RStudio/Spyder where you can explore variables that exist within a session. Maybe it could hook up to an ipython session and you could display it in a separate terminal and send commands with vim-slime to be updated in real time.

For the most part, when I need this, I revert to Rodeo (since it has vim bindings like RStudio's), but if I could ditch it that would be amazing. Nothing against Rodeo or other editors, but vim habits are hard to break.

<comment><USER14> pycharm let's you do this! this is the only thing I missed from MATLAB. you can set a breakpoint in a script and open up the debug console and see all the live variables and run code. it works perfectly and you get Python + pycharm. I'm spoiled now and anticipate having trouble moving to another language.

<comment><USER15> It's been a while that I have used it, but I used to do that in Matlab all the time. The shortcut in the IDE was F9, I think.

</comment></comment></comment><comment><USER16> I want to give a shout out to spacemacs.org which let's you do so many of these things and really does feel like the best of Emacs and Vim together. I will say I am a new convert so I can't comment so much in the plugin infrastructure but raw coding is really good and it's very configurable like emacs but without all of emacs overhead

<comment><USER17> did you have experience beforehand in using emacs? I've been using spacemacs for a couple of weeks, but I'm having trouble getting past the most basic usage, and partially it's because I feel like I don't have much experience with emacs.

<comment><USER16> I did not in any real sense. I did the tutorial and chose the sane defaults recommended (so called Evil Mode) which gives you some great controls and a nice tutorial you can walk through if you type :tutor at the main screen.

I admit I have never used Vim or Emacs but the tutorial was enough to do movement and I also read this wonderful documentation as well: First this here which gives a wonderful overview of the whole philosophy behind SpaceMacs:

[http://spacemacs.org/doc/DOCUMENTATION](http://spacemacs.org/doc/DOCUMENTATION)

Then I took a look at this just to get some better idea of how to do certain things with the layers since it's very dependent on a layering system:

[http://spacemacs.org/doc/LAYERS.html](http://spacemacs.org/doc/LAYERS.html)

And for good measure since Evil mode emulates Vim I thought it might be nice to see what this had to say:

[http://spacemacs.org/doc/VIMUSERS.html](http://spacemacs.org/doc/VIMUSERS.html)

It took me like a week to be efficient but now I'm flying so much faster than I was with VS Code or Atom. I still use Sublimr Text for some things because I like it but this is a great editor and has a lot of potential and is extremely extensible with Emacs lisp and I believe they already have a way to bridge in Vim plugins too

</comment></comment></comment><comment><USER18> I keep seeing tmux mentioned recently. Can someone eli5 what it does and why it's useful?

<comment><USER19> Most of the other comments mention that you can split your screen into tabs and panes. But by far the most important feature of gnu-screen or tmux is the ability to have a shell session running even when you're not logged in. So you can use tmux to start a shell session and run a script(say a command line IRC client) and leave it running. Next you'll just 'detach' from your tmux session and can logout. Your irc client or any number of scripts you started from your tmux session will still be running. You can relogin later and 'attach' to that session and you'll continue where you left off. Infact you can start a tmux session on the server in the office, detach/logout and go home and attach to the same exact screen from home, that you left in the office.

Not to mention you can share your command line shell session/screen with other people!!

<comment><USER20> This is the best feature of tmux. It's worth pointing out here though (in a post about making the terminal act like an IDE), that you can split the terminal into two panes so you can have an editor and a REPL open at the same time similar to many IDE's. There are even some projects that make it easy to pass code between the editor and the REPL in the other pane, though I have never gotten them to work very well.

<comment><USER21> vim (and emacs) can do that without the need for a terminal multiplexer (though in vim you need to use a "plugin" for it, or, at least, you used to, and I'm sure the new async functionality in vim 8 has improved the experience quite a bit)

</comment></comment></comment></comment><comment><USER22> Nice post.

I also really like you "space-vim" project. Another similarly named project — "SpaceVim" [http://spacevim.org/](http://spacevim.org/) — was posted recently. "SpaceVim" was really upsetting because it missed so many of the important ideas of Spacemacs, such as pneumonic keybindings. "SpaceVim" is a garden variety vim distribution coopting the "Spacemacs" name, but you stayed true to the "Spacemacs" principles. Nice work!

<comment><USER23> This threw me for a second but its "mnemonic" not "pneumonic".

<comment><USER24> Until I read your comment I was trying to figure out why they called them air- propelled keybindings, not finding any obvious analogies...

</comment></comment></comment><comment><USER25> I would love to download a config file with a curated list of plugins that turns vim into a good Python IDE.

<comment><USER26> Let me augment that with this: I would love to donate to a project that uses ${INSERT_TERMINAL_TEXT_EDITOR} and turns it into a general IDE.

I'm talking the full shebang.

       * Autocomplete/Autoimporting (Static Analysis backed by compiler output)
       * Formatting
       * Linting
       * Fast or able to run over a slow SSH connection.
       * Default error resolutions (if test() throws an exception generate a try { })
       * Global refactoring
       * The idea of a project (Creating, building, export/importing, libraries, dependencies)
       * Automatically generated & maintained building system at the click of a run button
       * Documentation at a single click or on hover if possible
       * Integrated console for running a project
       * File and source manager that should be easy to use
       * Binding profiles for Eclipse, NetBeans, JetBrains, VS20XX, ReSharper

Optionally these would be nice:

       * Formal Method Verification?
       * Coloring/styling of the entire TUI
       * Simple to interact with menus
       * Rust, Go, JavaScript (Browser & Node), Java, Scala, C, C++, PHP, Python support
       * Pluggable language support that allows the plugin to provide static analysis & compiler data

If that can all be provided that could easily sell for $25 to $50 per user and I'd be happy, happy!, to pay every last dollar of it. It'll never happen. The world will never be that kind to software developers.

<comment><USER27> I have almost all of this in both emacs and vim and it only took me 5 years to get it just right.

<comment><USER28> Can you elaborate on how you handle the project thing? I really miss having the concept of "solution" and "project" in Vim from VS. Not just to have my files grouped logically in a $Project/{source,include}/blah.{h,cpp} tree, but also to be able to apply per-project settings like clang-complete options, etc. Right now I don't see a way to have e.g. three different projects that all build from the same files, but use different build options (mainly third- party sdk versions) and thus should give me different completions and code navigation.

<comment><USER27> Part of why I switched to emacs was something called helm: [https://tuhdo.github.io/helm-intro.html](https://tuhdo.github.io/helm- intro.html) It fuzzy matches almost anything: files, function names, or commands

Project grouping in the traditional sense can be done with projectile and NeoTree. [http://projectile.readthedocs.io/en/latest/](http://projectile.readthedocs.io/en/latest/) [https://github.com/jaypei/emacs- neotree/blob/dev/README.md](https://github.com/jaypei/emacs- neotree/blob/dev/README.md)

I think what you are describing in the second half can be handled with company mode and triggering a major/minor mode off a file extension. [https://www.gnu.org/software/emacs/manual/html_node/emacs/Ma...](https://www.gnu.org/software/emacs/manual/html_node/emacs/Major- Modes.html)

[http://company-mode.github.io](http://company-mode.github.io)

If that's not it it's possible Googling will find exactly what you describe. People tend to port anything useful from any editor to emacs.

</comment></comment></comment></comment></comment><comment><USER29> I would love to replace Syntastic with ale, but (1) is there a way to have it just highlight the line with the error instead of using the gutter? And (2) is there a way to get it to use pyflakes instead? pylint is a little too aggressive: it complains about modules it can't import which is by design in my working environment.

<comment><USER30> Alternatively, add the following to your `~/.pylintrc`. Granted pylint just stops checking those particular modules, but it's better than nothing.

        [TYPECHECK]
        ignored-modules = ssl,pyodbc

</comment></comment><comment><USER31> Autocomplete with Conda has got no support - if anyone has any idea other than; [https://github.com/cjrh/vim-conda](https://github.com/cjrh/vim-conda)

<comment><USER32> Well, if you genuinely want a braindead alternative to `vim-conda`, you're welcome to this brittle hack I use. (For my purposes, fast-and-dirty has been an efficient solution, but I don't actually _recommend_ this to anyone.)

Add it to your `ftplugin/python.vim`. Requires you to have activated the Conda environment before opening the Python file, uses hard-coded Python versions, doesn't work with multiple environments, doesn't bother with `os.path.join` so no Windows compatibility, etc etc. Like I said: a hack.

      " Cheap trick to use the Conda environment with omnicompletion
      python3 << EOF
      import os
      import sys
      cenv = os.environ.get('CONDA_PREFIX')
      if cenv is not None:
          # Taken from `sys.path` as reported by ipython
          sys.path.insert(0, cenv + '/lib/python3.5/site-packages')
          sys.path.insert(0, cenv + '/lib/python3.5/lib-dynload')
          sys.path.insert(0, cenv + '/lib/python3.5/plat-linux')
          sys.path.insert(0, cenv + '/lib/python3.5')
          sys.path.insert(0, cenv + '/lib/python35.zip')
          sys.path.insert(0, cenv + '/bin')
      EOF
      set omnifunc=python3complete#Complete

edit: mentioned `os.path.join` to warn Windows users and fixed in-place bugfix.

</comment></comment><comment><USER33> I have been using vim as my primary IDE for small projects for more than a year till previous month. Everything was fine, even optimizing slow plugins was OK for me. The best plugin I used was a YCM, the best autocomplete I've seen in console world, and there were so many problems with it.

Finally I gave up and moved to NeoVim and have no issues with my vim anymore. Maybe later I will give another try to spacevim or emacs. Maybe. So far, keeping my fingers safe :D

</comment><comment><USER34> this look s ok but i don't see a section on pdb integration - i'd say thats key. I'm still looking for a sensible description of how to develop python in emacs. I'm amazed that there doesn't seem to be a de facto way to do it..

</comment><comment><USER35> Seriously people this is 2017! We have the technology. Learn vi in order to have the same editing experience everywhere but honestly when it comes to IDEs, there are just really good software packages out there with 0 configuration hassle.

<comment><USER36> You imply that vim is somehow technological inferior to some other tool. I take issue with that. I don't use vim because I have to or some silly 'vim everywhere' argument. I use it because it is a demonstrably superior text editing appliance.

Every so often when vim irritates me I try out PyCharm or vm-whatsit, and while IDE's do have better viz for some use cases, the actual act of manipulating code in-buffer never comes close to speaking vim. And I always add the vim plugin, without them the tool would be of no use to me whatsoever.

I hope someday some tool will eclipse (no) vim, but that's simply not the case in 2017.

<comment><USER37> I'm in the same boat. Local development only, my terminal is still my IDE. Other editing tools I've attempted and jumped back out of:

PyCharm - No good vim emulation for editing

Spacemacs - Soft locks, Ctrl-] doesn't follow the same word boundaries as Meta-. (which matches Vim's implementation)

Sublime Text - Closest fit (enough that I own a personal license), but again, the vim emulation is pretty bad.

Atom - Slow. Even at its fastest, it's noticeably slower than Vim

VSCode - Slow (though faster than Atom), no good vim emulation.

Yes, most of my criticisms form around the lack of good vim emulation - <USER2> muscle memory is very well established. I've just yet to find a good, responsive, and comfortable editing scheme from a non-Vim editor.

<comment><USER38> I'm trying Neovim and it's the only editor I've ever tried that I like as much as Vim. Every other substitute has been inadequate.

</comment></comment></comment></comment><comment><USER39> How do you jump to definition?

<comment><USER32> If you are editing files inside a package, you can generate a tags file for definitions inside that package.

More useful, IMHO, is the general solution of jumping to the definition that would be resolved by the python interpreter, regardless of location. For that, the key binding will depend on the plugin. For `jedi-vim`, you use `<leader>d` [0].

Incidentally, if you're new to using VIM as a python IDE, also note the value of `jedi-vim` providing Python docstrings via the standard VIM keybinding `K`. This is also mentioned in [0].

[0] [https://github.com/davidhalter/jedi- vim#features](https://github.com/davidhalter/jedi-vim#features)

</comment></comment><comment><USER40> Can vim do multi-cursor editing? Like how sublime text can?

<comment><USER41> It can but it's not robust as sublime's multi-cursor editing. [https://github.com/terryma/vim-multiple- cursors](https://github.com/terryma/vim-multiple-cursors)

</comment></comment><comment><USER42> 100010000000100001010100101000001001001010100101000010010100001010101010010101010010011100010101110010101010101010101010010101010101010101010101010101001001010019010101010010100101010101101000101010101010101000001110+

</comment><comment><USER43> could you share the dotfiles please?

<comment><AUTHOR> Here is the true vim configuration shown in the post: [https://github.com/liuchengxu/space-vim](https://github.com/liuchengxu/space- vim)

</comment></comment><comment><USER42> hi

</comment><comment><USER44> Love vim, not so sure about that snake..</comment>


The world's first self-replicating program for a dedicated gaming system - <AUTHOR> http://www.kotaku.co.uk/2017/02/13/someone-created-a-pokemon-red-and-blue-virus-and-its-wild <comment><AUTHOR> Sorry for changing from the original title "Someone Created a Pokémon Red and Blue 'Virus', and it's Wild" but I thought that was misleading</comment>


Ask HN: How to go about patenting an 'invention' - <AUTHOR>

Does anyone have any tips on going about getting a patent? Should I be talking to a lawyer, or a patent engineer, and where do you typically find people to help. <comment><USER2> Yes, you should talk to a lawyer specializing in patents.

How to find one? [https://www.google.com/search?q=patent%20attorney](https://www.google.com/search?q=patent%20attorney)

Expect to spend ~$10k (lawyer + patent filing fees).

That being said: if you don't have resources to defend a patent (read: hundreds of thousands if not millions of dollars in lawyer fees, months-to- years litigation) then don't bother getting a patent.

<comment><USER3> If you're doing a startup and have the money lying around to file one, it often makes sense to do so just because patents can become significant negotiating leverage in acquisition talks. In the U.S. you have to file before making the invention public, which means that if you want to patent-protect your product at all you often have to do so early on.

</comment></comment><comment><USER4> I had a bad experience attempting to get a patent done for one of my previous (bootstrapped, and failed) startups. I basically paid a lot of money for a document that did not properly describe what we were building, and no claims. Granted, I must accept the fault, since my results indicated that I could not properly articulate what we were building (even though it seemed pretty straightforward to me). So I realized there is a problem with this; Nobody else knows the details of what you're building better than you do. So even if you do seek professional help, be prepared to properly document and explain in extreme detail what you are building. With my experience, I ended up getting motivated to learn more about doing it myself. I called the USPTO relentlessly to learn everything about the process. They won't give you legal advice pertaining to the patent, but they will help you with process and fee's. Then I started reading relevant patents for fun, and learned about the structure of the document, and what some of the requirements are. In my opinion the hardest part about writing a patent, and the most important, is the claim(s) section. It is my own personal belief (and some may disagree) that it's completely acceptable for an entrepreneur to write the technical portion of the document (with drawings). Similar to answering the Y-Combinator Application, I find it to be a good exercise in validating how well you know your own product. With the technical portion completed, then I would approach the professionals to write the claims. You can file a provisional patent yourself for under $200 (more for fast track). You can also revise it, and/or add claim(s) at a later date. Depending on what resources you have available, this might be your only option. But the general rule still applies; you usually get what you pay for. So it is definitely recommended to seek professional help. Especially considering the implications of the claims and wording later on down the road when you (possibly) run into a situation where it needs to be used (perhaps defensively, perhaps offensively).

</comment><comment><USER5> Also, do your own initial search to see if anyone else has made this "invention." This may save you a lot of time and money.

patents.google.com is a good place to start.

</comment><comment><USER6> Patent lawyers will give a free 1 hour consult (depending on country).

Patents help you get acquired and get investment. But, they are very expensive to defend.</comment>


OpenBSD 6.6 - liv-io https://www.openbsd.org/66.html <comment><USER2> I've really been enjoying using OpenBSD full time, both on my desktop (AMD Ryzen build) as well as laptops (Lenovo X230, X1 Carbon). Everything literally "just works", the documentation is impeccable, and I love being able to install a new kernel and base system with one simple command ("sysupgrade"). About the only thing I still use Linux for is a browser with U2F support and Bluetooth - both are disabled in OpenBSD for security.

<comment><USER3> > Bluetooth [is] disabled in OpenBSD for security

A clarification on that point: OpenBSD's bluetooth stack was unmaintained and removed due to code rot; it's not that bluetooth as a protocol is inherently insecure.

<comment><USER4> > it's not that bluetooth as a protocol is inherently insecure

Bluetooth is a ridiculously complex protocol. Complexity is the enemy of security. There's no fixed threshold beyond which complexity makes something "insecure", and Wi-Fi and even USB aren't exactly simple (both have had their share of implementation exploits across operating systems), but AFAIU there's a strong sentiment that Bluetooth is far too complex for the benefit it brings, which perhaps explains why OpenBSD's stack was unmaintained.

<comment><USER5> Course, now we have Bluetooth: Wired Edition with USB-C layering many different optional protocols over the base transport. I understand the rationale, but I fear it means the days of "just works" USB may be coming to an end...

</comment></comment></comment></comment><comment><USER6> I read about the "sysupgrade" tool and concluded that the upgrade to 6.7 in another 6 months will be awfully seamless... But I see from this that they backported the tool as a syspatch for 6.5! So from 6.5 we will be able to do _syspatch && sysupgrade_ to get to 6.6. Sounds nice.

<comment><USER7> Tried on one of my machines. Seems to work fine. You still do the delete file step manually but that's minor. This is going to save a lot of effort on certain machines.

<comment><USER6> How does it handle sysmerge? Do you need to do that after it finishes? Or does it do the merges before reboot?

I will play around with it in a few hours.

<comment><USER8> Some things will get merged automatically by the first run of sysmerge(8) after upgrade, if the machine is remote you should be able to run.

        $ doas dmesg -s

        -s      ... This can be used to review rc(8) system startup messages.

That should tell you if you need to run sysmerge manually, but well, it also doesn't hurt to do that every time anyway.

</comment></comment></comment></comment><comment><USER9> You can also browse the source with the OPENBSD_6_6 tag in cvsweb.

[http://cvsweb.openbsd.org/cgi- bin/cvsweb/src/?only_with_tag=...](http://cvsweb.openbsd.org/cgi- bin/cvsweb/src/?only_with_tag=OPENBSD_6_6)

</comment><comment><USER10> Just keeps getting better and better every release. I wish they would add an easy encryption option in the installer. You can enable full disk encryption, but you have to mess with the bioctl settings, which potentially scares off new users.

<comment><USER11> To be fair, I've NEVER been able to configure LUKS manually for full-disk encryption, whereas I got bioctl working on the first try. It really is simple.

</comment></comment><comment><USER12> Announcement email: [https://marc.info/?l=openbsd- announce&m=157132045926047&w=2](https://marc.info/?l=openbsd- announce&m=157132045926047&w=2)

<comment><USER13>
      o Added regular expression support for the format search, match andsubstitute modifiers in tmux(1).
      o Added a -v flag to source-file in tmux(1) to show the commands and line numbers.
      o Added simple menus usable with mouse or keyboard in tmux(1).
      o Introduced the command "display-menu" to show a menu bound to the mouse on status line by default, and added menus in tree, client and buffer modes.
      o Changed the behavior of swap-window -d in tmux(1) to match swap-pane.
      o Allow panes to be empty in tmux(1), and enabling output to be piped to them with split-window or display-message -I.
      o Adjusted tmux(1) to automatically scroll when dragging to create a selection with the mouse when the cursor reaches the top or bottom line.
      o Fixed a tmux(1) crash when killing the current window, and other bugfixes.

Would love to see a demo of these cool now tmux features. (sorry, I don't really know how to format that email text for HN)

<comment><USER14> Are they new features, or new to OpenBSD?

<comment><USER15> I suspect new, since tmux (like OpenSSH) is developed as part of OpenBSD.

</comment></comment></comment></comment><comment><USER16> > ssh-keygen(1): add an experimental lightweight signature and verification > ability. Signatures may be made using regular ssh keys held on disk or > stored in a ssh-agent and verified against an authorized_keys-like list of > allowed keys. Signatures embed a namespace that prevents confusion and > attacks between different usage domains (e.g. files vs email).

Nice! I hope this will eventually be used for various signature systems like for git commits.

</comment><comment><USER17> > Fixed support for amd64 machines with greater than 1023GB physical memory.

Don't I wish. What would be the memory test time for something like that?

<comment><USER18> I recently set up a Dell workstation with that much memory for a lab at work. The first time I booted it I was afraid that it was dead out of the box. It probably took ~5 minutes to POST and get to the Dell logo. Dells also have this weird thing where they turn on for a couple of seconds after you turn on the power, and it took me half an hour to figure out why it kept shutting down when I tried to boot it.

<comment><USER19> That's likely the memory training that every modern machine has to do when first seeing new memory (or if the training data is cleared from "CMOS"). Basically they have to discover exactly how tight the timings are for each bank so they can drive the memory efficiently and properly. Timings and latency just didn't used to be so tight compared to the good old days of EDO ram.

[https://github.com/librecore- org/librecore/wiki/Understandin...](https://github.com/librecore- org/librecore/wiki/Understanding-DDR-Memory-Training)

</comment></comment></comment><comment><USER20> If you support OpenBSD in spirit and love what they do, consider making a donation to help the developers out. Most devs work for free and every little bit helps :)

[https://www.openbsd.org/donations.html](https://www.openbsd.org/donations.html)

</comment><comment><USER21> Love the release poster for this one.

<comment><USER22> Is there any way to buy a print, or get a high-quality image for printing at home? The expanded version on the website is a pretty gnarly non-animated GIF.

<comment><USER23> You used to be to buy official OpenBSD t-shirts [1] and posters at conferences such as Fosdem. I think I even got one poster for free at Fosdem cause I bought a t-shirt. But that was in 2003 or so.

[1] [https://www.openbsd.org/tshirts.html](https://www.openbsd.org/tshirts.html)

<comment><USER24> Sometimes they'll also sell the posters online.

I've got my 6.0 poster (probably the best one they've done) at my desk at work.

</comment></comment></comment></comment><comment><USER25> The OpenBSD developers are not too thrilled to hear about these sorts of issues, but looks like sysupgrade installed sets I didn't have before (x*66.tgz, game66.tgz).

<comment><USER26> It does that. You can hack the script to only install partial sets, but you're encouraged to install all the sets. I've seen at least one mention on the mailing list about merging the sets because the recommendation is to always install all of them anyway. They're just files on disk if you're not using them.

<comment><USER27> Instead of hacking the script, you can run it with -n. You can then edit /auto_uograde.conf before reboot to instruct the installer to only install the desired sets.

As noted elsewhere, the developers recommend installing all sets. I personally prefer to avoid installing the X sets on servers.

</comment></comment></comment><comment><USER28> > Added mcx(4) driver for Mellanox ConnectX-4 (and later) Ethernet > controllers.

Interesting. Sounds like work is being done to support higher network throughput rates. :)

</comment><comment><USER29> Just a reminder: you still have to read the preupgrade stuff before and do the manual file deletion stuff afterwards even if you do sysupgrade. Most will need to do the pkg_add -u after all that. Here is the link (I always have to look for it):

* [https://www.openbsd.org/faq/upgrade66.html](https://www.openbsd.org/faq/upgrade66.html)

<comment><USER30> There is 'sysclean' in packages, which make that step easier.

</comment></comment><comment><USER31> ghc bumped to 8.6.4 and sbcl with threading support!

</comment><comment><USER32> I still desperately want docker support. I know I can bhive and friends - <AUTHOR> native docker support is critical to my every day, unfortunately. Heck, I'll take super decayed docker support!

<comment><USER3> > bhive

bhyve is FreeBSD, not OpenBSD. OpenBSD has its own native hypervisor "vmm".

<comment><USER32> Thank you, I stand corrected - and can't spell bhyve today apparently :(.

</comment></comment></comment><comment><USER10> Can OpenBSD run Sway? Or is that only supported on FreeBSD/Linux?

<comment><USER16> It can't really (other than inside an x11 window maybe), not in its current state. I've heard that someone was working on some Wayland porting efforts, but idk about the state of that.

Looks like OpenBSD has a fairly up to date kms/drm stack now, but you also need:

\- to have epoll - [https://github.com/jiixyj/epoll- shim](https://github.com/jiixyj/epoll-shim) might just work

\- to expose input devices from the kernel as evdev devices (good idea) or to implement support for your legacy protocol in wlroots / in other places for other compositors (terrible idea)

\- to have a device enumeration and hotplug system and either have it pretending it's udev (as we do with [https://github.com/FreeBSDDesktop/libudev- devd](https://github.com/FreeBSDDesktop/libudev-devd)) or implement support for it in wlroots and everywhere

\- direct session glue code at least e.g. [https://github.com/swaywm/wlroots/blob/master/backend/sessio...](https://github.com/swaywm/wlroots/blob/master/backend/session/direct- freebsd.c)

\- but ideally, a working session manager that supports acquiring drm+evdev devices over d-bus e.g. [https://github.com/ConsoleKit2/ConsoleKit2/pull/116](https://github.com/ConsoleKit2/ConsoleKit2/pull/116) && [https://github.com/swaywm/wlroots/pull/1467](https://github.com/swaywm/wlroots/pull/1467)

</comment></comment><comment><USER33> Can't wait to try if this release will improve wireless performance when configured as an AP, until now I have never been able to get speeds above 10 Mbps with OpenBSD.

<comment><USER34> OpenBSD only supports 802.11n currently. From what I've read, not having direct knowledge, 802.11ac is much more complex to implement and no one is currently working on it.

That said, I just ran a speed test on my Thinkpad and got 50Mbps.

<comment><USER33> I would be more than happy if I only could get same speed as with my old Linksys WRT54GL. Currently the AP is forced to 802.11g because performance of 802.11n was much worse.

</comment></comment></comment><comment><USER35> > Disabled gcc in base on armv7 and i386.

Is gcc disabled in base on amd64? Are the OpenBSD distributions for amd64 compiled with gcc or clang?

<comment><USER8> gcc is still included in base on amd64 for now, but the default system compiler on amd64 (and i386) has been clang since OpenBSD 6.2. If you use the /usr/bin/{cc,c++} symlinks, you get clang. Nothing uses the base-gcc now, but it being kept as a convenience for porters to test with as some architectures have yet to switch to clang.

The change mentioned is only that gcc4 (base-gcc) will no longer been installed alongside clang on i386 and armv7. If you need gcc, you can install ports gcc 8.3.0 from packages.

<comment><USER35> Do you know what sparked the change that uprooted gcc's "dominance"? I know the GNU libc added a lot of "opinionated" pieces, but I thought that was mainly opt-in. I'm curious why gcc "lost its crown" and clang gained all of the attention.

Did clang derive from gcc?

<comment><USER8> I don't follow, I'm sorry. OpenBSD has never used GNU libc. The BSD projects have long developed their own C libraries.

The clang compiler is a part of the LLVM collection, it is not derived from gcc at all.

As for GCC, The GNU project changed the license for their compiler sometime after the 4.2.1 release to the GPLv3. Meanwhile, up until the Clang 9.0.0 release, Clang was developed under a permissive license (NCSA). We're facing a similar problem now with LLVM/CLang, with their re-licencing to the non- permissive Apache 2.0 license.

<comment><USER16> How is Apache non-permissive? It deals with more things (like patents) and it's a bit complex, but it's not viral I'm pretty sure.

<comment><USER8> The last time it came up.

[https://news.ycombinator.com/item?id=21020024](https://news.ycombinator.com/item?id=21020024)

<comment><USER16> Ah. Whatever. The common meaning of "non-permissive" is "copyleft", not "has patent clauses the OpenBSD project has weird concerns about".

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Thanks to all the OpenBSD developers and supporters for making another amazing release!

</comment><comment><USER36> Now that they have the amdgpu driver in, it's time to run this on my Ryzen box.

</comment><comment><USER37> prgmr.com has an updated netboot installer: [https://prgmr.com/blog/2019/10/17/openbsd.html](https://prgmr.com/blog/2019/10/17/openbsd.html)

</comment><comment><USER38> The release artwork gets better each time!

</comment><comment><USER39> sysupgrade from 6.5 works amazingly!</comment>


Equifax's failure calls for judicial dissolution - <AUTHOR> https://www.wired.com/story/equifax-deserves-the-corporate-death-penalty/ <comment><USER2> > a lawsuit in state court to dissolve a corporation

Couldn't they just re-incorporate the next day in another jurisdiction.

Or it implies that the state can force them to sell all the assets, lay off all the workers, and return the money to creditors.

Well in either case, it is a nice fantasy. Doubt anything like that would happen. Even worse, after nothing happens, everyone who deals with such data will watch and learn a valuable lesson - "Don't bother with security or data protection much, just hire a PR firm and wait for online news to cool down for a month, then continue as usual".

Look at their stock [https://finance.google.com/finance?q=NYSE:EFX](https://finance.google.com/finance?q=NYSE:EFX) was $140, crashed to $100 then recovering, now at $110. Only 20% down or so. And that's after losing SSN, names, addresses, etc for large chunk of the US population.

<comment><USER3> In most states, when a corporation is dissolved, there's a period of time for creditors to submit claims, and then those claims are paid out, and then any remaining assets are distributed to company owners (shareholders).

I don't think there's a good legal framework for forcing a company into dissolution, because the normal path is for assets to be distributed to the shareholders, and if the shareholders didn't _want_ do dissolve the company, they could presumably take those assets and continue the company's operations.

I love the idea of a "corporate death penalty", but I am not sure how it would work under extant law. Maybe some sort of special "bankruptcy with prejudice", where a company would be prevented from reorganizing or restructuring such that it would be forced to sell itself for scrap in order to pay off a class action judgement? That might do the job.

It's really a shitty hack, though. The real solution is to make the undesirable conduct illegal, and ramp up both penalties and enforcement. Mostly enforcement, because the most effective way to deter criminality is to increase the chances that someone will get caught; increasing the penalty while still leaving the odds of getting caught low isn't nearly as compelling a disincentive (due to human cognitive biases around probability, from what I can tell).

The "corporate death penalty" is satisfying in the same way that the actual death penalty is -- it's not really about deterrence, it's social catharsis through ritualized violence. Which is fine, at least in the abstract; it's something that all societies do if you look hard enough, and I tend to think it's better to do it in the open. But it's a mistake to say that it's about deterrence.

We know how to do deterrence; in the context of business misbehavior, there are all sorts of profitable but illegal things that businesses _just don 't do_, because there are regulatory and enforcement structures that make it a Bad Idea. That's how you do deterrence, but it requires a political consensus that the action really needs to stop.

Right now, I am not sure there is a political consensus that what Equifax did was wrong and that a new enforcement structure is needed to prevent a re- occurrence. There's perhaps an emerging popular consensus, but I am not sure that our government is in tune with that popular consensus on an actionable level yet. How to get Congress there is really the challenge.

<comment><USER4> For a "corporate death penalty" why would the state need to concern itself with the notion of shareholders to begin with? Loss of stake would merely be a part of the penalty. There's certainly precedent outside of the US for nationalization of corporate resources.

<comment><USER5> > _There 's certainly precedent outside of the US for nationalization of > corporate resources_

You can't just take shareholders' stuff because you don't like what management did. More directly, protecting property rights is a cornerstone to our multi- century economic success.

<comment><USER6> But you can forbid any government body to do business with them. And you can extend that by forbidding government bodies from doing business with any companies that in turn do business with the particular bad egg.

In case of Equifax, that would probably amount to a public execution.

<comment><USER5> That's fine, and I think it should be encouraged. I also think they should be fined, held liable for money damages in court, and that their executives should be investigated with the potential of resulting in jail time. You have to find ways to take the money from the company, however, not directly from the shareholders.

</comment></comment></comment></comment></comment></comment><comment><USER7> Holding officers of the company criminally & civilly liable seems like it would go further to solving the problem. If the CEO was worried about going to jail or being fined, he would have made sure the organization was a lot more focused on protecting individual data.

</comment><comment><USER8> 1) US government should cancel all contracts with Equifax,

2) US government should demand a list of all effected SSNs

3) US government should use pre-breach tax data to issue replacement SSNs to all affected and send Equifax the bill for doing this.

3) US governments should ask the courts to consider any use of a breached SSN on any credit issued after breach date to not be enough evidence alone for any credit recovery processing (basically nullifing any credit after the breach for an affected SSN without the Banks being more careful with regards to identity checks).

<comment><USER9> Except for the first #3 (counting is hard) I agree with all of these.

I just don't think it's practical to reissue millions upon millions of SSNs. We need a more permanent and secure system than SSN entirely.

</comment></comment><comment><USER10> Individual liability of all the shot-callers. When you have to worry about jail and losing your yacht, you'd be more vigilant.

</comment><comment><USER11> well nearly 30 class action lawsuits have been filed against Equifax... If they come out on the other side any other way but in a proverbial corporate coffin, it would truly be a miracle.

The thing to look out for, and call me paranoid if you wish, is now to "rectify" the problem, government or corporations (or both), now start to demand rfid biochip implants as a reliable means of authentication..... or transacting business.

It sure looked far fetched before the Equifax breach, now not so anymore.

<comment><USER5> > _If they come out on the other side any other way but in a proverbial > corporate coffin, it would truly be a miracle_

The stock market appears to disagree with you.

<comment><USER11> For now.</comment></comment></comment>


New study throws into question long-held belief about depression - <AUTHOR> http://www.eurekalert.org/pub_releases/2014-08/acs-nst082714.php <comment><USER2> tl;dr: Mice with no serotonin had no effect on depression.

Interesting: _the mice were compulsive and extremely aggressive._

</comment><comment><USER3> 1\. Prior results show that antidepression drugs don't work for the majority of patients:

[http://www.plosmedicine.org/article/info%3Adoi%2F10.1371%2Fj...](http://www.plosmedicine.org/article/info%3Adoi%2F10.1371%2Fjournal.pmed.0050045)

2\. The linked result shows that directly manipulating serotonin levels in animals doesn't produce depression.

Guess what effect this will have on the worldwide, multi-billion dollar market in SSRI-based and related drugs? If psychology was a medical field, clinicians would be ordered to stop prescribing these ineffective drugs. But don't hold your breath for that outcome.</comment>


Push events, NAT TCP connection timeouts, and device sleep - <AUTHOR> http://blog.fastmail.com/2013/05/28/push-events-nat-tcp-connection-timeouts-and-device-sleep/ <comment><USER2> Ahh, the TCP version of keep alive a.k.a. killing kittens. This elaborates on the more general problem. :)

[https://www.zerotier.com/blog/?p=226](https://www.zerotier.com/blog/?p=226)

<comment><USER3> This reminds me of a tool named pwnat by Samy, the myspace hacker.

It is a tool that allows any number of clients behind NATs to communicate with a server behind a separate NAT with _no_ port forwarding _no_ DMZ setup, and no 3rd party involvement. The server does not need to know anything about the clients trying to connect.

<comment><USER2> NAT-t is a common technique. It's used by among other things SIP phones, and is a part of the WebRTC standard.

It's basically a security vulnerability that became a de-facto standard because NAT was concocted by demons who gargle ball sweat. To kill kittens.

</comment></comment></comment><comment><USER4> > If the ping events come too fast, it can cause some clients to never go into > sleep mode. ... It was noted that on an iPad if you left the FastMail > webpage open in Safari and put the iPad down ... [t]he screen would stay on, > draining the battery very quickly.

Am I reading that right? Safari permits a malicious web page to trivially keep the screen on your iDevice active until the battery is drained, or you navigate away from Safari or the web page?

If I _am_ reading that right, that's a terribad decision on the part of the Safari folks.

<comment><USER5> I think it's done for the same reason you wouldn't want the screen to go dark while you're watching a video.

I've also experienced "unwanted sleep" while reading lots of text in a browser or other app - having to keep a finger on the screen quickly gets rather annoying. I understand the desire to conserve battery, but I prefer to act in the _I will sleep the device when I am done looking at it_ manner.

<comment><USER4> I _can_ understand that, but it's _totally_ the wrong way to go about it.

If you want the screen to not sleep, create a "Don't let the screen sleep" call in WebKit and encourage folks to use it. I mean "DPMS powersave toggle" seems to be a better -and easier- feature than "Tell this webpage my physical location".

</comment></comment></comment><comment><USER6> Does the Fastmail app rely entirely on OS implementations of push notifications for this? Or is there some kind of push functionality in JMAP?

<comment><USER7> The apps use OS/platform push for notifications, because the webapp component is asleep at the time. When the app is active, its just the regular webapp, which uses eventsource.

The JMAP spec provides for eventsource and webhooks, but obviously an individual provider can offer more than that via an extension. When we do switch over to JMAP, we'll continue to use our custom method to register platform notifications.

<comment><USER8> > which uses event source

> If the client sent some data down the connection to the server. > Unfortunately the eventsource specification doesn't provide any way to do > this;

Solution: use websocket, which the client can actively ping the server.

<comment><USER9> It's not "just" use websockets. These may be intercepted by proxies with connection limits, timeouts or just plain not understanding websockets at all.

You will need to detect this and apply a fallback mechanism.

Which goes back to the point of this post: easy in theory. Much harder in practice.

Where I work we ended up using Microsoft's signalr-library to avoid having to learn and tackle all of these issues ourselves.

Yet we still needed to add some additional Band-Aids around the libraries provided to be able to support all cases we wanted seamlessly.</comment></comment></comment></comment>


The 'Anti-Business' President Who's Been Good for Business - <AUTHOR> http://www.bloomberg.com/features/2016-obama-anti-business-president/ <comment><USER2> I know this is not a hard economics article, but why is it HN worthy?

For one thing, I see the article is fails to mention the effects that the multiple rounds of QE have had on the economy. From the spending that Bush signed into law that Obama dolled out, to the M3 table no longer being published (under Bush). How can the claims be made without at least considering these items.

so if it isn't a economics piece, what is it other than political?</comment>


Nobel laureates are 22 times more likely to have hobbies compared to their peers - <AUTHOR> https://stewfortier.com/blog/2020/1/26/hobbies-are-not-distractions <comment><USER2> Hmm. OP, you sort of editorialized a key bit of the source quote:

> Compared to other scientists, Nobel laureates are at least twenty-two times > more likely to partake as an amateur actor, dancer, magician, or other type > of performer.

> Nationally recognized scientists are much more likely than other scientists > to be musicians, sculptors, painters, printmakers, woodworkers, mechanics, > electronics tinkerers, glassblowers, poets, or writers, of both fiction and > nonfiction.

Nobel Laureates are 22x more likely to be _performers_ of some sort than their peers. Being "just" a nationally recognized scientist is associated with being "much more likely" to have a music/sculpture/art/tinkering pursuit than other scientists.

I don't think this implies "have hobbies". But the argument for breadth definitely holds.

</comment><comment><USER3> The 22x figure is dubious. I had seen articles citing a more believable 2.85x number. What is not clear to me is what is considered a "scientist" and why is the Nobel Prize used as a metric. For example, what happens if you compare Nobel Prize winners from top universities with the rest of the scientists at those top universities?

</comment><comment><USER4> This is a much better article than the title would suggest. If you're the type that just reads the comments here on HN-- and I'm guilty of this-- I recommend this article.

</comment><comment><USER5> _Hobbies_ tend to be pursued by upper class men because they have both the time and money to do so. People eking out a living or doing blue collar work tend to watch TV or similar, too exhausted or too poor to pursue a hobby in their off hours.

Women tend to be expected to have _interests_ like cooking. Studies show that people think an expensive Christmas gift for a man should be stuff like a good stereo system while expensive gifts for a woman should be stuff like a refrigerator.

(Please, please, do not tell me I have to explain to anyone how a refrigerator is not a personal gift in support of a hobby.)

So while the article appears to be written out of a genuine desire to say "Okay. I was wrong. Hobbies are not simply time wasters." the title used on HN could be roughly translated as "Newsflash: Upper class men still rule the world."

You don't say...

<comment><USER6> There's little question that having the freedom to pursue a hobby is a privilege reserved for a few, broadly speaking.

I think what's interesting is that the study was comparing Nobel laureates to _other scientists_ , which I'd imagine would somewhat correct for this bias.

<comment><USER5> Which is not indicated in the title. The title is the thing I'm critiquing. I'm a writer. Titles are hard. I get that.

This one basically sucks -- IMO, of course.

<comment><USER7> It appears that the actual title of the article is "Hobbies are not distractions", with the HN submission title being... I'm not sure it's really a subtitle, maybe a pull-out point from the quoted reference in the article?

[Edit: though, since it looks like the author wrote both the article and the HN submission, this point might be somewhat irrelevant.] :-)

<comment><USER5> Thanks. I have sucktastic eyesight and only skimmed a bit.

So this is also a pointless violation of HN guidelines, which indicate you should use the original title unless it's clickbait or a few other provisos.

</comment></comment></comment></comment></comment><comment><USER8> A very similar claim appeared in a BBC article 2 months ago, and it seemed bogus. After a brief bit of online research, it seems even more bogus to me:

[https://news.ycombinator.com/item?id=21617547](https://news.ycombinator.com/item?id=21617547)

Please, anyone who wishes to make this claim: give me the name of some Nobel laureate who is also a performing "actor, dancer, [or] magician". Even _one_.

<comment><USER9> > Even one.

From Feynman's 1964 _Messenger Lecture_ (later transcribed into _The Character of Physical Law_ ):

> _" On the infrequent occasions when I have been called upon in a formal > place to play the bongo drums, the introducer never seems to find it > necessary to mention that I also do theoretical physics. I believe that is > probably because we respect the arts more than the sciences."_

Feynman was also an amateur artist, and he claims to have sold some of his drawings to a Pasadena strip club in _Surely You 're Joking Mr. Feynman!_. I too am skeptical of the claim that Nobel laureates are 22-times more likely to be engaged in an artistic hobby, but it is also not unheard of them to have nonacademic pursuits.

<comment><USER8> Sure, Einstein and Feynman are the classic examples, but they were both musicians. This article specifically called out "actor, dancer, magician". Who do these refer to?

</comment></comment></comment><comment><USER10> A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyse a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.

— Robert Heinlein, Time Enough for Love[1][2]

</comment><comment><USER11> Cool! If I want to get into hobbies, then I should first get a Nobel prize. This should make it 22 times as likely that I'll get a hobby.

Is there a statistic for someone hoping to go in 'the other direction', i.e. what proportion of hobbyists (vs. non-hobbyists) go on to win a Nobel prize?

</comment><comment><USER12> What would Douglas Hofstadter say?</comment>


Full-system dynamic tracing on Linux using eBPF and bpftrace - <AUTHOR> https://www.joyfulbikeshedding.com/blog/2019-01-31-full-system-dynamic-tracing-on-linux-using-ebpf-and-bpftrace.html <comment><USER2> This is a great post! Brendan Greg's perf page [0] is another interesting collections page. And the best introduction to using kprobes I've seen is by WindRiver [1] where they do it all manually in a tutorial.

[0] [http://www.brendangregg.com/perf.html](http://www.brendangregg.com/perf.html)

[1] [https://docs.windriver.com/bundle/Wind_River_Linux_Tutorial_...](https://docs.windriver.com/bundle/Wind_River_Linux_Tutorial_Dynamic_Kernel_Debugging_with_ftrace_and_kprobes_9_1/page/1668683.html)

</comment><comment><USER3> > the macOS version is as good as defunct because System Integrity Protection > broke many aspects of DTrace

Of course, DTrace works on macOS if you disable the parts of System Integrity Protection that block it (csrutil enable --without dtrace).

<comment> Birch-san That used to be enough, but Mojave has broken DTrace further. I find it completely unusable now.

<comment><USER4> Could you give a concrete example of something that broke in Mojave? I used it a lot in High Sierra, and was preparing to return now under Mojave, would like to know what to keep my eyes open for.

</comment></comment></comment><comment><USER5> This. Is. Beautiful.

"The dark days before eBPF" indeed.

</comment><comment><USER6> sad to see this still has to be compiled from scratch on ubuntu 18.04.

<comment><USER7> same for archlinux</comment></comment>


Unboxing a never-opened Apple IIc - photoset - <AUTHOR> http://flickr.com/photos/dansays/sets/72157603835099525/ <comment><USER2> Brings back good memories: Hard Hat Mack, Bollo, Captain Good Night, Gemstone Warrior, Super Mario Bross, Moon Patrol, and lots of lots of good games. Let's not forget - Castle Wolfenstein!!!

</comment><comment><USER3> I showed this to my father and he cried. He couldn't believe someone would open it after so long.

</comment><comment><USER4> Ahhh my love... Apple //c is what changed my life.

</comment><comment><USER5> i have an original ipod that it's still shrinkwrapped. i'll make a flickr photoset in another 20 years.

<comment><USER6> Photoset for antiquity's sake? Optimistically, we'll probably be in the Matrix/on the Holo-deck by then...</comment></comment>


Tesla didn't invent home energy storage, has many competitors - <AUTHOR> http://venturebeat.com/2015/05/06/tesla-didnt-invent-home-energy-storage-has-many-competitors/

<comment><USER2> Apple didn't invent the tablet or mp3 player, they brought both to the mainstream with a better product.

Tesla didn't invent the electric car. They make the best electric car, and will have a huge role in making them mainstream.

That's what Tesla is going to do with home energy storage.</comment>


German Copycat Kings release Amazon Clone for Middle East/Asia - <AUTHOR> http://techcrunch.com/2012/03/22/have-the-samwers-gone-too-far-with-their-blatant-amazon-clone-lazada/

<comment><USER2> Sigh, stay out of Southeast Asia please.</comment>


How to sound smart on Medium - <AUTHOR> https://medium.com/@giuliomichelon/how-to-sound-smart-on-medium-504365790f9#.2eo33cqxj <comment><USER2> This is very similar to the famous "How to sound smart in your TEDx talk"

[https://www.youtube.com/watch?v=8S0FDjFBj8o](https://www.youtube.com/watch?v=8S0FDjFBj8o)

<comment><AUTHOR> I know, that's why I have a frame from that video and the link in the caption. Do you already feel smarter?</comment></comment>


Site plagiarizes blog posts, then files DMCA takedown on originals - <AUTHOR> http://arstechnica.com/science/2013/02/site-plagiarizes-blog-posts-then-files-dmca-takedown-on-originals/ <comment><USER2> Hey, so a common thread here seems to be enforceability of false DMCA notices and how it's a pity there's no penalty.

There are penalties.

Check out 17 USC 512(f): <http://www.law.cornell.edu/uscode/text/17/512>

(f) Misrepresentations.— Any person who knowingly materially misrepresents under this section— (1) that material or activity is infringing, or (2) that material or activity was removed or disabled by mistake or misidentification, shall be liable for any damages, including costs and attorneys' fees, incurred by the alleged infringer, by any copyright owner or copyright owner's authorized licensee, or by a service provider, who is injured by such misrepresentation, as the result of the service provider relying upon such misrepresentation in removing or disabling access to the material or activity claimed to be infringing, or in replacing the removed material or ceasing to disable access to it.

I was the plaintiff in OPG v. Diebold, which was the first US federal lawsuit to establish the enforceability: we won. You can't just issue spurious, false DMCA notices without opening yourself up to large damages, such as the ones that Diebold had to pay.

<http://en.wikipedia.org/wiki/OPG_v._Diebold>

<comment><USER3> _There are penalties._

Sure, just like there's a 4th Amendment right to not be the target of unreasonable search and seizure, and a constitutional right (Section 9) to "a regular Statement and Account of the Receipts and Expenditures of all public Money shall be published from time to time". Oh, there's also a 5th amendment right to be indicted by a grand jury for a capital or infamous crime.

But you're also almost certainly snooped on every telecomm session, and the US Government has a program for assassinating US citizens.

The US government doesn't enforce laws strictly, or by what the obvious wording says, nor does it enforce laws uniformly. In practice there's a "high court" for large corporations and rich people, and a "low court" for commoners and other smaller personhoods.

<comment><USER4> I get your point, but a legal opinion from the Department of Justice is not the same as a "program." Set the hyperbole aside and realize that laws are always in flux, and that the courts largely define things like "unreasonable search," etc. The statement from the parent is still true. There are penalties on the books. It takes people bringing abusers to court, though, to decide the exact nature of those penalties.

<comment><USER3> In the case of the near-universal snooping by the NSA and related agencies, the courts have ruled, I believe: nobody has standing. Virtually every time the US Government uses the "State Secrets" privilege, the courts just let it go. For all practical purposes, what seems to me as clear wording of the 4th Amendment gets taken to mean something else. It's not really hyperbole. There are penalties on the books, agreed. They're toothless for various factors, except maybe for the very wealthy personhoods among us.

</comment></comment></comment></comment><comment><USER5> Nobody here has made what I thought to be the biggest point in this article. The reputation management company...

Given the situation and the details mentioned in the article. It seems the reputation management company is hiring people to re-post content and send DMCAs. What other explanation is there for why somebody would rip off blog posts. Obviously this sort of thing would be a last resort for the reputation management company. But in some cases, there may be no other way to remove / push down the unwanted content.

I would bet this is a common tactic of reputation management companies. Can anybody here confirm or offer insight about how these companies work?

<comment><USER6> The same thing occurred to me as _a possibility,_ but saying that "it seems they are doin this" is way stronger than what we can conclude from this article. Do you have any evidence beyond "hey, this could happen"?

<comment><USER5> No, there really isn't hard proof which is why I'm assuming ars didn't jump to that conclusion.

To me what points to it the most is why would somebody rip off those RetractionWatch articles in India. It seems that something other than trying to increase ad revenue is going on here.

<comment><USER6> Yeah, it's certainly suggestive.

</comment></comment></comment></comment><comment><USER7> This shows the power of Retraction Watch,

<http://retractionwatch.wordpress.com/>

a site that I think I learned about from another user's comment here on HN, to update the reputations of "researchers" who have had to retract many published journal articles. All the more reason, I think, to regularly read Retraction Watch to find out what is going on. The Retraction Watch site's own reporting

[http://retractionwatch.wordpress.com/2013/02/05/wordpress- re...](http://retractionwatch.wordpress.com/2013/02/05/wordpress-removes-anil- potti-posts-from-retraction-watch-in-error-after-false-dmca-copyright-claim/)

on what Ars Technica passes on in the submitted article is quite interesting, and an example of the carefully nuanced writing on Retraction Watch.

</comment><comment><USER8> Well, that should be fixable - if this is an actual DMCA takedown (instead of a simple complaint), then it does come with a mandatory requirement to be 'under penalty of perjury'. Intentional misuse can thus be persecuted, and may get even criminal penalties.

Of course, it's a big question whether they will try to fight it in courts and if DMCA perjury jurisdiction can effectively reach the accused company in India.

<comment><USER9> It's much simpler than that. To be protected by the safe harbor provision of the DMCA, a service provider must not only promptly disable access to material upon receipt of a notice, they must also promptly re-enable access to that material upon receipt of a counternotice.

The original author need only send these notices and the blog posts must be put back up if WordPress wants to be protected from being sued itself for distributing the material. In most cases, this entails nothing more than 2 minutes to copy and paste an e-mail from a readily available template, simply adding in your name and URLs of the content you attest you have permission to publish.

The DMCA errs on the side of leaving alleged infringing material online, not the other way around. To force something down, you have to go to court and get a judgement.

The perjury statement is actually weaker than it seems. The wording you see in a lot of copy-and-paste notice templates is stronger than is required by the act. You only have to attest under penalty of perjury that you are authorized to act on behalf of the holder of a copyright, not that the contents of your claim are true.

<comment><USER10> "To get content removed, copyright holder Bob need only claim a good-faith belief that neither he nor the law has authorized the use. Bob is not subject to penalties for perjury. In contrast, _to get access to content re-enabled, Alice must claim a good faith belief under penalty of perjury that the material was mistakenly taken down_. This allows for copyright holders to send out take-down notices without incurring much liability; to get the sites back up, the recipients might need to expend considerably more resources. Section 510(f) makes the sender of an invalid claim liable for the damages resulting from the content's improper removal, including legal fees, but that remedy is not always practical.

Furthermore, _ISP's tend to remove allegedly offending material immediately, while there is a 10-14 day delay before the ISP re-enables access in response to a counter-notice_. For example, if a website advertised an upcoming labor protest outside BlameCo, BlameCo could send a DMCA notice to the site's ISP alleging copyright infringement of their name or logo a week before the protest. The site would then be disabled; even if the site's owners immediately filed a counter-notice, access would not be re-enabled until after the protest, too late to be useful." [1]

The behavior described above is consistent with many ISPs, Google and Youtube, for example. In fact, with Youtube's stated policy [2] it is not even clear that without consent from the original "copyright holder" that they will restore content (though from DMCA terms alone they are theoretically legally obliged). Wordpress's stated policy [3] is more direct but no less frustrating for victims of malicious takedown notices.

[1]: [http://en.wikipedia.org/wiki/Online_Copyright_Infringement_L...](http://en.wikipedia.org/wiki/Online_Copyright_Infringement_Liability_Limitation_Act#Ineffective_Counter- Notice_Procedure)

[2]: [http://www.youtube.com/yt/copyright/counter- notification.htm...](http://www.youtube.com/yt/copyright/counter- notification.html)

[3]: <http://en.support.wordpress.com/content-theft-what-to-do/>

<comment><USER9> It's a trade-off. There's potential harm to the victim of a false claim, but there's also potential harm to the victim of a true claim in the case of a false counternotice. If the infringement is legitimate, then the law wants there to be ample time for the victim to go to court to get an injunction so further harm isn't done. It allows those ~10-14 days for that to happen -- after which the material has to be put back online for the service provider to retain the safe harbor benefits.

<comment><USER11> It isn't a trade off at all. It is legislation that favors the interests of those who purchased the legislation.

<comment><USER9> The safe harbor provision of the DMCA exists entirely to take away power from copyright holders. It creates an entire class of businesses (internet service providers) who can't be sued for infringing copyrights if they follow certain rules. It makes copyright holders that abuse the provision pay both damages and legal fees of the victim. It enables the legal existence of sites like YouTube despite rampant copyright infringement.

Meanwhile, other provisions of the same act directly benefit copyright holders: prohibiting breaking of anti-circumvention measures, for example. This gives DRM its legal teeth beyond simple breach of contract.

How does this fit into your conspiracy theory? There isn't one single group that this act represents the interests of.

<comment><USER11> It isn't a conspiracy theory to say that media interests did the lobbying for DMCA. I cannot even find a reference to an ISP lobby that promoted it. Was there one?

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Is anyone else having a problem with Google no longer acknowledging responses to false/faulty/inaccurate DMCA takedown requests?

We used to receive 3 or 4 a year, and Google was good about getting us relisted when we explained the error to them. I had two DMCAs from Google last month, and they still haven't gotten back to me about my request for relisting....

</comment><comment><USER13> Are there no "digital notary" services? Off the top of my head, such a service would allow you to submit a block of text or perhaps a link which the service would regularly check and hash / mirror.

I'm thinking this would be straightforward to create, but hard to become established as an authoritative source.

EDIT: I see archive.org is a popular way to go about something like this.

<comment><USER14> archive.org is awesome - however there is one thing that bothers me about the indexing service, and I am not sure how it could be improved. The problem is that if a site currently has a robots.txt blocking indexing, the whole history of that site disappears with it. On the one hand, this makes sense - what if some webmaster forgot to prevent indexing and then adds it, with the original intention to not share any of the sites work. On the other hand, this prevents me from finding a site I worked on 15 years ago, because the current domain has it blocked.

<comment><USER15> I am sure IA would be helpful if old data is needed in a court.

</comment></comment></comment><comment><USER16> I start to wonder: what can we do to actively prevent such things to happen? E.g. someone can copy a blog content, set the date back by a few months, publish it, and submit the DMCA takedown. Even if it reaches the court, who and how will decide who the original author was?

<comment><USER9> The original author will submit a counternotice and their content will be put back online. If the copier wants to take their bogus case to court, a judge will decide based on the evidence presented. Google cache, Archive.org, server access logs, code repository commit histories, e-mails or whatever else you can find could be presented as evidence of the publication date. In the meantime, the service provider must assume the content is published legally if they want safe harbor protection from bogus lawsuits of their own. I can't think of a better system, honestly.

<comment><USER17> > The original author will submit a counternotice and their content will be > put back online.

With a statutorily mandated 10 day delay. Such are the DMCA's take-down procedures.

<comment><USER9> Yes, as has been mentioned several times. The act balances the interests of all the parties -- the delay may hurt, but it provides actual victims of copyright infringement the time to go to court and get a preliminary injunction to prevent further damages. If the notice was fraudulent and there was no infringement, the filer is liable for damages and attorneys fees of the accused should they wish to sue and recover them. Whatever loss those 10 days offline caused are recoverable damages.

</comment></comment></comment></comment><comment><USER18> I asked this question regarding a recent thread where the site owner claimed to have gotten ripped off, and received no responses. <http://news.ycombinator.com/item?id=5166902>

<comment><USER19> <http://archive.org/web/web.php> is a very common tool for such things.

<comment><USER18> I'm a little unclear about how this solves the problem. Why can't a copyright violator request that their site be backed up, perhaps even before the original? Or are you suggesting that site owners upload to the wayback machine as part of the deployment process?

</comment></comment></comment><comment><USER20> One somewhat late comment: based on what I saw in other discussions of this, the domain registration of the site in India is basically all false information - one starting point might be to see what can be done about getting that domain registration cancelled. The Indian registry does have a policy that registrants must provide accurate information.

</comment><comment><USER21> If we have to keep this thing, I dearly wish the party filing the request would have to show some proof or at least be in the US. this guilty before innocent crap is a pain.

On a sadder note, looks like the alumni association is going to receive a letter from me.

</comment><comment><USER22> How easy is it to file a DMCA takedown notice? I would think there's some due diligence on the part of DMCA to verify the claim first. At least, I hope so.

<comment><USER17> Google for an example of the DMCA form or boilerplate (the language is in the law). Find the registered agent address for a site. Send an email.

Done.

</comment></comment><comment><USER23> And that's why I don't contribute anything online

<comment><USER24> Is that your true reason?

</comment></comment><comment><USER25> Oh, come on, wake up! Don't you see yet that this is exactly what the DMCA notices and similar have been designed to do? It is a tool to silence the inconvenient whistleblowers.</comment>


M-rge Is Offering $1 Million of Free Coworking Space and Classes for Hackers - <AUTHOR> http://betabeat.com/2012/08/mrge-m-rge-1-million-free-office-space-coworking-alleynyc-lean-startup-machine/ up to 500 hackers/designers apply: http://m-rge.com <comment><USER2> Apart from not being prejudiced against the 'bridge and tunnnel' crowd and cheaper rates, what differentiates AlleyNYC from other coworking spaces? General Assembly and New Work City also offer classes and host events.

I know there is an increasing demand for coworking spaces, and that's great. But I would like to know what makes them so different from each other.

<comment><USER3> The real difference is that AlleyNYC HELPS spartups, and has offered free space. Other co-working places have never done this EVER. GA is all classes and they are SUPER expensive. Its all about vibe and community. Come to ALleyNYC and you will understand!

<comment><USER2> By the way, where is AlleyNYC's webpage?

</comment></comment></comment><comment><AUTHOR> Here's the actual link to apply for the free space/classes: <http://m-rge.com/>

It's an application only to filter out non-hackers & designers.

</comment><comment><USER4> If you haven't been to the alley yet, you should definitely check it out. The space is amazing and I absolutely loved the vibe there while volunteering for eCommerceHackDay.

</comment><comment><USER5> I have a hard time seeing how a space with no developer pedigree will be able to create educational resources for developers.

<comment><AUTHOR> The space is not trying to be like GA, ie. classes aren't the point. It's trying to curate the best hacker and design talent into a common community. From my experience at Dogpatch Labs in NYC, free is extremely effective at getting the best people.

</comment></comment><comment><USER6> Wow. Great article. Love the love for bizodo and the alley NYC. Changing the world.

</comment><comment><USER3> This is AWESOME. Spread the word and help start-ups!

</comment><comment><USER7> Congrats guys!

</comment><comment><USER8> Good stuff!

</comment><comment><USER9> Very cool!

</comment><comment><USER10> The Alley is the SPOT!</comment>


LG is offering Nexus 4 at higher price than Google Play offer outside US - <AUTHOR> http://thenextweb.com/google/2012/11/03/spanish-phone-retailer-suspends-plan-to-stock-the-nexus-4-as-lg-hikes-its-retail-price/

<comment><AUTHOR> Affected countries (according to the article and comments) are Spain, Austria, Denmark, Indonesia, Germany, Italy.</comment>


Posterous (YC S08) founders named among top young tech entrepreneurs in 2010 - <AUTHOR> http://images.businessweek.com/ss/10/04/0419_best_young_tech_entrepreneurs/3.htm

<comment><USER2> Congratulations guys, on making the list and not selling out so early :-) And thank you for bringing autopost to everywhere in my life.

</comment><comment><USER3> Thanks for the support friends!

</comment><comment><AUTHOR> Scribd is also on the list.

<comment><USER2> Here is the link: [http://images.businessweek.com/ss/10/04/0419_best_young_tech...](http://images.businessweek.com/ss/10/04/0419_best_young_tech_entrepreneurs/2.htm)

</comment></comment><comment><USER4> Congrats!

Am I that at 29 and few months feels already old?

</comment><comment><USER5> Congrats guys!

</comment><comment><USER6> Thats Cool.</comment>


Roshi: A large-scale CRDT set implementation for timestamped events - <AUTHOR> https://github.com/soundcloud/roshi <comment><USER2> Twitter ran into the same problem. They solved it in a different way. They merged approach #1 & #2 described in the article. For high fan out, you don't write to the inbox of all their followers. This avoids high write amplification when a popular celebrity tweets. Instead you send notifications and have the followers pull tweets from popular celebrities while constructing their timeline.

Having worked with Cassandra & Redis extensively, this might work better with Cassandra. Cassandra already has sets, maps, list as datatypes and can be leveraged to build a CRDT without having to write a new database. Oh, well I'm guessing we're past that conversation? ;)

<comment><USER3> Cassandra's sets, lists and maps are already CRDTs

</comment></comment><comment><USER4> I've praised several other CRDT implementations here on HN, but this one seems a bit odd - asking the author for more explanation behind their reasoning:

\- a time series CRDT is... just an append-only log, sure you can call it a CRDT, but it doesn't really have any meaningful properties. So what's the point of calling this a CRDT?

\- LWW Last Write Wins is also an odd choice, because the notion of "last" doesn't exist in a distributed system - last according to who? When? What about clock drift? If who, then do you rely upon an authority? Then you aren't a CRDT.

Finally, regardless of CRDT stuff, what benefits does this give over just using timestamps series into Redis directly?

I applaud and have called for more people to build databases and distributed systems tools, so please keep it up. But I'm a tad worried this is just trying to cash in on the emerging hype (finally!) around CRDTs. Could you explain yourself more?

<comment><USER5> Principal author here.

> a time series CRDT is... just an append-only log, sure you can call it a > CRDT, but it doesn't really have any meaningful properties. So what's the > point of calling this a CRDT?

I'm confused by this question. I don't think it's true that "a time series CRDT is just an append-only log". In Roshi, each object is identified by a key, and LWWSet semantics are provided via the timestamp. It's a CRDT because writing the same key repeatedly with different timestamps results in a single "winner" being kept in storage; if it were an append-only log, that wouldn't be true. Right?

> LWW Last Write Wins is also an odd choice, because the notion of "last" > doesn't exist in a distributed system - last according to who? When? What > about clock drift? If who, then do you rely upon an authority? Then you > aren't a CRDT.

I'm also confused by this question. LWWSet requires a concept of "last", it's even right there in the name. And the documentation clearly indicates that Roshi's "last" is clock time of the node that processes the request. As long as you ensure that time is unique and monotonic (usually by including things like node ID and a per-node monotonic counter) then it's absolutely sufficient to act as the timestamp component of a LWWSet. If there is clock drift between nodes, then a write W1 against some node may actually "beat" a later write W2 against another node with a slower clock, but in terms of correctness, that doesn't actually matter: the write conflict still resolves deterministically.

> What benefits does this give over just using timestamps series into Redis > directly?

I'm also confused by this question, and I'm not quite sure how to answer it. The operation semantics, and the benefits they confer, are quite exhaustively described in the README. You might also check the READMEs in the cluster and farm subdirectories, which go into more detail. What specifically don't you understand?

<comment><USER6> > I don't think it's true that "a time series CRDT is just an append-only log"

You are correct. Append-only log as an implementation detail doesn't converge and cannot be a CRDT. Although semantically logging can and should be a CRDT, as it doesn't need to be append-only at all.

> As long as you ensure that time is unique and monotonic (usually by > including things like node ID and a per-node monotonic counter)

As other comment noted, it's not enough. You need some causality here, at least a lamport timestamp (which is a rule of thumb on timestamps anyway). Because even with synced clocks some will always be faster and always win writes.

<comment><USER5> > even with synced clocks some will always be faster and always win writes.

That's true, but, in the use cases that Roshi targets, it's also not a problem. Users will notice and re-issue writes.</comment></comment></comment></comment>


Ask HN: What is your favourite obscure or surprising fact? - <AUTHOR>

<comment><AUTHOR> Light has no mass so it does not experience time. Everything happens instantly for it.

While it takes us 10 years to wait for light to travel 10 light-years, the light takes no time at all.

This explains it perfectly:

[http://www.askamathematician.com/2011/07/q-does-light- experi...](http://www.askamathematician.com/2011/07/q-does-light-experience- time/)

</comment><comment><AUTHOR> 94% of sexual activity in male Giraffes is homosexual.

<http://en.wikipedia.org/wiki/Homosexual_behavior_in_animals>

</comment><comment><USER2> Ligers do exist. Lions and Tigers can breed and when a male lion and a female tigress mate, it makes a Liger. The liger is the biggest feline ever and they are extremely massive! To really see how massive they are, you can see an adult liger in this video next to a man : <http://www.youtube.com/watch?v=1zOWYj59BXI>

<http://en.wikipedia.org/wiki/Liger>

</comment><comment><USER3> The brain is the most complicated object known to man. The number of possible unique thoughts by any brain is greater than the number of molecules in the universe.

</comment><comment><AUTHOR> A lump of lead will float in a pool of mercury.

</comment><comment><USER4> A pickle (or Gherkin) is just a cucumber.</comment>


The House by the River - <AUTHOR> http://theanthill.org/grandfather <comment><USER2> There was a great deal of political change in China during the 1900s. Even though I've read and studied about it I still find it difficult to comprehend how far reaching some of those actions were. I find it refreshing to read accounts such as this but also difficult to put it into perspective with regards to the world we live today.

</comment><comment><USER3> Also this story by the author: [http://theanthill.org/my- father](http://theanthill.org/my-father)</comment>


235GB Stolen from South-Korean's Department of Defense presumably by North Korea - <AUTHOR> http://english.yonhapnews.co.kr/news/2017/10/10/0200000000AEN20171010003052315.html <comment><USER2> The size of the data taken seems large initially. However, the method/timeline of NK's op data exfiltration is an unknown in the story. I am curious of the details if ever available. Obviously if this is over a period of enough time and a proper transfer protocol or tricky entropy based method that much data may go unnoticed. The real concern would be network security and method exploit and breach into the network.

</comment><comment><USER3> Don't network security usually have some type of heuristics in place that detect abnormal patterns of data access, and cuts it off?

My head spins from reading about security breaches like this.</comment>


Why paying by self and fingerprint is not secure - <AUTHOR> https://m.futurezone.at/digital-life/warum-bezahlen-per-selfie-und-fingerabdruck-nicht-sicher-ist/227.827.127 <comment><AUTHOR> Use chrome to translate from German.</comment>


What engineers do before 9am - <AUTHOR> https://medium.com/dima-korolev/what-engineers-do-before-9am-7d194ee0faa6 <comment><USER2> Really? This has to be the lowest quality submission I've seen on HN.</comment>


TPP's Copyright Term Benefits US, Burdens Others - <AUTHOR> http://www.ip-watch.org/2015/03/23/tpps-copyright-term-benefits-us-burdens-others/

<comment><USER2> _Available only for IP-Watch Subscribers. Please login or subscribe to read the full story._

Why am I always so cynical I see posts like this as spam to generate subscriptions rather than useful information?</comment>


Should I give free upgrades for life? - <AUTHOR> http://successfulsoftware.net/2008/09/08/should-i-give-free-upgrades-for-life/ <comment><USER2> Wil Shipley says charge for upgrades: <http://www.viddler.com/explore/rentzsch/videos/4/> (He is the dev of the OS X app, Delicious Library.)

I would say that not charging for major upgrades impairs developer-customer relations. Without upgrades, the dev has an incentive to stop working on their app and write a new one (and thus get a bunch more money).

I can't think of any well-known piece of Mac shareware that doesn't charge for x.0.0 upgrades.

</comment><comment> patrickg-zill I would say no, but instead give a longer-term period of free upgrades, such as say 3 to 5 years. This is long enough to be seen as a benefit by the customer. Saying "for life" means little when you are a smaller software company, as most have seen one of their favorite applications die on the vine due to the company going out of business.

</comment><comment><USER3> Why Not? We do, in one of our product areas. The software products are sold at a fair price and most of our customers expect to use the products for many years into the future - probably decades. Thus we provide free upgrades for all users.

It helps on the maintenance front as well. We can "kill off" support for very old versions by encouraging such users to move to a later one.

Some software sales models depend upon selling upgrades - alternately you price for "lifetime use" and enjoy a long term relationship with your customers.

<comment><USER4> >price for "lifetime use"

But how do you know how long the life of the product will be?

Also, the higher up-front cost might put customers off.

<comment><USER3> I agree that in many instances estimating the life expectancy (from the customer's viewpoint) is difficult but in others it can be reasonably straightforward. In the software instance that we offer free upgrades for life we are clear that our customers anticipate building and maintaining a body of data over very long periods of time - they select our product because they are persuaded both that our software meets their data recording needs AND that we are going to be sticking around maintaining that software long into the future.

<comment><USER4> >AND that we are going to be sticking around maintaining that software long into the future

Personally I would have more confidence that you would be around in 5 years if you were charging for upgrades.

<comment><USER3> Personally I prefer new sales - it means you are still getting it right and not milking your customers.

</comment></comment></comment></comment></comment><comment><USER5> The number games in this article are without any substance, especially the estimates for the percentage of upgraders.

Other companies are using a tiered system, where you get free lifetime upgrades for the base version and you pay a fee for premium/business services (Jungledisk.com is using this approach). This way you can build a (happy) userbase and increase the trust in the company. Satisfied customers are more likely to upgrade to a payed plan.

<comment><USER4> The spreadsheet is included. Run your own numbers.

</comment></comment><comment><USER6> I wouldn't, the whole point of software is to sell it. Every time you upgrade, you get to sell once again to your entire userbase. If you give away the farm, your possible market will shrink as you sell to more and more people, and your expenses will rise as you get bigger and bigger.

</comment><comment><USER7> No you shouldn't. You are devaluating the value of your IP everytime you give a free upgrade. There's a reason why companies like EA make buckloads of money doing upgrades of their game franchises.</comment>


SXSW plans coming soon to foursquare - <AUTHOR> http://foursquare.com/sxsw/

<comment><USER2> Thanks for the heads up.</comment>


Glenn Greenwald's news site, The Intercept, is up - <AUTHOR> https://firstlook.org/theintercept

<comment><USER2> Now that Glenn Greenwald has pretty much only himself to answer to, it'll be interesting to see what he publishes that he might not have, had he stayed at The Guardian. I'm a little concerned that his domain name firstlook.org is hosted through GoDaddy. Anything particularly damning could have authorities asking GoDaddy to take his domain from him, and the fact that his servers are hosted in California provides a second potential point of government interference.

<comment><USER3> Greenwald's been asked, given how things seem to be, whether he would set things up outside the US. ISTR he stated that the Constitution (and First Amendment) still exist and the US is the most appropriate place for the NewCo. I think it was in an interview with Kirsty Wark for Newsnight.

EDIT: I misremembered the exact words as he actually comments on press freedom in the US. Here's the point in the interview. [http://www.youtube.com/watch?feature=player_detailpage&v=f1Z...](http://www.youtube.com/watch?feature=player_detailpage&v=f1Zvo8N3G94#t=599)

<comment><USER4> The US might be a good place for the servers, but GoDaddy has proven to be an unreliable registrar in the past. They should at least be using a provider that supports a free internet.

</comment></comment></comment><comment><USER5> HTTPS by default with a good score from SSLLabs[1], a SecureDrop implementation, and public keys posted for all of their staff. They clearly are taking this seriously. Good for them.

[1] [https://www.ssllabs.com/ssltest/analyze.html?d=firstlook.org](https://www.ssllabs.com/ssltest/analyze.html?d=firstlook.org)

<comment><USER6> They are also looking into replacing Google Analytics with an open alternative, such as Piwik.

[https://twitter.com/the_intercept/status/432970191308218368](https://twitter.com/the_intercept/status/432970191308218368)

</comment></comment><comment><USER7> Notice the staff's about pages. They include public keys and other security artifacts. That's different.

[https://firstlook.org/theintercept/staff/peter- maass/](https://firstlook.org/theintercept/staff/peter-maass/)

<comment><USER4> >That's different.

Maybe for a media organization. Not for a technology organization.

[https://www.fsf.org/about/staff-and-board/](https://www.fsf.org/about/staff- and-board/)

</comment></comment><comment><USER8> I would love to see more serious news sites use tipping with cryptocurrencies. I think it would benefit their bottom lines and help them become sustainable.

</comment><comment><USER9> FirstLook plans to earn money by selling technology solutions rather than through its journalism (which is not for profit). With that in mind, one would have expected something a little more 'innovative' on the technology side for their first publication.

</comment><comment><USER10> Seems that Hacker News' duplicate detection is seriously flawed, this was a huge story yesterday: [https://news.ycombinator.com/item?id=7209397](https://news.ycombinator.com/item?id=7209397)

<comment><USER11> Slash at the end, in one, and not the other.

You could make the case that these would represent different resources on some sites, although your point is correct.

</comment></comment><comment><USER12> > The editorial independence of our journalists will be _guaranteed_. They > will be encouraged to pursue their passions, cultivate a unique voice, and > publish stories without regard to whom they might anger or alienate.

When we speak about guarantees here it usually has a stronger meaning, but even so, how could one guarantee anything like this?

</comment><comment><USER13> Someone should help him out with thumbnails...

</comment><comment><USER14> I was really hoping for something... more. This looks like a mediocre blog template, not "the future of journalism on the web". (I don't think anyone's actually claimed it will be, but given Greenwald's track record -- even before Snowden -- I was hoping it would be.)

The second article ([https://firstlook.org/theintercept/article/2014/02/10/new- ph...](https://firstlook.org/theintercept/article/2014/02/10/new-photos-of- nsa-and-others/)) is a bit closer to what I had imagined, although the lack of cohesion across the site leaves a lot to be desired.

At the end of the day, though, I guess the only thing that matters is the words.

<comment><USER15> I am glad that they are focusing on the content itself instead of fancy stuff. Websites like The Verge or Polygon were exciting at first, but all that flair and gradients got old really soon. I'd like to concentrate on words instead. Sprinkle couple of images related to the text and i'll be very happy.

P.S.: I do think that Intercept could be a little bit more solid, less generic design-wise with its own style.

<comment><USER4> I can't even read the Verge except for their mobile site. The desktop experience is so heavy and bloated, that I just leave before finding the article I want to read.</comment></comment></comment>


HP Nanoprocessor part II: Reverse-engineering the circuits from the masks - <AUTHOR> http://www.righto.com/2020/09/hp-nanoprocessor-part-ii-reverse.html <comment><USER2> I wonder if you could train a neural network to analyze these masks. I.e. going from physical mask images back down to EDA simulation without humans needing to decode everything visually.

<comment><USER3> There is pretty impressive work going on in bioinformatics, using image segmentation to digitally reconstruct three dimensional networks of tens of thousands of neurons:

[https://www.youtube.com/watch?v=h6dF0htsTFc](https://www.youtube.com/watch?v=h6dF0htsTFc)

[https://www.youtube.com/watch?v=PeyHKdmBpqY](https://www.youtube.com/watch?v=PeyHKdmBpqY)

So yeah, probably!

</comment></comment><comment><USER4> Author here to answer your questions about the Nanoprocessor :-)

<comment><USER5> Thanks for another great post!

One thing I don't fully understand is the economics. How could HP make a processor that was competitive with the 6800 using inferior metal gate technology (which presumably meant a much bigger die size) for only $15 compared to $360 for the 6800?

<comment><USER4> My guess is that there were two aspects to the economics. First, Motorola's price included a big profit margin, since the price rapidly dropped when the 6502 provided competition. Second, if HP already had paid for a metal-gate fab, it was probably cheaper to use it than build a new fab.

</comment></comment></comment><comment><USER6> Speaking of increment/decrement architectures and Turing completeness, the Brainfuck programming language provides only one-byte increment, decrement, index via the single register and inc/dec, and branch-on-zero operations, and is Turing complete. It is very specifically designed to be unpleasant to program in, but to provide a glow of satisfaction at having succeeded in programming anything at all recognizable.

A Brainfuck interpreter in Brainfuck is around ~4-500 bytes. In C, it has been achieved (taking truly gross liberties with C semantics) in 144 bytes -- about two lines, necessarily including substrings "main(c,v)" and "putchar(".

Programming a nanoprocessor would differ from programming Brainfuck, but would feel curiously familiar.

</comment><comment><USER7> Seeing the detail analysis of what is now an esoteric item is really fascinating. How much work does it take to get a close look at a chip this sized?

<comment><USER4> I haven't taken die photos of the Nanoprocessor myself (yet), but it's pretty easy with a chip like that. Since it has a metal lid, it can be opened up in about 5 seconds with a chisel; no boiling acids required. The inconvenient part is that you need a metallurgical microscope to get a good view. A metallurgical microscope shines the light down through the lens so you get a clear image under high magnification. You can see interesting stuff with a regular microscope or an inspection scope, but the details are obscured.

To make a detailed die photo, I take about 50-100 closeup image and then stitch them together using the Hugin panorama program. This usually takes a couple of hours.</comment></comment>