German Federal Police uses open source XMPP client 'Conversations' internally - <AUTHOR> https://twitter.com/iNPUTmice/status/1203611711967813633 <comment><USER2> XMPP is huge for law enforcement and military applications. In fact XMPP is successful enough to keep updating the standard because of its penetration in that market -- even though it can't seem to make a difference in the "messenger of the day" market where it seems there was AIM, ICQ, Paltalk, Paypal, Google Chat, and Facebook Messenger which share some characteristics: (i) they don't improve over time, (ii) they don't interoperate and (iii) you will be using something else five years from now.

</comment><comment><USER3> It is quite easy to encrypt a jabber or a similar server. My inner circle of friends still uses one. You can have transports to some other forms of social networks if you want to.

Compared to modern social networks thinks like IRC and private IM-Servers look like the future again. Yes, it is more exclusive most of the time, but just so much better.</comment>


Growing Up is Hard - <AUTHOR> http://www.overcomingbias.com/2009/01/growing-up-is-hard.html#more <comment><USER2> The idea that human intelligence isn't so much a fundamentally new thing, but a mix of existing things, appeals to me.

I see two features: (1) that we can intercept senses, so a car, bike or horse (or spear, axe or hammer), is neurologically an extension of ourselves; (2). (I _think_ ) abstract reasoning has an identical neurological basis to that used by rats, crows and dolphins to solve puzzles, except over abstract concepts instead of over concrete instances.

> a possible test for whether a cognitive enhancement is likely to have > downsides, is the ease with which it could have occurred as a natural > mutation

Our environment is different today, and traits that would have often killed their possessors 100,000's of years ago could be beneficial today. I'm thinking things like Asperger Syndrome, even Autism (which might have factors that are advantageous in a different combination, like Sickle Cell anemia - one grant malaria immunity; two kills you).

Even the earliest agriculture could have profoundly distorted the fitness function, so we may been evolving very rapidly over our recent genealogical history (rather than stagnating as is often claimed).

Better short-term memory would increase effective intelligence (in my personal experience, anyway), and it seems that evolution could improve this without harm...? Or maybe that's just von neuman bias... it could be that short-term memory is intimately integrated with intelligence - eg. each chunk in working memory is connected to everything else in long-term memory, allowing you to recognize similarities etc. You couldn't afford many buses like that.

<comment><USER3> "Better short-term memory would increase effective intelligence."

I'm not sure about that. On one psychologically administered IQ test I did really well; supposedly 99.97th percentile of incoming college students. I was 11; this was one of the final straws in my tenure in middle school. Shortly afterward, I took another test, as part of my case to get into college. Apparently, I did pretty well. In most of the sub-tests, anyway.

But then there was a digit recitation test, and a color recitation test, where you had to recite it backwards, forwards, and so on. I must has scored deep in 'idiot.' I could barely do it at all! The psychologist was astonished, and then postulated that I must be really tired, drove me to a cafe to get coffee, and skipped right over the memory tests.

On the other hand, I have a decent memory, even short term, in other areas, so maybe it's not so simple.

<comment><USER4> I'd love to have the ability to meet a group of people and have their names and faces stored in the equivalent of RAM for the party (once I leave, the names go away - unless I try hard to move them to long-term).

I'm working on developing the ability slowly - using all kinds of memory association techniques but it's definitely not natural.

<comment><USER3> I tend to try to recite all the names back to people, especially when I'm introduced to a group in a party. It helps a bit.

<comment><USER5> Agreed. Shake the hand. Look them in the eye. Say "Hello _name_." Then pause to look at them while they respond. Tunnel vision.

That's step 1 to remembering someone I meet at a party.

<comment><USER4> I find that as soon as I find out something interesting about the person I've just met that the odds of long-term recall improve dramatically.

Context is everything when it comes to recall. I find it takes me at least 5 seconds to remember a remote office co-worker's name if they are visiting our office - by that time, they've already walked past me.

I was in another city at an event and thought I saw someone I knew from my home city. I thought 'what the heck would he be doing here? it can't be him' Later on, I emailed him and he was like 'yeah, i thought it was you. i was there too'

</comment></comment></comment></comment></comment></comment><comment><USER6> Eliezer, thank you. Your essays, without fail, introduce me to concepts I had not considered before. They get me thinking, and hopefully, thinking in a different way about the topics.

<comment><AUTHOR> I really like his writing. He's asking questions that no one else is asking and doesn't pretend to have all (or most) answers, because they're the types of questions that take you to the edge of what your consciousness is capable of thinking.

Sometimes I amuse myself by thinking about how Overcoming Bias reads to your average religious American. It must seem like total nonsense. It's probably impossible to understand without having had a crisis of faith of some sort, at the very least.</comment></comment>


Pixel City – Procedurally generated city (2009) [video] - <AUTHOR> https://www.youtube.com/watch?v=-d2-PtK4F6Y <comment><USER2> Shamus Young's stuff is pretty incredible. Not the programs themselves, because it's "been done before." Rather, it's his writing skill that really shines. He has a true talent for describing and illustrating difficult or complex programming, and then showing it in action in a nicely-wrapped binary executable. You can see all of his wonderful series here: [http://www.shamusyoung.com/twentysidedtale/?page_id=16458](http://www.shamusyoung.com/twentysidedtale/?page_id=16458)

<comment><USER3> If you like scifi, go read his System Shock fanfiction novel. It's great.

