Ask HN: Should We Create a Badge for Software That Does Not Track You? - <AUTHOR> If there was a badge that indicates you're not tracked, it would affect my behaviour when choosing a software service.<p>If big enough user group became aware of this, maybe it would add pressure for larger corporations to think about their users' privacy <comment><USER2> The Free Software Foundation's "Respects Your Freedom" certification program [1] seems related.

The FSF's definition of freedom here might not be quite what everyone has in mind, but the program is worth looking at and considering.

[1] [https://www.fsf.org/resources/hw/endorsement/respects- your-f...](https://www.fsf.org/resources/hw/endorsement/respects-your-freedom)

<comment><AUTHOR> "Respects your freedom" badge seems to be hardware-related. This is exactly what we'd need for the software products too!

</comment></comment><comment><USER3> Q: Should We Create a Badge for Software That Does Not Track You?

A: YES! A unique one for each person.

<comment><USER4> Funny and evil.

</comment></comment><comment><USER5> The F-Droid store on Android does that.

If nothing is mentioned, the application does not track.

For applications with tracking, a tracking anti-feature label is shown under the section "This app has features you may not like".

Other labels exist, like "has non-free addons", or "the app contains non-free parts upstream".

For an example of such a label: [https://f-droid.org/fr/packages/org.mozilla.fennec_fdroid/](https://f-droid.org/fr/packages/org.mozilla.fennec_fdroid/)

It makes me think that a catalog like OpenFoodFacts but for software with such anti-features listed could be an idea.

</comment><comment><USER6> There is no way to enforce it, though. Seems like the "organic" label

<comment><USER4> What the? [https://en.wikipedia.org/wiki/Organic_certification](https://en.wikipedia.org/wiki/Organic_certification)

Sure people can lie and mislead to get one, but they can do that with any certification to some extent.

</comment></comment><comment><USER7> I like it!

Badge or not. I believe and hope that we will see less tracking in the future. Consumers will change this directly and indirectly through policy.

<comment><AUTHOR> > I believe and hope that we will see less tracking in the future

As a consumer I sure hope so too, but I'm only seeing increase on different methods of tracking at the corporate level; tracking software is becoming more cheap, accessible and easier to use

</comment></comment><comment><USER8> This would be great. I'm in the process of putting together a blog post that explains that the reason our software isn't free (like many other browser plugins) is that we're not doing lousy stuff with your browsing history.</comment>


Ask HN: Throwing in your lot with a single company? - <AUTHOR> I currently work for a company that I like. I like the people I work with, our domain is very unique and interesting, there are lots of interesting challenges to solve and I have a great work-life balance. It's small, but it's been around for a couple of decades so it's unlikely to go under.
Here's the problem: it's very unique. The domain itself is something almost nobody else does, for various reasons, and the product is even written in an in-house language. We don't use many industry-standard technologies or practices.
It feels like every year I stay here, I'm becoming more valuable to this company but stagnating in terms of the industry at large. My general programming skills are certainly growing, but it's hard to put that on a resume. On the other hand, I was told at my last performance review that I'm seen as a rising leader in the company.
Is it terribly risky to stay here for the foreseeable future? It's been 3 years now; I'm starting to get a bit anxious about falling behind on industry standards. I do some side projects to keep in the loop, but there's something to be said for real-world experience. Should I move on before it's too late? Or am I worrying about nothing? <comment><USER2> I'd say stay based on what you said. But do some research and maybe networking to see how your skills could transfer to another job so you have a backup plan of things ever go south at your company.

Maybe your industry domain experience is valuable enough that another company would take you on while you learn their tech.

</comment><comment><USER3> Never walk away from job satisfaction and traction for vague reasons.</comment>


Digital Security for the 2017 Lawyer - <AUTHOR> https://www.cameronhuff.com/blog/bc-courthouse-libraries-presentation/index.html <comment><USER2> This is a better list:

[https://techsolidarity.org/resources/basic_security.htm](https://techsolidarity.org/resources/basic_security.htm)

We've used this as the basis for training we're doing with NGOs, the press, and some legal groups.

<comment><USER3> Interesting list, thanks for posting. I'm curious about the rationale of several points on this list. Why shouldn't you use an Android phone but at the same time Chromebooks are recommended? I'm also surprised about uninstalling any antivirus products except for Windows Defender. I understand some companies are moving to CrowdStrike/Carbon Black, but what about individual users or smaller companies.

Also, is there a similar list for small companies focused on remote working?

<comment><USER2> Because Chromebooks are more secure than Windows, Linux, or Mac laptops, but Android is markedly less secure than iOS. This isn't about which is our favorite company; it's about what the best options are for ordinary users.

If you know exactly what you're doing, and you're using a Google phone, you might be able to get approximately the same security out of an Android device as an iOS device. But ordinary users have no chance.

<comment><USER4> Thank you for the list.

Can you help me to understand the validity of this statement [0]?

> When used with the best practices for web security, the Chromebook is secure > against most direct attacks on the local hardware and the Chrome browser, > but its dependence on a web-based backend where US courts have already ruled > there's less of an expectation of privacy is something no amount of end- > point security is going to fix.

[0] [https://arstechnica.com/information- technology/2013/09/why-t...](https://arstechnica.com/information- technology/2013/09/why-the-nsa-loves-googles-chromebook/)

<comment><USER2> Files stored on cloud services have less legal protection in the US than files stored locally. Not "no" protection, but less.

<comment><USER4> But that translates to zero effective protection if the US government is interested in what a journalist is writing with his/her Chromebook.

<comment><USER5> While what you present is a possible extreme end result it is highly unlikely, and the level of attention would have to be far above just being 'interested' in the work of the journalist. The US government does not care about the work of 99.9999% of the journalists out there and if you are in the group that they care about you know it and are probably going to be using a less user-friendly but more secure process. Contra claims by the tinfoil crowd, Google is not in the habit of giving up info without fighting against the request so this option provides very strong protection for almost all of the potential audience for this.

<comment><USER4> Google is not in the habit but NSA is, as Snowden told us.

<comment><USER4> I would like to know why some people downvoted this comment.

Is my statement false? Please, explain why you think so.

I expect an intelligent interaction here in HN.

<comment><USER6> For US Persons anyway, they cannot get such data without a warrant, you are mistaken (I did not downvote you btw, as your interpretation is semi-common).

<comment><USER4> They cannot get the data without a warrant but NSA did it in spite of everything [0].

What we don't know for sure is if they're still doing it after being caught.

[0] [https://www.washingtonpost.com/world/national- security/nsa-i...](https://www.washingtonpost.com/world/national-security/nsa- infiltrates-links-to-yahoo-google-data-centers-worldwide-snowden-documents- say/2013/10/30/e51d661e-4166-11e3-8b74-d89d714ca4dd_story.html)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> It seems like a decent list of recommendations to me.

If you follow all recommendations you're way ahead of the curve compared to what I've seen, but I've mostly seen small IT shops.

I do recall passworded ZIPs being easy to crack, that might be better replaced with a PGP-based alternative.

<comment><USER2> It's dangerous to rely on password-protected ZIPs. The default ZIP implementations use an 1990s amateur cipher that cryptographers have been cracking for sport for decades. There's a ZIP standard for authenticated AES, but you have to use a high-quality ZIP implementation (like 7z) to get it, and most people don't have special ZIP software installed.

Don't use password-protected ZIPs.

<comment><USER8> Apparently you haven't had to crack any recently. As an attorney with infosec certification, I can tell you that in my world, AES ZIPs are just as practically impossible to crack as you'd guess.

<comment><USER2> You're not reading what I wrote carefully enough. I'm not suggesting that AES- encrypted ZIPs are especially easy to crack. I'm saying that on most platforms, AES-encrypted ZIPs aren't what you get: you get ZIP 2.0 encryption.

</comment></comment></comment></comment><comment><USER9> I'm the author of that presentation (and surprised to see it on HN this morning!). What would you add to this or change? I may do a follow-up to it.

And if you like the slides, there will be a free video of the actual presentation online soon.

<comment><USER10> Please, please, please always mention basic security as well! I recently got a free server off craigslist to learn more about server hardware. Turns out the Server contains ALL company data from a small law office.

\- pictures of the office opening party

\- clients addresses

\- employee contracts + data

\- written warnings to employees

\- ALL communication to/from clients

\- INCLUDING stuff like stalking Protective Orders

Additionally, one CEO saved data from his other company on the server. His company dealt with medical stuff. The company was eventually sold for an undisclosed amount of money - but the server also contains correspondence to investors and board of directors....

The data is almost 10 years old, but some employees are still in business. Please always teach basic security when talking to anyone who handles 3rd party data. Lawyers must be aware of the value of their data. No victim of stalking wants to have their case correspondence public.

Instead of learning more about server hardware, I'll probably use this data to learn more about data/document analysis and use it as a simple example when talking about the boring topic of computer/data security.

<comment><USER9> That's a pretty egregious example but I'm sure that's not the only time that's happened with a law office server. This is a really good example to add for future presentations - thanks!</comment></comment></comment>


The Facebook-McAfee Lockout - <AUTHOR> http://www.techydad.com/2013/02/the-facebook-mcafee-lockout/

<comment><USER2> New Facebook business model?

<comment><AUTHOR> It would appear so: <https://blog.facebook.com/blog.php?post=248766257130></comment></comment>


Ask HN: Power of VIM? - <AUTHOR>

Right now, I use Notepad++. I've been thinking of switching to vim. I'd like to know ... why? what's the power of vim? how can it increase your productivity? <comment><USER2> A few specific examples (| is cursor position):

* You have a function call: `|foo("blah", blah)` and want `bar()`. You type `c%bar()`. The `c` command means 'replace' while `%` searches forward for a matching character and jumps to the closing.

* You realize (after the fact) that you have a few more calls to foo. You type `/\<foo` and enter to jump to the next word in the file starting with foo and hit `.` to repeat the last edit. Then `n` to search for the next match and `.` again to repeat, etc. Since the vim command syntax is really expressive, repeat becomes a very powerful tool if you're doing it right.

* You have `my_dict['ab|cd']` and want `my_dict['efg']`. You type `ci'efg`. That's replace (c) inner (i) single-quoted string (') with efg. If you then wanted to change the single quotes to double quotes and had the surround.vim plugin, you type `cs'"`, which is replace (c) surrounding (s) single-quotes (') with double-quotes (").

* You have `fooTransformer(blah)` and want `barTransformer(blah)`, you type `ctTbar`, which is replace (c) 'till character (t) T with bar.

I've been deliberately using the replace command for these examples, but what makes the vim command syntax neat is that the command and the motion parts are orthogonal. So you could replace the `c` in any of the above examples with `d` to delete or with `y` to copy (yank) or with g% to rot13 or whatever.

It may seem like relatively small gains, but the most important thing is that I stay in the flow of the code. If I think "replace call" I type `c%`, which is only slightly slower and far faster than trying to ctrl+shift+arrow my way through the codebase.

The downside of Vim is that the learning curve is very, very long and is initially steep. Unless you're coding for a couple hours a day, it's honestly not worth it.

One tip that everybody eventually learns but is almost never metioned in beginner tutorials: Whenever you stop typing, go back to normal mode (use ctrl-[ or remap insert mode ctrl-j to Esc for more efficiency). This will eventually become automatic and will help you to avoid mode errors where you think you're in normal mode but you're actually in insert/replace mode.

<comment><USER3> I loved your my_dict tip: ci' - new to me. Thanks.

Here's my favorite: <http://rayninfo.co.uk/vimtips.html>

</comment></comment><comment><USER4> I use vim over other editors because I feel vim is a good tool. I know it's a good tool because it gets out of my way and lets me interact with text without having to trick an editor into doing it, which is how I felt with editors like Notepad++ and others like it.

It took me a while to get to this point, but I feel the investment was worth it. Just take a week and force yourself to use nothing but vim (and try learning as many features as you can) and see if it jives with how you think. If it doesn't, try emacs.

edit: Best way to see the power of vim is to watch someone edit text who's proficient with it; some people are so good with it you'd be convinced they mmap()'ed the file to their head and are just interacting with it in real time.

</comment><comment><USER5> For me, one of the reasons of getting into basic vim usage was that it was the only editor I could count on always being available on the machines I was administrating. I learned just enough to be able to edit files with vi when necessary and did the heavy lifting in emacs.

Just a week or so ago, I decided to try to see if I could switch over to vi for all my editing needs. I know people who really know vi are wicked fast at doing stuff in it, none of the additional functionality in emacs is really something that I'm using, and none of the GUI-based editors I've used have really done anything to convince me they're worth the extra hassle. Plus, I know it's available on all platforms I could conceivably need that sort of text editing, so I know my skills will be usable wherever the file might be.

</comment><comment><USER6> It's easy to tell you why: powerful and precise text manipulation through concise commands. It's difficult to make you value that until you've tried it.

Vim will increase your productivity by allowing you to manipulate large or small pieces of text at will, in ways you've probably not thought of, while your hands rarely leave their position of hovering over the home row. The arrow keys work, but you'll rarely use them. You'll be fast, not from fast typing but from _less_ typing.

Once you've become reasonably proficient with vim, the difference between arrow key-based editors and vim begins to feel like the difference between chisels on stone and telekinesis.

It's easy to become minimally proficient. After you've installed gvim, run it and run these two commands:

[ESC]:help

[ESC]:help tutor

You should know about the first command, but the second is more important for you right now. It shows you how to start the interactive vim tutorial on your system, which will teach you just enough to use vim better than you can use Notepad++. Follow the tutorial, it won't take long and you don't have to do it all at once.

Now use vim whenever you edit a text file. You'll be a little slower than Notepad at first (but not much). You'll quickly gain speed.

The vim screencasts mentioned elsewhere in the comments are good for people learning vim, but I don't think they're a great advertisement for vim. The best thing for you is to run the tutorial.

Note: everything said here goes for emacs as well. It's a personal choice, and most people are either a vim person or an emacs person. I've never liked the chord-like commands of emacs, but emacs has more integration with the world outside of text editing and compiling than vim. Whichever type of person you turn out to be, you should be using one of these instead of Notepad.

Note note: I like vim so much that I've installed a firefox addon that lets me quickly edit web page text fields (like this one) with vim. <https://addons.mozilla.org/en-US/firefox/addon/4125>

</comment><comment><USER7> Why not Emacs? Just kidding.

vimtutor will answer a lot of your questions.

The kernel of the matter is the ability to do everything from the keyboard. You never have to use the mouse. That allows things to be much faster. That is a gross oversimplification, but I hope it helps.

</comment><comment><USER8> Probably just a few things contribute to most of the "productivity" you can get from vim:

1\. Commands to move around the screen and file under edit: with at most 2 keystrokes you can (a) move to next word (b) move to previous word (c) move to start of line (d) move to end of line (e) move to start of file (f) move to end of file (g) move 1 character in any direction (h) move to the end of next word (i) move to end of previous word (j) move to the next word like the one under the cursor (k) move to the previous word like the one under the cursor. Other commands exist to make moving around really efficient: you rarely take your hands off the keyboard to do mousing.

2\. Use of regular expressions for searching for text, and as a way of distinguishing edits. You can do things like change all tabs to 4 spaces with a single command, or change the tabs at the beginning of the line to 4 spaces. This is an astoundingly powerful idea, rarely exploited however.

3\. Vim, improving on vi, has the "visual" modes, where you can use movement keys (see item 1) to choose a hunk of a file, then apply edits or change commands to that block.

4\. Vim isn't really modal like all the propaganda has you believe. Sure, 'i' or 'a' or 'I' or 'O' will put you in what you can naively interpret as "literal typing mode". But you should really think of those as commands, followed by text, as you can do 5Ax<esc> and append 5 'x' characters to the end of the line. If you think about what most people call "modes" correctly, you can pull off a lot of interesting and fast edits.

5\. It's fast and has very few built-in limits (line length, file size, window size etc etc).

</comment><comment><USER9> Someone steal this idea: A site with screencasts of people writing software in the editor of their choice. Let people browse videos by editor, programming language, whatever else.

<comment><USER10> There is a great collection of Vim screencasts at: <http://vimcasts.org/>

Peeepcode has a "Meet Emacs" screencast available for about $9 as well here: <https://peepcode.com/products/meet-emacs>

It's not quite the site you describe, but I've learned quite a bit watching Vimcasts.

<comment><USER11> I'll second the support for vimcasts.org.

Also, PeepCode released "Smash Into VIM" yesterday: <http://peepcode.com/products/smash-into-vim-i>

</comment></comment></comment><comment><USER12> Three reasons for me.

1) The power of the editor. Lot's of great resources to learn more about it on the web or in vim itself. I learn something almost every time I read an article about it or watch a screencast. The learning curve is steep at the beginning, but totally worth it. I bookmark a lot of them on delicious:

<http://delicious.com/claytron/vim>

2) Portability. I use the same configs on FreeBSD, Arch Linux, Debian, Windows and OS X. I'm not tethered to an OS anymore for my fancy editor anymore (read TextMate). Not only is it portable, but it works mostly the same from the command line as it does in the GUI version. Having a full fledged editor on a remote machine is priceless :)

I made the switch about 6 months ago after switching to Linux for my dev environment. The only other editor I would consider using is emacs, for the same reasons.

3) The crazy world of vim. It's not just for writing code, I use vim everywhere possible now. Command line is bound to vi bindings, Vimperator in Firefox, It's all text to edit the web and external editor in Thunderbird to write emails. In fact, I'm writing this in vim right now :)

</comment><comment><USER13> If You are coming from the Windows world and use Notepad++ you are definitely on the right track to find a good text editor. I know since I have make that same path long time ago.

Now on all my systems that are mostly Linux (Ubuntu) and Windows I use Vim (vim & GVim).

I like to have powerful editor in all situations on all machines that I work and vim is that first.

The greatest feature is that hands are on keyboard all the time and as You learn the vim features You get amazed all the time and get more productive in every iteration.

The learning curve is easy and the most surprising at first is switching vim modes. That is adopted very fast and all that follows is fun and enjoinment.

Naturally all depends on Your affinity and if You spend lot of time in text editor dealing with different formats of text (HTML, xml, CSS, js, C#, Ruby, Php, C++, java, ...) You should invest some time learn to have real power on Your fingertips.

</comment><comment><USER3> I wish vim would provide a _kill-ring_ like emacs. I was recently writing an editor for an app of mine on the terminal. To enhance the keyboard usability - I read up on and implemented (among others) the kill-ring, it was easy to do, and really makes work easier than having to use registers. (kill-ring is for copying and yanking, multiple yanks go into the ring, and the values can be cycled through).

</comment><comment><USER14> I think it ultimately depends on your personal working style. Some advantages to vim are:

\+ it's simple UI (all text-based)

\+ it's lightweight

\+ it is modal (which can be easier if you're a touch typist)

\+ you never have to use the mouse (just like what lukeqsee said)

\+ lots of plugins exist to enhance the functionality

Hope this helps!

<comment><USER15> \+ it's much more dynamic with integration of compiler than any other editor (I know) and supports even integration plugins for gdb

\+ it will help you prevent mistypings during other actions (thanks to insert mode) and sometimes I think it even helps to write better code.

</comment></comment><comment><USER16> Here is a good posting on StackOverflow regarding Vim: [http://stackoverflow.com/questions/1218390/what-is-your- most...](http://stackoverflow.com/questions/1218390/what-is-your-most- productive-shortcut-with-vim/1220118#1220118)

I started last week and am trying to learn everything i can.

</comment><comment><USER17> <http://www.viemu.com/a-why-vi-vim.html>

<http://blog.ngedit.com/2005/06/03/the-vi-input-model/>

</comment><comment><USER18> I forced myself to learn vim because I wanted more power than nano would give over ssh, but this is what got me to replace my gui editor with gvim: <http://vimeo.com/8569257>

</comment><comment><USER19> for me it's about speed. you can do almost every task you need as a programmer way faster with vim, than with a conventional editor. if you have some programming experience you can change its behaviour to exactly the way you like it. <http://vim.wikia.com/wiki/Best_Vim_Tips> if you really like doing things with the keyboard, vim will be the right thing for you...</comment>


Ask HN: How often do you look at stats?  - <AUTHOR>

I spend a lot of time every day looking at daily visitors/pageviews numbers grow from morning to end of day.
Its exciting but doesn't seem to be the best approach. This leads to - 1. Wastage of time 2. Anxiety leading to sub-optimal decision making, in shorter term
What is the best frequency to monitor and review user metrics? Hourly/Daily/Weekly/Monthly? <comment><USER2> Everyone in our (tiny) co watches them throughout the day. If the info is valuable enough it can give you very useful insight into the "life" of your startup organism.

If it's wasting your time there's something wrong with your system or way your presenting the data -- it takes me about 5 secs to pull up and understand a solid snapshot of all our stats.

<comment><AUTHOR> I use google analytics and awstats.

The point is variance in data tends to decrease with frequency. Weekly or Monthly data tends to make lot more sense than hourly or daily stats. But its difficult to resist the temptation to watch is hourly/daily

</comment></comment><comment><USER3> I think you should probably look at them once a week. Don't get too obsessed with pure traffic stats as they can be misleading!

</comment><comment><USER4> GF is addicted and she has hardly any visitors, i stopped looking after the traffic went v high and it was all just boring then.</comment>


64% of Developers are still using Angular 1 vs. Angular 2+ - <AUTHOR> https://www.alexkras.com/64-of-developers-are-still-using-angular-1-vs-angular-2/ <comment><USER2> I am not surprised. Angular 2 is not Angular JS v2.0, it is a whole different framework you learn from scratch. It is easy to see why many people don't want to do it.</comment>


DSLs in CoffeeScript - <AUTHOR> http://amix.dk/blog/post/19614?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+amixdk+%28amix.dk+blog%29&utm_content=Google+Reader

<comment><USER2> I'm not too sure where most of these examples fall on the line between DSLs and just regular CoffeeScript functions (I think the latter), but to pitch in with another, here's Arel DB querying:

        Post.where published: yes

        Account.joins('customer').where customer: name: 'Pepsi'

Which compiles into this JavaScript:

        Post.where({
          published: true
        });
        Account.joins('customer').where({
          customer: {
            name: 'Pepsi'
          }
        });

<comment><USER3> Well, you could also say the Ruby examples are just invoking regular Ruby functions. Either way, you've got what Martin Fowler[1] calls an "internal DSL" (as opposed to an "external DSL", which has a parser and syntax of its own).

[1] <http://martinfowler.com/bliki/DomainSpecificLanguage.html>

</comment></comment><comment><USER4> I think it's really easy to confuse "cute" with "more productive", and the vast majority of attempts at creating DSLs are the former. I think very few are worth their weight, since it seems I always eventually have to be aware of their exact nuances and code paths anyway, and that being so I'd much rather just see ordinary syntax.

<comment><USER5> Coffeescript optional parenthesis and much shorter syntax for closures are a big help in diminishing the noise, which is crucial to make a DSL. Without these, some DSLs become so cumbersome that they are in fact unwieldy.

For instance: nobody uses nested closure[1] techniques in java, because anonymous classes are too much of a verbose implementation of closures, not to mention that they can only close over final variables, making it even more cumbersome

[1] [http://my.safaribooksonline.com/book/software-engineering- an...](http://my.safaribooksonline.com/book/software-engineering-and- development/ide/9780132107549/internal-dsl-topics/nestedclosure_)

</comment></comment><comment><USER6> Please do not post links with utm junk in the URL.</comment>


Amino.bio – Homebrew synthetic biology kit - <AUTHOR> http://www.amino.bio/ <comment><USER2> The integrating separate pieces of lab equipment into one unit is reminiscent of the Bento Bio 'all in one' lab: [http://www.bento.bio/bento- lab/](http://www.bento.bio/bento-lab/)

The bento lab looks more useful for teaching molecular biology: it has a mini- centrifuge, thermocycler for PCR, and apparatus for gel electrophoresis. The amino one looks like it only lets you culture bacteria, and track the pH/temperature/OD as you do so.

I don't really see why anyone would buy this. The sales pitches are unconvincing, and sound close to mis-selling: this is really not something I would choose to use in "domestic life" to make "bread, beer, cider or wine", and I'm skeptical the 'nightlight' makes enough light to actually function as a nightlight.

<comment><USER3> Bento Bio looks pretty cool. But it also produces nothing tangible or fun. Much of molecular biology is so abstract - the mixing of particular amounts of clear liquids to get a band to show up on a gel. It's difficult to ground those abstractions into every-day tangible lessons. Making a blue paint from some sugar, water and cells is, on the other hand, a supremely tangible product. Whether it works and is actually fun and productive is another question. But it seems to be targeting a different kind of audience.

<comment><USER2> It's seems confused about who it is pitched at: the founder's personal site refers to it as "the tamagotchi for synthetic biology" [0]; but the main landing page [1] says that it enables "anyone to create and grow living cells for research, education or domestic life", and the about page [2] refers to use "at home, in labs or in schools" and says it "can be used in pro labs too".

I think it would be better to market this as a purely fun thing, rather than as a serious, useful tool. I doubt many will sell: this may have been better left as an art/design project, without an associated company.

[0]: [http://julielegault.com/amino](http://julielegault.com/amino) [1]: [http://www.amino.bio/intro/](http://www.amino.bio/intro/) [2]: [http://www.amino.bio/what/](http://www.amino.bio/what/)

</comment></comment></comment><comment><USER4> The lack of scientific rigor (why the heck is everything an app!) and specificity as to the content of these kits makes me skeptical. How do I engineer a plasmid on this thing? How do I verify gene expression? 900 dollars is way too much for a mold growing kit.

</comment><comment><USER5> Amino was previously discussed here [https://news.ycombinator.com/item?id=10409433](https://news.ycombinator.com/item?id=10409433) .

It does look fun and educational! ... But, if you're excited about a "homebrew synthetic biology kit" you definitely want to read the specifics of this kit. It actually has very limited uses. Not to dismiss it though; it probably is the best thing you could currently buy in the area. And the kind of sequence- grow-repeat DIY synthetic biology that may come to mind is still, unfortunately, outside the realm of any realistic affordability.

</comment><comment><USER6> Does the idea of getting people to grow their own cells in an uncontrolled environment without any knowledge of exactly what can happen kinda sound weird to me?

What happens if they accidentally grow a dangerous bacteria?

<comment><USER3> It's called a refrigerator. Or, more precisely, a kitchen. If you have yogurt, or beer, or bread, or cheese you have such a product. And if you've ever let any food in your kitchen go bad/moldy/rotten, you have, 'grown cells in an uncontrolled environment without any knowledge of exactly what can happen'. Very very few get anything more than a bit of a rumbley stomach from such 'experiments', and in the meantime they learn a significant amount about themselves and how life works in this universe.

The real world of biology has been out to kill you for your energy for 4 billion years and yet you survive. We're really pretty good at it. It is genuinely difficult to hurt people with biology if you try, and it is even more difficult if you're not trying.

<comment><USER6> I'm all for the product, I like at home things. It was just a little weird sounding to me. But I suppose at home chemistry sets are probably way more dangerous.

</comment></comment></comment><comment><USER7> For those in New England, they are having a two day workshop: "Welcome to Do- it-Yourself Bioengineering!" as part of the 2016 Cambridge Science Festival in April, tickets on Eventbrite.

</comment><comment><USER8> I did iGEM in 2006 as part of the Princeton Team. It all started when I took Biology I and we made glow in the dark E Coli. And I got excited.

So that summer I did Princeton iGem with Ron Weiss. It was pretty disorganized, but I did spend 8 hours a day in Biology lab and learned more genetics. No longer remember any of it.

Now you can do it at home. That's kind of awesome. Possibly dangerous?

</comment><comment><USER9> why does the squarespace config popup when i press esc on this page

</comment><comment><USER10> >Learn synthetic biology

That term doesn't mean what you think it means.

>Poorly constructed, sealed chambers

This thing will work once, and then be contaminated forever.

>Talk about DNA programs

Replacing standard terminology with non-standard patronizing terms are a key to proper education, right?

>Random name drop of Obama, and biology "Threads"

I think you mean "threats". But hey obvious typos on your frontpage really showcase your commitment to quality, right?

>800 dollars

Good fucking lord.

<comment><USER11> the $800 price tag seems reasonable if you compare the 1982 introductory price of the Commodore 64 at $595 (approx. $1,500 today)[0]. Most parents were buying the c64 or a similarly priced computer for their children's education and entertainment. From that POV the pricing for this biology kit, if you kids are scientifically enthusiastic, seems reasonable.

[0] [https://en.wikipedia.org/wiki/Commodore_64](https://en.wikipedia.org/wiki/Commodore_64)

<comment><USER10> Give me 200 bucks and an ebay account and I can buy a lab that will run circles around this crippled mess.

Kids want to be empowered, not patronized. The intended user for a kit like this would be a 12-16 year old. At that age they are old enough to use real tools. Buy the kid an incubator, glassware, and a pcr machine.

The commodore is a great example because you could actually program things on it. Things not listed in the instruction manual. Kids will learn if you give them the tools to do real biology, not playskool biology.

<comment><USER12> > Give me 200 bucks and an ebay account and I can buy a lab that will run > circles around this crippled mess.

Could you go into more detail about this? I'd love to know how to build a lab on the cheap. Can you get genetic material for bacterial transformation within a K-12 budget as well?

<comment><USER10> > Can you get genetic material for bacterial transformation within a K-12 > budget as well?

For a standard bacterial transformation experiment you'll need : An incubator, a pcr machine, taq, primers, pcr master mix, a centrifuge, petri plates, LB broth, agar, ecoli, a gel box. Honestly, half of this you could get as cast- offs from your local university for free. Universities are all about supporting K-12 science, you just have to ask.

Hardware is going to run you about 200-300 bucks. The real expense here is the used PCR machine. The incubator, and the centrifuge can be home-made or repurposed (ie a hand crank centrifuge, and a chicken egg incubator).

The rest of the cost is just reagents. The two big things you need to make yourself are Taq, and ecoli competent cells. Both of these are fun experiments in themselves are can be made for 50-100 bucks (resulting in years worth of reagents).

After that it's just buying primers (10-20 bucks a pop) and refills on reagents like agarose and LB which are cheap.

DIY lab doesn't have to be expensive if you are willing to sacrifice a little bit of time.

<comment><USER13> True. The problem with DIY labs I think is the barrier to entry. It's really hard to start from nothing to having a DIY lab where you have some idea of what's going on. Maybe an online lab (videos?) is the way to go? My microbio and biotech labs in college did serve me pretty well as far as knowing what the bands in my gel mean, etc.

<comment><USER10> >Maybe an online lab (videos?) is the way to go?

Check out the Journal of Visualized Experiments : [http://www.jove.com/](http://www.jove.com/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> The amino lab itself is useless - the apps are the useful things. The lab is basically the equivalent of a big glass bowl.

</comment><comment><USER15> My problem with Amino is that it seems like it's basically a shell for the Synbiota kits (synbiota.com). I met someone in Toronto a few weeks back who knows the Synbiota guys, and he said the founder of Amino and Synbiota are dating.

Which is fine, but maybe they should be open about that partnership. The Synbiota kits are kind of cool, but the Rainbow Factory kit didn't work for me as promised and they are seriously expensive.</comment>


Show HN: Serializable Math Expressions Using Cap'n Proto - <AUTHOR> https://github.com/niekbouman/commelec-api

<comment><USER2> I have to admit I don't really understand what this is. Looking at the source I can find and a small server programm that sends/receives hardcoded UDP+JSON messages that contain some very specific data (a few numeric parameters, I think you need to understand electrical generators to understand what they mean) but doesn't seem to do anything with the data except to send and receive it and doesn't seem to contain error handling/etc. Also I see a bunch of cap'n'proto schemas to encode a number of mathematical expressions and a small c++ class to execute those expressions.

Since OP is the author of the linked project: How do the serialized expressions and the server program fit together and what would this software be used for? Is it still in early development? Also, why not serialize the expressions as simple strings/s-expressions -- what is the upside of using protobuf for this? doesn't it just add unnecessary complexity and overhead?

<comment><AUTHOR> Hi Paul/Paula,

The software is part of a smart (electricity) grid control platform. I agree that on the github project there is also quite some code that is unrelated to the title of this Show HN post.

The particular thing I wanted to highlight is explained concretely here: [https://github.com/niekbouman/commelec- api/blob/master/docs/...](https://github.com/niekbouman/commelec- api/blob/master/docs/llapi.md)

The application of the code is a networked control system, where, roughly speaking, many resources send messages to a central controller. In the light of this "many-to-one" topology, the advantage of the approach taken in this project (essentially, sending an abstract syntax tree encoded in capnproto) over just sending a string, is that there is no parsing-step needed at the receiver, which saves time. (It is a real-time system)

The server program (I assume that you're referring to daemon.cpp), was added as a bridge between the more-powerful capnproto-based message format and a less-flexible but easier-to-use-for-non-experts (JSON-based) interface. However, what happens in this daemon should not be viewed as part of this Show HN topic.

For more details about the project, you could have a look at the following paper (open access) [https://infoscience.epfl.ch/record/210555?ln=en](https://infoscience.epfl.ch/record/210555?ln=en)

<comment><USER2>
        >> the advantage of the approach taken in this project (essentially, sending an
        >> abstract syntax tree encoded in capnproto) over just sending a string, is that
        >> there is no parsing-step needed at the receiver, which saves time. (It is a
        >> real-time system)

even though cap'n'proto advertises itself as a "zero copy" serialization scheme that doesn't necessarily need to copy the data when reading it, it still needs to "parse" the incoming message. and the way your interpreter is implemented I think you still need to switch()/recurse over everything in the proto tree. So I think the main difference here would be switching() over an enum vs throwing an extra strncmp/hashmap access in there when loading the expression from the incoming network buffer.

I think cutting that one strncmp per symbol could be a perfomance upside, but I reckon this would be _tiny_ compared to all the networking and evaluation overhead (think low microseconds for a few compares on strings that all fit within the SSO). But might be an interesting thing to benchmark nonetheless, maybe even against another solution that goes all the way and implements a proper micro vm so it can execute "bytecode" directly from the incoming networking buffer without any intermediate at all.

EDIT / side note: just had another look and saw that you are actually storing some symbols as strings in the capnprot messages and then do a lookup in the eval loop, too --- and the symbol lookup is implemented in O(N) by doing a linear scan over the symbol list and comparing the subject with each possible candidate here -- if you care about speed/micro-optimizing I think you can improve this to O(1) or at least logn using a hashmap/multiset -> [https://github.com/niekbouman/commelec- api/blob/master/comme...](https://github.com/niekbouman/commelec- api/blob/master/commelec-interpreter/adv-interpreter-eval.cpp#L269)

another thing if you want to microoptmize: you should try to pass stuff by reference instead of copy in your eval loop wherever possible -- removing as many mallocs() as possible from the inner interpreter eval loop should be one of the most low hanging fruits. what stuck out to me was esp. your use of the auto keyword in the eval code -- some thoughts regarding that:

\- the "auto" keyword does not automatically take a reference. a plain "auto" may create a copy. use "auto&" or "const auto&" to take a reference

\- esp. in the new range based for loops: in the places where you are currently using (for auto item : collection) you are performing a copy of all the items while iterating -- for (const auto& item : collection) will eliminate those copies

EDIT2: Skimmed your paper and saw it included some benchmarks regarding message size. However you are benchmarking your cap'n'proto solution ONLY against MathML, an XML encoded representation (lol).

So I tried one example from your paper -- am I missing something here?

Expression: "P _-10+q^2 "

\- Your capnproto encoding with packing: 82bytes (value from your paper)

\- Your capnproto encoding without packing: 280 bytes (value from your paper, actually larger than XML...)

\- mathml (xml) without packing: 196 bytes (value from your paper)

\- mathml (xml) without packing: 164 bytes (value from your paper)

\- string encoding of the same expression ("P_-10+q^2"): 9 bytes

[ Hope I am not coming across as too negative, but since you put it in a paper and published it I think it is fair to do some peer review ]

<comment><AUTHOR> > [ Hope I am not coming across as too negative, but since you put it in a > paper and published it I think it is fair to do some peer review ]

No, not at all, your feedback is highly appreciated! BTW, the paper is a preprint, it is currently under review.

\- I fully agree with the O(N) vs O(1) issue in the evalPartialDerivative. Also, an optimization possibility I considered is to replace string-valued variable names like "Y" by integers, but this adds some bookkeeping-burden for a creator of a message that works in a programming language other than c++ (for which we do not provide convenience methods for building messages)

\- I agree with the auto vs (const) auto& point you raised. However, some cap'n proto types (readers / builders) are copyable types ("handles"), hence they should be using with auto. (And, sometimes, the compiler can do better optimizations when you've passed objects (of small size) by value rather than ref, but this might be different for each specific case; one would have to benchmark.)

Regarding expression: "P-10+q^2": The string encoding is much shorter indeed, and is an alternative way. However, \- double values potentially lose precision in a string representation (btw, also this "JSON bridge" I mentioned earlier suffers from this problem) and possibly take up more space than 8 bytes. \- the schema also serves as the grammar of the message format; is a compact "manual", in that (almost) everything that can be expressed using the schema will be "valid" and accepted by the interpreter. If one encodes a string, one has to define this grammar separately (one has to define what is a 'valid' string and what not). Adopting this schema-based solution saved us work. \- there are typically more objects in a message ("advertisement"), so the string would have to be augmented with information about what it represents in the message. \- also: having a schema-based solution helped us in designing the message format (the types defined in the schema let you think in a more abstract way about the message format), and provides evolvability.

Hence, there were certain motivations for choosing this approach that are unrelated to space (bytesize) or runtime performance.</comment></comment></comment></comment>


Responding to Beggars - <AUTHOR> http://www.stallman.org/articles/responding-to-beggars.html <comment><USER5> This has been a huge problem for me. I recently moved to San Francisco after many years of living in the Midwest. I was born and lived the first 10 years of my life in Delhi where poverty was no big deal. It was accepted and not questioned. After living in the States and doing all the chores that someone else would normally do for me in India (dishes, laundry, etc.), it became difficult for me to see people as anything but people and I began to notice poverty.

After 3 months in San Francisco, I'm noticing the pendulum swinging again in the other direction. I don't see anyone paying attention to the homeless, and I know a few pennies here or there aren't going to solve the problem, so I am once again starting to become cold and removed.

I cannot stand saying no to people on the streets, but I have not found a way to get them off the streets either. I promise myself that right now is not the time, and one day I will make a difference.

It feels naive and stupid to think this way. I am 22.

<comment><USER6> There are ways to help the homeless without giving out money. For example, volunteering at a soup kitchen, shelter, etc.

<comment> barry-cotter In the USA? No, there aren't. They're mentally ill or serious drug abusers. Also, your money can go a hell of a lot further and help a hell of a lot more people even in in the US. But you can save a life for about 800 dollars in the developing world.

<http://www.givewell.org/>

<http://lesswrong.com/lw/37f/efficient_charity/>

[http://lesswrong.com/lw/6z/purchase_fuzzies_and_utilons_sepa...](http://lesswrong.com/lw/6z/purchase_fuzzies_and_utilons_separately/)

<comment><USER7> Wait, so are you saying it isn't possibly to help homeless people in the USA? Or that they don't _deserve_ help? Either way, I think you are very wrong.

<comment> barry-cotter It is possible to help people who are homeless in the USA who are neither mentally ill nor drug abusers. The mentally ill are incapable of accepting or using the help available to them. The drug addicts prefer the drugs and being homeless to being off drugs. There is more than a little help available for people who want to quit drugs and if you want to see what kind of support is available for the homeless in the USA visit San Francisco, the only first world city I am aware of where one regularly has to dodge human faeces in the street.

I'm not saying they don't deserve help. I'm saying that your money can do more good elsewhere, which is not something I'm willing to argue as being blatantly obvious. If one subscribes to the idea that there is a continuum of "deserving" to "undeserving" poor most of the drug addicts fall under undeserving and the USA is no longer willing to imprison people indefinitely for being mentally ill so they're probably beyond help. Very possibly also better off because mental hospitals are the closest I have ever seen to Hell, but beyond help.

</comment></comment></comment></comment></comment><comment><USER8> I like to leave money (coins or notes) where someone who needs it may find it - under a bridge, down low where a child might find it, etc. Sure to brighten anyone's day :-)

"Donating" money directly is difficult to do with respect and pride for giver and givee... I try to get it right because I feel i could end up poor, old, and drunk on the street. Some beggars strike me as being somewhat entrepreneurial :-).

Try to treat each situation as unique.

Occasionally I will give a beggar money for no reason, occasionally pity, occasionally random, occasionally respect. I accept sometimes I am a chump, but I would rather err on being a chump than be a selfish thoughtless jerk.

When a traveller in poorer countries I become much more generous - the price of a beer at home, or a birthday card, can make a big difference for many. Any person who can fly to a 3rd world country can afford to be _very_ generous. 1st world travellers with excuses for being tight piss me off.

The difficulty is giving without demeaning the receiver ... respect.

<comment><USER9> All but one of the beggars who approached me in Kathmandu were children. If children can productively beg there is no incentive to educate them. Just send them out on the streets.

It isn't a matter of being greedy. It's avoiding counterproductive behavior.

<comment><USER10> This. In India and probably in many other countries, a lot of beggars operate under some gangs and most of their income goes to them. Especially true for beggars one sees at the traffic signals. So if you pay them, it is added incentive for the gangs to put more people out on the street.

My take on this is that everyone has a different way of being most effective in helping others. To really improve their situation, a homeless person needs someone who can invest a lot more time and effort. So if you want to help them, give to charities that work with them. In our individual capacity, we are more effective in helping someone who already has a platform. Consider financing the entire education of a child. That is more effective use of the money than distributing it piecemeal to several homeless people.

<comment><USER8> > So if you pay them, it is added incentive for the gangs to put more people > out on the street.

I sometimes think that is just a handy excuse.

I actually _enjoy_ seeing tourists get taken advantage of, and actively encourage it with my own behaviour.

I often admire go-getting capitalist tourist scams or annoying vendors - <USER2> times even illegal or immoral behaviour (people take risks because they need to, not usually out of choice).

Love the rest of your comment... exactly my point that we can all find ways to truely help (while avoiding ways that damage).

<comment><USER11>
        I actually enjoy seeing tourists get taken advantage
        of, and actively encourage it with my own behaviour.

Why?

<comment><USER8> Hard to explain - however I don't mean in a Schadenfreude way...

E.g. vendor selling something for 10x what a local would pay. I don't haggle much and admire chutzpah. If someone steals my wallet because that is the only income they can get, I won't like it (but I am not about to go hungry, get rickets or fail to get healthcare).

Obviously hard to delineate what is 'bad', or what are downstream effects.

<comment><USER12> I had my wallet stolen several years ago -- I set it on the bar at a cafe momentarily while paying, and somehow left without it (maybe someone subtly laid a paper over it? maybe I was just distracted?) and it was gone when I realized about 30 seconds later and came back in.

I can't say I admired the chutzpah, though.

The thief took a minor risk, earned less than 20 euros, and cost me days worth of my time and more than 100x that amount of money, to replace documents I hadn't realized would be so difficult to replace (the big one: my US driver's license, and I didn't live in the US anymore; replacing the US credit cards was also non-trivial, but less expensive).

The small amount of cash they got was about commensurate with the risk they took (fairly small); but the waste entailed was huge. I would much rather have been mugged and had my cash taken, and my watch as well -- i.e., items valuable to the mugger, not simply my wallet (which contained things mostly only valuable to me). Or they could have tossed the cashless wallet in a trashcan nearby. They didn't (I searched them all).

The real cost to society of this kind of theft and waste is not so much monetary; it's more psychological. That experience burned into my head fairly well that there are plenty of people around who care so little about me, they'll happily take whatever they can from me, regardless of the suffering it causes.

I have a suspicion that it's the series of experiences like this that turn people from political liberals to conservatives as they age -- they feed easily into racism and classism, they turn us from thinking "how can I help people who need it" to "fuck 'em -- they'll do the same to me if they could". Etc..

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> The situation is not much different here in Brazil. It's almost impossible to tell when a beggar is telling the truth or not - they have perfected their story-telling out of necessity.

Once I was walking up to a friend's apartment. Just a few meters from his door, a guy with a desperate face approached and asked me to borrow some money for gas/something, so that he could get to his wife who was in the hospital (red flag). I refused, and then he proceeded to tell me the exact address he was going to, handed me his license and car keys to check. I felt ashamed for being such a cold person, and gave him ten bucks. Just as he was turning around the corner, my friend who was leaving his apt saw him and said -"did you give that guy money? He is always around" :(

Never gave out money since. I try to make up for it by being very straight about taxes and civilization in general.

</comment><comment><USER14> In the UK we have The Big Issue. It's a magazine only sold by homeless people, for £2.50 per magazine. The sellers buy each magazine for £1.25. The sellers are trained, sign a code of conduct and wear badges so you can recognise them easily.

<https://en.wikipedia.org/wiki/Big_Issue>

I like this approach because I know that they have some degree of control. For example, they can't spend all the money on booze/drugs because otherwise they can't purchase more stock. It's a start.

That said, I like Stallman's method. I might try that sometime.

<comment><USER15> In the Boston / Cambridge area where Stallman is talking about, we have "Spare Change":

<https://en.wikipedia.org/wiki/Spare_Change_News>

There just are more homeless people that gather there than can viably all sell the newspaper.

</comment></comment><comment><USER16> For me it isn't a question of being duped or scammed. It's a question of whether the gift is really going to help them. It turns out this is a very difficult question. When you give money to a beggar, you are saying "great job! here's a bonus to encourage you to keep begging!". At the same time, these are usually people who are in need. I also know that substance abuse is close to certain. I don't have a good answer. Most of the time I give nothing. Occasionally I'll hand a guy a 20, without regard for his story or whether I'm being scammed. It's a gift given freely.

What I know for sure is that I can be polite to them. Recognize them as humans, not treat them as lepers. If they engage me in conversation ask their name, where they are from. But usually ignore them on the ask. Because I can't rationalize that it would help.

But it's not an easy question.

</comment><comment><USER17> My experience trying to get a homeless person off the street:

<http://graceofgodmovie.com/>

Available on iTunes:

[http://itunes.apple.com/us/movie/but-for-the-grace-of- god/id...](http://itunes.apple.com/us/movie/but-for-the-grace-of- god/id469930988)

If you watch it and like it please write a review.

<comment><USER18> Been there done that. I have actually helped a man get off of alcohol and street, securing him a job and a place to live; only to have him go back to the streets: Twice.

</comment></comment><comment><USER19> I really don't understand why people care so much what the beggar uses the money for. Give him a dollar, or don't. If you do, don't worry that he might use it to buy booze; just feel good that you did something nice for someone. If you don't, don't try to justify it to yourself by saying he might be a liar. Just say "I have the right to not give beggars money because it's my money" and be done with it.

There, I solved all of your altruism problems. You're welcome.

</comment><comment><USER20> I've always made this decision based strictly on whether I am feeling generous enough in the moment to give money to a stranger who asked for it. I personally find bothering oneself about what they are going to do with it to be extremely condescending, and I sometimes suspect it might be a cop-out for simply wanting to hold on to your money. Not that there's anything inherently wrong with wanting to hold on to your own money.

<comment><USER21> From the article it's pretty clear that Stallman just didn't like the feeling of being deceived. I don't think condescension has anything to do with it. As an aside: there were two instances in the last year in which I gave a stranger in need of help $20. I analyzed the interactions in the aftermath, and I'm convinced that the first person really did need help and the second person scammed me (I can't say for sure, but when adding up all the little details, things start to ring true or false). When I realized that I had been scammed, I felt pretty raw about it. It wasn't about the money, but the fact that someone would prey on my willingness to help like that.

<comment><USER22> My general feeling is that anyone who is scamming people on the streets in order to get by has real problems.

<comment><USER23> I'm sorry, but they have a duty to their shareholders to do whatever will maximize shareholder value, including doing marketing research and pandering to what works.

Oh wait, were we talking about beggars? Nevermind, they should be held to a higher standard than the Fortune 500. They can afford it. (Billions and their own jobs aren't riding on it.)

</comment></comment></comment></comment><comment><USER24> I don't think there's much you can do to help someone on the street in a way that gets them off the street. That's not to say that nothing can be done, just that the initiative has to come from the person on the street to get out of that pattern.

I can't remember where I got it from, but I carry a pack of cigarettes around. When I get asked for change, I remember to offer the person a cigarette instead. If you're on the street then lung cancer is the least of your problems, and it's a way of showing support to the person but in a way that doesn't contribute to their pattern.

Our culture has some strong messages about charity and a taboo about questioning it. People tend to give to things that are branded as charity in order to comply with this message. The result can often be an office full of people in a nice location, pulling down wages, and doing very little meaningful work towards the cause. It is itself a variation on the deceptive begging pattern, feeding on popular ideas about charity.

I think the best approach for helping people is to look out for things directly in your sphere where you can see how your action will lead to a goood result, and then act at that level.

</comment><comment><USER25> For the most part, I only give money to homeless people who put out a cup or a hat and don't try to sell me on a story. I've been lied to so many times that I assume every story is a lie. I don't try to buy specific items like food or train tickets, either. I don't want to dictate what they ought to spend the money on. If they want to spend it on food or clothes, great. If they would prefer to spend it on drugs or lotto tickets, I'm not going to reverse a lifetime of bad habits by forcing them to get a sandwich. The money is theirs once I give it to them.

<comment><USER24> Why would you do that? Is it because you're told to by a priest to be charitable or because your sense of guilt push you into making the world a worse place. Or sympathy?

Look at the long view. It only takes a few people to keep doing that, and they'll keep existing at that level instead of finding a better way to get by. You're enabling them.

<comment><USER25> The three main causes of homelessness in America are sudden economic misfortune, mental illness, and addiction.

People in the first category are actively looking for a way to get back on their feet. Giving them money is better than giving them a meal, a ticket, or a bit of clothing. They know what they need most, and will spend their money accordingly. Insisting that they choose from my list of pre-approved spending options does more harm than good, from a utility standpoint. From an emotional standpoint, it's condescending and demeaning.

In the second case, the person has few employment options and a weak support network, otherwise they would not be out on the street. They won't use the money I give them as well as people in the first category, but who am I to say what they want or need? I'm not trying to solve a social problem. I'm trying to ease the suffering of an individual.

It's difficult to distinguish people in the third group from the people in the second group, since mental illness and addiction often work in tandem. I don't bother to try. Anyway, the addict's hierarchy of needs is roughly: Food > Drugs > Shelter. If I buy them a sandwich, they can spend the remainder of their money on drugs. If they're a serious addict, a lack of charity won't stand between them and the drugs they need. If they can't scrounge up enough money through legitimate means, petty crime is the next step. Overcoming addiction is a complicated process that comes from within. You can't starve the addict into going clean. If I give a homeless person a dollar and that money goes towards drugs, that's a shame, but at least it eases their suffering for a moment.

Again, giving money to a homeless person isn't a long-term solution to social problems. It's a small gesture from one individual to another. They have a cut, so I give them a band-aid. Homelessness is a difficult and complicated problem. Withholding charity won't suddenly result in homeless people straightening up and flying right. The reality is that many of them, at least in the short term, are unemployable. Withholding charity just increases their suffering.

</comment></comment></comment><comment><USER26> I was on my college debate team; the Nationals final round in 2003 was about this hypothetical ("Give a homeless person a dollar?") I was pleasantly surprised to recently find that it was taped and available online: <http://www.parlidebate.com/recordings.php?id=36>

I can't fairly condense the salient points, so I'll just encourage you to watch the video - it's long, but well worth it. I can honestly say it changed how I evaluate these sorts of situations (aside from being a very fine round of debate, but that's more of an acquired taste).

(Just to be clear: I was _not_ one of the debaters, just happened to be lucky enough to be in the audience).

<comment><USER27> Thanks for the video. Interesting round to watch--makes me miss my debate days.

Which direction did it shift your views?

<comment><USER26> In the direction of giving - either money, or if time allows, something like what Stallman is doing/advocating. The main thing that shifted my views was the notion that even if the money is "wasted" (or might be more effective dollar-for-dollar elsewhere), there's a lot to be said for the human connection - and that even if the recipient is operating under false pretenses (which does happen sometimes), that human connection is worth it.

<comment><USER28> _> In the direction of giving - either money, or if time allows, something like what Stallman is doing/advocating. The main thing that shifted my views was the notion that even if the money is "wasted" (or might be more effective dollar-for-dollar elsewhere), there's a lot to be said for the human connection - and that even if the recipient is operating under false pretenses (which does happen sometimes), that human connection is worth it._

Pardon me if this was mentioned in the debate — unfortunately I'm not in a position to watch the video at the moment — but the worst case in giving money to beggars is not just that the money is "wasted".

In the UK, the overwhelming majority of beggars are not homeless, and are simply begging to fund a drug addiction (usually to 'Class A' drugs such as heroin). A survey by Westminster Council found 86 percent of people begging spend the money they receive on drugs and alcohol, and seven out of ten of those arrested for begging (begging in public is illegal in the UK, although enforcement of the law is sporadic) had Class A drugs in their system (see: [http://www.thamesreach.org.uk/news-and- views/campaigns/givin...](http://www.thamesreach.org.uk/news-and- views/campaigns/giving-to-beggars/))

In other words, when you give money to a beggar in the UK, you are more than likely funding a Class A drug addiction. An addiction that drastically reduces that person's life expectancy, and increases their chances of premature death due to an overdose.

</comment></comment></comment></comment><comment><USER29> I never give, I pay, for example I'll pay to the one who play nice music. I don't pay to soften culpability either, I handle this myself. My preferred way to fix the poverty issue is to participate in this kind of economy: I prefer giving a good salary to a nanny coming from countryside than giving random bucks to those who earned a pithy price in the streets.

</comment><comment><USER30> I never give money to beggars after having seen how they operate in Berlin. The standard ones are extremely pushy, and in areas like Ku'damm, there are organised gangs of women who bring their children with them. I've seen them converge and hand over money to a central man at the same spot day after day. He doesn't look poor.

</comment><comment><USER31> I have tried this approach for a while and not once did a beggar accept the proposal. A couple of times when I didn't have cash on me I got cursed at and since then I stopped giving to them. I should also mention that I'm from the Netherlands and no one here needs to be homeless, it's always because of drug addiction.

<comment><USER32> Or mental illness?

<comment><USER33> I don't know about Netherlands, but in UK there's a complex mix of substance misuse and mental illness amongst the homeless population. It's difficult to know which causes what.

In theory "homelessness" is a solved problem in the UK. In practice, there are people who sleep on the streets and there are people who are effectively homeless but who have short term accommodation and there are plenty of beggars.

<comment><USER28> _> In theory "homelessness" is a solved problem in the UK. In practice, there are people who sleep on the streets and there are people who are effectively homeless but who have short term accommodation and there are plenty of beggars._

The situation in the UK is somewhat unique. As you mention, homelessness is not really an issue. All homeless people are entitled to benefits to cover accommodation and food.

Unfortunately people still tend to associate begging with homelessness, when the link between the two is tenuous at best. The overwhelming majority of beggars are not actually homeless, and most are begging to fund a drug addition (see: [http://www.thamesreach.org.uk/news-and- views/campaigns/givin...](http://www.thamesreach.org.uk/news-and- views/campaigns/giving-to-beggars/))

There really is no need for anyone in the UK to beg in order to survive, hence why begging in public is illegal.

</comment></comment></comment></comment><comment><USER34> I wonder if modern enterpreneurs are recruiting their marketing staff from the ranks of these street scammers. Many scammers are masters of the art of salesmanship: telling people what they want to hear in order to get them to part with their money.

I find it hard to distinguish between their methods, the only substantial difference being much larger turnover for the 'respectable' marketing and advertising experts.

</comment><comment><USER22> I give money to Shelter, a British charity which helps homeless people. I figure they're the experts, and can put the money to the best use.

</comment><comment><USER35> I have seen enough professional beggars who live well that I pretty much just assume that they're just about all like that. It seems that if you're good at it, you can make quite a bit of money. And this is hardly new: there's even a Sherlock Holmes story that revolves around a man who gives up his profession to become a beggar because the money is better.

If you feel guilty (and why wouldn't you? it's only natural), give money to charitable organizations which help the homeless. They know how to put the money to better use.

</comment><comment><USER36> When someone asks me for money, I just give them money. I dont care what they do with it. I think people complaining about being deceived are just looking for excuses for being greedy. The end result is the same, no matter if the beggar is honest or not: i'm more happy because I feel generous, the beggar's more happy because he got money. The first time I relised that the story I got told was a lie I was upset, but I realised that it doesn't matter.

<comment><USER37> I guess some people's problem is that we "care what [the beggars] do with it" when we give money.

i.e. I don't want to give someone money that they'll use to further destroy their life with drugs/alcohol/whatever. I don't want to be complicit in that action. If that's too 'morally' or 'judgemental' for some people, so be it.

Now, I'm more than happy to buy them some food, transportation, etc. Or even better, spend some time with them (when possible) and treat them like a real person for a few minutes.

<comment><USER38> Well, when there is a high probability they will use the money to buy drugs - substance abuse is one of the primary reasons for homelessness in the US - then it does in fact matter what they do with it. Giving money to beggars is virtually synonymous with supporting the corner dealer in many cases.

</comment></comment></comment><comment><USER39> I think that in certain situations the moral question of doing or not performing an act is either a weak function of the entities we interact or is not a function of them at all. I think this is one of those cases: I would give a small amount of money (e.g. a quarter) to _anyone_ who has to ask for it for _whatever_ reason. I find Stallman's attitude to be condescending to extreme, i.e. "you lied to me", how can you judge that person?

A similar ethical question: Should we eat animals? Some people object to this citing the misery, pain, etc. that the animals have to endure. But suppose we create a certain pig/chicken/sheep clone that is incapable of thinking (or, as in <http://www.amazon.com/The-Pig-That-Wants-Eaten/dp/0452287448>, actually wants to be eaten): Would your attitude on this matter change? I think it should not.

The way I treat entities with less power than me (homeless people, animals) wholly depends on me and not inputs from them.

<comment><USER40> How can you judge them to be needy?

<comment><USER39> That was my whole point: I don't.

</comment></comment></comment><comment><USER41> I know how important Richard Stallman is to the tech community, and I appreciate his tech-oriented stuff ... but I'm kinda getting bored with seeing his LiveJournal posts on the HN homepage.

<comment><USER42> Well, there are a lot of others nowhere near as influential as RMS whose "LiveJornal"-esque posts about "entrepreneurship" - a la: How I made $2 million from $2 - regularly make the HN homepage. I could live with the former (and for once, RMS is making sense).

</comment></comment><comment><USER43> Some panhandlers really need money, and some don't. There's no way to know for sure which is which, and I can't afford to give money to everyone who asks for it. So the only "rational" solution is to not give money to panhandlers at all.

Of course, I don't follow that rule perfectly because saying no or ignoring somebody makes me feel like a dick. But I'm not going to pretend that giving money to a panhandler is ever a rational act.

</comment><comment><USER44> I used to do the same thing while I was commuting to San Francisco to do an expert system for PacBell. Lots of homeless people begging and the people I worked with lectured me on not giving them money. That was in my pre- vegetarian days and I had a serious hamburger addiction; occasionally when I bought a hamburger, I would buy a second one to hand to an apparently homeless person.

</comment><comment><USER45> I think I'm going to apply this to my day-to-day life. I bet I'll give out less money overall, but more money to those that need it.

<comment><USER46> I've done this in the past. When I used to travel by train (and live in England) I spent a lot of time waiting at London train stations. If my train wasn't imminent and I was approached I would offer to buy the beggar a meal at any of the concessions in the station.

In contrast to Stallman's experience, I was never rebuffed - <USER3> asked to go outside the station to get vegetarian food (seemed reasonable to me) and once asked if I could also buy food for someones girlfriend as well (chutzpah pays!). Some of these people where interesting, some less so, just the same as any random sample of the human race.

I don't find myself in those situations in my current living/working situation, but I like to keep my mind open to these possibilities

<comment><USER47> If they're walking up to you on the platform and you're offering them free food of their choice (within reason), why not? Whereas if they're in a good, high-traffic, spot, they might not want to give it up for the free food.

I had a guy run up to me just as I was getting on the bus to ask if I could spare fare for him too. I dug it out and handed it over and he turned around and walked off. I thought that was pretty funny, especially as the fare was a quarter.

</comment></comment></comment><comment><USER48> My mom taught me never to give money to beggars, only ever give them food. Seemed entirely logical.

</comment><comment><USER49> I keep a couple of gift cards in my wallet and hand them out if someone's in trouble. I tell them there's money on it but not how much. Obviously, someone could still sell the gift card, but the buyer will have to take him at his word.

</comment><comment><USER50> This is what my parents have taught me to do as well.

It's also a possibility though that the beggar wanted to be efficient and accumulate more money for other fares throughout the day, just trying to be efficient.

</comment><comment><USER51> Tickets, food and anything else is always almost refundable, so in most cases, it would have been cheaper to have given them a quarter, even a dollar.

</comment><comment><USER52> Is a beggar an analogy for a startup looking for funding?

<comment><USER53> and you are an angel.

<comment><USER52> Not yet. I only asked the question in context of this article being posted to Hacker News. I thought maybe the author was describing an approach to more than just qualifying requests for money from beggars.

</comment></comment></comment><comment><USER54> In Thailand this situation is quite terrible. The Mafia collects people with missing limbs and other disfigurations, basically the people who will elicit the greatest sympathy, and forces them to sit on the same corners begging day after day, month after month and year after year - and turn all of the money they collect over to them. If they steal any, they die. In return they are provided with the bare minimum subsistence living one could imagine.

This situation is so bad that the country had to pass a law giving the death penalty to anybody dismembering children for the purposes of turning them into beggars - because people were doing that on a large scale.

<comment><USER55> The situation is similar in Sweden, but I have thankfully not heard of anyone disfiguring someone else for these purposes. Yet.

One of the glorious benefits of being a member of the EU is that we now have to put up with organized gangs of beggars coming in from Romania, Bulgaria etc harassing us on our streets. (The leftists have proposed that we add these people to our welfare rolls and give them their own apartments - <USER4> entitlement not available even to Swedish citizens, mind you. Of course, the only reasonable response is to institute a sufficiently vague law against vagrancy and then deport them.)

<comment><USER56> Have you a problem with Bulgarian people or Bulgarian criminals?

If you have a problem with Bulgarian people in general, then, well, that is called xenophobia or more simply racism.

If you have a problem with Bulgarian criminals, then complain to your police force. How come you able to spot such criminals so easily while they cannot? Did you make precise and detailed reports to the police about cases you witnessed, experienced personally or know from local hearsay?

Talking about apartments, do you agree on the principle that access to public housing should be given to those most in need? Do you also agree on the principle that the needs for every lawful person should be addressed regardless of their country of origin? If you do, what is the problem them? If you do not, why?

Question for the US readers: do scenes like those depicted in Steinbeck's novel The grapes of wrath still happen? Are people from rural zones like Oklahoma's countryside treated as filthy dangerous foreigners in California? Because that is what we are seeing and experiencing right now in the EU.

<comment><USER57> Read the parent post again, no problem with Bulgarian people in general.

What's with your xenophobia/racism haunch? It is not unreasonable to discuss such effects due to relative open - e.g. compared to US - borders.

Last year in Germany I myself saw 'gangs of beggars'. While not a problem, it annoys me when on touristic places you'll get asked for money every two minutes from one of the (romanian) women with child. It feels like an industry.

<comment><USER58> The same reason you don't say black beggars or Mexican criminals. The racial or national background of these people might be interesting for sociologists but it's unhelpful in everyday discussions. It strips people of their dignity, whether it's intentional or not. Don't be that guy.

<comment><USER59> It is interesting and helpful, because the reasons that these beggars are operating in Sweden was given (internal migration within the EU).

If he hadn't said it, replies would have expressed surprise that the prosperous Swedes had resorted to aggressive organised criminal behaviour, and there would have been speculation on why that is.

There would also have been questions on why the government hasn't done anything about it yet, which he also addressed in his comment.

Stop telling us what we can and can't talk about.

<comment><USER58> Look, this is about good manners, not censorship. Everything you've just said is trivial and unhelpful. Naming ethnicities this way will only make you look like a fool and undermine the point you're trying to make.

</comment></comment></comment></comment></comment></comment></comment><comment><USER60> In SF, I witnessed the classic: guy offers sandwich to 'hungry' homeless guy. Homeless guy responds, "what kind is it?" Apparently, beggars _can_ be choosers.

<comment><USER61> Did you ever think he might have had a life threatening allergy to certain foods ? It's pretty common.

<comment><USER62> When asked for money for food a few months back, I offered to buy the guy a burrito. I asked what ingredients he wanted, he suggested no beans to make it easier on his fellow humans...

</comment></comment></comment><comment><USER63> Ask them to break a $20.

What happens if they naturally learn to collect money, and we record these activities through our hearsay? If we expect them to be able to break a $20?

</comment><comment><USER64> I love how this page has no styling information. Just times new roman on a white background. User agent stylesheet ftw.</comment>


List of Free Data Science Books - <AUTHOR> https://blog.paralleldots.com/data-science/must-read-free-data-science-books/ <comment><USER2> Many of the books in the excellent "Think" series have been made available for free by the author, Dr. Allen Downey at [https://greenteapress.com/wp/](https://greenteapress.com/wp/)

They are very short, informative books aimed at programmers to pick up the basics of probability and statistics.

</comment><comment><USER3> Nice list. I would give them a try. There's a site for data science if you find useful:

[http://www.datatau.com/news](http://www.datatau.com/news)</comment>


Why You Should Invest Your Time In Networking - <AUTHOR> http://www.chrisg.com/networking-roi/

<comment><USER2> Excellent list of returns from networking. They key for me (and I run workshops and business coaching projects on the topic) is building a smaller number of deep relationships, rather than running all over town creating hundreds of shallow relationships. Only deep relationships provide the opportunities, advice, support and friendship the OP notes.

Most networking is not like this, however, which is why it has a bad reputation. Most networking events are about quantity not quality - quick, everyone in the room introduce themselves for 30 seconds as if that's going to give you the confidence to refer a friend to somebody.

Most attendees at those events want referrals, which is the key reason they don't work for that outcome. People who get the most referrals are the people who _give_ the most referrals. So the people who need referrals most are the very people who aren't good at giving them out. Fill a room with people who need referrals, and you're filling a room with people who don't give referrals.

It's a viscious cycle of disappointment - grab the first interesting person you meet there and go somewhere else for coffee.

<comment><USER3> Last sentence:

"It's a viscious cycle of disappointment - grab the first interesting person you meet there and go somewhere else for coffee."

is completely dead on. People are beyond shallow at 99.9% of these events but they keep on coming back beating that networking ROI drum.

Sorry, being a part of clubs, committees and boards is simply stroking your own ego. Get out, meet people and put yourself in odd and different situations. Relationships formed from these interactions will be the ones that you cherish and keep giving back year after year.</comment></comment>