New Hardware for Massive Neural Networks (1988) [pdf] - <AUTHOR> https://papers.nips.cc/paper/22-new-hardware-for-massive-neural-networks.pdf <comment><USER2> Oh hey! This looks _very_ interesting!

> Transient phenomena associated with forward biased silicon p \+ - n - n \+ > struc- tures at 4.2K show remarkable similarities with biological neurons. > The devices play a role similar to the two-terminal switching elements in > Hodgkin-Huxley equivalent circuit diagrams. The devices provide simpler and > more realistic neuron emulation than transistors or op-amps. They have such > low power and current requirements that they could be used in massive neural > networks. Some observed properties of simple circuits containing the devices > include action potentials, refractory periods, threshold behavior, > excitation, inhibition, summation over synaptic inputs, synaptic weights, > temporal integration, memory, network connectivity modification based on > experience, pacemaker activity, firing thresholds, coupling to sensors with > graded sig- nal outputs and the dependence of firing rate on input current. > Transfer functions for simple artificial neurons with spiketrain inputs and > spiketrain outputs have been measured and correlated with input coupling.

<comment><USER3> I suspect if you rely on certain analog properties (with some good precision) then the elements won't scale down very well (down to current transistor scale). At the very limit of element size I would think reliable elements inevitably degrade to binary gates, which are the simplest elements in behavior (at one point even binary gates become impossible of course due to phenomena like leakage, quantum tunelling, etc).

The brain as far as I understand does so much with large, slow elements (neurons) by having them fill a volume, be sparsely activated (i.e. mostly a huge memory), and other advanced communication methods (temporal pulse position modulation/frequency from spiking? neurotransmitters?).

Current ML is more densely activated, high-frequency networks. I'm not sure we could revert to the brain-like architecture unless we could get the cost of sillicon manufacturing several orders of magnitude down, enough that we could just fabricate a large block of stacked complex elements. A large part of the philosophy of nodes would need to be reworked (much lower frequency, lower leakeage, lower power consumption), as processes are optimized for >100MHz freqs; just so internal memory elements would keep at acceptable temperatures. Currently you could fit about 2000 GPUs in a 10cm^3 space (assuming 1mm die thickness), which would cost about $1.5M usd. And couldn't do much, because it would quickly overheat on reasonable loads, and because I don't think we have the technology to interconnect it all.

<comment><USER4> The brain definitely is able to use not just spiking frequency (which is approximately the same as EEG voltage, though not really) but also spiking patterns to encode information. We've observed some highly interesting phase locked loops showing various higher-order patterns in simulations (we simply don't have fine enough tools to look for the equivalent in the biology).

The variation in neurotransmitters allows for different sorts of activation, typically with different physical parameters (size of activation, time over which it decays) and multiple ways they interact with the other neurotransmitters.

Sparse networks are not understood to anything like the same extent as dense matrices. And another key property that most ML is missing is large numbers of feedback loops. Again, that makes predicting behaviours extraordinarily difficult.

</comment></comment></comment><comment><USER5> Another interesting quote:

> We estimate that a system with 10^11 active 10μm x 10μm elements (comparable > to the number of neurons in the brain) all firing with an average pulse rate > of 1KHz (corresponding to a high neuronal firing rate) would consume about > 50 watts. The quiescent power drain for this system would be 0.1 milliwatts.

Note they are referring to 10μm process technology. Modern state of the art technology would probably get the power consumption of such brain scale system down to under a single watt.

</comment><comment><USER6> Wow super interesting. I'm assuming this would be a fixed network thought? Could you adapt this hardware to change the weights and have the network learn (rather than passively interpret input data?)

<comment><USER4> We can do dynamic networking — the routing tables for the hardware is reloadable at runtime — but it's sufficiently difficult to do the routing computations that we only do that when the simulation is stopped at the moment. (We actually usually use the machine to compute its own routing tables; that's the fastest approach since it is a massively parallel problem.)

However, the _effective_ network can route dynamically (by faking things on top of an initially-zero-weight all-to-all connection pattern between two neuron populations). One of our PhD students is working on this, and on the types of dynamic online learning that this enables, modelling the dynamic generation and removal of synapses that occurs in biological neurons. We also support tuning of connection weights in response to the history of synaptic activity via Spike Timing Dependent Plasticity (STDP), and have done for a few years (using earlier generations of the hardware config).

<comment><USER4> FWIW, this is based on SpiNNaker, which is a system with a million CPU cores and a custom low-power multicast network backplane. It's possible to do simpler neural models with much less power than we do (and some of our competitors do just that) but it's not at all clear that those simple models are actually sufficiently biologically relevant to produce enough of the phenomena that we care about. Having a system flexible enough to support a dynamic research agenda is vital, but does increase the energy cost per neuron and per synapse.</comment></comment></comment>


Just launched my portfolio - <AUTHOR> http://www.andersdrage.com

<comment><USER2> Really polished work Anders. Got some superslick projects on that portfolio ;) What can you tell us about the tech behind the page? All hand coded?

<comment><AUTHOR> It's all hand coded yes, done by my friend André Elvan who works at [http://www.vaersaagod.no/](http://www.vaersaagod.no/).

It's built on Craft as a CMS. Thanks for the lovely feedback!