<comment><USER4> Would that be his book "Free radical"? He mentions System Shock in the Forewords at: [http://www.shamusyoung.com/shocked/](http://www.shamusyoung.com/shocked/)

<comment><USER3> Yes.

</comment></comment></comment></comment><comment><USER5> A little surprised that this doesn't seem to be a demoscene production, because it has all the characteristics of one. I was even expecting greets in the endscroller.

If he could get the contents of this video down to a single 64k or 4k binary (including the music), it would make a great demo. Cityscapes are pretty common and definitely doable in 4k or 64k; here are two examples of winning demos containing similar scenes:

[https://www.youtube.com/watch?v=2UgbKQKD9I4](https://www.youtube.com/watch?v=2UgbKQKD9I4) 4k

[https://www.youtube.com/watch?v=PaNYOzwlVC8](https://www.youtube.com/watch?v=PaNYOzwlVC8) 64k

</comment><comment> david-given Polygons are for the weak.

[https://www.shadertoy.com/view/XsBSRG](https://www.shadertoy.com/view/XsBSRG)

(There are several awesome-looking procedural cities on ShaderToy. Here's another nice one: [https://www.shadertoy.com/view/MdXGW2](https://www.shadertoy.com/view/MdXGW2))

</comment><comment><USER6> I really enjoy these, and had this bookmarked. A nice example here:

[http://alteredqualia.com/three/examples/webgl_city.html](http://alteredqualia.com/three/examples/webgl_city.html)

Holds up very well and looks very impressive (plus the source is uncompressed and interesting).

<comment><USER6> Plus if you ever need to warm up your hands on your old laptop, this is another very good example from the same author:

[http://alteredqualia.com/xg/examples/animation_physics_vehic...](http://alteredqualia.com/xg/examples/animation_physics_vehicles.html)

</comment></comment><comment><USER7> _Step 7: Release it as a... Damn. I actually have no idea what this thing is for_

Summarizes my development career to date. Still awesome to watch...

<comment><USER8> I would love this as a screen saver.

<comment><USER9> It exists as one for many platforms

[http://rss-glx.sourceforge.net/screenshots.shtml](http://rss- glx.sourceforge.net/screenshots.shtml)

I ported some of the RSS-GLX screensavers to Android, but never tried this one.

</comment></comment></comment><comment><USER10> This was from the scrapped game project that Introversion Software ended up not finishing in lieu of making Prison Architect: [https://www.youtube.com/watch?v=J30i0gABfS8](https://www.youtube.com/watch?v=J30i0gABfS8)

<comment><USER11> What makes you say that? I'm fairly certain the two projects are unrelated.

<comment><USER10> I'm sorry, I was in a rush to write that comment and didn't make myself clear. I was bringing up a similar, related thing, and did not mean to conflate the two.

I like the Introversion one better because it builds the city organically out of roads, personally.

</comment></comment></comment><comment><USER12> Introversion, the indie game dev, also different-but-equally-amazing procedural city generator, for their now-cancelled game Subversion. It was actually bundled in the Hunble Introversion Bundle, and you could play with the parameters and make your own city. You can see a demo here: [https://www.youtube.com/watch?v=9pR8jpK4ETk](https://www.youtube.com/watch?v=9pR8jpK4ETk)

</comment><comment><USER13> 10/10 would buy it as a screensaver! It has been years since I saw a cool screensaver that is just fun to watch when I am not doing stuff.

[edit] There is a screensaver and it works! [http://code.google.com/p/pixelcity/](http://code.google.com/p/pixelcity/)

<comment><USER14> I generally use videos as a screensaver, it allows me to have pretty cool screensavers fast. I use xsecurelock [0] with the saver_mplayer backend, which means that when I lock the screen, xsecurelock runs the videos in my ~/Videos directory on repeat.

I couple that with something like the Iron Man schematics videos made by Territory Studio [1] and I've got myself a pretty rad looking screensaver (with minimal effort).

[0] [https://github.com/google/xsecurelock](https://github.com/google/xsecurelock)

[1] [https://www.behance.net/gallery/26009421/AVENGERS-Age-of- Ult...](https://www.behance.net/gallery/26009421/AVENGERS-Age-of-Ultron-UI- Screen-Graphics)

</comment></comment><comment> martin-adams I used to be into modo as a hobbyist and this reminds me of the Telematics City showreel which for me was a true work of art (also from 2009).

[https://www.youtube.com/watch?v=PodUqc4B5Fc&list=PL4DFBA006A...](https://www.youtube.com/watch?v=PodUqc4B5Fc&list=PL4DFBA006A47E6420)

</comment><comment><USER15> I ported this screensaver to OSX way back when, and I think it still works: [http://emage-software.com/](http://emage-software.com/)

<comment><USER16> It does! Awesome, thanks :-)

</comment></comment><comment><USER17> Seems like it would make an amazing GPL Mirror's Edge clone.

</comment><comment><USER18> The whole shamus projects, from books (I read his autobiography) to programming posts are awesome. His game "Good Robot" was greenlighted recently so we are going to see his first released game soon, which is pretty interesting coming from a guy who talked so openly about it [http://www.shamusyoung.com/twentysidedtale/?p=20638](http://www.shamusyoung.com/twentysidedtale/?p=20638)

</comment><comment><USER19> ArtMatic Voyager has amazing procedurally generated cities and landscapes: [http://uisoftware.com/Voyager/index18.html](http://uisoftware.com/Voyager/index18.html) It's based on a powerful texture engine to generate colors and height maps and the model is ray traced...

</comment><comment><USER20> I have one question, are the buildings generated randomly or is there any algorithm that generates which building goes where. The generation is like the urban version of "No man's Sky".

</comment><comment><AUTHOR> [http://www.shamusyoung.com/twentysidedtale/?p=2940](http://www.shamusyoung.com/twentysidedtale/?p=2940)

</comment><comment><USER21> Funny, I was just looking at this yesterday night to get some ideas on building design.

</comment><comment><USER22> The best part was when he added the yellow red lights. The swing of mood was stunning.

</comment><comment><USER23> Makes me appreciate the Chrysler build all the more.

</comment><comment><USER24> I would love to have this as a screensaver.

</comment><comment><USER25> Also add [2009] to title.

<comment><USER26> Thanks, done.</comment></comment>


How Coldcalling Deadmau5 On Twitter Earned One Artist His Big Break - <AUTHOR> http://pandodaily.com/2012/03/19/how-coldcalling-deadmau5-on-twitter-earned-one-artist-his-big-break/ <comment><USER2> I think this is the song (with vocals) that the article mentions: [http://soundcloud.com/chrisjamesofficial/deadmau5-theveldt-v...](http://soundcloud.com/chrisjamesofficial/deadmau5-theveldt- vocal-mix)</comment>


Employee culture and wellbeing platform - <AUTHOR> https://www.indiehackers.com/post/building-a-todolist-app-that-connects-with-slack-c1952d4174 <comment><AUTHOR> Hi Everyone,

I'm working as a design and frontend lead and while working I found a problem. The problem is we have so little employee engagement. We used to have alternative Friday lunch and learn sessions, and social drinks the other Friday. So I thought if I can come up with the employee culture + well-being app?

The platform will have your colleagues onboarded, The will be assigned to lunch and learn sessions randomly until the round is finished and every other Friday they will be invited for social drinks.

Also, there will be other features that include is every 1 hour ask employees to enter the hour's progress on what they are working on. Every 3o minutes ask them to stand up and stretch. Also will have lunch and learn session assigned automatically to someone in the company that will boost the culture also.

I also found that reporting to the manager became hard these days so I just figured out that wip.chat could be a thing to integrate in the platform. Employees can make the to-do list and post it to slack so that managers know what employees have been working on and what has been accomplished.

Let me know how does that sounds?

Some

I've already started building it and looking to hear the opinions from you guys.</comment>


Burkina Faso's maps haven't been updated in 50 years until now - <AUTHOR> https://medium.com/planet-stories/new-maps-for-a-new-millennium-b276623d9764#.upb9e7lav <comment><USER2> No mention of OpenStreetMap?

</comment><comment><USER3> Burkina Faso has only existed (under that name) for 31 years (although independent for 55 years).</comment>


Apple tablet shown in the visionary "Knowledge Navigator" video (circa 2005?) - <AUTHOR> http://video.google.com/videoplay?docid=-5144094928842683632#

<comment><USER2> Make that 1995(-ish).

Edit: Doh, me open mouth, insert foot. It's actually from 1987.

<comment><USER3> Yes, that's from the Sculley era and Jobs would rather set himself on fire than use anything from that era of Apple's history.</comment></comment>


Perl 6 in 2010 - a retrospection - <AUTHOR> http://perlgeek.de/blog-en/perl-6/perl-6-in-2010.html

<comment><USER2> I find the 'Perl6 Periodic Table of the Operators' an intriguing poster. <http://www.ozonehouse.com/mark/periodic/>

<comment><USER3> Unfortunately it's about two years behind the language now. Otherwise I'd have one hanging on my office wall...

</comment></comment><comment><USER4>
       # Lazy list of Fibonacci numbers up to (but excluding) 100:
       my @fib := 1, 2, *+* ...^ * >= 100;

<comment><USER5> Here's a (rough) Python equivalent:

      from itertools import islice

      def fib():
          a, b = 0, 1
          while True:
              yield a
              a, b = b, a + b

      for k in islice(fib(), 1, 100):
          print(k)

It uses a generator function to produce an infinite iterable sequence. islice() is used to produce just a slice of that sequence.

This could probably be written using fewer characters, but I don't think it could be anywhere near a short (and terse) as the Perl version.

<comment><USER6> Correct me if I'm wrong, but that code prints 100 fibonacci numbers, whereas the Perl 6 code prints all fibonacci numbers up to, but not including, 100.

<comment><USER5> You're right. I misread the range of the Perl version. Adjust the slice accordingly.

<comment><USER6> No, that's too easy a cop-out. :-) How would you stop at the right number in Python code? Would you compute 100 numbers and then inspect/truncate afterwards?

<comment><USER5> Ah, I see that I truly missed your earlier point. I suppose I would just do this:

      def fib(max):
          a, b = 0, 1
          while a < max:
              yield a
              a, b = b, a + b

      for k in fib(100):
          print(k)</comment></comment></comment></comment></comment></comment>


Kentucky man shoots down drone hovering over his backyard - <AUTHOR> http://arstechnica.com/tech-policy/2015/07/kentucky-man-shoots-down-drone-hovering-over-his-backyard/

<comment><USER2> I don't own a gun, but I have had fantasies about doing exactly the same thing. Vigilante justice is an American tradition. A better course of action probably would have been to photograph the drone and report the incident to law enforcement.

<comment><USER3> What's law enforcement going to do about a photo of an unmarked drone? This is only useful when the drone can be traced to its owner.

</comment></comment><comment><USER4> There's an interesting comparison here to the advent of airplanes. Lawrence Lessig goes into it a bit in Free Culture but the basic gist is that when you owned land and a house, you owned the land "up to God." Then airplanes came around and suddenly you didn't actually own all the area above your house, just a portion (relatively) near it. In large cities, you can even "sell" the air rights, so fancy buildings will buy the top whatever "floors" of neighboring buildings to keep them low and allow fancy tenants to keep their nice views.

</comment><comment><USER5> I do not have a problem with this.

<comment><AUTHOR> Neither did some of the local law enforcement:

      "The 43-year-old man claimed that law enforcement officials,
      including the county jailer, told him privately that they
      agreed with his actions."</comment></comment>


Let's change the HN title bar to #663399 - <AUTHOR> Learn more: http://www.zeldman.com/2014/06/10/the-color-purple/<p>In Memory of Rebecca Meyer, help fund childhood cancer research: https://www.stbaldricks.org/donate/fundraiser/539/2014 <comment><USER2> For those who didn't click the link, it's not a proposal to make the site more readable, it's part of a memorial effort.

<comment><USER3> Yes, but I'd like to be able to still use the site and do the memorial bit at the same time, so I went with a lighter shade. ;)

</comment></comment><comment><USER4> Did nobody actually read the Zeldman post linked above? This was not intended to be a discussion of a redesign.

</comment><comment><AUTHOR> Perhaps I should have added more context to the title and text as the purpose of the post seems lost to most commenters.

Rebecca Meyer is the daughter of Eric Meyer who you may know through through his two decades of work on behalf of web development and web standards. He is the author of Cascading Style Sheets: The Definitive Guide and the widely used Reset CSS ([http://meyerweb.com/eric/tools/css/reset/](http://meyerweb.com/eric/tools/css/reset/)).

I would assume that many (if not most) users of Hacker News have benefited from Eric's work.

Rebecca died from cancer on Saturday on her 6th birthday. As per the link from Jeffrey Zeldman's blog, there is an effort to get #663399Becca trending today, (June 12th) in a show of solidarity.

</comment><comment><USER5> For those that don't know, Eric Meyer is an extremely influential programmer, who dedicated a ton of time to improving CSS. Right now my laptop's resting on one of his books. He is as _why was to ruby or dmr was to C. Half of the CSS I've ever written wouldn't work without his contributions.

I'm in favor of changing the title bar color temporarily.

</comment><comment><USER6> I know lots of great people who have died, lots of good charitable efforts, and a few good charitable efforts connected to good people who have died.

Can I get HN to put something in their banner every day for a different one?

</comment><comment><USER7> A nice idea. I would prefer a link to donate to Watsi (any people with the same or similar illnesses?) or to some page covering latest best quality research (and some explanation of that research).

</comment><comment><USER8> And I can't help but wonder why this gets support but I am routinely downvoted and generally crapped for attempting to talk about what I have done to beat my medical death sentence. It is not intended to piss on this effort. I just honestly do not understand this. If you have genuine concern for other people, why say nice things only after they are dead? Why be so awful to the living? Why shout down someone trying to figure out how to help people with deadly conditions?

I honestly do not know where to go anymore to try to talk to people and work on anything. This isn't intended at all as dickish. If people have so much compassion, why not try to support efforts to improve things?

<comment><USER9> "And I can't help but wonder why this gets support but I am routinely downvoted and generally crapped for attempting to talk about what I have done to beat my medical death sentence"

Since you're being so rude here, I will note that it is probably because you are an unreliable narrator who "cures" herself with blogsourced finds and people have little need for advice that is not based in reality. You post about being shunned by multiple CF communities, I would be willing to guess that it is not because they are afraid of any stunning discoveries you have made.

<comment><USER10> Personal attacks are not allowed on HN, regardless of how strongly you disagree with someone.

It's true that the GP's complaints about downvotes also break the HN guidelines, but being mean is much worse. Please don't.

<comment><USER9> You're right. The insincere "wondering why" shouldn't have baited my response.

</comment></comment></comment></comment><comment><USER11> #663399Becca would be even better.

Edit: I was thinking page title. #663399 as the color for the header would be really nice too.

</comment><comment><USER12> 414141\. I know I'm not alone out there =]

</comment><comment><USER13> I feel like I'm missing something here.

A very young girl died of cancer. That's pretty sad, but I fail to see how it's anymore sad than the hundreds/thousands of people who die of cancer every day. Millions of people will have died of cancer by the end of this year.

So we have all these people tweeting this hashtag and coloring their Twitter avatar purple, because Rebecca's favorite color was purple (no non-sequitur there).

Why? Why are we mourning the death of this particular individual; what about her plight is so unique?

To me it just seems like bandwagoning.

Surely there's some aspect of this that I do not understand or of which I am unaware.

<comment><USER4> People are doing this because Eric helped to take CSS from its infancy into the modern usage we have today. He wrote CSS: The Definitive Guide and many other books on the topics. He co-founded the An Event Apart conferences. Nearly every site on the internet has been directly or indirectly influenced by his work. Over the past year, he has documented, with great clarity, everything his family has experienced since his daughter fell ill on a family vacation last summer. I've met him at An Event Apart, and I can also say that he's a really nice guy.

Now pay attention to this next part because it might be hard to follow. As humans, many of us empathize with this profound loss experienced by someone whose work has been so influential in our own careers. As humans, many of us have experienced similar loss. Many more of us, as parents, hope never to have to.

If that's unclear, perhaps someone who is a better programmer than I can translate it into code and put it in a Gist.

<comment><USER14> Try being a bit less condescending. Just because someone thinks displays like this are hypocritical doesn't mean they are heartless. It could mean they are acutely aware that the only reason people care about this is incidental circumstance, and that equally sad events pass by without scrutiny because it didn't happen to someone who's milked it out for attention. Because that's what blogging about your daughter's cancer is.

If you're the kind of person who prefers fairness over indulging feels, then token efforts like pinning ribbons to things look like an ostentatious display of hypocrisy to friends and family, to show that you care about something everyone still collectively agrees not to do anything about (i.e. a kid dying).

<comment><USER4> Either he's feigning ignorance over why anybody would be the slightest bit empathetic toward the death of Eric Meyer's daughter or he's too much of a robot to actually understand.

You can make an argument that HN must be 100 percent on-topic, at all times, and that it doesn't belong here. But you can also argue that we are all humans and we can just accept it once in a while, even here.

To jump to the conclusion that it's all just for show, and nobody will actually take any sort of real action is pure cynicism. People _have_ actually been affected by this, in ways that are certainly small in comparison to the the way the Meyer family has been. The most visible gestures might not accomplish much, but many people are actually donating money to charities that have a very real impact.

<comment><USER14> A year from now the people who turned their avatars purple today won't remember the hash tag or what it was for. This isn't about one kid dying, or many kids dying. It's about a bunch of people frantically acting to hide their sense of impotence.

<comment><USER4> I disagree. Eric Meyer has been writing about Rebecca's cancer since they found out on their vacation last summer, and many have been following. This isn't something that just happened today. It's been happening for nearly a year.

The thoughts it raises, particularly for parents, are not the kind that can just be dismissed once the hashtag stops trending.

<comment><USER15> It was actually counterproductive to leave out the context of this guy developing CSS and a link to whatever blog documented the cancer's story. The given explanation was simply adults don't have favorite colors, children do. You're perfectly welcome to have fewer people interested and make the whole thing seem like a pretentious non-sequitur to 99.99% of the world's population, but I guess you didn't think Rebecca deserved better and were simply being incompetent.

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> colour is like a mini brand, a sense of identity. the old freshmeat was orange too.

</comment><comment><USER17> #f6f6ef forever, baby. I like my seamless page.

</comment><comment><USER18> Uh, that can be set by users as a perk for having enough karma. I think we usually do black bars on the top.

</comment><comment><USER3> Its unreadable with that shade. I use #cccccc.

<comment><USER17> The topbar text colour should change automatically to the one with the best contrast.

<comment><USER3> Really? It doesn't for me, never has.

<comment><USER17> I'm saying it _should_ i.e. it ought to, not that it does, but I can see how you'd be confused.

<comment><USER3> My mistake. I'm confused easily :)

</comment></comment></comment></comment></comment><comment><USER19> I use #ffaa33 as my default as it's a lighter shade

The proposed color makes it unreadable, #aa99ff looks ok though</comment>


90% of Chrome traffic to Google SSL services going over SPDY - <AUTHOR> https://groups.google.com/forum/#!topic/spdy-dev/TCOW7Lw2scQ <comment><USER2> For those as clueless as I was: <http://www.chromium.org/spdy/spdy-whitepaper></comment>


Starting a Django Project the Right Way - <AUTHOR> http://www.jeffknupp.com/blog/2012/02/09/starting-a-django-project-the-right-way/

<comment><USER2>
        $ git add .

Wait, what? No!

This will add the whole venv, which contains symlinks, scripts with shebangs, and potential binaries, and as such is totally linked to your system, so this definitely breaks if your python ends up in another location or you're entirely on another OS.

What should be done is

        virtualenv env --no-site-packages
        echo "/env" >> .gitignore
        pip freeze > requirements.txt

So when you want to restore/deploy you'd do

        git clone foo
        cd foo
        virtualenv env --no-site-packages
        source ./env/bin/activate
        pip install -r requirements.txt

I'm not even considering the issues regarding the presented git workflow. If one wants to semi-automate a git workflow, one would rather use git-flow instead of this prepare_deployment hack.

<comment><USER3> So do you use virtualenv in production? Is there a good tutorial on this for my developers?

<comment><USER3> What's the benefit of using virtualenv in production? And actually what's the benefit in general?

<comment><USER4> _The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site- packages (or whatever your platform's standard location is), it's easy to end up in a situation where you unintentionally upgrade an application that shouldn't be upgraded._

From: <http://www.virtualenv.org/en/latest/index.html>

<comment><USER5> Additionally, you may run into a problem where your distribution only offers certain versions of python and its packages, when you need newer versions. On systems like CentOS, this becomes a bit more complex as you can wind up in 'dependency hell' trying to compile everything you may need for a complex python program. virtualenv and pip make this very easy to manage and set up.

</comment></comment></comment></comment></comment><comment><USER6> We find using --system-site-packages on your deployment is a better solution for deploying Django - especially when it comes to dependencies that need to be compiled.

It gives you flexibility on your environment and lets you deploy onto machines without a C compiler, or strange setup requirements e.g. psycopg2 on OS X, and PIL on Ubuntu.

You then install Django, and other Python-only dependencies inside your virtualenv, which stops you polluting the global Python path.

It requires some discipline in your development setup, but it means you're able to develop across whatever platform you choose, and simplifies deployment.

<comment><USER7> What's wrong with PIL on Ubuntu? If you're running into needing to repoint JPEG_ROOT/ZLIB_ROOT - I've started avoiding that by symlinking where PIL expects things to be to where they actually are). Works a charm, and avoids using --system-site-packages.

<comment><USER6> I used to do this, but it feels like a suboptimal solution. I could use Fabric to ensure the links are there but it adds more complexity to the setup:

a) Another step to remember b) Requires a compiler on the production system c) Requires you to manually resolve the image library dependencies

Multiplying that across multiple packages can quicky become a headache. It's much easier to let the OS package manager deal with this, and will make your system more robust over time.

</comment></comment></comment><comment><USER8> Don't use Fabric. Seriously, just don't.

It's easier to set up than puppet/chef, but you lose a huge amount of flexibility/robustness. All fabric does is runs commands on host machines. Dependency management is your responsibility.

<comment><USER9> Interestingly most posts which recommend using Puppet/Chef depend on Fabric for deployment. Is a mutually exclusive or pure Puppet/Chef approach better in any way?

<comment><USER8> If you want to use fabric (or a shell script) to run puppet, go ahead. I'm just suggesting that you _really_ want to use a deploy system with proper dependency management.

The issue I ran into with fabric is that I often got stuck in dependency hell. The following is fabric's simplest method of dependency management:

        def install_foo():
            install_foo_dependency()
            ...

Unfortunately, you don't want to do this every time you deploy because install_foo_dependency() might take a while to run. You can work around it by checking inside install_foo_dependency whether it's already there. In practice, you probably won't always do this. Puppet usually has recipes which already do this for you.

So you typically have functions like:

        def full_deploy():
            install_foo_dependency()
            install_foo_without_dependency()

In theory, you can do things right with fabric. In practice, you have to do a lot of work to replicate what puppet (together with assorted easy to find recipes) gives you out of the box.

<comment><USER10> > I'm just suggesting that you really want to use a deploy system with proper > dependency management.

Why not use pip(pip install -r reqs.txt)?

        def install_deps():
            local('pip install -r reqs.txt')

Or if you are talking system dependencies, use apt-get or yum or whatever comes with your system from within fabric.

<comment><USER8> Often installing a dependency involves more code:

        with in_tmp_dir():
            run('wget http://someserver/project_bleeding_edge.tar.gz')
            run('tar -xvzf project_bleeding_edge.tar.gz')
            run('./configure; make;')
            sudo('make install')
            put('conf/server.conf', 'server.conf')
            sudo('mv server.conf /etc/server.conf')

(I forget if in_tmp_dir is builtin, but if not it does exactly what it sounds like.)

</comment></comment></comment></comment></comment><comment><USER11> I did only scan the article, but using having a remote repo hosting service (is it really developing _on the server_ while using git?!) configured, branches for feature-dev/bugs/staging/qa/production, vm configuration via chef/puppet, separated settings files, fault reporting etc etc are most (for me) all a part of doing it the "right way" before writing a single line of my own code.

<comment><USER12> Sounds like you have a great blog article just begging to be let out.

<comment><USER11> Heh, at some point soon[1]... once i've migrated the rest of my websites into rackspace cloud & their "next generation" offering stabilises i'll be writing a "This is how we do it now, it might work for you" type article.

[1] for a yet to be determined value of soon

</comment></comment></comment><comment><USER13> > If you do a lot of Django development, just dump all of the commands above > into a fabfile and make creating a proper Django app a one step process.

if you do a lot of django development, you probably already got a kick ass project template with a requirements file, so you have a basic working website with all the commonly used modules set up and running in 5 seconds.

</comment><comment><USER14> I think buildout addresses the deployment problem better than virtualenv + fabric. Only "problem" is it's zope heritage and thus not cool enough for bloggers to use.

</comment><comment><USER15> I really dislike this trend Rails has brought that a Model maps directly to a database table.

I've coded in CakePHP, Rails and ASP.Net MVC3, and out of all three MVC3 was the cleanest one for me just because any Model you created was just a simple POCO class. It didn't map anywhere and prevented you from shooting yourself in the proverbial foot. Problems inherent in Rails and CakePHP if you aren't careful.

I even asked a question on SO about this issue, ZERO responses if you can believe that. I guess the silence is answer enough. ;)

[http://stackoverflow.com/questions/11424719/where-do- viewmod...](http://stackoverflow.com/questions/11424719/where-do-viewmodels- fit-in-with-ruby-on-rails-and-activerecord)

<comment><USER16> I read your SO post but wasn't quite sure what you were trying to get at, because I wasn't quite sure how you perceive the MVC structure in Rails to be.

<comment><USER17> I read it as a statement that he doesn't like the Active Record pattern

</comment></comment></comment><comment><USER18> I would highly recommend using <http://code.google.com/p/django-evolution/> over South

<comment><USER19> Any particular reason why? South appears to be under much more active development.

<comment><USER18> To be honest I haven't used South in about a year so I don't really know how it has changed. But with South I always seemed to be running into issues of it allowing you to modify existing elements of your schema but not add new elements or modify types in your schema.

<comment><USER20> I started using South about two months ago for both my personal website (<http://ankursethi.in>) and a large-ish CRUD app that I'm working on. In both cases, South has been able to add to and modify the types in my schema. You should give it a whirl again.</comment></comment></comment></comment>


YC Application question - <AUTHOR>

I have submitted YC application. We have explained main idea in some detail and we have given one sentance detail on other ideas. How YC will get detail about my other idea. How they will judge my other ideas potential?
Should I create new application for other idea which I think has good potential??
Please help..

<comment><USER2> <http://ycombinator.com/faq.html>

You are allowed to submit another application under a different user name of one of your co-founders. But I suspect applications are judged just as much from what can be ascertained about the founders than the ideas themselves, so it might be a moot point. Good luck.

</comment><comment><USER3> As Paul Graham has said many times -- ideas are worthless. Y Combinator wants to know about the capabilities of the founders. Capable people are more likely to produce capable startups. Second, I assume they want more detail on a particular idea not necessarily because your idea is OMG $uper AwesomE!!1 but in order to show that you have the capability to flesh out an idea more thoroughly. Can you think through the various aspects of your idea and their business ramifications, or are you just holding up your idea like a cardboard facade?

</comment><comment><USER4> Well, there's all this talk about applications being judged on the quality of the cofounders and the idea not being too important. A friend of mine applied this summer and was essentially turned down because of the idea (primarily because there was competition in the area). So maybe the idea isn't that irrelevant and applying with more than one idea might not hurt.

</comment><comment><USER5> I just put my other ideas into the box at the bottom where it asks me for "...other idea's you considered applying with..".</comment>


OOP vs. FP - <AUTHOR> https://medium.com/@richardeng/oop-vs-fp-1a3da34d2030 <comment><USER2> I don't wholly disagree with the article, but I think it overstates its case. In particular:

> Is there really so much difference between f(o), o.f(), and (f o)?

Yes, there is!

In the case of o.f(), o needs to know about f.

In the case of f(o), f needs to know about o.

<comment><USER3> I don't see that as much difference.

<comment><USER2> Take a class C.

Alice extends class C with class A, which implements function a.

Bob extends class C with class B, which implements function b.

I have both Alice's and Bob's code, and I want to use both a and b. How can I do it?

Of course, there are ways to do it – notably multiple inheritance, if your language supports it – but the point is, in a functional language, this question never even arises. You just import the function definitions and use them, without ever having to think about the mechanics of it.

By the way, I'm not saying that this necessarily makes functional languages better (although I do tend to prefer them). I'm just pointing out that the difference is real.

<comment><AUTHOR> Inheritance is not a strict requirement of OOP. In OOP, you can always use composition, in which case the question also never arises.

Inheritance is there _if you need it_. It's an available option.

<comment><USER4> Yes, but in common discussion, noone when talking about OOP is referring to inheritence-less OOP. No common programming language uses it, few to no programmers practice it. OOP/w inheritance is the default item being discussed.

<comment><AUTHOR> And why is "common discussion" technically relevant? This is not a fault of OOP but of education.

<comment><USER4> You're talking about about OOP-B, everyone here is talking about OOP-A. OOP-B isn't really a part of what's being discussed.

Anyone can bring it up, but "education" isn't relevant here. It's not what was discussed in the article, or the comments.

<comment><USER3> As neither of you, I'm talking about OOP. Nobody's limiting the discussion to composition or inheritance. Otherwise we'd be talking about how 'inheritance sucks' rather than 'OOP sucks'.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Valid points, but not _the_ point. There is a big difference between allowing and supporting something.

OO languages _support_ hidden inputs and outputs as well as programming by mutation. They _allow_ programming in a functional style, but you will have to be inventive for it.

FP languages _support_ immutable values, referential transparency and all that. They _allow_ programming by mutation and hidden inputs and outputs, but you will have to be (sometimes very) inventive for it.

<comment><USER6> Exactly. Starting points matter. And for me, a starting point of "enforces immutable data" is a good one.

<comment><AUTHOR> Starting points matter, but this depends on the programming situation. That's why you use OOP or FP _where it is most appropriate or suitable_. Neither OOP nor FP is a panacea. Neither OOP nor FP is _the universal programming tool_.

</comment></comment></comment><comment> shady-lady hmm, not so sure I agree to that extent.

[To me,]

FP is more about nobody owning the data. Everything operating on all the data. (Mostly) All data exposed and accessible.

OOP is about certain classes owning data and limiting exposure to that data.

<comment><AUTHOR> It has nothing to do with ownership. In FP, a function can only operate on data of a particular type. In OOP, a particular type (or class) gathers all the applicable functions (or methods) under one roof. Same difference.

<comment> shady-lady Well, not really.. In effect, your class owns the relevant piece of data that it operates on and only allows pre-defined operations on that data.

Maybe my point is better articulated by saying [to me,] functional programming is more data oriented than OOP.

<comment><AUTHOR> The word "own" is pretty meaningless. What does "own" even mean? Classes and objects (thought of as "types") are an organizing principle for organizing your functions. If you didn't organize them in this manner, then you'd have _the same functions_ that operate on _the same data types_ , only they're scattered everywhere, just like in functional programming.

<comment><USER7> > the same functions that operate on the same data types, only they're > scattered everywhere

???

OO is different because you have things like private variables. Meaning that only methods of an object's class can access the variable. So you now have a special group of functions that can access the variable. FP is not like that.

</comment></comment></comment></comment></comment><comment><USER8> A closure is a poor man's object, and an object is a poor man's closure: [http://people.csail.mit.edu/gregs/ll1-discuss-archive- html/m...](http://people.csail.mit.edu/gregs/ll1-discuss-archive- html/msg03277.html)

</comment><comment><USER9> Is this guy talking about OO as described by smalltalk? Because he says that objects are bags of functions, not data, but in languages like java, c# and c++ objects are bags of both.

<comment><AUTHOR> It's Uncle Bob who says objects are bags of functions. And this is not specific to Smalltalk nor dynamic languages. In Java, C#, and C++, objects are still just bags of functions.

<comment><USER8> Java and C# allow you to expose mutable fields, so objects are not strictly (or even ordinarily) _just_ bags of functions.</comment></comment></comment>


Brown Says California Budget He Proposes Next Week Will Be `Painful' - <AUTHOR> http://www.bloomberg.com/news/2011-01-03/brown-says-calif-budget-he-proposes-next-week-will-be-painful-.html

<comment><USER2> Here's an idea (1) Look at past spending plans.

(2) Throw out all plans that would result in more spending than 95% of the current revenue.

(3) Pick the best of the remainder.

(4) If you want to spend money on something that wasn't in the "best" plan, you have to pay for it by throwing out things that were in said plan.

(5) Monitor short-term. If spending exceeds revenue, eliminate spending in newest-started first order until it doesn't. If you want to keep a new spending item, keep going down the list and eliminating items until revenue exceeds spending.

(6) Monitor long term. If at the end of the year you don't have 5% more revenue than spending, start over with 94% as the goal and so on. If, on the other hand, you have more than the goal, congrats, you get to narrow the margin by 0.5%.

Note that the above is not "painful" unless you think that CA was painful several years ago.

<comment><USER3> It's going to be painful because money was promised in the past.

<comment><USER2> You get to take that up with the folks who made the promise.

Note that many such promises aren't what most of us would consider promises.

For example, I promised myself a nicer car last year. Am I in pain because I didn't get it?

I regard a govt department's plan for increased spending in much the same light.</comment></comment></comment>


Orphan Android: Top Vulnerable Smartphones 2011 - <AUTHOR> http://www.bit9.com/orphan-android/graphic.php <comment><USER2> Android really is the new Windows Mobile. Completely open application model, easily hackable, able to run on a wide variety of devices (and therefore occasionally seen and sold on devices that are sub-par)[1], poor support given by some vendors, forcing those of us who wish for more to resort to the homebrew community for support.

The biggest accomplishment Apple made with the iPhone is forcing carriers and "manufacturers" (Apple) to conform to a standard. Of all the things Android has over the iPhone, I wish the quality control could be included in that. Microsoft has show us that you can have a quality-controlled phone made by several different manufacturers with different features and still allow for a limited amount of freedom in the Marketplace (with their $9 jailbreak app). WP7 is the middle OS between iOS and Android. Now I'd like to see a middle OS between WP7 and Android. I want Android with quality and standards.

[1]([http://arstechnica.com/gadgets/reviews/2010/11/worst- gadget-...](http://arstechnica.com/gadgets/reviews/2010/11/worst-gadget-ever- ars-reviews-a-99-android-tablet.ars))

</comment><comment><USER3> There is an issue that many phone providers do not provide long term support for their smartphones lineup. But comparing different software projects by how they get updates makes little sense to me.

"6 month is the average lag time of Android phone manufactures after an update has been released."

While I'm sure this is technically correct, the implication that this process is slow, or that other operating systems are supported "faster" is far fetched.

Because Google released the Galaxy Nexus this month, HTC will probably be 6 month "behind" in this statistic. If Google had decided to delay the Galaxy Nexus by 6 month, HTC would be considered "on time". How can HTC's support be in one case be faster or the other slower, if they update the device at the same day in both cases?

So using the release date of the first Nexus Phone as the release date of a new Android version is completly arbitrary. If the same statistic contains data for iOS, I usually see the date that Apple rolls out its new version of iOS to it's devices as the day that the new version is released. But Apple is not only the first manufaturer to roll out iOS on phones, it is also the last one. So why are we using the first manufacturer that releases a phone with a new Android version to determine a release date, and not the last one? Or the 4th one?

Using the release of the sourcecode as a date makes sense. But then, there is nothing comparable to an open source release in iOS or Windows Phone, right?

Then, there is the issue about what comes with a software upgrade. On iOS, core apps like mail or the appstore are considered part of the operating system. They get updates when a new version of the OS is released. On Android however, most of these phones that are still on Android 2.2 get plenty of updates for their Email/Market/Navigation/Voice apps, all the time.

There are also software updates from manufactures which do not include Android version upgrades. Samsung does not need to wait for a new Android version to fix a security hole, or to update one of its own applications.

Finally, it simply makes no sense in comparing how often two different projects get an upgrade. Is Ubuntu so much more advanced than OSX? It gets an update almost every day, and there is a major upgrade every 6 months.

Did the Nexus One only get updated for a year, while the iPhone 3G got updated for 3 years? Or did the Nexus One got it's 3 years worth of updates all in it's first year, because Android development was much faster than iOS development? I think we can all agree that this is completely subjective and highly controversial.

Please note that I don't want to make the case that Android is very well supported by its various software providers. Long term support could be much better for many devices. My point is that these upgrade statistics are sensational and deeply flawed.</comment>


Google PageRank Is Not Dead - <AUTHOR> https://ahrefs.com/blog/google-pagerank/ <comment><USER2> Although it has some content, this article is generic enough to make me think is is a SEO strengthening article from ahrefs for certain keywords...

<comment><USER3> A spam post advertising a spam product from a spam company? On a subject that is of particular interest to spammers? Surely not!

</comment></comment><comment><USER4> From what I see the old Google is dead from self inflicted wounds. In an effort to destroy spam they removed lots of good sites and changed things for the future webmasters and users.

sadly the only game in town for new sites these days is likely facebook traffic, snapchat and youtube.

Google has been looking more and more like the yellow pages in my experience. They serve fast local results because so many people crowd source the info as it's used a lot.

As far as finding useful things outside of local results, the quality varies and the things that are censored are more due to their war on spam than any regulations.

The good thing is that people can still share cool things via snapchat, fbook and their future replacements. The need for google is not the same as it once was.

Sure people will continue to use it as it's convenient for many local searches and accurate enough for that, and its default choice on many mobile devices.

as for web sites and their creators, trying to please google's changing pleasure zones is an unending game without clear rules, taking time and money without an end in sight. Their war an spam has crushed many that were not trying to fight it.

Between mysterious penalties (algorithmic of course, the manual ones are not so mysterious unless it's the google plus network), negative seo, and competition that uses inside info, there is little hope for new sites in many categories to get top placement.

I suggest to either establish local brick and mortar to get those kind of local results with google, or give up fighting google's algorithm and the competition - just buy some ads with them, but consider that you'll likely get more quality visitors with ads and engagement with fbook, snap and others.

Given the search results I had today when looking for a particular model of samsung cell phone - I would guess that page rank is playing a bigger role than one might have guessed - even though it said results effected by your neighborhood location (my neighborhood listed) - I sure had lots of results for phone companies in the UK and other abroad places that offered no helpful information to me about the unlocked phone and how it worked with various lte bands here.

Of course, selection bias and all that, other people's experience will vary. If most of your searches are for stack exchange info you might feel they are relevant and awesome. I prefer to use search engines to search for multiple different sources of info about things to get a bigger picture.

<comment><USER5> I feel like I find fewer interesting (or odd) little websites these days through Google..Either they no longer exist, or Google ignores them. It is strange and disheartening.

<comment><USER6> Google is ignoring these sites, using Bing, Qwant or DuckDuckGo works much better for queries where uour looking for that obscure site thst is a treasure trove of info.

Part # are another area where Google Search has notably gotten worse over the past half decade. I've emailed multiple Googlers who claim to want to fix these crap results, but I have yet to have one bother to respond (despite them replying to my comments asking me to contact them!)

<comment><USER7> Obscure searches is what I use "!g" for. DDG is horrible with them, especially with the change of ignoring _forced_ terms.

<comment><USER6> Ah, its been a while since I tried forced terms on DDG. Been using Qwant for a while now...

<comment><USER5> I haven't heard of that. Any good?

<comment><USER6> Its sufficent to keep me off Google, which neither DDG or Bing could ever achieve. I do occasionally get imposter syndrome, and search something on Google too, but the results are generally more accurate on Qwant (for me at least).

Where Google kills it is built-in currency conversion, wikipedia previews and such.

<comment><USER7> > Where Google kills it is built-in currency conversion, wikipedia previews > and such.

So, all those things that DDG has as well? ;)

And I tried Qwant, but didn't like it and after a short return to Google (which was very short because I've become too used to bangs) I swallowed my annoyance and went back to DDG.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> > No replica of PageRank exists. Period.

> But there are a few similar metrics around, one of which is Ahrefs' URL > Rating (UR).

There you have it folks, the article in a nutshell. While somewhat interesting and still vaguely informing, the primary goal is to sell you something. TLDR: "Pagerank as a single metric to track your sites ranking for Google is dead. Use my single metric to track your sites ranking for Google"

<comment><USER9> Even tough it's a plug, it's a nice one and the content IMHO is pretty good...

<comment><USER8> Sure, but something about the echo of the sound of salesmen makes the whole thing a measurable deal worse. At least, enough for me to be put off by it - if only a tad. If the sole aim was to educate and inform, leaving the sales pitch off would have been better.

</comment></comment></comment><comment><USER10> I think the PageRank patent is finally expired, but I'm not a hundred percent sure. If so, that's just one less roadblock in the way of anyone who wants to enter the search engine market and challenge Google and Bing.

<comment><USER11> The original patent is expired, though Google has patented some tweaked versions since then, which are still protected, so one has to be careful when using it.

</comment></comment><comment><USER12> The brutal rebuff reminds me of the argument against using keywords, which I still add to my websites as, when used appropriately, adds value. PR is similar in that, while it may no longer matter to Google, it still matters (and you don't have to pay $7/mo. to figure that out) because there are other search engines crawling the surface Web that aren't Google.

</comment><comment><USER13> Not dead doesn't mean useful. Best case, it is providing partially correct information.

<comment><USER14> I think the author's point is that it is still a metric that Google use, so still potentially something worth optimising.

</comment></comment><comment><USER15> Check out [https://killedbygoogle.com/](https://killedbygoogle.com/) if someone says its not dead, that means it is already dead.

<comment><USER16> hmm, does it work vice-versa, i.e. `if someone says dead, that means alive and kicking`.

<comment><USER15> Even its vice-versa, if its not profitable enough google shutdown these services...</comment></comment></comment>


Declined VC wants us to pay legal fees - <AUTHOR> https://medium.com/@cag1412/vc-calling-pay-my-lawyers-2f5fce7abe06 <comment><USER2> Don't ask us what to do. Don't ask Medium what to do. You have a VC... _ask them what to do_. Your current VC has probably seen stuff like this before. They will have legal expertise available to you, as well as their experience and their judgment. Ideally, you pick a VC based on their value besides mere money anyway. They should be good advisors.

If your VC says just don't engage, then don't engage. If your VC says pay them, get a second opinion coz that's BS. But odds are good that your VC will happily call them up for you and give them a good stern talking-to.

For all the calls of "sunshine" here, your own VC is in a much better position to badmouth them than we are. Toxic behavior like this can get them cut out of ride-along deals, and they don't want to lose the opportunity to be co- investors on the best deal flows.

<comment><USER3> yes but how does that approach help drum up awareness in their startup?! this thing has viral posting written all over it. (I actually have no issue with a startup doing this if it helps them)

<comment><USER4> What makes this likely in my opinion is that the author of the article, Christoph Gerber, has already founded one successful startup, Lieferando. He probably has access to legal advice – and he is also not new to the startup business.

</comment></comment></comment><comment><USER5> I'll go the opposite of most of the comments here.

Assuming a NO attitude right from the start is probably not the way to go. Telling them to "Pound Sand" or just plain NO is not in your best interest. First, you should let the B investors know about this - ASAP. Second, you should start by emailing the GP at firm A and asking him to clarify why they think "you should pay" their legal fees.

With this information, you should consult your legal counsel on how is best to proceed. Most likely the A VC firm feels like you didn't negotiate in good faith and you made them spend money with no intention to accept their offer. You should in this case talk to the GP at that firm and show him that you wanted to close a deal with them and you even made them aware of another offer and asked them to reconsider the terms.

Most of this issues are easily solved if you discuss things with the other party. Assuming a NO attitude from the start, just brings everyones worst character and might land you in a legal dispute.

<comment><USER6> Meeting with a firm who is actively out to collect money from you is a dangerous path for a young founder without a legal background. You don't want to accidentally give them any more fuel for a potential lawsuit via something you say during that meeting.

I do agree that talking to legal counsel is wise... but not necessarily VC B's legal counsel, as that relationship will skew towards what is good for the VC, not your company.

Also, don't be afraid of getting sued. One of my lawyer friends always says that small businesses tend to harm themselves by over-avoiding lawsuits. If you grow enough, lawsuits will happen, and you need to know how to deal with them. Act from a position of knowledge, not of fear.

<comment><USER7> Absolutely no.

The best thing he can do is listen and get more information. You can't resolve a dispute without talking, and it only ends up in court if you don't resolve it. Yes he could ask his new investors for advice, and yes he should have called his lawyer the minute he heard, but the best way to clear things up is to listen to the VCs who are unhappy.

This is a completely different situation from the reason not to "talk it over" with the cops.

<comment><USER6> But this is not a dispute, at least not yet. It is just a one-sided request. They can just talk to their lawyer, ignore it, and wait to see if the VC files a suit. Short of that, there is no obligation to even reply. So why go into potentially dangerous legal territory at all, when you are perfectly in your rights to just discuss it with your lawyers, but then ignore it?

<comment><USER7> This is a VC who wanted to invest in the last round, not an attacking army. There's no reason to leave the relationship on a sour note.

<comment><USER8> This doesn't make things necessarily more sour. Firstly, given the evidence in the post, it sounds like a BS claim (although only a lawyer would know). Things are already sour. That being said, reaching an amicable arrangement via legal proxy doesn't make the situation sour _at all._ Getting lawyers involved is not an aggressive action - they are the subject matter experts. Just like you wouldn't have a software architect dealing with relations, you don't put a founder in charge of legalities.

</comment></comment></comment></comment></comment></comment><comment><USER9> It looks like you're based in Europe, so be careful relying on any US-centric advice if that's the case. It pretty much goes without saying, but HN is not a proxy for proper legal advice from a local lawyer who understands the full fact set.

With that said, while you're unlikely to be liable for their costs given the unsigned term sheet (assuming there's no wrinkle in your local law), you don't want to get trapped in an ugly public battle with a VC as it will potentially make raising funds in the future much harder - whether for Talon.One or another company.

I'd recommend talking quietly to the GP at Investor B and seek his/her advice on how to settle this quickly, quietly and preferably with little or no out- of-pocket expense. Based on the facts laid out, I don't like the behavior of Investor A so I hope this process ends with them reflecting on their actions and realizing that they won't survive long in the VC game if they don't adapt.

</comment><comment><USER6> Just say no. If they sent anything short of a lawsuit, they aren't serious. And if they do proceed to a lawsuit, fight it, and counter-sue for your own expenses and trouble. You signed no contract with them, they chose to spend their own money on the project, and they did not complete the deal. That is just part of doing business. You owe them nothing.

</comment><comment><USER10> Maybe I'm just young & naive, but it's probably in their best interest to go tell Investor A to pound sand. I'm sure if Investor A consulted with their expensive corporate lawyer they'd tell them to go pound sand too.

<comment><USER11> Big corporate lawyer has a conflict if interests. Every lawsuit they bring is big $$$, who cares if valid or not. Of course they could go too far and get in trouble I guess, but all they need is a shred of merit.

IANAL but I would ask one vs posting on hacker news. If this goes the wrong way, it could destroy your startup.

</comment></comment><comment><USER12> One thing I see more and more in business in the USA is the lack of class, the lack of diplomacy and tact. It reminds me of my time in India where business transactions start off with a winner-takes-all mentality. More and more I see vendors signing an agreement that says X - and then afterwards asking us to waive rights or pay more or forgive transgressions; typically they'll say "We're not going to do what we said, please give us permission to not do what we said we'd do." Of course, they do it slightly crafty, saying "We need you to do this, OK?" And invariably, me and my team politely says "No, we will not deviate from the agreement without value, you will stick to the agreement." And invariably they do.

Tell these money lenders that you don't owe them a penny, and you decline to pay their legal bills, and not to contact you again.

You may even consider this a fair credit issue:

[http://debt-collection-defense.whocanisue.com/fighting-false...](http://debt- collection-defense.whocanisue.com/fighting-false-debt-claims/)

Demand proof of debt and demand they do not contact you. If they continue, take valid legal action.

<comment><USER13> What makes you assume this is a USA issue? The company that the author is writing about is headquartered in Germany.

</comment></comment><comment><USER14> There is no scenario where you should feel compelled to pay their legal fees. Perhaps they will think again before starting to run up a legal tab on a term sheet in the future.

That said, if this is a <$5k amount of legal bill… I might just offer to split it to leave cordially.

</comment><comment><USER15> Now _they 're_ bluffing for real. Good thing you didn't sign anything. Sounds like they would have been a gigantic PITA all the way through if you had signed with them.

</comment><comment><USER16> Investor A has no grounds to force you to pay their lawyers unless you signed an agreement stating otherwise.

</comment><comment><USER17> Talk to your legal counsel first, before doing anything. Especially before making a blog post about it.

</comment><comment><USER18> this medium post was ill advised in my opinion. this kind of stuff causes reputational damage to everyone involved (regardless of who is in the right and who is being a greedy asshole).

real professionalism involves establishing that you are mature enough to handle yourself in difficult situations and know how to get GOOD ADVICE from qualified advisors, not randoms on the internet.

talk to a lawyer and talk your board of investors. take down this blog post if you know what's good for you.

</comment><comment><USER19> Please share the name of this investor.

<comment><USER20> Sunlight is the best disinfectant, name and shame and all of that.

Calling one party "Investor A" when they are acting like snakes and attempting to extort money from a company simply because they didn't get to invest only serves to protect that party in the future. And I say extort because the logical reading of "Pay our legal fees" is "Pay our legal fees ... or we will sue you."

<comment><USER21> This is a very dangerous game to play. I'd bet that there is more to this story than meets the eye, as there almost always is. There's always another side to the story. And in the case that this _does_ end up as a lawsuit, name- and-shame could open the door to a much bigger case.

<comment><USER22> In the US, in cases of libel or slander, the truth shall be sufficient defense. In Europe, you may be better off not saying anything defamatory, even if it is true.

Either way, it may be best to couch the story in terms of "I recall that X did Y, and at the time, I felt that it was grossly inappropriate," rather than "X did Y, and is a complete jerk."

<comment><USER23> > In Europe, you may be better off not saying anything defamatory, even if it > is true.

That makes no damn sense. How could the truth be considered defamatory? It's real, it's fact.

<comment><USER20> It's Europe. From an American mindset, many European laws seem some combination of draconian, incomprehensible, and/or ridiculous. Bring up any discussion surrounding American law and you're sure to see the same sentiment coming the other direction as well. They are two very different legal contexts.

<comment><USER22> Consider that people in the territories now controlled by the U.S. and Mexico were willing to murder thousands of Europeans in bloody gun battles, in order to escape their governance.

And then, when building their own confederation and federation governments, they debated at length on how to avoid the sort of legal foundations that inevitably lead to laws that are draconian, incomprehensible, and/or ridiculous.

Unfortunately, history suggests that such laws arise not because the legal foundations are flawed, but because humans are sometimes authoritarian, illogical, or insane, and the laws are little more than the trails left as such people pass through the circles of power.

In my opinion, New World laws are only more sensible than Old World laws (on average) because they have spent less time accumulating cruft. But look at how hard the U.S. federal and state legislators work to catch up!

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> I'm sure future investors will be comforted by your open ended internet inquiry on legal matters /s.

</comment><comment><USER25> Would love to know who the investor and their law firm are. Unfortunately I don't think it's wise to base the decision on feedback from HN. Should ask your own lawyer b/c there may be facts that are not in your medium article. In general if there's nothing signed with the other party that explicitly says you agree to pay legal fees, at least in NY, you do not owe legal fees due to broken deal talks as a matter of law.

</comment><comment><USER26> I'm sure it's a bit more complicated than this and we'd need to see all correspondence, etc. to give an informed opinion, but generally speaking based on that fact pattern: Tell them to fuck off. Or better yet, don't tell them anything until they act on it - and then have your lawyer tell them to fuck off.

<comment><USER27> > I'm sure it's a bit more complicated than this and we'd need to see all > correspondence, etc. to give an informed opinion

Exactly. We are hearing one side of a story. We have no idea of what promises were made by the startup to the VC firm. (Or vice versa) Those promises could be construed as a contract with enough of a leg to stand on for a suit to be filed. Doesn't mean that the VC firm would win but the important lesson to be learned is that someone who feels wrong can file a suit and potentially extract a settlement which may be cheaper than fighting litigation.

</comment></comment><comment><USER28> Seems unlikely that you're under any real legal obligation to pay. But as others have said, it might be worthwhile to pay, or pay partially, just to avoid burning bridges and leave on cordial terms. It would depend on the amount they expect and other factors, of course.

<comment><USER29> Cordial terms with sociopath swindlers? Why?

<comment><USER28> It has not been established that anybody in this story is a "sociopath swindler". As such, I think the best advice is to assume good intentions and try to remain cordial and professional and avoid a "scorched earth" policy. But that's based on acknowledging that we don't have all of the details and a general philosophy of favoring diplomacy first.

<comment><USER29> While there's a chance that the OP's account of the situation is biased or incomplete, "professional" VCs with "good intentions" don't ask for money, and professional firms doing any sort of business in good faith send legitimate bills (in this case, for hypothetical services) immediately, not after six months.

The only professional viewpoint is that they are sociopaths who are willing to burn bridges with clients and other VCs for the sake of revenge or swindlers who want to extract money from a weak party.

</comment></comment></comment></comment><comment><USER30> I have almost exactly zero expertise in this area. I have a gut reaction to your question, but there's no point in my sharing it.

But if I were an expert, I suspect that I still wouldn't offer an opinion after hearing only one side of the story.

</comment><comment><USER31> One of the stories from Chaos Monkeys [0] is how the author was no the receiving end of a potential company-ending lawsuit. He talked to PG, who ultimately was the one to play hardball with the other firm. Angels and VCs are better at this than founders.

[0] [https://www.harpercollins.com/9780062458193/chaos- monkeys](https://www.harpercollins.com/9780062458193/chaos-monkeys)

</comment><comment><USER32> It says "I got a phone call" at the end as the entire punch line. It's not even a written or emailed request, it can just be ignored.

</comment><comment><USER33> TIINAL (the internet is not a lawyer). Get legal advice from a lawyer. Inform investor B, get a referral from investor B for a lawyer.

My gut instinct is no, nothing was signed, there is no contract, but there may be an intent that assigns some share of cost for the failed partnership, but I doubt it. But IANAL so that is not legal advice.

</comment><comment><USER34> You do not have any legal reason to have to pay this but share it with current VCs so they are aware of the issue.

</comment><comment><USER35> They figured since you got some funding, you might be foolish enough to pay to make them go away. Please talk to your VC, get legal advice and if possible do name those idiots so folks who know to steer clear from them. Ask that VC, if they pay the legal fees for all the companies they decline.

<comment><USER36> Linked article needs more empathy. OP thinks they're negotiating a legal deal in good faith. VC is actually bored that afternoon and is literally telemarketing, or maybe panhandling depending on how you look at it.

Linked article's thought process is exactly whats going thru the mind of an elderly person when a telemarketer preys upon them "Well, he wouldn't say HUD will sue me if I don't pay $500 for him to clean my furnace ducts unless it were true, so I better pay him"

Even if the rate of return is low for the bored VC, at least its not negative and probably not zero.

There is a meta large scale issue WRT the overall market that there is documented proof that at least one VC out there is so bored and sees so few productive opportunities to work on, that their best way to spend an afternoon is panhandling. Now does that prove that there exists one VC thats an isolated idiot which statistically must be true, or is it anecdotal evidence of an overall market slowdown / bubble pop which certainly could be true, or perhaps both?

</comment></comment><comment><USER37> A version of this happened to us - we played the role of Investor B and I became a director of the company.

It was a very easy no.

Our fund does not charge any fees to companies - no legal fees nor director fees. This way we align with the company on trying to minimise transaction and on-going costs for all parties.

</comment><comment><USER38> "Should we pay or not?"

Sure. You've asked the internet for our guidance, so I say go ahead.

</comment><comment><USER39> No legal ground to pay them. Just ignore the noise and focus in your product.

</comment><comment><USER40> Lawyer up, do NOT post to your blog, do NOT post to HackerNews.</comment>


From zero to 1200 teachers in two weeks. How it happend. - <AUTHOR> http://classparrot.tumblr.com/post/11738797187/1200signups

<comment><USER2> Awesome!! Good luck guys!!</comment>


Ask HN: What password manager do you recommend for non-technical people? - <AUTHOR> I'm a happy user of pass [1], but would not recommend to people unfamiliar with unix. What password manager should I recommend to non-technical people around me?<p>[1] https://www.passwordstore.org/ <comment><USER2> 1password to me looks by far the best choice today.

My wife uses Lastpass, it's very user friendly but I don't like how they market insecure features such as sharing passwords (specifically, there's a "secure sharing" where they claim the recipient can't see the password, which clearly can't be true if you know anything on how html forms work).

Personally, I prefer deterministic algorithms, and I'm building one, exactly because I don't think there's a good user friendly solution. Unfortunately we just have the ios app for now, but if you're interested in having a look at it, mempa.io. Feedback is more than welcome.

<comment><USER3> For me, the problems with LastPass are that they require you use their cloud services, and you can't really do anything at all with LastPass unless you're online and using a browser.

In contrast, 1Password is a local application with browser integration, and a local password store. So, you can use it with a browser if you want, but you can also use it across other applications on the system. And since the password store is local, you don't have to be online.

Yes, 1Password does offer their own cloud sync services that you can use if you want, but it is not mandatory, and they offer multiple alternatives if you choose.

I think LastPass probably offers better tools for Enterprises and maybe also teams, but that's not the particular use case asked for here.

</comment></comment><comment><USER4> Honestly? A notebook.

For normal people this is generally pretty secure (it matches the "threat model") and easy to use.

</comment><comment><USER5> 6 comments and I'm surprised no one mentioned 1Password. To me, it's the most user friendly of the bunch.

</comment><comment><USER6> I'm a happy user of Bitwarden, but until it undergoes a formal security audit I'd probably recommend Lastpass or 1Password (assuming "non-technical people" means friends/family)

</comment><comment><USER7> One feature on 1Password I _love_ is its diceword generator. These are so much easier type when I do need to type them and I even remember a few.

</comment><comment><USER8> I recommend Dashlane[1] to be honest, not only it's available as a Desktop app, its available on iOS and Android and even on the web and you can change your passwords on the fly.

[1] [https://www.dashlane.com/](https://www.dashlane.com/)

</comment><comment><USER9> I've set-up Keeppass for my girlfriend a few years ago and she stuck with it. She uses the (original) windows app and Keeppass2Android on, well, Android, with the DB synced on Dropbox. It just works.

</comment><comment><USER10> A pencil and paper notebook.

</comment><comment><USER11> I'm a big fan of [https://www.enpass.io](https://www.enpass.io) and it also has two-factor authentication support :-)

<comment><USER12> Enpass is great. The desktop and mobile apps are both very clean and easy to use. I tried a few and settled with enpass.

</comment></comment><comment><USER13> Keepassx doesn't look hard to use. It has the advantage (IMHO) of being a local application. Drop the encrypted database on some sync service, modify it with only one device at a time, everything should be ok.

Mac and Windows from [https://www.keepassx.org/](https://www.keepassx.org/)

Linux with apt or yum.

Android: keepassdroid from the Play Store

iOS: probably [http://minikeepass.github.io/](http://minikeepass.github.io/)

</comment><comment><USER14> Lastpass</comment>


Thou Shalt Not Depend on Me: A Look at JavaScript Libraries in the Wild - <AUTHOR> https://queue.acm.org/detail.cfm?id=3205288 <comment><AUTHOR> Link to the original NDSS 2017 paper: [https://seclab.ccs.neu.edu/static/publications/ndss2017jslib...](https://seclab.ccs.neu.edu/static/publications/ndss2017jslibver.pdf)

Interesting stat:

> We set out to answer these questions and found that with 37 percent of > websites using at least one known vulnerable library, and libraries often > being included in quite unexpected ways, there clearly is room for > improvement in library handling on the web. To that end, this article makes > a few recommendations about what can be done to improve the situation.</comment>


LoweBot - <AUTHOR> http://www.lowesinnovationlabs.com/lowebot <comment><USER3> Some observations:

\- The ground clearance might pose a problem in a hardware store. Every time I visit a Lowes or Home Depot the floors have debris. Some aisles will have products scattered on the floor (the screws/bolts/nuts aisle specially).

\- Ever try to use a touchscreen with dirty hands?

\- It will probably be used more by management to keep track of inventory. This I figure is the biggest benefit. Having the robot scan the store could potentially lower the amount of personnel required to do inventory counts.

I'm excited about this. It might seem like a kiosk on wheels but could open up potential advancement/business opportunities once people get used to them. A lot of people still perceive robots as "evil".

<comment><USER4> _The ground clearance might pose a problem in a hardware store. Every time I visit a Lowes or Home Depot the floors have debris. Some aisles will have products scattered on the floor (the screws /bolts/nuts aisle specially)._

This would seem to depend on the store, I've been spending a _lot_ of time at each since I bought a house built in 1910 in late May, and that doesn't describe either of the ones I've been visiting (in Joplin, MO).

A store that wants a LoweBot to succeed, or one picked to get one, would in theory try to make sure this is generally true, on the other hand, creating floor debris would be a way for the staff to throw a monkey-wrench into a deployment.

<comment><USER5> this should be pretty easily solved with a forward/downward facing depth sensor (to identify and avoid the debris). The fact that they didn't do this says to me that debris may not have been a major problem in testing.

<comment><USER4> And/or it can deal with that it comes across. A thin package of screws and nuts, e.g. Home Depot sells a line where a huge selection is like $1.83 or $1.18 (e.g. each package will have a certain balanced set of nuts and bolts, or a few screws), and those packages are sufficiently flat I'd expect them to be no obstacle. Bigger stuff it could just push forward, ideally sensing when that was happening and backing up and going another way. The big trick would be the stuff just low enough to get under it, but that would then block it and get stuck.

This is just off the top of my head, and I'm intrinsically not interesting in robots, I'll bet this is a well developed area in it by now.

</comment></comment></comment></comment><comment><USER6> People are great at vague queries... where can I get the thing that goes up and down in the back of a toilet?

<comment><USER7> My favorite request: "I'm looking for things that are owls"

<comment><USER8> What was that person trying to find? Dowels? Awls?

<comment><USER9> Owl statues. Decorative, or to scare away other birds and rodents.

<comment><USER10> I collect owl-themed objects, so to me it's a perfectly sensible query. I've surely uttered those words myself once or twice.

</comment></comment></comment></comment></comment><comment><USER11> I get the marketing/publicity angle of this, but there's no way this is cheaper than hiring an actual person. At least for the part of interacting with customers.

> Furthermore, LoweBot is able to assist with inventory monitoring in real- > time, which help detect patterns that will able to guide future business > decisions.

This sounds interesting. Having an army of robots marching down the aisles and scanning inventory seems useful. Wouldn't be as accurate as a human checking behind a box or finding mislabeled merchandise but would probably be more than an 80/20 solution to the problem.

<comment><USER12> > there's no way this is cheaper than hiring an actual person.

I'm not so sure. People are pretty expensive.

Lowes are open 6am to 10pm 5 days a week and 8-8 on the weekends. That's 104 hours per week, or ~5400 hours per year.

10% downtime and you're still looking at 5000 hours per year.

Google suggests sales associates get $11.70/hour. If you add on maybe 20-30% overhead for all the associated hiring costs, taxes and extra management needed the equivalent cost would be around $75k/year. I expect the true figure would be higher.

How much are these bots? They seem to be reasonably generic, but let's say a 5 year total cost is $200k, does that sound reasonable? That's around half the cost of a real person, so if each can replace about half of a person then that's a good deal.

And that all relies on what I think are fairly low overheads, a reasonable amount of downtime for the bots, quite a high price for the bot itself and an assumption that the bots can't do anything extra that saves time (the inventory scanning for example, or collecting more useful information).

At the very least, I don't think this is obviously much more expensive, and depending on a few factors could easily be much cheaper than a real person.

<comment><USER13> Furthermore, the relevant metric isn't current price, it's the price at the time these get deployed at scale which, for a giant company, is at least 3 - <USER2> years.

Large companies can afford to absorb many millions of dollars worth of losses for pilot projects because the learnings have the potential to far outweigh the losses. Even if each of these robots cost a million bucks a piece, if one robot can help Lowes learn something that reduces the cost of future robots by $100, spread across a 10,000 robot deployment, that robot has paid for itself.

</comment></comment></comment><comment><USER14> Why not just an app? Cheaper, and no scarcity issues: one for every customer.

<comment><USER15> Lowes does have an app with in-store maps. When you search you can see product inventory and where items are located in the store. I've used it a few times with moderate success. It only has 25 reviews on App Store with 2/5 rating, so that might be lowering adoption. For comparison the Home Depot app has 186 reviews with 4/5 stars.

<comment><USER16> Sadly, the employees apparently shuffle things around for local reasons and the app doesn't get updated. The employees will then badmouth the app to customers (well, one customer, at least...). "Oh, the app? Yeah, that's wrong a lot... We actually put that item over there at the end of that other aisle, because we wanted to put other-item here instead."

<comment><USER17> If the robot is using the same DB it will have the same problem. If it's using a different DB the app should be switched to that DB.

Or maybe the robot should walk the aisles and scan all bar codes to make the DB for both

Personally I don't want to install an app, I just want to visit a mobile webpage.

</comment></comment></comment></comment><comment><USER18> If I ask lowebot for help, does that make me lando calrisian?

</comment><comment><USER19> How is their localization and navigation done? Visual? GPS?

<comment><USER20> initially with SLAM [https://en.wikipedia.org/wiki/Simultaneous_localization_and_...](https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping)

</comment></comment><comment><USER21> Aw, it's C-3P-Lowe.

Questions for the Designers...

\- In that awkward "will there be anything else?" moment, after it's led me to the hard-to-find screws, what font size will the "fuck off" button have?

\- Is it going to hover just off-camera, watching me with TSA level scanners, to make sure any screws don't go "missing"?

\- Couldn't this be replaced with an In-store Map app I'll never download? (Unless the paint section is a Pokemon Stop.)

\- Where's the off switch?

<comment><USER22> Lobot would have been the better Star Wars reference.

[http://starwars.wikia.com/wiki/Lobot](http://starwars.wikia.com/wiki/Lobot)

</comment></comment><comment><USER23> ex ter min ate! ex ter min ate!

[https://www.youtube.com/watch?v=mxD-5z_xHBU](https://www.youtube.com/watch?v=mxD-5z_xHBU)</comment>