Notset: A Do-Not-Care value for Python - <AUTHOR> https://github.com/rconradharris/notset

<comment><USER2> Everyone bumps into this at some time on their journey through Python, however personally it's not something I've contended with in years and there is good reason for that:

> Suppose you have a function which takes a person and allows you to update > the person's name, age, both, or neither

The problem is not the lack of some fundamental feature, it is one of obviousness in interface design. A trixy interface as given by the example leads exactly to the kind of problems the library hopes to eliminate. Instead how about:

        def update(person, attrs):
            pass

        def update_with_email(person, attrs):
            update(person, attrs)
            send_email(person)

Not only is the problem avoided, but a problem of namespace pollution has been fixed too. Overusing keyword arguments in a hyper-generic manner forces extension of the code to require definition of a new function in order to avoid potential breakage.

For example, how does one add a 'use_html=True' parameter to update_with_email()? Perhaps by adding a 'use_html' kwarg that hopefully doesn't conflict with Person's attribute namespace, or perhaps by adding '_use_html', hoping to skirt the problem by introduction of ugliness. For a 'clean' backwards-compatible solution, we're forced into something like:

        def _real_update_with_email(person, use_html, kwargs):
            update(person, **kwargs)
            send_email(person, use_html=use_html)

        def update_with_email(person, **kwargs):
            _real_update_with_email(person, False, kwargs)

        def update_with_html_email(person, **kwargs):
            _real_update_with_email(person, True, kwargs)

How can the caller dynamically form the attribute names if they need to?

        # TODO: something seems terribly wrong here, I can't quite put my finger on it.
        update(person, **{'previous_' + attr: value})

etc.

I realize abuse of \\* \\* is very much a religious issue, and at first sight, one of the superficial attractions to Python (at least for me, way back in time), however with experience it seems to regularly introduce more problems than it solves outside a few niche uses. The idea of adding an 'undefined' value has been discussed going back years (try grepping python-ideas and python-dev) and it's never made it in for good reason.

There is one place where an 'undefined' might seem useful at first, for example in the implementation of `dict.pop()` where a missing second argument signals the need to raise KeyError. The problem is that no published, public value including 'undefined' can be used as placeholder without introducing another ugly rule to the language: the ability to use `pop(..., default)` with any default value except 'undefined'! (net simplicity gain: zero)

<comment><USER3> As a general rule of thumb (standard disclaimers apply), I've found it better to have several functions than one function, if that one function is going to do different operations according to the parameters passed in. ("Operation" is a vague term, but I think setting something vs not setting something would count.) It's all too common for the operation to end up being fixed at the call point, for every call point, and therefore for the path through each call to be the same each time. The parameter/argument system is the wrong mechanism for that.