</comment></comment><comment><USER3> Took a while to load (I'm at a coffee shop) but am really loving that dropdown.

</comment><comment><USER4> Took me a while to work out what to do (my mouse doesn't have horizontal scroll).

</comment><comment><AUTHOR> Would love some feedback from the Hacker News community!

<comment><USER5> The horizontal scroll feature is really slick! Nice work</comment></comment>


Notes on Mixergy interview with TwitPic founder Noah Everett - <AUTHOR> http://mixergynotes.com/noah-everett-twitpic-11410-4/

<comment><USER2> I may be mistaken but no where in this article does it say that Noah Everett makes $5million a year. It does say "revenue projections: $3-4 million" and "#1 – have a company worth 8 figures by 24, #2 – have a company generating 7 figures/year in revenue by 25"

<comment><USER3> No you're correct, just a typical Mixergy puff-piece line.

<comment><USER4> Mixergynotes is not associated with Mixergy.

</comment></comment></comment><comment><USER5> We know that Twitter makes money off the search deals with Google and Bing, and it's a lot more than $5 million.

<comment><USER6> It's about $25 Million a year.

<comment><USER7> Of course the other factor:

      Twitter: funding $160m, you say rev $25m
      Twitpic: funding $0, rev $5m

So I think twitpic comes out pretty fantastically well.

<comment><USER8> That's daft. Funding isn't a liability (in the financial sense), and those numbers don't say anything about growth prospects.

<comment><USER7> It'll be interesting to see how Twitter grow their revenue. The number of customers who will pay $m's to do a deal seems reasonably small.

</comment></comment></comment></comment></comment><comment><USER9> _revenue took off when they moved from Adsense to other ad promoters_

For those of you struggling with adsense, take note.

<comment><USER7> Yeah that part was very interesting. We all know adsense revenue is a sort of lower end mark of what is achievable, but it's not always obvious what other ad promoters to try.

Any good ad networks people recommend?

<comment><USER8> The best ad network is no ad network, if you have enough aggregate demand to warrant it.

<comment><USER7> eg Employing your own ad sales staff to manage campaigns, and thus cut out the 30% or so that ad networks take?

<comment><USER8> It's not just about the cut. You can sell inventory for more than the ad networks sell it (their business is about volume and teeth whitening ads).

</comment></comment></comment></comment></comment><comment><USER10> All of the financial data is neat, but am I the only one surprised by the line:

\- Moved to South Carolina because of The Patriot, the warm weather, and the beach

The Patriot?! I liked "Braveheart goes to America" as much as the next guy, but I'm not sure I'd up and move to SC because of it. An answer that bizarre deserves a followup.

<comment><USER11> _An answer that bizarre deserves a followup._

It's not that bizarre. I moved to San Francisco because of all the skateboarding videos I watched when I was 13.

I'd bet that 90% of the people who move to NYC move here because of an idea of the city that is based on movies or tv shows.

<comment><USER10> Ok, but SF and NY are world capitals, tech/biz hubs. Skateboarding was part of the cultural zeitgeist for decades. The Patriot was a big budget "B" movie that featured the carnage of a bunch of innocents. I actually like the movie as a guilty pleasure. To put it another way, I wouldn't move to Minnesota because of Wayne's World.

<comment><USER11> Wayne's World was somewhere in Illinois. I would totally move to Minnesota if it was really like Purple Rain. (It's not - it's more like Mall Rats)

<comment><USER12> Wayne's World was set (not filmed) in Aurora, IL, where I now live. (I did not move here out of Wayne's World nostalgia).

</comment></comment></comment></comment></comment><comment><USER13> I wish this site linked back to the original Mixergy videos from the notes, both for ethical and practical reasons.

</comment><comment><USER14> Twitter makes about $25M yearly from search deals, and has a more sustainable business than TwitPic.

When can we kill the meme that twitter and facebook are not making money or are not profitable?

<comment><USER15> When they go public and we can see the balance sheets and not just press releases.

<comment><USER14> In the context of an interview with a tiny private company built on a clearly much bigger private company, I don't think your comment makes much sense.

<comment><USER15> It was a direct answer to your question which was explicitly about fb + twitter. What's not to get?

<comment><USER14> It was not at all a direct answer to the title of the original post, which implied twitter makes no money. It also doesn't make much sense, considering there are an inordinate number of profitable private companies.

</comment></comment></comment></comment></comment><comment><USER16> This is my first time seeing MixergyNOTES, and I must say I really enjoy this concise cliffsnotes version of the interview. I was able to take in all the key points within 5 minutes' time.

<comment><AUTHOR> Thank You!

</comment></comment><comment><USER17> The guy turned down a minimum of $10,000,000. Is he stupid? (I should add, I would take that deal, because if twitter add in any kind of image service or some other service gets popular...)

<comment><USER18> Whether turning down $10M was a bad idea depends on a number of factors, from expected revenues to his own life goals. $10M would certainly provide for a lot of freedom. The 800lb gorilla is Twitter, and if/when they start to cannibalize the third parties in an effort to build their own revenues. Twitter certainly isn't at that point yet, but it will happen eventually.

</comment></comment><comment> brown9-2 _Total investment into Twitpic was $5,000_

Does this mean that Noah Everett's total investment _as of now_ is $5000, or that at one point in time (possibly before he"rebuilt the site from the ground up to run on a scalable platform") his total investment was $5000?

The past tense on "was" makes it hard to tell which it is; it would be even more interesting of a story if the answer is the former.

<comment><USER18> I think it means his out of pocket investment to bootstrap the company.

</comment></comment><comment><USER19> in the interview he says around 1.5 mio in 2009

a quick look at quantcast shows that US traffic (which is by far the most monetizable) hasn't grown at all since july 09 (though there is a nice bump in intl. traffic) <http://www.quantcast.com/twitpic.com>

so i would say 2-3 mio is a more reasonable assumption than 5 mio. which is still fantastic.</comment>


How Corning Created the Ultrathin, Ultrastrong Material of the Future - <AUTHOR> http://www.wired.com/wiredscience/2012/09/ff-corning-gorilla-glass/all/

<comment><USER2> This article didn't mention it, so I thought I would: Glass is about as strong as steel. Okay, okay, so glass is really a _class_ of materials with widely varying strengths and some glasses like soda-lime are not very strong -- but steel is also a class of materials and there is a considerable overlap with how strong you can make glasses and how strong you can make steels. Plastics are typically much weaker than glass, as is wood.

So why is it that we have this everyday experience that dropping a cup made of glass is a likely disaster, while dropping a plastic or steel or wooden cup is not? It's actually much more subtle: it's not about _strength_ , it's about _cracks_ and _scratches_.

I am not entirely sure why, but what's happening is that in most ceramics, a scratch creates a place where the stresses inside the material get amplified in a way that doesn't exist with metals. So in metals those cracks also don't like to propagate much; it's really in glass where you see cracks propagate through the whole material. It's more obvious to see why wood doesn't behave this way -- it's made of lots of long strands glued together, so when you crack some of those strands, the crack "runs into" the glue and doesn't propagate. We've actually already stolen this idea from wood -- as fiberglass. Plastics have these really long molecules which also line up like the wood fibers and create a very irregular environment for cracks to propagate, so that may be why plastics resist fracture.

I've often wondered if there is a sort of "miracle glass" which exchanges the hydrogen bonds of plastics for the stronger silicon-oxygen bonding you see in glass, but is also built from "long molecules" the way plastic is. The idea would be essentially to steal the strength of glass and the fracture resistance of plastics while maintaining transparency. But if it were easy presumably someone would have developed it by now, and I'm no materials scientist.

<comment><USER3> Crack kills.

Metals are able to deform plastically. A metallic bond is not so directional, and you typically thing of all the molecules in a metal as a big blob with a cloud of electrons that can freely move about (also the reason for good electrical conductivity).

There are "elastic" and "plastic" deformations. Think about bending a paperclip. Use it gently, and you can open it up and get it to squeeze a few papers together. Pull it off and it returns to its original shape. That's elastic. Now open it wider or bend it into another shape, and it will no longer return to the original shape. That's a plastic deformation.

Metals can deform plastically which means layers of atoms are sliding past one another in waves. Sometimes these waves are stopped by various irregularities in the crystal lattice. The waves start to pile up, preventing further plastic deformation. Keep bending that paperclip back and forth; it will eventually snap. But in the meantime, it absorbed a fair amount of energy. That's "toughness".

In a ceramic, the electrons are not free to move about. If a crack develops, it doesn't take much for there to be terrific stress at the tip of the crack (much like a lever and fulcrum). The crack propagates through the material, and you have catastrophic failure.

There are various ways to increase the toughness of ceramics. I'm not all that familiar with them, but a common one is Yttria-stabilized zirconia. That's zirconium oxide with added yttrium. Under stress from a crack, the material can undergo a phase transformation (from one crystal structure to another; not solid to liquid or anything like that). A phase transformation absorbs energy (just like boiling water into steam does) which may be enough to stop the crack from propagating. My ceramics professor had a YSZ hammer that was gifted to him by Coors ceramics (same family as the beer company). YSZ is not transparent however.

<http://en.wikipedia.org/wiki/Yttria-stabilized_zirconia>

<comment><USER4> > _Metals are able to deform plastically. A metallic bond is not so > directional, and you typically thing of all the molecules in a metal as a > big blob with a cloud of electrons that can freely move about (also the > reason for good electrical conductivity)._

Also the reason why metals absorb electromagnetic radiation on a very broad spectrum.

Which means it's very difficult, if not impossible, to make materials that behave mechanically like metals (hard, yet not fragile) but are transparent.

</comment></comment></comment><comment><USER5> If you have the chance - visit the Corning Glass museum. Its awesome. I haven't been there in 25 years and I still have an impression of all the cool things I saw there.

</comment><comment><USER6> > From above, Corning's headquarters in upstate New York looks like a Space > Invaders alien: Designed by architect Kevin Roche in the early '90s, the > structure fans out in staggered blocks. From the ground, though, the tinted > windows and extended eaves make the building look more like a glossy, > futuristic Japanese palace.

In case anyone else was also curious, here is how it looks from above: [https://maps.google.com/maps?hl=en&ll=42.145201,-77.0548...](https://maps.google.com/maps?hl=en&ll=42.145201,-77.054812&spn=0.004427,0.003154&t=h&z=18) and from the ground: <http://www.city-data.com/picfilesc/picc5158.php>

</comment><comment><USER7> @ntgx, you appear to have just been hell-band although I cant see why. Your last 4 comments a dead.

Commenting on the top level as cant reply to you directly.

</comment><comment><USER8> This article is from last year and is a dupe.

Dupes are fine, but please add dates to your titles to let us know the information has been out there for a while.

</comment><comment><USER9> I'm still waiting for someone to make a glass gorilla. Perhaps this is my next Playa project.

</comment><comment><USER10> pooma submitting this old article because the GLW portion of your portfolio could use a boost? ;)</comment>


Vim: Buffers, Windows, and Tabs - <AUTHOR> http://blog.sanctum.geek.nz/buffers-windows-tabs/ <comment><USER2> I'm disappointed by how much hate there is for plugin-less vim.

The rest of us get along fine (and have for many years thanks) without your new-fangled hoos-its, or even old-fangled hoo-zits. Chirping about how useless vim is without your nerdsboggler jim-crickey is a little... yeccch.

The author of the article is right when he notes elsewhere in this thread that one should learn vim from the ground up. If one does so, one may just find not much climbing is required to get pretty damned high.

My 15 year old vimrc file has 52 lines.

Now i'm going to pop my monocle and ear-horn back in and get back to what I was doing.

<comment><USER3> Just wait until someone names a whizbang plugin "nerdsboggler-jimcrickey.vim" out of sheer spite!

Nowadays I do load a few plugins myself on the machines where I do a lot of coding or writing, but the only one that's useful every single day without fail is Tim Pope's Surround [1]. It's so useful so often that I've often thought Bram should simply ask to make it part of Vim's core to supplement the very cool idea of text objects [2]. Even if you're a crotchety old raw-Vim man, I really would say that you've _got_ to try this out.

There are other very good plugins out there. Fugitive [3], also by Tim Pope, comes to mind if you do a lot of Git work and care about crafting really nice commits.

[1]: <https://github.com/tpope/vim-surround>

[2]: <http://vimdoc.sourceforge.net/htmldoc/motion.html>

[3]: <https://github.com/tpope/vim-fugitive>

</comment></comment><comment><USER4> Quote: _they might end up spending a lot of fruitless time trying to force Vim to follow the same model through its configuration._

Here's a fun little snippet from my .vimrc. Enjoy ;-)

      " tab navigation like firefox
      nmap <c-s-tab> :tabprevious<cr>
      nmap <c-tab> :tabnext<cr>
      map <c-s-tab> :tabprevious<cr>
      map <c-tab> :tabnext<cr>
      imap <c-s-tab> <esc>:tabprevious<cr>i
      imap <c-tab> <esc>:tabnext<cr>i
      nmap <c-t> :tabnew<cr>:e<space>
      imap <c-t> <esc>:tabnew<cr>:e<space>

<comment><USER5> This not a configuration I would recommend as -

1\. The mappings with TAB wont work in terminal.

2\. <C-t> mapping is default map for ctags jump back.

And if you are going to be a long term Vim user, better configure Firefox like Vim than Vim like Firefox. I use Pentadectyle extension to get Vim like bindings in FF and I love it.

For switching tabs I use <c-n> and <c-p> for next/previous in command mode. Under insert mode, its default map for autocompletion which again I don't prefer remapping. Since I don't prefer to switch tabs in insert mode, that's ok.

<comment><USER6> Second Pentadactyl. There's also Vimium and Vrome for Chrome/ium. There are Vim plugins for everything these days (even Eclipse and Emacs), so that combined with a launcher like Synapse or Gnome-Do, you almost never have to use your mouse anymore.

<comment><USER3> Using Chrome and Vimium on sites like Reddit and Hacker News almost feels like cheating -- "I shouldn't be able to consume this amount of information without even having to move my wrists."

<comment><USER7> Try Pentadactyl on FF. Made me switch from Chrome to FF for regular browsing. Unfortunately Chrome's limited api makes it impossible to port Penta's robustness to Chrome.

<comment><USER5> Yes. I tried some Vim plugin for Chrome. It sucked. Pentadectyle is very robust and full-featured. Difference is considerable as compared to its Chrome counterpart. Completely transforms your FF experience.

<comment><USER3> The only thing I dislike about Vimium is it doesn't work on the "New Tab" window.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Google's cache, in case the server goes down again: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://blog.sanctum.geek.nz/buffers- windows-tabs/&ie=UTF-8&oe=UTF-8&hl=en&client=safari)

It's strange how many people (even on HN!) don't know how to use Google's cache. You just need to type "cache:[url]" and press enter.

<comment><USER8> Thanks, I didn't know there was such an easy way to do that!

</comment></comment><comment><USER9> Also:

      Ctrl-w <    make vertical window narrower
      Ctrl-w >    make vertical window wider

(You can put a numeric count before the < or >)

Also:

      Ctrl-w =    make windows of equal size

And, when I want two vertical windows each of width 80:

      se co=161
      :vsplit
      Ctrl-w =

I gotta use 161 there because apparently one column is taken by the vertical separator.

</comment><comment><AUTHOR> Also be sure to check this guy's blog out: <http://blog.sanctum.geek.nz/>

Tons of other useful articles about terminal and vim and things like that...

</comment><comment><USER10> Is there any way to use the "tabs" UI concept within one particular window? That is, for a window, have an editable list of buffers you might want to open in that window, and perhaps a tab bar at the top of that window listing those buffers. I don't like using normal Vim tabs that change between sets of windows because if I have nerdtree enabled in one tab, showing its interface in a window, that window doesn't exist in any new tabs and I have to reopen it.

<comment><USER11> I don't understand how anyone can use vanilla NERDTree because of exactly this problem. It just doesn't feel like a normal or sane editing experience when the tree keeps appearing and disappearing as you switch tabs! It's the primary reason I left Vim for an IDE at one point.

Fortunately, there's a remedy for this (which should really be default in the Janus distro). A simple plugin that makes sure NERDTree is always present and always in the same state across all tabs. <https://github.com/jistr/vim- nerdtree-tabs>

<comment><USER3> I found NERDTree had no advantages for me over just plain :Vex. I'm sure it does have other features, but how whizbang does a file browser need to be, anyway?

Besides, anything you want to do outside of choosing files to edit in your editor should be done in a shell: <http://blog.sanctum.geek.nz/unix-as-ide- editing/>

<comment><USER11> I didn't know about :Vex. At a quick glance, I'd still prefer NERDTree though, especially with nerdree-tabs as I like having a file tree and I like having one that's always present.

I do shell out a lot, but I still think it's more convenient to perform operations against nodes in NERDTree. Saves having to navigate/down/a/really/long/hierarchy.

</comment></comment></comment></comment><comment><USER12> This was very helpful. I find the constant unwillingness to link the sophistication of Emacs and Vi/Vim to the "simpler" concepts of Windows editors really frustrating, and I always appreciate it when someone extends a helping hand.

Yes, like Zork, the journey of solving Emacs or Vi with rapid keying is part of the fun, but sometimes, having a well written hint file (and yes, :help isn't it) can be really welcome.

<comment><USER3> I'm very pleased it was useful. I'm surprised to see it hit HN; I wrote it back in January and it had a lukewarm reaction on Reddit and not a peep from HN. Then again, I normally don't submit new articles to HN.

</comment></comment><comment><USER13> In my opinion, most of this is just replicating stuff that is better handled by a good tiling window manager.

Same goes for browser tabs. Just a kludge for the rarity of good window managers.

And most other applications that use tabs inside them.

<comment><USER14> The only problem is that when you use multiple instances of vim and let your TWM handle the tiling, you lose the sharing of registers and command/search history amongst the open buffers. I believe you can solve this by creating a vim server, but I've never tried it.

I try to keep a balance between the amount of tiling that vim and my TWM do by clumping similar parts of a project into one instance of vim. Even then I'll have the different instances of vim reside in their own WM tags. I use window splits in vim extensively and only use tabs when I'm working on small monitors (netbook) - even then I'll have at least two windows per tab.

<comment><USER13> I may have to look into this "vim server" business :D

<comment><USER15> Start GVim, it acts as a server named GVIM

        $ gvim filename

Open another file in the same GVim instance

        $ gvim --servername GVIM --remote otherfilename

<comment><USER16> can you ctrl-w-w to focus between X11 windows?

<comment><USER15> With this setup you have only one GVim instance that works as usual. Switching between this single GVim X11 window and other X11 windows from other programs is your WM's business, not Vim's.

<comment><USER16> Ah, well, I can dream.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> If you're new to vim: do yourself a big favor and install Janus[1]. It installs tons of useful plugins effortlessly (literally by typing ./bootstrap.sh) and saves you hours of frustration (I'm not a fan of tweaking vimrc and installing vim plugins).

[1]: <https://github.com/carlhuda/janus>

<comment><USER3> Article author here. I generally recommend against Janus because I think there's much more value in learning Vim's core behaviour thoroughly, which is best done by starting with a relatively minimal or even empty .vimrc file [1] and no plugins.

When a new user has a better command of vi basics and gets a better grasp on the _actual_ limits of Vim's built-in behaviour, and has invested some time in crafting a configuration that suits them, personally, very well for their work and workflow they have, then they're in a much better position to select plugins judiciously and don't have to use a configuration they don't actually understand.

So far, everyone who's recommended Janus to me or asked me to write about it turned out to have a pretty poor understanding of vi-like editors in general.

For perspective, I see the oh-my-zsh [2] project much the same way. I firmly believe that it really is better to start from scratch so that you force yourself to develop an understanding of the applications you use.

Learning vanilla vi has a slightly less obvious side benefit, too -- it works _everywhere_. You can log into pretty much any Unix-like system and type vi, and something understandable will happen. POSIX [3] is intended to ensure that.

[1]: [http://vimuniversity.com/samples/your-first-vimrc-should- be-...](http://vimuniversity.com/samples/your-first-vimrc-should-be-nearly- empty)

[2]: <https://github.com/robbyrussell/oh-my-zsh>

[3]: [http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi...](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html)

<comment><USER11> I tend to agree with Yehuda Katz (a Janus co-creator) that training wheels like that which Janus offers are the best way to learn Vim. [http://yehudakatz.com/2010/07/29/everyone-who-tried-to- convi...](http://yehudakatz.com/2010/07/29/everyone-who-tried-to-convince-me- to-use-vim-was-wrong/)

I learned Vim the hard way because I was a student at the time, I was required to do so (or Vi at least) and I had the time to invest in it. For people learning Vim on the job, the choice is either use expedient shortcuts or go back to TextMate. Better to start this way and gradually work towards the bare metal.

<comment><USER13> I suspect the reason he was having a hard time, was because he was insisting on replicating some existing workflow structured around other tools.

If you just want to use vim as a simple editor, it doesn't seem very hard. I mean, I don't really remember a difficult learning curve.

I still only use vim that way. I let my window manager handle the complex stuff, like how to arrange windows and then how to have multiple sets of window arrangements with different things in them (i.e. tabs).

<comment><USER3> Vim only _seems_ hard because it's so profoundly different. If you persist for even one or two evenings, I'm pretty confident most Hacker News readers are easily sharp enough to be back up to their old speed in Notepad-type editors, and from there you only get faster.

You don't have to learn it at work either. I find it's helpful to make Vim the only text editor you ever use with a dark background. The visual cue seems enough to put you in "Vim mode" so you press i before you start writing. When the background is white in your whizbang C# IDE or a Hacker News comment box, you just use your old editing habits.

<comment><USER7> My love affair with Vim started after 15 minutes in `vimtutor` when the internet went out one day. o, O, A, I, dd, p, and a couple other commands were enough for me to be see the light and be productive. Everyone needs to give vimtutor a fair shot.

</comment></comment></comment></comment></comment></comment><comment><USER17> To be perfectly frank, I did not find this article informative, and I would not consider myself a vim expert by any stretch of the imagination. I suppose it was aimed at beginners, so maybe some people will find it helpful.

See also `:help windows-intro`.

<comment><USER3> You're right, it's not aimed at advanced or even intermediate users. To be honest I'm surprised (though flattered as I usually am) that it got onto HN. Hopefully it's useful to at least some people to clarify Vim's behaviour, since it may not be familiar to people raised on GUI editors like myself.

<comment><USER18> I also found it useful. I'm just coming back to editors, specifically Vim, after years in IDE-land on Windows, and your simple definitions provided a nice mental model for me to build on.

</comment></comment></comment><comment><USER11> "You can then flick back and forth between the tabs using :tabn and :tabp."

Also gt and gT, but I still like to map these to single-key shortcuts.

        map Y gt
        map T gT

<comment><USER19> Same here, but mine is

        nnoremap <Tab> gt
        nnoremap <S-Tab> gT

Normal mode tab switches through tabs. One (and two) key goodness.

<comment><USER11> That's a good one actually, I might switch over to that.

<comment><USER11> Unfortunately Tab is equivalent to ctrl-i, which I already use (jump forward in history list), so I can't use this in the end.

</comment></comment></comment></comment><comment><USER20> Does anybody find the vim/emacs behaviour (where buffers, windows and tabs are independent) more useful than the simpler notepad++/textmate way (one tab <-> one file/buffer)? Is there a way to force the simpler behaviour in vim?

</comment><comment><USER21> His explanation on buffers isn't completely true, though. You can't have an unsaved non-visible buffer. Meaning, if you edit a buffer, you can't open another buffer in the same window without saving the edited one, first.

<comment><USER15> That's why so many new users turn to using tabs. Because they think they can't replace the current unsaved buffer they open another file in a tab. The result is very superficially similar to what you'd get in other editors but it is very different and full of pitfalls if you persist in treating them as regular tabs.

These two lines in your ~/.vimrc are enough to be able to work efficiently with buffers and windows and make tabs more useable:

        set hidden
        set switchbuf=useopen,usetab

The first makes it possible to replace the current unsaved buffer with another one.

The second allows you to jump to a buffer where it is (in another window, another tab) instead of replacing the current buffer with :b buffername.

<comment><USER21> Thanks! But it's too late for me - I already switched to emacs + evil-mode.

<comment><USER22> Any suggestions on getting started with emacs and evil?

</comment></comment></comment></comment><comment><USER23> Also the plugin "Buffer Explorer" <http://www.vim.org/scripts/script.php?script_id=42> which lets you switch between all buffers easily. Without it vim is not complete.

<comment><USER24> Buffer Explorer was good for a while. I went from that, to NERD Tree, to LustyJuggler, to Command-T and LustyJuggler, to Ctrl-P and LustyJuggler.

Now I'm just using ctrl-p. It does everything for me and it doesn't require ruby or navigating file trees. I can see my MRU files, open buffers, create new files, etc., etc. all in the same area.

I'm not sure if I'm revolting against plugins, but I am attempting to remove all the extra crap I don't use but feel like I needed at some point. I recently got rid of powerline because it does nothing extra for me. It did look pretty, but that was really it.

Less is more :D

tl;dr: ctrl-p is real nice

</comment></comment><comment><USER25> Step one: enable dirty buffers.

no step 2. Vim will behave like any other tabbed editor. Be it using tabs or buffers. Done. Why it's not the default? Well i don't care as vim is painful in all sorts of ways without customization anyway :)

<comment><USER26> Could you expand on this? I'm not familiar with this option/setting and can't seem to turn anything up via search.

<comment><USER25> <http://vim.wikia.com/wiki/Easier_buffer_switching>

       :set hidden

<comment><USER26> Thanks, turns out I had it in my .vimrc already but didn't remember what it did.

</comment></comment></comment></comment><comment><USER25> Server is offline already.

So. I will just pretend i read a rant about why it all should be only buffers and tabs and windows be just presentation. And be glad someone took the time to complain about this. Was about time

<comment><USER27> it's not quite that. it's a simple tutorial on tabs, buffers, and windows, assumed at beginners.

<comment><AUTHOR> Do you have a more advanced tutorial? I couldn't find a more comprehensive/advanced tutorial on vim tabs this morning... Everything I found were mostly about changing keyboard mappings to ease switching between tabs or thing like that.

<comment><USER3> What kind of things would you like to know? I'm open to writing a followup.

<comment><AUTHOR> I think a more practical one could be useful (this one was philosophical! explaining what these things are); a walkthrough, kinda like:

""press xxx to create a new tab. press xxx to switch to the new one you created. now press xxx to create a new horizontal window. press xxx to switch to it. xxx to create a vertical one...

close vi. type vi *.php to open all php files into separate buffers. press xxx to open 1.php and 2.php side-by-side...""

<comment><USER3> I could definitely do something like that. Probably not in the walkthrough style, which I don't really like, but definitely listing keystrokes and commands to use.

I'll write and post it sometime in the next week or so, if you're still interested by then. Thanks for the suggestion.</comment></comment></comment></comment></comment></comment>


Ask HN: Open-source business strategy meetup/group in the SF Bay Area? - <AUTHOR>

Choosing an open-source business model and accompanying licenses are big decisions for a startup. There's a very delicate balance between contributing code to the commons, fostering a community and being profitable, and there's no one right way to build a scalable business around open-source that doesn't devolve into a consulting and support business model that doesn't scale revenue and headcount wise and becomes a time vampire diverting engineering from building a better product.
With this in mind, is there a group or meetup in the SF Bay Area or an online discussion group where founders and key employees of startups using or exploring open-source business models can get together, network, get advice and bounce ideas of each other?
I'm doing a lot of research on this myself, but there is no substitute for talking to others who've been down this path before and have wisdom and knowledge to share. <comment><USER2> It's not until April, but the best event on this topic has traditionally been the Open Business Conference (OSBC - formerly "Open Source Business Conference"). I'm biased, as I founded the event, but I founded it precisely because of the dearth of information on how best to build and scale a successful open source business. <http://www.osbc.com>.

<comment><AUTHOR> I completely agree that there's a dearth of information in this space. Unfortunately, I am in a position where I need to make licensing decisions before April, but I'm going to keep an eye on this conference and check back on it closer to the event to see what speakers have signed up to talk.</comment></comment>


Ask HN: As a CS undergrad, any advice on preparing for the job hunt? - <AUTHOR>

Currently, I am in my second year as an undergrad working on a BS degree in CS and looking for some guidance as to what I should do to be competitive in the industry as an entry-level dev and intern. (no luck for summer 2011)
My experience so far:
Java - 3+ yrs
C++  - 2+ yrs
C    - 2  yrs
JS   - 1  yrs
CSS, HTML5, WebGL, RoR, nodejs, gdata & Facebook APIs < 6 months
So, I've been trying to expose myself to as many trending techs and languages I can to augment my education. I do a lot of personal projects that often expand my skillset breadth-wise and go deep enough to give me a decent foundation. Usually once the project is done I move on to something new and have found myself looking for a project that has some real application I can get behind and roll out a polished product. (any suggestions?)
Based on your experience, what advice do you have for a CS student entering the workforce in the near future? If you could go back to your first job hunt, what would you have done differently?
Any advice is useful and greatly appreciated. (skills, location-related, hobbies, project suggestions, cs electives, etc.)
Thank you! <comment><USER2> Something else you might want to consider: exposing yourself to techs that are _not_ trending. The problem with just learning RoR, WebGL, NodeJS, HTML5, etc. is that _everyone_ does that - while you have an advantage over someone who doesn't learn anything outside of class, you don't have all that much of an advantage over other programming enthusiasts. In a good job market, this doesn't matter, but in a down market, every little thing you can do to set yourself apart from your competitors helps.

Compiler design never goes out of fashion. Neither does statistical machine learning and large-scale data analysis. Image and video processing may become increasingly hot in the coming years. I know someone who parlayed a $15/hour college-dropout webmonkey position into $75/hour consulting because he got involved in mapping and geolocation technologies.

Deep domain knowledge counts for a lot when companies are looking at resumes.

<comment><AUTHOR> Awesome advice, thanks. I'm leaning towards image processing; I've got good rapport with a professor whom is doing research using CUDA for image processing. Would you say there is value in turning my focus to CUDA?

I'm having trouble seeing the end result in terms of specialization- I feel that by focusing too much I might not hit the right profile for job a or b and that a position for someone with a specialized skillset is not going to be entry-level.

Again, thank you for your time. I appreciate it.

<comment><USER2> Probably yeah. It's hard to tell with emerging technologies, because sometimes they take off and it's really awesome to have been on the ground floor, and sometimes they flop and you just have to pick something else.

And yes, when you focus, it does reduce the pool of possible jobs. However, it tends to reduce the pool of competing applicants even more. You might not fit the profile for job A or B, but somewhere out there is company C, and they're desperate for workers.

The one thing to watch out for is to make sure you specialize in something you enjoy working in. Otherwise, you'll hate it, and chances are all that effort will be lost. If you don't know what you enjoy working in, it's fine to try lots of areas until you find one. But if you do find it, don't be afraid to go deep.

</comment></comment></comment><comment><USER3> I would recommend that you take courses in mathematics, statistics, and at least one physical science (physics, chemistry, biology). You might also want to do a bit of economic modeling as well. Learning different programming languages is the wrong metric for success. All that should be on top of a broad education in the liberal arts.

Are you planning on going to graduate school?

</comment><comment><USER4> I just got done interviewing for post grad jobs, I'm a graduating 5th year CS student.

I would the thing that made companies notice me the most was my work experience. I love to work, I've had a programmer summer job since I was a sophomore in high school (REU programs). During my undergrad I did a 6 month Co-op at IBM and a Six month Co-op at MIT Lincoln Lab. These kinds of experiences really make you stand out from other grads in my experience. So I would just say always have a side project during school besides your regular school work, and always try super hard to get a summer Internship/Co-op.

It's definitely not too late for summer 2011 in my opinion, I've had offers for Co-op's way later in the game than this.

Also for interviews the following book is invaluable: <http://amzn.com/047012167X> It helped me with my Apple, Microsoft, Amazon, and Google interviews.

<comment><AUTHOR> Great news, I'll keep looking for potential opportunities- definitely going to get the book. I'm still looking for positions around Austin.

Currently, I work for my CS department as a CS tutor and have a position next semester(s) teaching the entry level programming labs which should garner some attention from potential recruiters. I've logged thousands of lines of white board code. I'd love to get some industry experience though( or start-up exp!) and I'm still early enough in my academic career to get a few notches in my belt before graduation.

Thanks!

</comment></comment><comment><USER5> I would advise you to set a salary & benefits target and then actively hunt for a job that is acceptable to you.

Consider hunting on a national basis and relocating as needed, instead of staying tied to your home or college town. You probably won't have a spouse, kids, or a mortgage when you graduate, you'll be a perfect position to move & get what you want, instead of being forced to settle with something less than desirable due to circumstances.</comment>


Ignore Everybody but Take a Shower - <AUTHOR> http://blog.inklingmarkets.com/2010/01/ignore-everbody.html

<comment><USER2> The contrarian stance is a _good place to start looking_. But it's only that. It's just one logical place to look for something overlooked.

</comment><comment><USER3> The Inklings did a new product? Is Markets not working out that well?

<comment><AUTHOR> Our prediction market product is working out just fine, and is 99% of our work. We kept needing a better group email tool to use though amongst ourselves and our clients (as well as our technology phobic families) so we spent a little time building tgethr. It's come in real handy with our main work.

Just the other day we had to get a bunch of different staff from our customer and Inkling in a group to troubleshoot things related to an Inkling install. The email threads were getting ridiculous without a tiny bit of organization. And we didn't need to send them to a project management suite.

Anyways, I love it :) I'm it's best customer.

<comment><USER3> Hey, you're in Chicago, right? Any time you want to trade a security review for an hour or two explaining automatic market maker algorithms for me, I'm game.

<comment><USER4> I'll buy drinks if I can just sit there with my mouth shut and listen.</comment></comment></comment></comment>


Hits Daily Double Hacked - <AUTHOR> https://mobile.twitter.com/HITSDD/status/1089933219972038656 <comment><AUTHOR> _Hey buddy. Our site 's been hacked by the Russians, so we'll be down for a bit until we can get things figured out. Keep checking back and refer to our Twitter feed (@HITSDD) for updates._

[http://hitsdailydouble.com](http://hitsdailydouble.com)</comment>


Any feedback from fab academy graduates - <AUTHOR> http://fabacademy.org <comment><AUTHOR> Has anyone completed fab academy? Did you find it helpful for your career, just intellectually stimulating or a waste of time?</comment>


Silicon Valley breeds boredom, loneliness and vanity - <AUTHOR> https://www.sfgate.com/opinion/article/How-Silicon-Valley-breeds-boredom-loneliness-and-14567761.php <comment><USER2> Author could have just linked to Neil Postman's books.</comment>


Supreme Court rules federal courts cannot invalidate partisan gerrymandering [pdf] - <AUTHOR> https://www.supremecourt.gov/opinions/18pdf/18-422_9ol1.pdf <comment><USER2> This is actually a fascinating read, despite the disappointing decision.

This section really resonates:

> It is not even clear what fairness looks like in this context. It may mean > achieving a greater number of competitive districts by undoing packing and > cracking so that supporters of the disadvantaged party have a better shot at > electing their preferred candidates. But it could mean engaging in cracking > and packing to ensure each party its "appropriate" share of "safe" seats. Or > perhaps it should be measured by adherence to "traditional" districting > criteria. Deciding among those different visions of fairness poses basic > questions that are political, not legal. There are no legal standards > discernible in the Constitution for making such judgments. And it is only > after determining how to define fairness that one can even begin to answer > the determinative question: "How much is too much?"

<comment><USER3> That's Roberts writing?

"It is not even clear what fairness looks like in this context."

Except it IS clear what unfairness looks like, and it's this.

"How much is too much?"

This, what they are doing right hear right now, this is too much. I have to assume it's obvious to the majority here and they know what they're doing.

Kagan's dissent is great and finishes with this which REALLY resonates with me:

"Of all times to abandon the Court's duty to declare the law, this was not the one. The practices challenged in these cases imperil our system of government. Part of the Court's role in that system is to defend its foundations. None is more important than free and fair elections. With respect but deep sadness, I dissent. "

<comment><USER4> I think the decisions' example is pretty telling. Does every voter have a right to a competitive election in their district, so that their vote matters at least potentially? Or does every voter have a right to their political party getting representation at least approximately equal to their share of the electorate? Those two both sound good, and they point in opposite directions.

So, it's not a question of what the law says, it's a question of _values_, of what the law _should_ say. You could argue either side of that, but saying that the Constitution or precedents give a clear guideline for a judge to use in deciding it, is not tenable.

Let's say the courts decided to intervene here. What standard should they give? "If it seems really unfair, strike it down?" What looks really unfair to a Democratic-appointed judge is going to be different than what looks really unfair to a Republican-appointed judge.

<comment><USER5> Except that courts do weigh get asked to weigh in murky situations and come out with a ruling all the time, which is the reason they exist.

As Ruth Bader Ginsburg said recently, "However one comes out on the legal issues, partisan gerrymandering unsettles the fundamental premise that people elect their representatives, not vice versa."

[https://talkingpointsmemo.com/edblog/ruth-bader-ginsburg- par...](https://talkingpointsmemo.com/edblog/ruth-bader-ginsburg-partisan- gerrymandering-census)

<comment><USER4> No, the reason they exist is to rule on what the law says, even in very murky situations. But I have read no credible case that there is any statement in the Constitution or elsewhere, which they could go by to determine the standard here.

The fact that RGB says "However one comes out on the legal issues..." looks like evidence that, at some level, she knows there's not a legal argument here to arrive at the right result. Because the right result is surely to not do things the way we do now. Probably, some kind of multi-rep district system is the right solution. But, that's not a thing the courts can fix, or should attempt to, and they know it.

</comment></comment></comment></comment></comment><comment><USER6> Gerrymandering is enabled by data collection and algorithms that were once impractical to implement. In declining to take up the issue of gerrymandering in the previous Supreme Court, Justice Kennedy identified this issue.

As reported by NPR [0]:

> "Technology is both a threat and a promise," he wrote, noting that with the > advent of computer technology, the temptation to leverage partisan advantage > would "only grow" unless constrained by the courts. His hope, he wrote, was > that "new technologies may produce new methods of analysis" for the courts > to use in identifying and remedying the problem.

So. Let's talk about ethics. This is a community that sees the issue, understands the subtle ways in which data and algorithms can be manipulated to systematically disenfranchise people, and has the power to create the tools that Justice Kennedy wrote about. This is also a community that has the power to resist -- to not let its expertise and skills fall under the employ of those that would harm democracy.

Where's the action?

[0]: [https://www.npr.org/2019/03/25/704523712/the-supreme- court-t...](https://www.npr.org/2019/03/25/704523712/the-supreme-court-takes- another-look-at-partisan-redistricting)

<comment><USER4> It might be helpful, if there were publicly available algorithms that could balance the various aims (competitive districts, compact districts, majority- minority districts, etc.) for a given set of geography and census data. That would enable legislators to at least say, in legislation, that algorithm such- and-such (publicly defined and available) will be used with such-and-such inputs (e.g. 1/3 competitive districts, majority-minority for any minority of at least 9% of the overall pop, etc.). Right now, the legislators would have to specify the algorithm themselves, or else specify a proprietary code business product, which seems icky. So, I suppose the dev community could make the tools for drawing maps available, and educate legislators in their use.

</comment></comment><comment><USER7> The fact that Roberts actually wrote this without his head exploding is astounding: "Vote dilution in the one-person, one-vote cases refers to the idea that each vote must carry equal weight. That requirement does not extend to political parties; it does not mean that each party must be influential in proportion to the number of its supporters."

How can each vote carry equal weight if 60% of the voters get to select 30% of the elected officials?

<comment><USER8> Because a voter's preference cannot be expressed solely through their affiliation with a political party.

We look at gerrymandering through the lens of "fairness", and we find it unfair when one group cannot get reasonably proportional representation in the legislature. But we are all members of many groups. We belong to political parties, racial groups, regional groups, economic groups, social classes and personality groups -- how can all of them get a voice which is proportional to their numbers? There's no clear-cut solution.

This is the core problem with most gerrymandering jurisprudence -- it looks at at the problem mostly through a racial lens, and more recently, a partisan one. But the world is more complex than that. Voter's interests are not solely determined by the color of their skin or their political party.

The court is not saying that gerrymandering is okay. The court is saying that they don't have a solution, or at least not one that can be imposed by courts. The court is more constrained than a legislature in finding a solution, because the court must override state laws based on a reasonable reading of federal law, in this case the Voting Rights Act, or the Constitution. And unfortunately, both of those sources are nearly silent on the matter. It is not within the courts power to create law from nothing, notwithstanding Kagan's dissent.

In the past, we decided that the appropriate grouping for the election of representatives was geographic. It's not ideal, but it's the best of bad options. Our current gerrymanders are a perversion of that principle, and we are right to look for a solution that leads to cleaner, more compact districts.

The court has said that it's not theirs to decide the issue. I'm not sure I agree, because current gerrymanders are an incumbent protection racket, and that looks to me like a civil rights violation. But in any case, it is well within the power of Congress to fix the problem through an amendment to the Voting Rights Act, and they certainly should.

<comment><USER9> "It is well within the power of Congress to fix the problem..."

Except that the Senate is controlled by Republicans and Republicans, on the whole, benefit more from gerrymandering. Even when the words and intentions of GOP are made clear, "we gerrymandered black peoples' districts to reduce their representation", it's still hard to remove that entrenched power. What's more, because of the pro-rural bias of the Senate, the rural allegiance to the GOP, and the electoral college disadvantaging urban centers, this entrenched GOP will continue to have a disproportionate share of power.

The Democrats try to play clean and fair, meanwhile the deck is stacked against them, and they still naively don't shift back towards gaining rural voters who they need for the Senate. Until the Fox News loving Silent Gen and Boomers die off, the GOP will cling to a disproportionate share of power.

<comment><USER8> This is completely, utterly wrong.

I was involved in a gerrymandering case in the 1990s. The group that brought me in was challenging the Illinois congressional map, which had been drawn by Democrats. It was, and is, atrocious. Back then, the map was a deal between the white Democrats who wanted to hold some white seats that extended into the suburbs, and some black Democrats who wanted incumbent protection.

Back then, the Democrats were the ones across the country who were protecting racial gerrymanders because they wanted to ensure that any area with a substantial black population was never represented by a Republican. They drew the districts in Illinois to ensure as many black-majority districts as possible (and one Hispanic-majority district). The districts were completely convoluted. They made arguments that the Voting Rights Act actually _required_ racial gerrymanders.

Our side challenged the districts. The other side, defending the gerrymander, was led by the Mexican-American Legal Defense Fund, and they brought in the Clinton Administration Justice Department as defendant-intervenors. That's right -- the primary defender of gerrymanders was the Clinton Administration. They were involved in similar suits, making similar claims, across the country.

Demographics have shifted a bit since then, and now we have more Republican gerrymanders than Democrat ones. But make no mistake -- the original convoluted maps were all Democrat, and virtually all Supreme Court gerrymandering-related precedent during the era came as a result of Democrat defense of the maps.

So don't try to claim that Democrats "play clean and fair". That's rubbish. They created this problem, and only now are shifting their views of gerrymandering because it is no longer working to their benefit. They, like most politicians, are opportunists.

Disclosure: I'm now the chairman of the Chicago Republican Party.

<comment><USER9> Okay, you're chair of the Chicago Republicans. Chicago and Illinois, like my town of Providence, RI, was absolutely devastated by corruption amongst Democrats. We shouldn't ever have single-party control, that's not good for anyone.

What are your stances on climate change? If you have a sane, science-backed viewpoint, it'd be much easier for me to vote for you, given you're a GOP member. As it stands, 95% of your entire party has abandoned the planet's future, and I can not in good conscience vote for anyone who takes the GOP label and doesn't speak out against denialists and the fossil fuel cabal.

I went to UChicago, FWIW, and there are some decent economics-based policy proposals about climate change from right-wing thinkers. It's a shame your party is so beholden to fossil fuel interests.

</comment></comment></comment></comment></comment><comment><USER10> If my understanding is correct, this is a misleading title. _Federal_ courts cannot invalidate partisan gerrymandering - it's left to the _individual states_.

<comment><USER11> That is correct, I imagine he's arguing that each state should decide on how to setup it's districting vs the courts. It's already happened in a few states with independent redistricting setups (but mostly in blue/purple states) but it will be much harder in deep red states.

<comment><USER10> Presumably the less purple a state is (i.e. the more pure red or pure blue) the less it matters, no?

<comment><USER12> The particularly red/blue states are where this matters the most. Imagining a state with 10 districts and a split of 80-20 along party lines (and this is relatively as extreme red/blue you can get; americans aren't that homogenous). Ideally you'd expect that state to send and 8 - 2 split to the house of representatives to best represent their population. With gerrymandering it's trivial to insure those 20% are silenced as far as federal influence is concerned. That's a lot of people and, I would argue, not an ideal situation.

<comment><USER13> Note that if the people are literally just randomly red or blue like this in an 80:20 split across the state, it actually takes a LOT of work to ensure you get an 8:2 split of ten representatives out of that and you'd expect 10:0 instead if representatives are one-per-district.

One fix is to use multi-representative districts, e.g. you draw only two districts in that 10 member state, and in each district people are voting for _five_ representatives. If there are parties you can use this thing called the Jefferson system (yes named after that Jefferson) to pick members of parties to fill those five seats per district with a single vote per person in a fair way. We can expect that in this 80:20 scenario each district would send one minority party member and four majority party members. The way Jefferson works, getting five out of five members is going to need you to really _crush_ your opponents, because in effect for that last seat every vote helps them five times more than you - even "useless" votes like somebody who wrote in "Michelle Obama" make it harder for them to win that last seat.

In reality though things aren't that conveniently mixed. Most likely an 80:20 state has very different ratios in its big cities than in rural agricultural land, or on an Indian reservation, or between a college town and an otherwise similar town with no students. Gerrymandering is about drawing lines on a map so that say 40% of the people in one district are blue, even though it's 20% state wide, whereas maybe if you'd just "naturally" put the line around the big city it'd be 56% blue and they'd get a blue representative. This feels intuitively unfair, and it's frustrating that a Supreme Court felt able to say well, too bad, we don't "know" what fair even is.

</comment></comment></comment></comment></comment><comment><USER14> [https://fivethirtyeight.com/tag/the-gerrymandering- project/](https://fivethirtyeight.com/tag/the-gerrymandering-project/)

For those who want a more in-depth look at gerrymandering and why it's not simply or easy to fix, I highly recommend this series from 538. They do a great job highlighting complicated wrinkles with common gerrymandering solutions and pointing out ideas you may not have previously thought.

</comment><comment><USER15> This is just so disappointing. We cannot allow this to be the last word on the topic, they must be made to address this!

<comment><USER16> You can override a court decision (which interprets the law) by changing the law itself. All you have to do is vote for ... oh wait.

</comment></comment><comment><USER17> I've read some knee jerk reactions here on HN. I would encourage everyone to dig deeper. I suggest starting by reading this Atlantic article:

[https://www.theatlantic.com/ideas/archive/2019/06/partisan-g...](https://www.theatlantic.com/ideas/archive/2019/06/partisan- gerrymandering-supreme-court-north-carolina/592741/)

<comment><USER17> A quote from the above Atlantic article:

"Excessive partisanship in districting leads to results that reasonably seem unjust," wrote Chief Justice John Roberts. "But the fact that such gerrymandering is 'incompatible with democratic principles' does not mean that the solution lies with the federal judiciary. We conclude that partisan gerrymandering claims present political questions beyond the reach of the federal courts."

<comment><USER18> This is one of those quotes that sounds great in the abstract but fails in any form of reality.

The chickens protest to the farmer that the fox is eating them. The farmer says, right but what can I do it's the fox eating you?

Everything is a political question...especially when you make it one.

The case in front of the courts was about redistricting being politicized. To use the fact that it is being politicized to claim you can't take action to protect people's fundamental right to effective representation is an embarrassing argument. It's willful ignorance towards a goal.

</comment></comment></comment><comment><USER19> An observation from David Frum:

> _1\. Partisan gerrymandering is lawful._

> _2\. Racial gerrymandering is not lawful._

> _3\. Race is among the strongest predictors of partisanship._

> _4\. Square this circle - go!_

* [https://twitter.com/davidfrum/status/1144251011432878080](https://twitter.com/davidfrum/status/1144251011432878080)

</comment><comment><USER20> I just feel like this is another nail in the coffin that is trust in democracy in this country. You look at the stats on how much young people in the USA trust their political system and it just keeps falling for reasons like this.

Oh please vote... just remember that we can make your congressional distracts meaningless by overloading it with one side. Oh and ya the electoral college will overwrite the vote of the majority. Democracy?

<comment><USER21> "Another" nail? If it's a nail, it's one of the first ones in the coffin. Precedent for this decision stretches all the way back to the founders.

<comment><USER22> In the US context, voting rights were dramatically expanded between the 18th century and the 1960s.

A regression to Jim Crow era practices is a serious setback.

<comment><USER21> Gerrymandering has been a constant since the time of the founders.

<comment><USER12> That's wrong, and wrong in really interesting ways.First off if we want to argue from the founders districts were never supposed to be more than 10k people and the number of districts would naturally grow with population. We threw that out the window in the early 20th century precisely to make the representation of power less democratic.

Ignoring all of that history, and taking your statement in good faith, it still is reductive to pretend that we're in the same state as the 18th century. Voters are much more diverse, and the technology exists to precisely draw districts to achieve very precise outcomes. The increased precision and ability to do things at scale is a differentiating factor, as well as the increased consequences; a voting population that's just "land owning white males" might see gerrymandering as less extreme that the much more diverse distribution of beliefs we have in the current voting population.

The current problems with gerrymandering are huge. Issues that have super majority support among the population (reproductive rights, immigration reform, drug reform, gun control) are controlled by an increasingly small population of voters. You can (and even may be correct) claim that this represents the wills of the founders; it's a much harder sell to claim that this is a "good thing" that the people shouldn't be able to push back against.

<comment><USER21> So by "wrong in interesting ways" you mean "right, but in ways not relevant to my particular argument".

<comment><USER12> No, in the you're wrong unequivocally, but the ideas that we can "know the will of the founders" and "the will of the founders somehow matters" is really interesting in 2019.

<comment><USER21> I generally don't think we can, but since "gerrymandering" was coined to describe an instance of it occurring in _Boston_ during the presidency of _James Madison_ , I think we have a clear signal in this one case.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> I'm 99% sure things are going to get a lot worse before they get better.

<comment><USER24> What makes you think they're going to get better?

<comment><USER23> good point

</comment></comment></comment><comment><USER23> I think any reasonable / rational human being could use the single word "equality" as the criteria and decide unequivocally that what is being done with gerrymandering is not that.

Looks like SCOTUS needs congress to hold their hands and spell everything out in laws that will almost certainly contain loop holes.

Why is this supreme court unable (unwilling?) to think for themselves?

</comment><comment><USER25> That should be federal courts, not state courts. This is important, because states like Pennsylvania have had its Supreme Court hand down rulings on gerrymandering because of its constitution.

I should note that this didn't go to the Supreme Court because it was purely a state matter, and ruled based on the state's constitution.

<comment><USER26> Pennsylvania is neither uniformly red nor blue, so this kind of judgement will not be possible in a state like North Carolina.

<comment><USER22> North Carolina has a "liberal" majority on its Supreme Court,

[https://en.wikipedia.org/wiki/List_of_Justices_of_the_North_...](https://en.wikipedia.org/wiki/List_of_Justices_of_the_North_Carolina_Supreme_Court)

</comment></comment></comment><comment><USER27> So what is the recourse to this decision to prevent partisan gerrymandering?

Basically what I am seeing is a class of laws that can be appealed at a state level, but not at a federal level. Not an expert on the legal system, but is there precedent for this on a constitutional topic (like voting)?

</comment><comment><USER28> It seems inherently unfair, and maybe undemocratic that a party (any party) could control state government with a disproportionately small number of overall votes.

Or that any party could gather a large majority of votes, and not actually have any control.

</comment><comment><USER29> Specific instance aside the court is wise to remain aloof from the role of king maker. A rare bit of propriety in today's disgruntled political arena.

<comment><USER30> Maybe the Supreme Court is not the right entity to decide this issue, but gerrymandering is obviously anti-democratic. By permitting it for political gain, the court allows our two dominant political parties to act as "kingmakers" by controlling the relative level of impact for each vote. With the sophistication of modern data collection and modeling, we're increasingly seeing politicians win popular vote counts in state races while losing the election.

We need a wholesale reconsideration of our election fairness and security practices in this country.

</comment></comment><comment><USER12> The cognitive dissonance required to wax poetically about how voters should just get their representatives (elected and permanently in power because of these broken districts) to pass laws to redraw the broken districts is astounding to me. Checks and balances, never heard of them.

i can't wait to see what districts look like in a few years now that there's 0 potential for voters to be heard.

<comment><AUTHOR> The thing is that there is potential for changes at the federal level to contradict this. If Congress is controlled by the Democrats, and they see many states with Republican-gerrymandered districts, they might see a way to increase their influence by legislatively preventing gerrymandering on the national level, forcing states to make their districts more fair.

There's of course always the chance that the party in power will see that preventing gerrymandering will hurt them more than it will help them, but that won't always be the case.

<comment><USER31> How would they do that? Pass a law? Does the federal government have that authority?

<comment><USER32> They can do it without passing a law actually (which is a bit scary if you think about it.) Congress and congress alone has the power to determine its membership. They can simply pass a resolution stating that no member who was elected by a district that was gerrymandered by some specific criteria will be seated in the future. The courts can go pound sand if they don't like it.

<comment><USER33> Some of this has been litigated and it's not quite that black and white. Take a look at

[https://en.wikipedia.org/wiki/Powell_v._McCormack](https://en.wikipedia.org/wiki/Powell_v._McCormack)

<comment><USER32> Yes, the court can make such claims as they do in Powell, and Congress can ignore them. It is pure power politics, but the reputation of the court has been so diminished that Congress could easily get away with refusing to seat a member or two and there is really nothing that anyone could do to stop them.

<comment><USER33> You can make that argument about anything, though and it be would be equally applicable. 'The branches of the US government can start ignoring each other'. Sure, they could but that possibility doesn't really offer any useful insight. It's like saying I can become world heavyweight boxing champion by shooting my opponents.

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> A good ruling. Everyone getting upset at this should take a couple things into consideration-

1\. Both parties do this now and have done it historically. It is no more a danger today than it has ever been in the past and the Republic has lived and thrived with this system. Generally what it does it create a magnification of power for a party that is in a slight majority position, which can create more continuity in government and allow their ideas to make it into actual law over opposition. This is not a necessarily a bad thing. Voters get to see the full affects of a party's agenda take place and then if they don't like it, the party tends to get thrown out wholesale and the other 'team' ends up with similar magnification to implement their agenda. See Texas and California where this has played out in opposite directions in recent decades.

2\. Modesty in the judiciary is a very _good_ thing. Notice that the new 'ultra-conservative' judges have regularly been crossing over to join with the court liberals this term. Why? Because their underlying philosophy is to interpret the law and constitution as written. I appreciate here that they are calling out that the actions taken by the legislatures are not necessarily appropriate, but respecting the boundaries of what their constitutional role will often play to the advantage of those who disagree with this particular ruling. If they were true 'movement' conservatives dictating by desired outcome rather than the law, they could easily slip into a tyrannical mode from the POV of many here. Instead the worst you can say is that they are trying to enforce the law and Constitution as written and you can use your vote to get those changed.

<comment><USER17> Your argument about the magnification of power is interesting. I agree that gerrymandering tends in this direction. I'm not convinced this is (1) a healthy thing overall, (2) compatible with reasonable definitions of representation, nor (3) a particularly efficient way to give party or ideological continuity given the huge risks of corruption that come with gerrymandering.

<comment><USER34> I just think it is more like first past the post parliamentary government- the party in power gets to implement its agenda whether its a large majority or even a plurality. Not out of the norm around the world or considered anti- democratic.

</comment></comment></comment><comment><USER35> I'm not sure whether this is a good decision for the country, but it's a good decision for protecting the integrity of the federal judiciary (which is the whole point of the political question doctrine):

> In considering whether partisan gerrymandering claims are justiciable, we > are mindful of Justice Kennedy's counsel in Vieth: Any standard for > resolving such claims must be grounded in a "limited and precise rationale" > and be "clear, manageable, and politically neutral." 541 U. S., at 306–308 > (opinion concurring in judgment). An important reason for those careful > constraints is that, as a Justice with extensive experience in state and > local politics put it, "[t]he opportunity to control the drawing of > electoral boundaries through the legislative process of apportionment is a > critical and traditional part of politics in the United States." Bandemer, > 478 U. S., at 145 (opinion of O'Connor, J.). See Gaffney, 412 U. S., at 749 > (observing that districting implicates "fundamental 'choices about the > nature of representation'" (quoting Burns v. Richardson, 384 U. S. 73, 92 > (1966))). An expansive standard requiring "the correction of all election > district lines drawn for partisan reasons would commit federal and state > courts to unprecedented intervention in the American political process," > Vieth, 541 U. S., at 306 (opinion of Kennedy, J.).

One of the cases underlying this Supreme Court decision involves egregious Democratic gerrymandering in Maryland, my home state. The Congressional district my house should be in looks like this: [https://en.wikipedia.org/wiki/Maryland%27s_3rd_congressional...](https://en.wikipedia.org/wiki/Maryland%27s_3rd_congressional_district#/media/File:Maryland_US_Congressional_District_3_\(since_2013\).tif). It's shaped that way to dilute the republicans in Annapolis with democrats from Prince Georges County, and push the rest of the southeast Maryland republicans into district 5.

This is clearly bad. But the question is, is it the role of the federal courts to do something about it? What do you think the reaction in Maryland would be if a Trump-appointed federal judge invalidated this district on constitutional grounds? This decision protects the federal judiciary from the inevitable shit show that would ensue in that and similar situations.

<comment><USER23> I think if you took every case heard by the Supreme Court and treated it the same way, they would likely make very few decisions. By these standards nothing is literal enough in the constitution to warrant a decision on pretty much anything really.

<comment><USER21> That's what you'd hope! Supreme Court Justices have lifetime tenure and are completely unaccountable to the public. We're not meant to be governed by a panel of philosopher-kings.

<comment><USER36> yeah, all you have to do is elect people that will change this law, hmm...

</comment></comment></comment></comment><comment><USER37> What a crock of shit. Is there no such thing as equal representation under the law? Expand the house.

</comment><comment><USER38> The Governor of California should just say, "Thanks to today's Supreme Court decision, we intend to redistrict California to make it mathematically impossible for Republicans to win a single House seat". I bet you the Senate would agree to a federal anti-gerrymandering provision right quick after that.

<comment><USER39> I agree with you, however that's unfortunately not possible. The California Constitution defines the redistricting process in terms of the California Citizens Redistricting Commission. We would need a ballot initiative to overturn it. I'm not aware of any initiatives to add such a provision to the ballot in 2020.

[https://en.wikipedia.org/wiki/California_Citizens_Redistrict...](https://en.wikipedia.org/wiki/California_Citizens_Redistricting_Commission)

</comment></comment><comment><USER40> It's pretty fitting that the justices who were appointed by presidents who seized power against the wishes of a majority of voters were the ones to drag this corruption-enabling decision over the finish line.

Pack the SC until they stop making corrupt decisions.

<comment><USER41> Can you explain how the current president "seized" power? Was there some extra-legal mechanism at work that I'm not aware of?

<comment><USER40> I don't know what else you call it when you get supreme executive power despite a majority of the voters not wanting you to have it. I'm aware that it wasn't illegal, but it doesn't mean it's legitimate.

<comment><USER41> These have been the rules for nearly 250 years. Why are you only up in arms about it now?

<comment><USER42> Maybe you aren't old enough to remember but plenty of people were up in arms in 2000 as well.

I can't comment on what popular sentiment was in 1888.

</comment></comment></comment></comment></comment><comment><USER43> Well...

At least now we can honestly say the system is still as vulnerable to being rigged as it was before.

I'm honestly at a loss for words.

EDIT: Words no longer 404ing. It appears the Court is not satisfied with the State's criteria/legal reasoning to justify justicable action against the districting plans. They hold the measure must be politically neutral, and have some basis in being legally addressed.

They go at length to describe circumstances to describe cases with inherent justicability (districting along racial demographics), but offer no hints or grasps as to a measure of degree at which political gerrymandering becomes "excessive".

It looks like Maryland attempted to use "likelihood of persistence" of the gerrymandered district, but this was dismissed on allowability based on previous precedent. "Intent" was also singled out in a couple different wordings, but did not hold satisfactorally for the Court.

Of particular concern was of the Federal Courts to support State Court's particular measures on what constitutes excessive gerrymandering. It seems the Court is nudging State populations to appeal to the Federal Legislature to oversee malconduct in individual State districting. I find this concerning, seeing as our Federal Legislature has enough on it's plate with getting things passed, and the last thing we want is to start having the different levels trying to micromanage each other.

I can sort of see some tiny speck of Wisdom in their judgement. I don't necessarily find it satisfying, but I have to grudgingly admit they at least reasoned it out.

<comment><USER44> Constitutional amendment</comment></comment>


Writing an Async Logger in Nim - def- http://hookrace.net/blog/writing-an-async-logger-in-nim/ <comment><AUTHOR> What a great article. Takes up a problem which everyone is familiar with and then describes how one will go about solving it in Nim.

I have been writing software for close to 15 years. When a new programming language comes out, I am looking to find out what it does better compared to the languages I already know. And generally, you never find material like that. After looking at this article, I realized that solving a familiar problem in a new language step by step is a PERFECT way to introduce me to your language.

Coming from C#, I learned that Nim language has the notion of a channel and how it makes cross thread communication easy.

</comment><comment><USER2> Well done. I've been thinking about using Nim for my next project. This does a good job showing how to use various Nim features such as templates and channels, plus how to use existing tools such as valgrind with the result. Nothing earth-shattering, but lots of nice knowledge nuggets in there.</comment>


Exploring the warship Mars, the pride of Sweden's 16th-century navy (2014) - <AUTHOR> http://news.nationalgeographic.com/news/2014/07/140707-mars-shipwreck-warship-baltic-sea-archaeology-science/

<comment><USER2> What sort of wood was it made out of that those random shattered planks were heavy enough to sink?

Also, I'm curious how they got such a bright, colorful wide-angle photo under 250 feet of water. Special camera? Ginormous lights? I think there's places where the water is really just that clear, but if this was one of those, surely it wouldn't have taken so long to find...

<comment><USER3> There is a lot of wood that doesn't float, I guess the options were to put dense wood and less ballast or wood that floats and more ballast.

I think it's oak and is just saturated with water though.

Here is the "global wood density database" (an excel file): [http://datadryad.org/repo/handle/10255/dryad.235](http://datadryad.org/repo/handle/10255/dryad.235) ([http://datadryad.org/bitstream/handle/10255/dryad.235/Global...](http://datadryad.org/bitstream/handle/10255/dryad.235/GlobalWoodDensityDatabase.xls?sequence=1))

[http://blog.mischel.com/2012/10/21/woods-that- sink/](http://blog.mischel.com/2012/10/21/woods-that-sink/)

The photograph is likely heavily photoshopped, the caption says it's a "composite photograph".</comment></comment>


The truth about sex robots - <AUTHOR> http://www.bbc.com/future/story/20160209-the-truth-about-sex-robots <comment><USER3> I think the post misses completely the point of technology replacing humans. Like autonomous cars, sex robots will be viable when they are better than the alternative. And for many people, this means better than nothing/sex toys. They don't need to be perfect as it suggests.

<comment><USER4> Spot on . . . to borrow from Thoreau, ''the mass of men lead [sex] lives of quiet desperation''. (As a man, I'm more familiar with the male perspective.) I think even a crude early version of a sex robot that males could interact with at home would revolutionize society with all sorts of consequences to romantic relationships, birth rates, social development, and so on. Combine the physical manipulations with AI and VR and I think it will be as or more important than developments like self driving cars and 1 hour drone deliveries.

<comment><USER5> Isn't that already happening? Not to pick on the Japanese in particular but it's low-hanging fruit search wise

[https://www.google.com/webhp?sourceid=chrome- instant&ion=1&e...](https://www.google.com/webhp?sourceid=chrome- instant&ion=1&espv=2&es_th=1&ie=UTF-8#q=japanese%20men%20not%20interesting%20in%20sex&es_th=1)

</comment></comment></comment><comment><USER6> Has this author ever heard of 'minimum viable product?'

I doubt the lack of nanotech to create perfect artficial skin (or many of the other features mentioned) are going to hold this back.

<comment><USER7> Exactly! This is a subject dominated by imagination and fantasy. All that is needed is a spark. Arguably, the robot should be quite different from a real human, because they are available already and at a reasonable price.

</comment></comment><comment><USER8> > In two recent movies, Her and Ex Machina, filmmakers explored an intriguing > concept: whether humans will fall in love with and want to have sex with AI > or robots.

Never mind Ghost in the Shell throwing that idea about, like, 20 years ago already. It's always fun to be see folks late to the party.

<comment><USER9> The author went as far back as Pygmalion [1913], where Eliza fell in love with a statue that came to life.

<comment><USER10> "In Ovid's narrative, Pygmalion was a Cypriot sculptor who carved a woman out of ivory. According to Ovid, after seeing the Propoetides he was "not interested in women", but his statue was so fair and realistic that he fell in love with it."

Ovid lived over 2,000 years ago.

</comment></comment></comment><comment><USER11> Stepping stone is VR/AR with tracked toys

</comment><comment><USER7> There's a market for every toy. Robot feels weird, sounds funny, looks creepy? Sell to the weird funny creepy crowd.

<comment><USER12> Just because something looks creepy doesn't mean the target buyer is creepy.

</comment></comment><comment><USER13> Oddly I am reminded of a comment about New Mexico. There the ratio of non- imprisoned men to women is something like 90:100 in the non-White community, and so _apparently_ women are more Likely to acquiesce to the sort of male demands you can imagine - so less marriage, more polyamory, and apparently more sex more frequently.

(I am now racking my brains for a reference - it could be Tim Harford?)

The point being, that real people competing against a free "good enough" alternative are going to be the unusual example of economic Uberisation

</comment><comment><USER14> > Some worry sex robots might hurt already marginalised sex workers

I doubt that anyone actually worries about this.

</comment><comment><USER15> A robot with a self-cleaning feature would make me more likely to use it.

<comment><USER16> > A robot with a self-cleaning feature would make me more likely to use it.

Or better yet, a house-cleaning feature (male or female).

<comment><USER17> For a sarcastic view on the concept, check out "Robot Girl" by Was (not Was)... here's an SNL performance from 1989.

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

(RG starts at about 1:45)

</comment></comment></comment><comment><USER18> I got such a weird feeling reading that. Happy Valentine's Day!

</comment><comment><USER19> Unless you get the pheromones and skin chemistry right there really isn't any point.

<comment><USER7> That's not fair! Lots of sex toys sell today. Very very few of them get that right. In fact, all they have to be is soft and lubricatable.

</comment></comment><comment><USER20> What people never learn, human intelligence is not learning by analyzing and doing it better. human intelligence means actually doing something which could never be calculated and which could be a total mess, however it could still be the right thing. Current AI's will learn, but they will learn with their input, which is something humans don't do, their thinking is abstract.

<comment><USER21> Your description of "human intelligence" sounds more like a bounded random number generator. Also, your thinking is restricted by sensory input - <USER2> like the AI.</comment></comment>


Affective Wear – Recognizing Facial Expressions - <AUTHOR> http://kaikunze.de/posts/-affective-wear/

<comment><USER2> It reminds me of affective, developed in MIT. I hope this time it will be Open Sourced instead of sold like the other one. I think marketing companies have already enough tools to fool us...

<comment><USER2> * affectiva ([http://www.affectiva.com](http://www.affectiva.com))

<comment><AUTHOR> they use a camera (so not really practical ;) )

<comment><USER2> yes I think your approach is the better technical solution.</comment></comment></comment></comment>