This line of thinking was inspired by C's `fopen' (no doubt now that I've said that it's going to turn out that I'm the only person ever to have ended up using a string literal for the mode parameter 100% of the time). But I suspect it would be the case for this function too.

</comment></comment><comment><USER4> The problem with this idea, or rather its implementation, is that it's just a matter of time until someone uses NotSet as a legitimate value assigned to a variable/attribute, just like None is today. At this point someone will introduce a new singleton, "NotSetIReallyMeanItThisTime", and so on and so forth. It never ends.

The only way this might work is if NotSet (or whatever it's called) is a keyword and it is only allowed in (a) function signatures and (b) comparison with `is` and `is not`; everything else throws a syntax error.

<comment><USER5> > it's just a matter of time until someone uses NotSet as a legitimate value > assigned to a variable/attribute, just like None is today.

No, because the NotSet value (unlike None!) isn't global; it's private to the package (or even class) that uses it. Callers never need to reference it, and never should.

(Python doesn't actually enforce access restrictions but using undocumented variables/attributes is frowned upon; if you do that, your code deserves to break!)

If you really want to hide it (to prevent mistakes), you could write something like this:

        NotSet = object()

        def isset(val, magic=NotSet):
            return val is magic

        def update(person, name=NotSet, age=NotSet):
            if isset(name):
                person.name = name
            if isset(age):
                person.age = age

        del NotSet

        update(None,name='foo')
        update(None,age=27)

(I'm sure there are still ways to get to the NotSet value if you really want to, but not by accident, and if you abuse this, you deserve all the problems you'll receive.)

</comment></comment><comment><USER6> My first impression is that this isn't a problem in need of solving; it just needs a change in approach.

The first is the conflation of classes and functions that work with classes. The update function in the example isn't reusable at all, implies you can update something other than a Person, and 'NotSet' doesn't fix that. So have it as a method on Person, and pass in a list of attributes to change as opposed to enumerating each field as a named parameter. You have the fields on the class for more fine-grained control, and functions like this don't necessarily make the code clearer.

Given that, I don't think the example presents a valid use-case for implementing 'NotSet' or whatever you want to call it. The problem is in the implementation, not Python, and the solution is a hack to enable you to continue with this approach.

<comment><USER7> Their is no way to tell that the example function is not a method of a Person class.

The code: "def update(person, name=None, age=None):"

is equivelent to the code: "def update(self, name=None, age=None):"

although if you chose to name the 'self' variable something other than 'self', you probably deserve to have problems.

<comment><AUTHOR> Agreed, I think the distinction between a bound method or a function is irrelevant here.

If we want explicit kwargs (a big 'if' since many of the suggestions in this thread are to give up on that idea), then we need some value to distinguish it from None.

</comment></comment></comment><comment><USER8> This is one of the features of Scala I like; explicit types for Option/Some/None in the core language and standard API. It's generally used for return types (ex: a hashmap 'get' will have a return type of Option[ValueType] and return either Some[ValueType] or None) but you can use it for function parameters as well.

      scala> def foo(name:Option[String] = None, age:Option[Int] = None) = {
           |     println("</comment><comment>====")
           |     if( name.isDefined )
           |         println("Name: " + name.get)
           |     if( age.isDefined )
           |         println("Age: " + age.get)
           |     println("</comment><comment>====")
           | }
      foo: (name: Option[String], age: Option[Int])Unit

      scala> foo()
      </comment><comment>====
      </comment><comment>====

      scala> foo(Some("Alice"))
      </comment><comment>====
      Name: Alice
      </comment><comment>====

      scala> foo(age = Some(10))
      </comment><comment>====
      Age: 10
      </comment><comment>====

Plus with some implicit syntactic sugar...

      scala> implicit def strToSome(s:String) = Some(s)
      strToSome: (s: String)Some[String]

      scala> implicit def intToSome(i:Int) = Some(i)
      intToSome: (i: Int)Some[Int]

      scala> foo("Alice")
      </comment><comment>====
      Name: Alice
      </comment><comment>====

      scala> foo(name = "Alice")
      </comment><comment>====
      Name: Alice
      </comment><comment>====

      scala> foo(age = 10)
      </comment><comment>====
      Age: 10
      </comment><comment>====

      scala> foo(name = "Alice", age = 10)
      </comment><comment>====
      Name: Alice
      Age: 10
      </comment><comment>====

<comment><USER9> Yeah, not sure why there is so much confusion in pythonland over an issue that has a trivial solution that was discovered ages ago, moments after the problem first appeared.

</comment></comment><comment><USER10> Sorry for the bikeshedding, but double negatives are a real pain. Not so much for the code itself, but for talking to colleagues and giving talks. Off the top of my head, Empty would could work.

<comment><USER11> Personally I would use "assigned" 1) to better reflect the meaning and 2) to follow PEP-8 and not use an uppercase.

<comment><AUTHOR> Uppercase was chosen to match Python's existing singletons, `True`, `False`, and `None`. Lowercase might look a little too much like a variable, and all- upper might look too much like a module-level const, IMHO.

</comment></comment></comment><comment><USER12> I can't remember the specifics offhand, but I used the built-in value "NotImplemented" to address a problem like this once.

<comment><USER13> That's good hack!

I personally prefer Ellipsis. Its meaning make more sense to me (it Greek origin mean "omission") i.e. "Not Set" so it almost perfectly matches.

</comment></comment><comment><USER14> The __kwargs form is a more obvious API. When your users grow more fields -- email, registration date, avatar -- this code will be reusable, whereas a function with a signature will need its arguments changed whenever the database schema changes.

The three-valued logic of set-to-something, set-to-None, don't-set is perfectly adequately captured by a dictionary. You're introducing an application-specific concept (the NotSet value) when a built-in concept (a dictionary) works just fine.

<comment><AUTHOR> > whereas a function with a signature will need its arguments changed whenever > the database schema changes.

True there is some work in keeping the two synchronized, but there are benefits.

First, unexpected arguments are immediately caught since they throw a TypeError.

Without this, you either have to manually check for unexpected keys (probably doing a set difference with `allowed_keys` or something) or you just silently pass through unrecognized attributes, probably causing strange behavior later on.

Second, you are forced to say explicitly which attributes are modifiable. To draw from the 'person' example, `name` and `age` might be modifiable, but `admin` might be protected. That would be made abundantly clear by `update(person, name=NotSet, age=NotSet)`, but less so, by `update(person, attrs)` or `update(person, __kwargs)`.

A clear docstring would help, but I'd prefer to have the code just fail-fast on this unexpected input.

<comment> j-kidd > First, unexpected arguments are immediately caught since they throw a > TypeError.

> Without this, you either have to manually check for unexpected keys > (probably doing a set difference with `allowed_keys` or something) or you > just silently pass through unrecognized attributes, probably causing strange > behavior later on.

The default constructor for SQLAlchemy declarative base does a simple check for unexpected keys, and it has served me well:

[https://bitbucket.org/sqlalchemy/sqlalchemy/src/acbaeb1acb7d...](https://bitbucket.org/sqlalchemy/sqlalchemy/src/acbaeb1acb7d/lib/sqlalchemy/ext/declarative/base.py?at=default#cl-406)

> Second, you are forced to say explicitly which attributes are modifiable. To > draw from the 'person' example, `name` and `age` might be modifiable, but > `admin` might be protected. That would be made abundantly clear by > `update(person, name=NotSet, age=NotSet)`, but less so, by `update(person, > attrs)` or `update(person, kwargs)`.

Whether a field is modifiable is often determined by the current user's access level and the current state of the object. So, putting such restriction at the function definition may have made things too rigid.

<comment><AUTHOR> > Whether a field is modifiable is often determined by the current user's > access level and the current state of the object. So, putting such > restriction at the function definition may have made things too rigid.

True, let me try to clarify. There might be some attributes like `admin` that you don't want twiddled via the `update` method but rather mutated via a setter function. In this case, the signature of the `update` function would be helping to indicate that.

(A better example might be the attribute `active` with two methods called `activate` and `deactivate` that send emails and what-not.)

</comment></comment></comment></comment><comment><USER15> The sentinel value you've used here is the right solution. It keeps the keyword arguments explicit and gives None its value back. However, it doesn't deserve a module global-to-python to live in. The cases where you use this pattern are broader than just "NotSet".

Good pattern, and it needs to be more widely-known, but it doesn't need to occupy the space of a module on PyPI. ;-)

<comment><AUTHOR> I'd love to see this integrated into the language and live along side of `None` (I can dream, can't I?)

But until then, how can two different libraries agree to use the exact same instance of `NotSet` without some standard package defining it?

The goal is really to be able to 'proxy' this do-not-care condition from applications into libraries in a standardized way.

<comment><USER15> I'll repeat my advice to take this to the python-ideas mailing list. You'll get real reasons why this shouldn't (or should) be included in __builtins__.

As far as two libraries agreeing on using the same instance, one can define it the way you've done with `NotSet = object()`, and they can both use it just like they share any other named object (classes, functions, constants, sentinels). Better yet, it can carry a more meaningful name when "NotSet" doesn't really describe how they're using the sentinel.

</comment></comment></comment><comment><USER16> Without commenting on the suggestion itself, this really should be submitted as a PEP [1] and discussed in that context.

[1] - <http://www.python.org/dev/peps/>

<comment><USER15> PEPs often begin life as simple emails (in the general form of the original post) to the python-ideas mailing list.

<http://mail.python.org/mailman/listinfo/python-ideas>

It's a list that's generally friendly to new ideas and you'll get some feedback from some old-and-crusty language designers. Which is neat.

</comment></comment><comment><USER17> This problem also happens in the context of HTTP PATCH, and you can solve it in the same way. Make update accept a single argument (a dict), and don't supply any keys you don't want to overwrite.

</comment><comment><USER13> Why not just use Ellipsis? That is a good "not set value". It is unique so others' Ellipsis is also your Ellipsis. It is already there, don't need to import anything, do any git pull or such.

<comment><AUTHOR> Interesting. I love the idea of not having to import an external library, but much like the `NotImplementedError` suggestion, it overloads a value that already has a specific meaning, in this case related to slice-notation.

I'd worry that this approach could end up being even more confusing.

<comment><USER13> Yeah it is a hack but in 6 or 7 years of using Python I haven't once needed to use Ellipsis for its intended purpose. I always end up using it though for "not set" where None is one of the valid set values.

</comment></comment></comment><comment><USER18> What's the difference to using "if name is not None:" in the first example?

<comment><AUTHOR> That example could probably use some clarification, but the idea is that `name` and `age` in that example are both nullable, so passing in `None` (setting the column to NULL) is different than omitting the value (leaving the column unchanged).

<comment><USER19> I think this could handled more elegantly if Python supported an Option type, by making 'name' an Option[Option[String]]

</comment></comment></comment><comment><USER20> better solution: don't use default parameters. They're a misfeature in every language they appear in.

</comment><comment><USER21> I'm impressed by how much effort one can put into something that is effectively nothing else than:

        NotSet = type("NotSet", (object, ), dict(__repr__=lambda self: "NotSet"))

There is no amazing concept, no new idea or even anything remotely interesting at all here. This is but a side-effect of a type system that encourages the usage of None in this way and the fact that None is generally used to mean undefined in keyword arguments.

Why would anyone consider this notable, useful or even important enough to warrant an upvote?

<comment><AUTHOR> The implementation here is just a suggestion, and trust me, it wasn't much effort ;-)

The aspect that interests me is that this is a problem that crops up occasionally in different Python projects and there doesn't seem to be a recognized best-practice for addressing it.

(The ` __kwargs` approach seems like the most common but has all the downsides I mentioned.)</comment></comment>


News Corp to Offer Plaid Stamps - <AUTHOR> http://www.cringely.com/2009/11/news-corp-to-offer-plaid-stamps/

<comment><USER2> Essentially Murdoch is arguing against gravity.

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

Is a nice explanation, if you give people powerful tools they'll use the past of 'least cost' to get what they need.

If that path bypasses all your carefully created obstructions that allow you to monetize the traffic then that's a real problem.

Imagine the owners of a free themepark that have a toll road to their themepark, and you have to use it. Along the toll road are large billboards, lots of them.

Then one day some guy invents a teleportation device that allows people to zap straight in to the heart of your themepark, and back out again with 0 effort.

Just like water with a bit of help from gravity will find the path of least resistance, so do your users.

The solution, is to make it even easier to find the content that users are looking for, and to make sure that that is a way that is monetizable.

Blocking out google is going to simply drive all those users elsewhere, it will be to them as though Murdochs sites no longer exist. And that may actually be a good thing.

</comment><comment><USER3> This is very solid logic... for the same reason, ice cream vendors clump together in NYC. You go where the action is... you don't create the action.

<comment><USER4> Unless you've got a unique selling proposition, that is. Murdoch doesn't.

A magazine like Cook's or the Economist can charge for access, because they offer writing that's leagues beyond the norm. The Wall Street Journal, on the other hand, is a _good_ paper, by it offers nothing that I can't find elsewhere. It's certainly not a Top 5 news source for me. So people likely won't notice if the WSJ disappears from Google.

Murdoch is smart, one of the brightest men alive, but here for the first time in decades he's met a system smarter than he is. On a level playing field he's a shark, but he is no longer a holder of a primary source of power. I forget who wrote yesterday that the Internet isn't about content, it's about access nodes, but they were spot-on. Murdoch can crush wtb content, but he doesn't own nodes and he doesn't understand them.</comment></comment>


Ask HN: What are your mental frameworks that guide you through life? - <AUTHOR> I've learned some interesting "one-line-frameworks" that just seem to make my life easier and guide me through different situations. I started to use most of them in a business context but transfered them to various social and family situations over the years.
Here are my two favourites. The first one is "Angry people demand, professionals require". I picked it up some years ago and it works like a mirror for me. In stressful conflicts, it reminds me to anchor what I want to a requirement. It helps me communicate why I need what I ask for, not just command and demand. Often I reverse my requests completely when I notice I'm just angry and I don't really have a solid base for what I'm asking.
The second one is the "Gap of Suck" which I first read in a book by Kathy Sierra. The idea is that most new skills require you to work through the Gap of Suck, the initial zone where you feel overwhelmed and stupid. Be it a new programming language or paradigm, a new sport, gardening – this model encouraged me to work through the first ugly and foggy hours of learning a new task.
Do you use similar mental models or frameworks? <comment><USER2> I've always liked a framework from the book, "Seven Habits of Highly Successful People," where you break your life into roles (i.e., self, spouse, parent, employee, entrepreneur, volunteer, etc.). Then you organize around these roles (tasks, events, goals, etc.). This is much more than a one-liner, of course.</comment>


Why black metal is great music for programming (but doom metal isn't) - <AUTHOR> https://www.atlassian.com/blog/technology/metal-music-for-programming <comment><USER2> I personally listen to Animals as Leaders as I code, but they're instrumental metal which makes it that much easier for me to not pay much attention to the music. I usually also, put the volume to the lowest setting with my headphones in if I listen to music while I code otherwise it's too distracting for me.</comment>


Ask HN: Technomading? - <AUTHOR>

a now dead submission from earlier today inspired me to ask about this.
its been a personal goal of mine for a while to be able to do this before i would want/need to settle down:  setting things up in my life in such a way that i can grab a laptop and travel the world.  travel to a new country, stop for a while, see and do things, and pop open the laptop to do enough work to fund the traveling.
the intent would be to stay in one place for longer periods (months, depending on the visa) so that work would be less random and so that i could properly experience the new location's culture, atmosphere, etc..  the intent would also be to aim for the more inexpensive places so that i wouldn't necessarily have to work 40/wk to get by.  kind of like where the hell is matt (http://www.wherethehellismatt.com/) except less dancing (also, i had this idea in my head way before i ever saw matt's stuff).
we're a community of smart people who like to solve problems.  so, i imagine someone else has gone down this road.  i was just curious about this, since i've done a lot of thinking (read: daydreaming) about it myself lately. anyone have any thoughts/experiences/resources/insights/etc.? <comment><USER2> I am living this life right now. Lived (mostly) in Vancouver and Buenos Aires last year (with 1 month stops in LA, NY, and Toronto, and purely fun travel to Antarctica, Ireland and South Africa).

In 09 I've been to India (vacation), London (worked), Vancouver (worked), and I'm currently in Italy (both vaca + work). Heading to Budapest in two days to rent a place for 3m.

The most common question I've gotten is how to fund this. I've funded this with consulting gigs and living in cheap-ish places - living in Buenos Aires, for example, is a great way to bootstrap a startup. Building a more scalable biz to do this - consulting is a fine way to make a living, but a terrible way to build wealth.

It's great to see the world and get a better sense of the nuances of a culture than a hit-and-run trip. But it's not without its challenges. Off the top of my head, here are three:

\- the biggest (for me) being balancing the desire to explore a new city with work

\- A close runner up (believe it or not) is finding good broadband

\- Building a community where you move to is often tough, though meeting people through couchsurfing.com has been awesome

If you have specific questions, please fire away here. I'm also going to teach a free class on www.edufire.com about this soon and I'll drop you an email about it if you email me directly (blog at reemer dot com).

There's more about how to live the technomad life in this interview I did: <http://mixergy.com/business-nomad/>

And on my blog (too busy bootstrapping to update since Feb, but some info there): <http://howsthewifi.com>

EDIT: An afterthought - whatever you do, _don't_ let someone else tell you it's not possible or there's a better way to do it. Figure it what you want, then explore your options yourself (learning from people who've done it).

The benefits of living like this will do two things - build your self- awareness and build your confidence in yourself. It's close to the best way I've found to take responsibility for my life - I'm eating what I kill and living in cities where I know nobody and don't speak the language. You'll learn a hell of a lot about what you're capable of and that's the best damn part imho.

<comment><USER3> _A close runner up (believe it or not) is finding good broadband_

I totally believe it. My ex-wife and I did a few years of nomading (just in North America and the Caribbean) in the first half of this decade, and finding internet connectivity was absolutely the most difficult thing about it. I imagine it's actually considerably easier, now.

<comment><AUTHOR> what about options like the verizon global broadband satellite service? or similar things? are there any globally-available reasonably-priced global mobile broadband solutoins? tethering? etc.?

<comment><USER4> I've briefly looked up mobile satellite internet, and the cost is extremely restrictive: starting at like $600/month for a few hundred megs of transfer. This was for the ultra-portable satellite setups (the kinda thing you can throw in a backpack or a laptop case).

</comment></comment></comment></comment><comment><USER5> Once between YC cycles Jessica and I lived in Paris for a month, and I spent the time writing software for YC. (I wrote the code we use to generate funding documents.) I rented a separate studio as an office and went there every day to work. It is kind of cool to work in a place instead of just being a tourist. But I found I missed the hacking community somewhat.

<comment><USER6> _I wrote the code we use to generate funding documents._

Did you use arc? If not, why not? If so how does it compare to HN in terms of complexity?

Did you learn anything worthwhile?

<comment><USER5> Yes.

        > (/ (codetree "docs.arc") (codetree "news.arc"))
        1399/6586

I learned it's hard to write document management systems.

</comment></comment></comment><comment><USER7> The good thing is you will need to make comparatively very little amount of money. If you can make around $25K/year you can live very well in S & SE Asia, parts of S. America and I would guess Africa.

If you work as a freelance developer, and have already established a good network, it is fairly easy to lead this kind of life. Working remotely is very common, and if the client knows you are good, he would not care where in the world you are. But if you don't have an established network, it is harder to find work while you are on the road.

Starting your business is also claimed as a possibility. But I personally have not come across anybody running a successful business and spending a lot of time on the road. But I am sure some people pull it off, a la Tim Ferriss.

Oh, and teaching English. Great way to see the world, and money is good in places like Japan, Korea and increasingly China.

Even if you cannot figure out a way to work from the road, just save some money and get going. It _really_ requires very little money, e.g. you can explore the whole of SE Asia for about $1K/month.

Good luck!

<comment><USER8> To teach English, you should know another language too, isn't it?

It is very much possible to live in places like SE Asia for $1k per month (I'm from India, it wouldn't take even $1k, especially if you are single)

<comment><USER9> _To teach English, you should know another language too, isn't it?_

Nope. In fact if you are the stereotypical American with no accent, speak great English and know none of the foreign language you are usually far better off because they only want you speaking in English and teaching in English.

Not to mention the better schools get to have their American "poster boy" so they can show they've got quality English teachers in their school.

(This is at least what I gathered from a number of teachers over in Taiwan when I considered doing it).

<comment><USER10> _the stereotypical American with no accent_

:D

</comment></comment></comment></comment><comment><USER11> Yes: do it.

You'll probably read lots about people doing global consulting, or working remotely to pay for it, planning for months, getting travelogues, etc...

But most people who have done this over the years didn't have that luxury and haven't let it stop them. They got passports, visas, saved some cash...and then just walked out the front door. Really. The hardest part in something like this is most likely that first step you take.

So stop thinking, dreaming, etc and just go. Even if you stay within this country for a few months first. Just Go.

</comment><comment><USER12> I've done this to some degree. My suggestion would be to build a product that throws off income rather than try to support yourself through remote contract work. A desktop app, iPhone app, subscription web app, or even ad supported web app. This will probably make your life better even if you aren't traveling.

<comment><USER13> +1. Consulting requires a sales pipeline. If you have a good network, that might fill the pipeline for you... You certainly don't want to be competing on oDesk and the like from abroad.

</comment></comment><comment><USER14> The way I've been doing something similar is to take deployed defense contracts which last 3-9 months at a time (Iraq, Afghanistan, etc.), and make enough during that period to live for the rest of the year (and a couple additional years).

I've also been working on startup projects in my spare time, since I have good Internet connectivity while doing the day job. The "non-deployed" time can be spent traveling, or working full-time on any of the startup projects which have traction -- with the added benefit that I can provide my own financing up to a series A.

Somehow I get more done on projects in early stages when they're "side projects", and this way I don't have to worry about my burn rate during early stages (since it's substantially negative).

There are tax benefits ($91k/yr deduction) for being outside the USA 330 days/yr, so once you've done 200-250 days deployed as a contractor in a year, it makes sense to spend the balance outside the US as a tourist -- at a high marginal tax rate that's basically $30k, and I can live comfortably in Vancouver, Bali, New Zealand, Japan, etc. for a few months on way less than that.

The #1 thing I've learned is to totally automate my "administrative life" -- I use a mail-scanning mail forwarder, autopay on all my bills, etc. When you travel a lot, it's easy to miss a credit card bill, and it can be a black mark on your credit for 7 years.

The other nice thing is most of these contracts are "go home at night and not worry about it", vs. normal consulting where you can be called back at any time to fix something. And, the separation between dayjob and any personal projects is a lot easier in an admin/ops contract than in a developer dayjob.

</comment><comment><USER15> I've been doing this for 8 years now. First mostly in south america, then since 2006 in asia, mostly in China.

The first few years were fine - I enjoyed being in a totally different place. But eventually I missed having other hackers around. My social life took place mostly online.

Earlier this year I finally launched

<http://www.cocovivo.com>

So far, experiences from that are: -people differ in so many ways- it's hard to find a group that works together. -some people take the day-to-day distractions better than others. Some thrive by being able to got for a swim whenever they want, some get restless and can't get work done -our location may be a bit too extreme (we're off the grid on an island in the caribbean, solar + long distance wifi link from town)

Connectivity has improved a lot.. When I started in 2001, writing web apps in Java, my makefile included a target for copying the code to a floppy disk, and adding pscp.exe a .bat file to upload everything to the server so my client could test it. Bugs would come in the form of long emails.

Definitely much better now... ssh is sometimes a problem, but now even getting through the Great Firewall of China with ssh is alright.

Overall, I can really recommend trying this out. I'd very much like to contribute my thoughts and experiences to someone willing to build a community around this... I'm not enough of a community builder and too busy with work to do this by myself. Contact me (firstname.lastname@example.com) if interested!

</comment><comment><USER16> I would love to do this as well. I think the real challenge is finding a source of income you can do 20 hours a week over the internet that can still support you.

Some useful links on the subject: <http://locationindependent.com/> <http://www.workingnomad.com/> <http://en.wikipedia.org/wiki/Technomad>

</comment><comment><USER17> I did this for over a year with my wife and kid. I originally planned on quitting my job as a government contract and doing only freelance, but instead ended up working things out so I could work remotely ~4-6 hours a day. It was nice having a fixed schedule and fixed paycheck and it left my mind free to enjoy Uruguay, Brazil and Argentina.

I can't recommend it highly enough, it was surprisingly easy to do and definitely one of the best years of my life.

</comment><comment><USER18> Through independent contracting it's easy enough to just take 3 months off and travel off savings.

I've also had contracts that were almost exclusively remote work. I would check-in first and say "hey, are you going to need me in any meetings in the next 30 days, because I'm thinking of to [blank_city] for a bit."

They were always cool with it.

</comment><comment><USER19> your dream is a good one. believe it or not your best route to a sustainable version of this is a startup. why? \- you need to love something in order to be dedicated to it wherever and whenever (its mostly about time zones). \- you want something where effort=return and bullshit = zero.

no matter what path you take to achieve this kind of freedom balance will be required. in the case of your own business you will need to spend lots of in person time with your partners and have great discipline with communications. if you don't have pre-existing relationships of several years that's how long will it take to get started. at least it has in my case. the payoff has been huge; its lead to a company where everyone lives and travels entirely as they want. good luck

</comment><comment><USER20> Read 4 hour workweek if you haven't already, it describes this exact lifestyle.

As for funding the lifestyle, check out affiliate marketing, it's a great business. I'm now at the point where I have enough campaigns(and SEO traffic) running on autopilot where I only have to work 1-2 hours a day online to maintain an income in the low six figures. I've been thinking of doing the travel thing myself. I'm at the point now with my work where I can work from anywhere in the world(or an internet cafe), or even not work at all and still generate decent revenue, I think traveling the world while I'm young and free from commitment is a great idea. For cheap travel destinations with good Internet I've heard good things about S.E Asia, especially Thailand.

</comment><comment><USER21> As I mentioned in another thread, I'm a U.S. citizen doing web dev in the Philippines. I would like to start checking out other places soon but for right now I'm still trying to get used to my first move to a new country.

There are a ton of people doing this and writing about it, so just do a search on the net. Make a list of places you would like to go and do the research on each place.

Considerations, especially for starting out, is visa, language, infrastructure, cost of living and other items.

For example, the Philippines has an easy visa where you only have to do visa runs once every 16 months. English is spoken nearly everywhere which isn't a small village off the beaten path. The infrastructure is not the best in some areas. I have to deal with a lot of brownouts and the internet has it's issues sometimes as well. Thailand is probably just a little more expensive than the Philippines but has better infrastructure. You don't want to be in the middle of a project and then have the power go out, but it happens.

I generally keep pretty busy as a contractor but I know developers here who will do a 3K site and then take the next couple of months off.

Ultimately, if you have an income and a bit of savings it's pretty easy. Just make sure you have enough savings to get you through a six month dry period and then enough extra to buy the next flight out of the country in case you need to leave in a hurry. Take a month or so break from work so that you have plenty of time to focus on getting settled in your new destination, especially if it's your first move. After that, perhaps you can get up to speed faster with future moves.

</comment><comment><USER22> here are two decent blogs to check out. also, the main point from The Four Hour Work Week on the subject seems important: automation needs to be built into your venture from the beginning.

[http://locationindependent.com/blog/2008/10/23/6-things- you-...](http://locationindependent.com/blog/2008/10/23/6-things-you-must-do- before-you-leave-the-rat-race-set-up-your-own-business-and-become-location- independent/)

[http://thegrowinglife.com/2008/03/lifestyle-design- and-4-hou...](http://thegrowinglife.com/2008/03/lifestyle-design-and-4-hour- work-week-resources/)

</comment><comment><USER23> I worked from Beijing during the Olympics last year for 3 months. The hardest part of the setup was securing an apartment on a short term lease with broadband from a few thousand miles away. I had to hire a guy that went from apt to apt then uploaded pictures to me at night. You definitely want to see pictures. I also had no clue where the "hip" parts of the city were, so I spent many hours just talking about the various Beijing neighborhoods and prices. Then we had to negotiate a short term lease, and pray that the landlord would honor that when I arrived.

It all went rather smoothly (it helps that I speak Mandarin and knew some trusty locals).

But while I was there, I kept thinking how difficult it would be for someone who didn't know anyone in Beijing and who didn't speak Mandarin to set this up. And what if I wanted to do something like this in, say, Cairo? It'd be very difficult.

I think setting up apartments around the world for technomads would be a great business idea. All that'd be required would be a clean place with broadband, hot shower and a bonus would be a nearby co-working space for local or expat geeks.

</comment><comment><USER24> I have shared this dream at various points in my day-to-day grind...I think online poker would be one fairy reasonable approach. Depending on skill level, one could make a fairly good living grinding it out for (insert reasonable time here) a day. Just a thought, I think it could be a hard way to make an easy living.

<comment><USER2> I know a bunch of guys straight out of college who do this, quite successfully. There are a lot of degenerates in the online poker scene, but these kids all have their heads screwed on straight and are using poker as a means to travel and live around the world.

One of my favorite stories was when I was at a cafe in Buenos Aires working for an afternoon with these guys. After about 5h we decided to adjourn to a bar, adn I was chatting with one of the poker players (who's 25):

Me: "How'd it go today John?"

John: "Not bad, I'm up 15k today."

Me: ?!?!.... OMG!

J: "Yeah, it was a good day. But there are some days when I lose 13k."

Dealing with the emotional swings would be the toughest part of playing poker online, according to these guys.

<comment><USER24> Exactly. I have experienced this first-hand, and my swings are much smaller than that. The thing is, anything worth a spit is going to be hard; there are swings in "regular" professions as well. Learning to deal with them is part of growing as a professional, in my opinion. I think that there are many life lessons to be learned at the table, virtual or felt, and mental toughness is one that can be extremely beneficial to someone traveling the globe. There isn't a swing out there a pint or four can't cure!

</comment></comment></comment><comment><USER8> Also check out <http://soultravelers3.com/>

They're a family of three (hubby, wife and a kid) working and traveling, all over the world. They're blogging their experience. Exactly the same as you say, except you're probably much younger than the couple.

<comment><USER25> In some ways I feel bad for the kid. A typical symptom of a third culture kid is lack of the feeling of "home" anywhere. This kid will be a TCK to the extreme.

</comment></comment><comment><USER26> I wonder if a tech-nomad version of couchsurfing would work out or not as a new kind of community.

<comment><USER27> cool idea

</comment></comment><comment><USER28> Yes, in fact the beginnings of a trip were organized through Hacker News a few months ago: <http://coworkthailand.com/>

I think these specific plans fell through, but I am planning something similar. Also, there's a commune of people doing this at <http://www.cocovivo.com/>

</comment><comment><USER29> wow I have been thinking _exactly_ the same thing. Kudos to you!

Over the past few months I've been aggressively trying to pick up freelance work on top of my day job, and it's paying off. I'm getting close to the point where I think I can adequately finance myself.

I don't think there's any reason to be tethered to a place if you don't want to be.

Anyone know of good spots to go as a hacker guy? I'm from the Northeast so I'm thinking of hitting Austin first off the bat and explore the US, but where else in the world would be a good place to live for a few months?

</comment><comment><USER30> i have a similar goal.. i have a number in mind, once i make that much i plan to stop working for money

</comment><comment><USER31> I used to nurture that dream as well. Now that I am older and wiser, I think it's a fantasy.

I honestly think it would be better to get 6-month or 9-month contract jobs, work like hell during that time, and then take some months off to see the world. And don't take your laptop with you ;-)

I have a bunch of Norwegian friends who did this. They would work March- September in Norway, when the weather isn't so bad, and then they would spend the winter months in Thailand, Bali, etc. I think this is the optimal scenario because work is separated from travel. When you're working, you are just working. When you're traveling, you're free to enjoy the places you visit and don't have to worry about deadlines, internet outages, etc

<comment><AUTHOR> i agree that this is probably easier and accomplishes a similar goal, its not quite the same and not quite what i'd like to end up doing. may end up having to wander down this path though, as a compromise.

i think the underlying concept behind what i'd like to accomplish is the aspect of freedom associated with it. doing a constant cycle of hard work and then vacation doesn't quite have as much of that freedom to it.

beyond that, working a few hours a day and/or being able to work when i'd prefer to do it would probably leave me more satisfied and productive with the work i'm doing than if i were chained to a desk slaving away to ensure a few extra weeks vacation.

<comment><USER31> The way I see things:

Suppose I want to hire you for a few months. You tell me you will be traveling in Vietnam, Cambodia, Laos and Thailand for 6 months. You tell me you will have access to the internet and work while on the move.

I would think you're not committed enough. I would also worry that you may get your laptop stolen with proprietary data on it while on a bus trip through the Cambodian jungle. And I am worried that you will have trouble accessing the internet in some remote locations, which would cause you to miss deadlines. To cut a long story short, there are too many risks. I would be better off hiring someone else.

The freedom would be great. Everyone would love to have the freedom to travel around. That does not mean it's not a fantasy.

Why not travel around and do rentacoder.com programming gigs once in a while?

<comment><AUTHOR> oh, i agree. i don't think that i would be able to procure many longer term gigs like that, unless i had some special connections. the scheduling alone would be rough.

i think the ideal solution would be to do something like create my own subscription-based niche web app that would hopefully garner enough users to support the process (which i am in fact working on doing now). and then spend the 'work time' performing maintenance and improving it. and, if extra income is necessary, procure short-term gigs that i could knock out in days/weeks.

<comment><USER31> If you're working for yourself, then it could work.

Revenue is just one part of the picture. If you can lower your costs dramatically, then you don't need much revenue to support your nomadic lifestyle.

When traveling around Poland, I met a couple of Brits who had moved to Poland for some months to work on their startups. They did freelance work over the internet to pay for their expenses. Thing is, living in Poland you bleed off money a lot slower than you would in London, and you enjoy a much better lifestyle for the same price.</comment></comment></comment></comment></comment>


Darwin's Nightmare - <AUTHOR> http://www.technologyreview.com/blog/post.aspx?bid=354&bpid=23538

<comment><USER2> Google Video is one of the best things on the internet. Too bad they stopped the uploading.

I had a vision last night of the television industry attacking internet video sites so they'd crash and people would have to go back to watching TV again...

</comment><comment><USER3> That was a scary documentary.

<comment><USER2> Reminds me of Blood Diamond, except they're fish.

In Angola, they are fighting over Diamonds and Oil.

In Congo, it's Copper, Cobalt, and Coltan

These are all wars started by the west using Africans to fight the war by proxy.</comment></comment>


Hacker News Demographics - <AUTHOR> https://www.google.com/adplanner/site_profile?#siteDetails?identifier=news.ycombinator.com&geo=US&trait_type=1&lp=false

<comment><USER2> I think the disturbing bit might be that the average HN reader is mid 30s male with a bachelor degree, no children and little or no income.

</comment><comment><USER3> _Subdomains (siteexample.blogspot.com) and subdirectories (blogspot.com/example) are currently not supported._

These figures would be for ycombinator as a whole, and not just HN then.

<comment><USER4> Ahhhh - I knew something was off when it said that 24% of HN visits were from females. There was a recent popular poll on here about demographics that had something like 96% male.</comment></comment>


How I got into Y Combinator and fathered a child, almost simultaneously - <AUTHOR> http://adgrok.com/pseudorandomness-or-how-i-got-into-y-combinator-and-had-a-child-with-a-woman-i-barely-knew-almost-simultaneously

<comment><USER3> I enjoy reading posts like these for the perspective they give me on how differently some people do things. My wife and I by contrast are ridiculously over-prepared. Dated for a year before moving in together, lived together for two more years before deciding to get married, waited another two years to have a kid, and then invested enough time into learning about childbirth that every medical professional we talked to though the whole pregnancy and labor assumed that we were both in the medical field (seriously, I know way more about the anatomy of the female pelvic area than any other part of the human body because of this).

She's a month old today (coincidentally also named Zoe).

<comment><USER4> Congratulations - The journey only gets better!

I've got a 8 month baby boy and wonderful wife that are the center of my universe right now.

I got a chuckle about the time invested into the childbirth process; my wife teased me about knowing more about having a baby than she did ;)

That said, I am spending less time on my business - whereas in the past after coming home from the office I would take a break for dinner, the gym, then get back to my desk at home and work into the night. That schedule has changed drastically - I would rather spend the evening playing with my son and hanging out with my wife than working. After the little one goes to sleep though, I try to put in a couple hours of highly focused work.

Overall, I think I'm almost as productive (after the first 4 months) - <USER2> you have a child, the need to maximize time and effort are amplified.

</comment></comment><comment><USER5> Getting a woman pregnant and fathering a child are two entirely different things. I hope you have found the perfect balance between being a father and running a startup.

Hint: the proper balance is heavily leaning towards the child.

<comment><USER6> I upvoted you, since I've had the (apparently not so) unique experience of having my first kid at the same time as my first "real" startup, and it was fraught with peril. I agree that the preachiness of your comment is grating, but the tone of the blog post you're commenting on kind of warrants it.

That said, the real risk in this scenario isn't to the child; the risk is that you'll demolish your relationship with the other parent. The kid will be fine for the first year or so. They're basically very smelly houseplants until they get to crawling age. You're constantly terrified that they're going to randomly die on you, but the rules for preventing that outcome are straightforward and hard to forget.

<comment><USER7> _You're constantly terrified that they're going to randomly die on you, but the rules for preventing that outcome are straightforward and hard to forget._

Changing the recommendation from sleeping face-down to sleeping on the back has reduced the rate of SIDS (Sudden Infant Death Syndrome or something like that) in Sweden by roughly 80% since 1992. There was a peak at 1.1 per 1000 live births in 1991, and it's now at 0.25 or less (in 2008 it was down to 0.13)[1].

Some babies sleep better face down, but I prefer somewhat uneasy sleep for six to nine months (until they can turn over by themselves) to a tenfold higher risk of death.

[1]: (Swedish) <http://www.internetmedicin.se/dyn_main.asp?page=1466>

<comment><USER8> I have 4 kids. They all slept face down. They all lived.

The point being, even the stuff we fear in the western world is really pretty unlikely. Feed them, don't drop them and you are pretty much good. (for the first year)

<comment><USER9> For things that occur so rarely, you can't extrapolate based on your experience. By your logic, we shouldn't get vaccinated because "my 4 cousins didn't, and they lived."

<comment><USER5> I think that was the OP's point. SIDS is rare and probably has nothing to do with a baby's position.It's a medical guess, at this point.

I almost feel irresponsible mentioning this, so let me say that one should always listen to their doctors.

<comment><USER7> _SIDS is rare and probably has nothing to do with a baby's position._

There's a bunch of research on the subject, and the resulting recommendation is that sleeping on the back is preferred. I haven't read the actual studies, but a bunch are mentioned in the article I linked to:

Alm B, Lagercrantz H, Wennergren G. Stop SIDS - sleeping solitary supine, sucking soother, stopping smoking substitutes. Acta Paediatr. 2006 Mar;95(3):260-2.

Swedish Medical Research Council State of the Art Conference on the Sudden Infant Death Syndrome. Proceedings. Gothenburg, 3-5 June 1992. Acta Paediatr Suppl 1993;389(1):1-129.

Alm B, Milerad J, Wennergren G, Skjaerven R, Øyen N, Norvenius G, et al. A case-control study of smoking and sudden infant death syndrome in the Scandinavian countries, 1992 to 1995. The Nordic Epidemiological SIDS Study. Arch Dis Child 1998;78(4):329-34.

Alm B, Norvenius SG, Wennergren G, Skjaerven R, Oyen N, Milerad J, et al. Changes in the epidemiology of sudden infant death syndrome in Sweden 1973-1996. Arch Dis Child 2001;84(1):24-30.

Alm B, Möllborg P, Erdes L, Pettersson R, Aberg N, Norvenius G, Wennergren G. SIDS risk factors and factors associated with prone sleeping in Sweden. Arch Dis Child. 2006;91:915-9.

Wennergren G. Prevention of sudden infant death syndrome. Pediatr Pulmonol 2004;37 Suppl 26:110-1.

Carpenter RG, Irgens LM, Blair PS, England PD, Fleming P, Huber J, et al. Sudden unexplained infant death in 20 regions in Europe: case control study. Lancet 2004;363(9404):185-91.

American Academy of Pediatrics, Task Force on Sudden Infant Death Syndrome. Policy Statement. The changing concept of sudden infant death syndrome: diagnostic coding shifts, controversies regarding the sleeping environment, and new variables to consider in reducing risk. Pediatrics 2005;116:1245-55.

[edit: google the names of the studies and you'll find abstracts or more]

<comment><USER5> I've read some of the actual studies you've quoted (and others), and they seem to indicate that infants that sleep on their backs fair slightly better in statistics. Some also blame heavier blankets and "bumper pads" (the pads that wrap around the bars at the base of the mattress).

As I mentioned elsewhere, my understanding is that it's merely a recommendation based on statistics with no direct correlation.

My babies went on their backs, because even a %.001 difference is enough for me to play the game, seeing as I don't know what I'd do if one of them passed away.

<comment><USER10> _a recommendation based on statistics with no direct correlation_

"a recommendation based on statistics" usually means there is a correlation. I think you mean that it may not imply causation, which is true of course.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> If you didn't make the jump to the footnotes, I thought this was great:

"One of the Y Combinator questions asked you to name one non-computer system that you'd hacked in some interesting way. My answer concerned a man-in-the- middle attack I once did on Craigslist personals. I placed an ad as a woman seeking a man, and as a man seeking a woman, and then simply crossed the email streams by forwarding mail from one to the other, and vice versa. Most Craigslist personals didn't even have photos back then, so the switch went undetected, even after the couples had met. I handed off the relationship by telling one that the other's email address had changed, from my fake one to the real one, and likewise vice versa. For all I know, those couples are still together and having kids. They probably don't know to this day what happened or what brought them together."

</comment><comment><USER12> So...2nd encounter leads to a "pornographic scene on her kitchen counter" after you already ran into her with her ex and you make no mention of a paternity test? How do you know it's yours?

</comment><comment><USER13> I have to comment...

One interesting aspect of dating in the bay area is that the woman's ex- boyfriend always happens to be on the set of the first date, every time. Every single time.

<comment><AUTHOR> Hahahaha...

Really? I haven't had that happen, other than this one time. And this time it was weird, because both ex and I were sailors, and our boats happened to be next to each other in the yard...total fluke. And then of course Girlfriend showed up in the middle of it, making it even more comical.

Anyhow, didn't know it was a local trend.

</comment></comment><comment><USER14> Minor edit: gmail's file limit is not 30GB, and there's no way a 1m 10s video fills up that much space. ;-)

<comment><AUTHOR> Actually, it sure as hell did fill it up. I'm not big into digital media, so I can't quote the real specs, but my machine is a late model MacBook Pro using the stock camera, filmed with iMovie at what are probably default settings.

And the file limit was certainly 30GB, or in the neighborhood. Trust me. I was shitting bricks when it happened....waiting to upload a file, watch it bounce because it's too big...rinse, repeat.....

<comment><USER15> 30Mo maybe?

<comment><USER14> Yeah I think 30MB is correct. 30GB is about 7 DVDs.

</comment></comment></comment></comment><comment><USER16> The most important thing you can do for your child is love their mom.

<comment><USER17> How could he possibly do that if he got her pregnant on the first date?

95% of the people I have gone on first dates with would have made disastrous life partners. It's kind of a lot to ask of him.

<comment><USER18> He doesn't love the woman, you can sense it in the writing. Probably doesn't even like her that much. I picture a scenario where he drifts toward his man- cave aka start-up, when domesticity comes calling. Michael Lewis wrote a book about his domestic situation, but one never doubts he puts wife and kids first. That said, he and the wife were a little more conventinal given their approach.

<comment><AUTHOR> I won't comment on the love angle, other than to comment that our current notion of love is a 19th century European invention that doesn't really exist in most traditional societies. There's ways of getting along that don't involve long courtship, touching poems, or passionate romance.

And it's funny you mention Lewis. The mother gave me that book as a present last March. Great book. I should note, he didn't particularly love his children at all at first...until the child was stricken ill and he had to care for him.

<comment><USER17> Our "current notion" of love may certainly change, but the neurophysiological fact of love does not (at least, not on the same timescale). I don't know what the original commenter was referring to when he said love, but I rather think he meant the emotional connection, not poetry (who think that has anything to do with love nowadays anyway?)

<comment><USER16> Love has many meanings, yes. If love is a stretch for you (or does not come naturally) at least try your best to respect their mother, treat her kindly, speak well of her, support her the best you can, and encourage her. These simple steps will do more for a child than you might realize - I don't care what the media says, parenting is really a team effort.

</comment></comment></comment></comment></comment></comment><comment><USER6> Ew. That was... vivid.

<comment><USER19> Vivid? Seems more casual to me.

<comment><USER20> "I watched with increasing alarm as red streaks traced bloody spiderwebs across her thighs."

Vivid.

<comment><USER21> Actually, compared to what I saw at each of my kid's births, that _was_ casual.

</comment></comment></comment></comment><comment><USER22> Amazing showing of drive and determination. I admire your focus and level- headedness in a time of great stress. If I can achieve half what you did in those 9 months, in the next year I will be happy. There is no better time than now. Thank you for the inspiration.

</comment><comment><USER23> I just finished reading _The Time Traveler's Wife_ and this post gave me flashbacks.

Pseudorandomness or unalterable fate? Neither provides guaranteed success, so I wish you much luck with both ventures.

</comment><comment><USER24> That was awesome.

</comment><comment><USER25> My first reaction was: "oh no, not _another_ post from this guy."

It was better than his earlier stuff, and makes him seem less of a jerk.

Still, his is the only YC company I'm not really rooting for to succeed; an IPO or acquisition would turn him into an insufferable lout.

<comment><USER26> Your comment is priceless...

What I find really interesting is that you actually sat down and read the whole post despite it being "from that guy".

I don't understand trolls...</comment></comment>


Sam Altman Is an Idiot - <AUTHOR> https://gizmodo.com/sam-altman-is-an-idiot-1821327260 <comment><USER2> Great comment on gizmodo:

"This PC debate is just so out of hand. PC basically means don't be a dick, and if you are, people will call you out on it. Anti-PC people want to be a dick without reproach. They're response to reproach is to get very offended at the fact that you took offense to their dickishness. They also don't seem to realize that there are times when one must behave professionally, and using those occasions to tell people how much you hate gays or whatever is not going to end well for you."

Edit: removed asterics from original quote to remove unintended italics.

<comment><USER3> But that comment also completely misses the point Sam Altman was making.

<comment><USER4> Altman says that PC is "willing to make accommodations to treat others well."

matt_the_bass quotes a definition of PC which is "don't be a d_ck, and if you are, people will call you out on it".

These are two different views of PC. I agree with the one matt_the_bass quoted. Altman is wrong about what PC means. Much of Altman's essay depends on that wrong definition.

I read the essay. Altman is an idiot, for the reasons Gizmodo describes.

For all we know, unification of QM and GR would have happened already if a gay man hadn't left the field after dealing with one too many homophobic comments.</comment></comment></comment>


Poison-Injecting Robot Submarine Kills Sea Stars to Save Coral Reefs - <AUTHOR> http://spectrum.ieee.org/automaton/robotics/industrial-robots/poison-robot-submarine? <comment><USER2> The really incredible thing here isn't the robot, it's the poison, this thiosulfate-citrate-bile salts-sucrose agar stuff. It isn't itself lethal, but it's a culture medium for bacteria which are:

www.int-res.com/articles/dao_oa/d097p085.pdf

So the injection basically amplifies specific members of the starfish's own microbiome to the point where they not only kill the starfish, but infect and kill its neighbours.

That is highly ingenious, and severely creepy.

<comment><USER3> That does seem kind of neat, but it still doesn't make sense to me. You have to carry a poison supply that will run out. You need 12 mL per starfish.

Is that really more effective than just injecting lots of seawater? You could pump in seawater by the kL, not mL, and you'll never run out. The starfish will surely die after all bodily fluids have been washed out with seawater.

The other idea that comes to mind is a needle with an electrified tip. Depending on voltage and current, this kills in various different ways. You can heat the animal, zap the nerves, or (via electrolysis of salt) fill the animal with either chlorine or sodium hydroxide.

<comment><USER4> Energy. Those are all energy intensive ideas.

<comment><USER3> 12 mL worth of battery ought to be able to handle most of those methods. That's about break-even, but better because you refill the same way you refill the computer and propulsion. Charge the battery and you're ready for more action, mess-free. If you can do the job with less than 12 mL of battery, it's a definite win.

</comment></comment></comment></comment><comment><USER5> Robots sent by a more intelligent species to exterminate the population and save a precious environment.

I hope there aren't any extraterrestrials reading.

<comment><USER6> A process a little bit like that is a background detail in the book 'All You Need Is Kill' – which is the basis for the Tom Cruise movie 'Edge of Tomorrow' ("Live, Die, Repeat").

<comment><USER7> "All You Need Is Kill" is a much better title than "Edge of Tomorrow". They should have kept it.

<comment><USER8> Imo, the book is a much better and more clever story than the movie as well, not just the title. But opinions may very.

</comment></comment></comment></comment><comment><USER9> The big threat to coral reefs is posed by ocean acidification and warming. In the long run, it's not about sea stars, it's about the _very water in which corals live_.

The gradual loss in hospitality of the oceans and the associated effects on marine life are among the most serious, rarely-mentioned environmental threats currently in existence.

</comment><comment><USER10> We appear to be building the things that creeped me out 30 years ago. I remember watching a robot bug inject sedative into a person in the '84 movie "Runaway" [1] and feeling chills go up and down my spine (I was working on stepping motor controllers at the time and it didn't feel so far fetched). As others have noted here, other's might use this for more nefarious purposes.

[1] [http://www.imdb.com/title/tt0088024/](http://www.imdb.com/title/tt0088024/)

</comment><comment><USER11> When will we learn to stop interfering with the environment? Every time we prop it up like this we just end up creating another issue. Look at cane toads in Australia for example.

The environment regulated itself just fine without us.

<comment><USER12> Did you read the article? The only reason there are so many of those sea stars is because fertilizer runoff is providing them a ton of excess nutrients.

<comment><USER11> So fix the cause of that and let nature regulate itself back to normal.

<comment><USER13> Far easier said than done! Pragmatically, what do you suggest to do here? Lobbying your political representatives?

I agree that this, while clever, is patching a symptom, not addressing the causes.

</comment></comment></comment></comment><comment><USER14> A weird thing about this article is that it doesn't mention what happens if you touch one of these sea stars accidentally: _it_ injects poison into _you_. The poison isn't that serious (painful and nauseating but not deadly, unless you bleed to death, or attract a shark), but then you have to have the spines removed. Surgically.

</comment><comment><USER15> This shouldn't have any unintended consequences, right guys?

<comment><USER16> We've been managing ecosystems for quite a while now. Them being underwater is interesting, but not wholey novel.

<comment><USER17> Yeah, and it has worked out pretty poorly for us...

<comment><USER18> Its actually worked out pretty well for us, less so the indigenous life that was already there, I'm all for preservation but the thought that we can out the earth back anything like it was 10000 years ago is extremely unlikely, there are 7 billion of us and that's unlikely to change, Garden Earth is going to become a bigger and bigger thing I guess.

</comment></comment></comment></comment><comment><USER19> First they came for the Sea Stars, and I did not speak out- Because I was not a Sea Star.

</comment><comment><USER20> Pity it won't save the Reef from acidifying oceans or coal mining companies dumping ther reailing on it.

<comment><USER21> Right, for that we need robots that educate people on the environmental impact of their actions, and robots that inject poison into people who bring snowballs inside a government building as incontrovertible proof that climate change is a liberal sham.

</comment></comment><comment><USER22> I think a whole lot of people who are worried about environmental damage from this robot are not realising that even though it's advertised as autonomous it only operates for a few hours before needing a recharge and as such it can be turned off very easily if things aren't going right.

The ocean is massive. Even coral reefs are massive. A fleet of these robots (which they don't have yet) would take years to affect significant areas.

This is a totally different ballgame to humans previous experiments involving introducing an organism to do pest control in a new environment.

</comment><comment><USER6> When will I have robots that can chase invasive Argentine Ants back into the walls and ground where their queens live, and score non-toxic mechanical kills?

<comment><USER23> I've had good success around my house with cotton soaked in a combo of sugar, water and borax, then shielded from the pets by containing the cotton within a pair of used jar lids with holes poked in them. If that doesn't work, try peanut butter and borax.

Did this last year. The ants haven't even bounced back this year.

</comment></comment><comment><USER24> Are star fish that worthless? I used to hope that one day someone would find some miracle life altering property they have that would make them commercially lucrative, which would solve this problem overnight I bet.

</comment><comment><USER25> It reminds me of Bluefin's HAUV, though with the body of a torpedo AUV.

<comment><USER26>
      > Though with the body of a torpedo AUV

Which is an accurate description of every other AUV Bluein makes.

</comment></comment><comment><USER27> So how hard would it be to modify this to autonomously hunt human swimmers? Pretty creepy.

<comment><USER28> In this case, getting injected with star fish killing bacteria nutrients is probably less harmful than stepping on one of these poison star fishes themselves...so the robots are actually preferable if one or the other has to live.</comment></comment>


Dubjoy will translate and voice-over your start-up explainer to any language - <AUTHOR> http://dubjoy.com/happy

<comment><USER3> Interestingly, I've been getting closer to wanting something like this. The biggest reduction on customer support we've been able to do so far is short screencasts explaining features quickly and clearly.

But as Zenbox gets more and more international customers, this works less and less - we get emails asking for support in several different languages pretty frequently now. I'll probably look into Dubjoy, and hope it'll have the same customer-support-reducing effect as the English ones.

Are the prices standard across all videos though? Most of my videos are ~30-90s long. And although every time someone on our team answers an support email it costs us real money, we'll have to be very careful about which we translate, and into which languages, or else we'll easily spend several thousand dollars.

Another question - are you guys planning on providing any player chrome, like Vidyard, allowing users to select the language? Otherwise I'll have to figure out how to present the right language to users, which'll be a bit of a pain.

<comment><USER4> 1\. the prices get even lower if you need our service regularly. As a reguar customer you'd also get dedicated translators for each language, which means voice consistency across all of your videos.

2\. we will. We have a quick demo, but please disregard voice quality on this one <http://dubjoy.com/embed_test.html>

<comment><USER3> That's awesome, exactly what I was looking for! Thanks for sharing as-is, looking forward to seeing the finished product. Could save us a ton of support work, and possibly even help with conversions!

</comment></comment></comment><comment><USER5> The sound quality of the voices for the two example dubbed videos is poor, in my opinion. There's a slight echo or white noise over the voice.

<comment><USER3> I speak Japanese, and thought the Japanese quality wasn't bad at all - <USER2> least not in a distracting way. I don't speak Portuguese, and there was a bit more of an echo, but it still didn't sound distracting at all.

This also seems like something they can grow with over time - I bought a nice USB mic because I was doing many screencasts, and the quality was much better. I'm sure over time as they grow in translators, and those translators become more skilled, the quality will go up.

Seems like a huge win-win to me - translators making higher and higher quality translations more and more quickly. I could see this driving the efficiency of the market in a great way.

I do wonder how they'll ensure quality though - are the videos vetted by anyone, both for translation accuracy and sound quality? Are there reputations for the translators? Lots of approaches, just curious which they're taking.

<comment><USER4> Video translations are vetted by our trusted reviewers, but this raises a price a bit. Also sound quality can be really good, done by a voice talent, but this also raises a price a bit.

</comment></comment></comment><comment><USER6> I can confirm the French dub is great, though the dubber cuts the end of his sentences off a couple of times. You may want to specify Mandarin/Cantonese/Other instead of just saying Chinese.

</comment><comment><USER7> Great service, absolutely useful; not just for startups, but for many industries.

</comment><comment><USER8> Great service! Looking forward .... This can be used in various fields.

</comment><comment><USER9> Even ChiSukwa?

<comment><USER4> Xhosa is our most exotic language. But will try to find ChiSukwa too if needed.</comment></comment>


Ask HN: Is it better to quit or get laid off? - <AUTHOR> This is in consideration of people who may be displaced due to COVID-19's impact on jobs. <comment><USER2> I think that depends. If laid off means you get a nice severance package so the company can remove some liabilities, then that may be a nice way to leave. You would need a transparent management org to take that risk. Otherwise I agree with gjvc that leaving on your own terms gives you more control.

</comment><comment><USER3> Better to quit, because then you are in control of your destiny.</comment>


NSTFM Lab: Interactive Gravity Simulator - <AUTHOR> https://lab.nationalmedals.org/gravity/ <comment><USER2> Either gravitational dynamic is very surprising to me, or this simulator uses an excessively simplified model. Once an object orbiting around an other, it seems almost completely immune from perturbation by other masses.

<comment><USER3> I'm sure it's greatly simplified: every thing I flinged went into a nice orbit! How did they do that? I recently was tinkering with a gravity simulation thing, and because I couldn't figure out how to make things orbit nicely I just gave up and made that the main game mechanic for a Ludum Dare competition entry [https://mrspeaker.github.io/ld38/](https://mrspeaker.github.io/ld38/).

</comment></comment><comment><USER4> The black hole is a nice way to cover the limits of the Sim

</comment><comment><USER5> It seems to me that masses can only be created by steadily increasing the diameter of a roughly spherical body, presumably of constant and uniform density. Is there any way to vary the uniform densities of bodies? So I could create one small dense body with the same mass as a big diffuse one?

</comment><comment><USER6> _In the beginning God created the heaven and the earth._ ~ Genesis 1.1

I wonder sometimes if our universe was created this way - define some basic rules, start an experiment, invite other gods over to build whatever they can imagine, watch the results and share on some cosmic Facebook.

</comment><comment><USER7> Does nothing? Shows an "Update chrome" button but my Chrome is the latest.

<comment><USER8> Same here.

</comment></comment><comment><USER9> I used to spend hours playing with a different one of these trying to create binary systems with orbiting planets. This one looks cool visually but I don't like how when objects collide they just disappear.

</comment><comment><USER10> Buggy and unconvincing.

</comment><comment><USER11> Excellent, what a great demonstration and execution, thanks for sharing :)</comment>


Ahead Of NY Subpoena Hearing, Airbnb Weeds Out Hosts With Dozens Of Listings - <AUTHOR> http://techcrunch.com/2014/04/21/ahead-of-ny-subpoena-hearing-airbnb-weeds-out-hosts-with-dozens-of-listings/?ncid=twittersocialshare <comment><USER2> This is very non-scientific and anecdotal, but perhaps worth mentioning:

The reaction of "regularfolk" to AirBNB feels very negative. I'm a very active host of a single unit in NYC (and have had a remarkably positive experience - met some wonderful people, received dozens of thank-you notes and gifts, etc.)

But my non-tech friends and folks I tell about this can't get it.

"You let strangers stay in your apartment? Are you nuts?"

"You're running a gypsy hotel in your living room."

"AirBNB should be illegal. Why don't people just stay in a regular hotel?"

"Why would someone want to stay in your place when they can just get a hotel room?"

It hasn't improved over the past few years either. So although AirBNB feels like a darling of the tech community, a LOT of regular people see it in a negative light. I give the pitch every time I talk about it, but it doesn't get me very far. 'Enjoy this while it lasts'

<comment><USER3> I'm probably not a "regularfolk" in your eyes.

I _hate_ AirBnB in NYC. Why should you be able to rent out your apartment and increase the risk of break-ins and pest-infestations for the entire building?

Your neighbors receive no benefit in the AirBnB.

<comment><USER4> I don't really care for airbnb either way outside of admiring the way it uses technology to try and solve a problem, so I am left wondering based on what your saying is that if the incentive structure were more aligned between all parties typically involved (I'm not saying what that could be because I only have vague ideas), would that be more palatable?

Edit: Monetary gain need not be the only incentive.

<comment><USER3> >If the incentive structure were more aligned between all parties typically involved (I'm not saying what that could be because I only have vague ideas), would that be more palatable?

No. My girlfriend and I pay rent in a nice neighborhood so that we have a safe, quiet place to live in NYC. Increased risk of vermin, strangers in the hallway, and giving a stranger a set of keys to the building is not worth an extra bit of money.

It's really unacceptable.

<comment> why-el > Increased risk of vermin, strangers in the hallway, and giving a stranger a > set of keys to the building is not worth an extra bit of money.

To you, of course. Other people might have different reasons. I don't know whats unacceptable about this.

<comment><USER3> >I don't know whats unacceptable about this.

It's against the terms of the lease for the building and the law. If the lease had the statement "tenants may rent out their apartments (counter to the law)" then I wouldn't have grounds to complain. I also would not have rented a unit in the building.

<comment><USER4> There are many things codified in laws and agreements that people break everyday that go ignored across the spectrum of offenses occurred. If they were sufficient enough in addressing the problems that arise from airbnb and the like, we wouldn't be discussing such today.

What I predict after some elongated period of time to the chagrin of those who have been affected (and who will continue to be) surrounding this specific case(s) with airbnb is that the law will hold airbnb more responsible, yet the problems mentioned here will still remain because the void will be filled by non physical entity (read: software protocol) that cannot appear in court. And then government will still have to exert resources going after the same actors post facto, and people will still be complaining without doing anything about it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> As a user of Airbnb it was great, the hosts seemed to like it too.

But then someone in my building (NYC) starting hosting. It really did have a serious impact on my quality of life and on the maintenance cost of the building. Lots of stuff in the public spaces were destroyed, loud roof parties on weeknights etc. It fully converted me to absolutely hating Airbnb.

<comment><USER6> Are you sure this was due to Airbnb and not just bad residents?

<comment><USER5> The law that Airbnb hosts break so frequently was designed exactly to prevent this type of thing from happening. It's why there are zoning regulations that prevent short term inhabitants. So yes, bad residents are directly to blame, not Airbnb.

I take issue with Airbnb because they operate from a place of both knowledge and leadership. They know that this is illegal, they have the tools to easily detect it, and yet they do zero to either enforce the law, or advise their members. Members that Airbnb organized into a marketplace they now run.

I understand they are trying to change the law, but I am strongly not in favor of changing said law, based on how it has already directly impacted my life.

</comment></comment></comment><comment><USER7> Isn't a bit amoral of Airbnb that they are throwing their most active hosts under the bus? The ones with the most listings are those people that have spent the most time, energy and money building out the Airbnb platform and they are having their business/livelihood wiped out with no warning.

To preempt what I imagine will be a response to this question, which is that these users are violating the TOS with Airbnb, I have two points: the first is that Airbnb itself is violating many "TOSs" \- laws - so it doesn't give them very good moral standing here.

The second point is stronger (I think), which is that Airbnb's position here is logically inconsistent. They either believe strongly that you should be able to do what you want with the properties you own, or you don't. I simply don't see why it matters if N=1 or N=10 (put differently, N=1 is not a special case that deserves being considered differently).

<comment><USER8> > _" I simply don't see why it matters if N=1 or N=10 (put differently, N=1 is > not a special case that deserves being considered differently)."_

Because there is a narrative to this story that AirBnb wants to portray, which may help them in their legal battles. It's the same reason why they call themselves part of the "sharing economy" \- they're trying rub a grassroots, everyman shine all over the company, deservedly or otherwise.

Large, organized, professional operations run counter to this narrative. The story is _supposed_ to be about helping the average Joe make ends meet, expect a lot of PR focus on working-class families, students, and the empowering effect of AirBnb income. Expect things that run counter to this narrative to be downplayed or eliminated.

</comment></comment><comment><USER9> I've been enjoying Airbnb for a while now, both as a host and guest. I travel frequently to NYC and have had great experiences staying with people renting out a part of their place. Right now though I'm 1.5 hours away from checking into my current Airbnb and I just got a call from a property management person about my check-in time. I noticed the email for the profile who owns the listing is firstname.lastname@example.com. I'm starting to doubt if the person in the profile is connected to the apartment and it kind of makes me nervous. I liked Airbnb when it was being used as intended but I might stop using it for my NY trips.

<comment><USER9> I want to follow up after getting checked in. The owner is away for a few days and is using a management service to help rent the place out. The people from the service are local and the entire check-in process was great.

Airbnb continues to exceed my expectations, I shouldn't let all the drama in the news get to me.

</comment></comment><comment><USER10> when civilization tries to evolve to be more efficient, inflexible politics ans business practices often slows down the process.

</comment><comment><USER11> Oh hey, they shut down John Smith's account with twelve listings.

[SpongebobCueCard]One Day Later[/SpongebobCueCard]

Man, that Smith family sure has a lot of listings!

</comment><comment><USER12> Posting via a throwaway account for obvious reasons.

When the lease on my NYC apt expired 2.5 years ago, I've kept the apartment and been subletting on AirBNB 100% of the time. A couple of months into it, I've automated this to a point where I was making ~ $1-1.5K/month after all expenses, and spending ~ 2 hours a month on it, so I considered getting some more apartments and scaling the operation.

I'm very glad that I didn't. My lease expires in a couple of weeks and I'm not renewing it. I'm deleting the listing, and my highly-ranked (consistently top 3 in searches for my neighborhood) account from the site forever.

I'm thankful to AirBNB for the opportunity to let me do this, but it's become very clear early on that AirBNB doesn't care about its hosts, only about their own company. Those people invested a ton of time, money and efforts into building a viable business model on AirBNB - and now they're royally fucked. I'm glad I'm not one of them, but this is a really shitty move by AirBNB.

<comment><USER13> .... or you could get involved with local politics, and convince your friends, neighbors, coworkers, etc. that the law needs to be changed.

"building a viable business model on AirBNB" Well that's kind of a grey area. It's viable as long as the city government doesn't get wind of it (there's a reason you're posting anonymously). It's viable as long as a landlord doesn't get wind of it, or a condo association. That's about as viable as any other "legal grey area" business is.

<comment><USER14> "convince your friends, neighbors, coworkers, etc. that the law needs to be changed."

Property owners of NYC purchased condos and co-ops with the understanding that they were buying a residential property ... not a hotel with transient occupants. What's your argument that their residentially zoned property should be converted to a mixed-use property? What impact do you think that would have on their property value?

<comment><USER13> I completely agree with you. As a whole I am against Airbnb's willingness to look the other way, and see it as a good thing for these types of places to be shut down.

I'm saying that instead of complaining about being forced out of business, realize that there are reasons for it--talking to friends/coworkers/neighbors/etc can be enlightening for everyone. Maybe understand that a friend Joe doesn't want to have his 2 young children be surrounded by complete strangers who change daily by talking to him. Maybe in that way a political middle-ground can be found. That's all I'm saying.</comment></comment></comment></comment>