Session Types for Rust - <AUTHOR> https://github.com/Munksgaard/session-types <comment><USER3> I taught this concept in my course on Programming Languages at Stanford. If you'd like a more pedagogic introduction to both session types and their implementation, check out the course notes: [http://cs242.stanford.edu/f18/lectures/07-2-session- types.ht...](http://cs242.stanford.edu/f18/lectures/07-2-session-types.html)

</comment><comment><USER4> I don't believe that strict "session types" are a good fit for Rust: it's shoehorning a concept, simultaneously specialised (it's for channels) and generalised (as in "left" and "right"), into Rust in a way that _works_ , but is not as pleasant as can be achieved with little effort. (There's not much actual code in session-types/src/lib.rs—most of it is interfaces and macros because it made life hard for itself by being too generic.)

The underlying concept in Rust is basically a type-level enum (state machine), encoding the variant (state) as a phantom type in a generic parameter; _that_ , you can express without the full baggage of what is called session types, and with greater freedom.

The situation is similar to the Either enum with its Left and Right variants: it was in the standard library well before Rust 1.0 because it was easy, but it was eventually abandoned in favour of good semantics: most users should use Result, and the rest should write their own two-variant enums. Similarly, if you encode your state machine in Rust types yourself, you end up with clearer and more obvious code.

The main thing this library does is get you the specific channel behaviour; that may be useful in some situations, but you can implement the underlying concept atop regular channels without much difficulty, and it gives you considerably more freedom in the API.

Here's a small macro library that I wrote a few years ago, with an example that demonstrates this general concept: [https://github.com/chris- morgan/phantom-enum](https://github.com/chris-morgan/phantom-enum)

I find myself wishing more and more often that Rust enum variants could be used as types, and that type refinement could work like in TypeScript.

(I do realise that what I'm advocating is targeting a potentially different and broader sector to session-types, but I maintain my position: doing it from scratch yourself is fairly straightforward, normally easy and more powerful.)

You can achieve all of this with different types instead of one type with a phantom enum type parameter, too; see the insanitybit article linked elsewhere in these comments. The primary benefit of the phantom enum type parameter approach is when you have methods that apply in multiple, or all, states, so that you don't need to duplicate them. Sometimes you want extra data in particular states; you can achieve that in the type parameter approach by making the enum _not_ phantom, and rather a struct with extra data, or you can achieve that by just using distinct types. Which is most appropriate varies case by case.

<comment><USER5> Do you know of any programming language where this type of things (having functions defined only for certain enum values, or anything equivalent) would be doable properly, without hacking the typesystem ?

<comment><USER4> Look for languages with _dependent typing_. Idris and Liquid Haskell are the two that spring to my mind.

Other than that, TypeScript has decent support for the concept, though with standalone functions rather than methods: you'd define your "variants" as types (or interfaces), define the "enum" as the union of those types (e.g. `Foo | Bar`), and then have your functions take either the entire "enum" type, or specific "variant" types. In place of Rust's `match`, you will then use type guards to narrow the "enum" type down to one (or more, if you like) of the "variant" types. See [https://www.typescriptlang.org/docs/handbook/advanced- types....](https://www.typescriptlang.org/docs/handbook/advanced- types.html#type-guards-and-differentiating-types) for a bit of info.

</comment></comment></comment><comment><USER6> If you're interested in this, you may want to take a look at this article as well: [https://insanitybit.github.io/2016/05/30/beyond-memory- safet...](https://insanitybit.github.io/2016/05/30/beyond-memory-safety-with- types)

EDIT: Sorry, I remembered the site name and saw IMAP in the title, but ended up clicking the wrong article. Updated the above link from [https://insanitybit.github.io/2016/06/28/implementing-an- ima...](https://insanitybit.github.io/2016/06/28/implementing-an-imap-client- in-rust)

<comment><USER7> is it different from phantom types ? more general ?

<comment><USER8> I wrote that insanitybit post. It's unrelated to Phantom types.

A session type allows you to encode a state machine into your type system. What this means is that, at compile time, you can validate that your code can't transition into an invalid state.

<comment><USER7> But state machine and communication protocols.. aren't they isomorphic ?

<comment><USER8> Sure, feel free to read 'communication protocol' where I say state machine.

<comment><USER7> oh ok; I double-misread your above comment. My assumption was that phantom types were also about encoding state machines in types and thus could work for communication protocols too just like your session type article; hence the question about the difference between the two.

<comment><USER8> Oh, yes, I see the miscommunication now. Phantom types can be leveraged in a similar way, where a type (the phantom type that you are generic over) represents that state. To answer your question - the end result of both approaches is a session type with the same guarantees.

I've seen that approach used but I can't really comment too much on the differences as I've never used it myself. I find my approach simple in practice (I've shipped Python code that takes the same approach, sans affine types) because it separates the types out.

So, essentially, I write my non-sesssiony struct with all of its methods, and then I wrap that in the session types. This lets me easily drop into the non- session type if necessary, and the sessions types act as thin wrappers. My imap client worked the same way, if I recall.

The downside is likely boilerplate.

<comment><USER7> is the python code public ?

I toyed with phantom type in kotlin recently (toy examples); I'm curious how it would be done in python.

<comment><USER8> It's not. The short answer is it's the same thing as Rust, except instead of a compile time guarantee that your state isn't reused I have an assertion and test coverage.

<comment><USER7> aight, thanks

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> If you're interested in this topic, I'd highly recommend watching Stephanie Balzer's sessions at the Oregon Programming Language Summer School on "Session-Typed Concurrent Programming". The lectures are available online ([https://www.cs.uoregon.edu/research/summerschool/summer18/to...](https://www.cs.uoregon.edu/research/summerschool/summer18/topics.php#Balzer)).

Her recent work (sponsored, in part, by Mozilla Research) really advances session types and the ability to get termination/progress guarantees: [http://www.cs.cmu.edu/~balzers/publications/manifest_deadloc...](http://www.cs.cmu.edu/~balzers/publications/manifest_deadlock_freedom.pdf)

<comment><USER10> In what sense does this work really advance session types? Prima facie it looks like yet another tiny delta on Honda's original work that cannot and does not get around session types' core problem of data-dependent communication topology. Let me quote from the paper (Page 22, Section 6):

 _" The typing discipline presented in the previous sections, while rich enough to account for a wide range of interesting programs, cannot type programs that spawn a statically undetermined number of shared sessions that are then to be used."_

That has been the problem of this approach to typing message passing for nearly 3 decades, and like all predecessor papers in this theory tradition, an ad-hoc approach is proposed that makes core session types incredibly complicated without solving the problem. In order to get a publication out of this, a different problem is solved, a yet another Curry-Howard corresponce for some small delta of Linear Logic is given.

</comment></comment><comment><USER11> I am pleased to see that this was done without macros, even custom derives. There are a couple of macros in the library to make some use cases easier, but they aren't essential.

There is a tendency in the Rust community to reach for macros as soon as anything a bit complicated or verbose comes up. I think this most often ends up sacrificing true understandability on the altar of a slick surface syntax, and it doesn't help us write or understand well in the long run.

</comment><comment><USER12> I never understood the idea of shortening variable names a few characters. Recv vs Received, especially when there's a also a Rec type mentioned in the reader as well.

It's not like Send, was shortened to Snd

<comment><USER13> Read (or indeed, write) a lot of code and you'll quickly realise why. It's the same reason acronyms and abbreviations exist in human languages.

Also, "recv" and "send" are both 4 characters, which is nice.

<comment><USER14> These days people type the first four letters and rely on IDE autocomplete to finish the other 42.

</comment></comment></comment><comment><USER15> Well. Rust is about to turn into Haskell 2.0

<comment><USER16> You don't need that powerful of a type system to do this kind of thing; Rust is still pretty far behind Haskell in terms of raw power.

<comment><USER17> I don't think it's helpful to talk about "raw power" in a comparison like this; clearly there are significant type system features Haskell lacks - <USER2> this isn't a question of a simple superset.

And in any case; what does raw power really mean?

The two languages appear to have fairly widely different aims, and both see type-system cleverness as a boon, so it should come as little surprise that they don't all have the same tricks.

<comment><USER16> There's only one type system feature that Rust has that Haskell doesn't, and Haskell will have it soon. Yet there are many features that Haskell has that Rust does not, and Rust is not getting that stuff any time soon. That's what I mean by raw power; it is very close to a subset relationship.

<comment><USER17> Didn't know about [https://ghc.haskell.org/trac/ghc/wiki/LinearTypes](https://ghc.haskell.org/trac/ghc/wiki/LinearTypes) until now; I'm assuming you're referring to that?

Neat!

</comment></comment></comment></comment></comment><comment><USER18> >Using this library, you can implement bi-directional process communication with compile-time assurance that neither party will violate the communication protocol.

No, you cannot. "Assurance of not violating communication protocol" and "process communication" together are an oxymoron. If you do this, you deserve all the possible failures that come along with it.

Please don't write infrastructure code that depends on "assurances" instead of checking and validating communications.

<comment><USER19> I wish I knew how to get this point across to people. The way I think of it is that a type-checker which validates a single program at a time isn't capable of proving certain facts which hold when access to filesystems or networks are involved.

<comment><USER20> All validation is only performed up to an assumed platform.

There's usually little value in worrying too much about how a real platform won't correspond precisely to that assumed platform, since the goal of validation is to remove a class of errors, not all errors.

<comment><USER21> I think OP's point is that getting these assurances doesn't mean you can stop checking for errors that come from outside the platform.

</comment></comment></comment></comment><comment><USER22> I'm not sure if I'm misunderstanding the purpose of session-types, but it seem that this a lot like finagle but for rust?

Session type is basically just a finagle service, etc...

Or are they more like go channels?

<comment><USER16> Session types are more like "encode a state machine in your type system so it's impossible to mess it up". They don't inherently have to do with network services, though since network services follow protocols that can be represented as state machines (think "the S in REST"), they're a good application of session types.

That said, it looks like this library is not purely about session types, but applying them to channels. (Which are go-style, yes.)

<comment><USER7> are they used in non academic contexts ?

<comment><USER23> I'm one of the authors of the original paper/repository.

Part of the motivation behind our work was to try and apply it to the Servo project (Mozilla's experimental browser engine, of which parts have already been integrated into Firefox), which is highly parallelized. They had issues with their internal communication because of their expansive use of threads, and we wanted to see if session types could be applied to fix that. Unfortunately, Servo is a rapidly moving target, so while we did manage to convert some parts of the project to use our session types library, we never got around to finishing the work, and now I believe that they've found different solutions to their challenges.

With regards to your first question, this library is solely for in-process communication. The concept could be expanded to cover inter-process communication as well as communication over the network, and actually has been in other similar session type projects, but focusing on in-process communication allows us to make stronger guarantees.

<comment><USER7> Very nice</comment></comment></comment></comment></comment>


Free up space of iPhone and iPad instantly - <AUTHOR> https://www.kickstarter.com/projects/229973091/powerdrive-the-ultimate-usb-drive-for-ios-with-pow PowerDrive is the World's 1st MFi Lightning USB Drive with power bank supporting iPhone and iPad with either Lightning or 30 pin cable. <comment><AUTHOR> I can't wait to see this PowerDrive device.

</comment><comment><USER2> 404</comment>


Ask HN: Best slider?  (Javascript/AJAX, PHP) - <AUTHOR>

I have a PHP-based web site and on a particular form, I would like users to be able to click-drag a horizontal slider to enter a value (among others) on the form.  For instance: How much do you like this photo, on a scale of 1-10 ?  It would be nice if the value gets displayed beside the slider, in addition to the position of the slider.
I want something that is simple to implement (including some control over appearance/colour), but also compatible with most current browsers.
What do you recommend?  What do you use on your own sites?  (I did some Googling, but came across quite a bit of junk out there.) <comment><USER2> <http://jqueryui.com/demos/slider/>

</comment><comment><USER3> If Prototype and Scriptaculous are your flavour:

<http://wiki.github.com/madrobby/scriptaculous/slider>

(though it doesn't look like their wiki has a working demo?)</comment>


My 125 days at a startup - <AUTHOR> http://filipmares.com/125-days-at-a-startup

<comment><USER2> I'm sure that felt good to write, but it really didn't say a single thing about your first 125 days that was valuable to hear.

<comment><USER3> The title of the post is also misleading. It suggests the tenure of the person at the startup was 125 days (i.e. person moved on to something else). It should be "First 125 days ..." to accurately reflect the content.

</comment></comment><comment><USER4> I wish someone would post an account of a nightmarish experience with a failed startup.</comment>


Does Livestrong.com have a spam content farm hidden behind it? - <AUTHOR> http://www.livestrong.com/business-beauty-lounge-nyc_845-566-8490/ <comment><USER2> The site has Demand Media creating content for it. I would consider that low value content, I suppose others might call that spam.

<comment><USER3> Indeed, it's the same company behind eHow.com and other SEO spam. I'm frankly a bit surprised that Lance Armstrong's organization would partner with such a company.

Here's an excellent Wired article about Demand Media: <http://www.wired.com/magazine/2009/10/ff_demandmedia/>

<comment><AUTHOR> Good call! I'm familiar with Demand, but didn't realize it extended past blog posts to copy/pasting google maps entries.

I agree with you on the organization partnership. It really surprised me when I saw it, and the content never actually gets surfaced to their homepage. I was googling for my business' name to see where we came up in search (note: the link I posted is not my business) and was surprised to see it surfaced on the second page of results.

Super shady, especially coming from Lance :\

<comment><USER4> I can't say that this surprises me. Though I don't necessarily share what may be the dominant opinion regarding the guy's character, Lance probably has nothing to do with any of this.

</comment></comment></comment></comment><comment><USER5> Due to being in a similar business space (they have a google maps based bike route planner), I signed up for an account to check it out. They send out a spam newsletter once a day filled with fad dieting aimed towards fitness minded people. It's a pretty shady endeavor.

<comment><USER6> A geek's shady can be a normal's valuable. I've met more than one fitness minded person who told me I should sign up for the livestrong newsletter. Apparently it really hits the spot for a certain demographic. Nothing wrong with that.

Never underestimate how far you are from the mainstream.

<comment><USER7> A million times, yes. What geeks would consider spam, often ends up being roasted ham for regular people. As web entrepreneurs we must not forget this. If we do, we'll needlessly be judgmental of other people's work, as well as missing out on good opportunities that appeal to mainstream web users.

</comment></comment></comment><comment><USER8> I really like the tools and the food database at livestrong.com. I've never found any value in any of the other content. Guess I know why, now.

<comment><USER9> Same here. I can't say that I've even read any of the content, but I do make regular use of the tools on the site and mobile app and like them a lot.

</comment></comment><comment><USER10> I'm amazed again and again how Lance Armstrong is perceived in the US.

<comment><USER11> That begs elucidation. I can't even tell if you mean it positively or negatively.

</comment></comment><comment><USER12> So Lance is not only scheming the sport of cycling but the search industry as well?

(sorry, someone had to say it)

</comment><comment><USER13> If Google isn't going to start filtering this low quality (spam) like they say, then someone hopefully will write a Chrome plugin to filter out search results for anything created by Demand Media et al.

<comment><USER14> There was an earlier hn discussion on this very topic, and someone posted a link to their chrome plugin for exactly that. Check the threads over the last week or so.

<comment><USER13> Wow you're right. I missed that. Thanks. It is here: [https://chrome.google.com/extensions/detail/jiicbcimbjppjbck...](https://chrome.google.com/extensions/detail/jiicbcimbjppjbckmoknagndlhjbeohb)

</comment></comment></comment><comment><USER15> First of all, non technical people have no idea that something like demand media might be "bad" for the internet. There's certainly nothing obvious about it.

Secondly, if Google ranks based on certain factors, is it wrong for a business or charity to take advantage of it? Would you rather a charity got the income or a random person?

<comment><USER16> Demand Media, the company behind Livestrong.com, is allegedly about to go public. Richard Rosenblatt and Lance Armstrong ('random people') have a larger stake in the company than the Livestrong Foundation (a charity) does. So, sure it'd be nice if a charity got the income, but that isn't the case here.

[http://www.businessinsider.com/lance-armstrong-poised-to- mak...](http://www.businessinsider.com/lance-armstrong-poised-to-make-a- killing-on-demand-medias-ipo-2011-1)

<http://www.cnbc.com/id/41155886>

<comment><USER17> _The exact amount of Armstrong's equity is not known, but the offering is expected to put [Demand Media's] valuation at around $1 billion. More than a few investors think the stock will be a dog, but that won't necessarily prevent major backers from cashing in first._

Wow, demand valued at 1 billion? WTF?</comment></comment></comment>


India's next moon mission is cheaper than Hollywood film Interstellar - <AUTHOR> https://m.timesofindia.com/home/science/chandrayaan-2-mission-cheaper-than-hollywood-film-interstellar/articleshow/62990361.cms <comment><USER2> Gotta love the parachute in the infographic.</comment>


Why Airlines Want to Make You Suffer - <AUTHOR> http://www.newyorker.com/business/currency/airlines-want-you-to-suffer <comment><USER2> Date: 2014</comment>


Bloomberg adds adblock nag screen - the-dude http://www.bloomberg.com/?42 <comment><USER2> It says on the page that I should disable my adblocker because it might adversely affect the performance on Bloomberg.com and that I would have the best experience with Bloomberg.com without it.

It is highly doubtful that any webpage gets better when I allow a flood of unwanted junk to be added. Usually it gets bloated, slower, insecure and hard to look at because of added animations. Apparently Bloomberg and I have quite a difference in understanding what the "best experience" with a web page could be...

<comment><USER3> Yeah. I'd be more sympathetic to this approach if they were honest instead of blatantly lying.

</comment></comment><comment><USER4> Is this really newsworthy? Sites do this sort of thing all the time - <AUTHOR> Bloomberg.com is just barely in the Alexa global top 400 so it's probably not even the most popular site to do so.

<comment><USER5> I'd bet among HN readers it ranks pretty high.

</comment></comment><comment><USER6> I don't see it?

I'm probably using the most aggressive blocking setup possible, though: I have a bunch of filter lists, I don't ever make exceptions to them, and instead deny all scripts and 3rd party resources, then graylist by hand (using the matrix).

</comment><comment><USER7> Here's the note, if you didn't see it: [0]

The "continue" button starts grayed out and becomes clickable after a five second countdown (with the number of seconds left shown next to the word "continue").

FWIW: I clicked OP's link with uBlock Origin active and still saw the message. I also noticed it yesterday when reading a Bloomberg story.

[0]: [http://i.imgur.com/A14cTsy.png](http://i.imgur.com/A14cTsy.png)

</comment><comment><USER8> Was I meant to be blocked? Just clicked your link with uBlock Origin and uMatrix active and I went right to the site.

<comment><USER9> uBlock Origin practically always blocks adblock-blockers. And keeps up to date with new ones almost as soon as they are released.

In my experience every other adblocker lags behind by months, or does not even have this feature at all. I don't know why anyone would use another adblocker.

</comment></comment><comment><USER10> This is why I use Brave, all the website with none of the ads.</comment>


Show HN: Cryptocurrency Index Builder - <AUTHOR> https://pandaanalytics.com/index <comment><AUTHOR> Passive investing has been proved to be one of the most effective methods in the long term. Our team has developed this tool for the crypto market, and give people who want to get crypto exposure a more data-driven approach.

On the other hand side, this tool is exploring a possibility to replace modern ETF, since with the tool you can build your own index (more flexible and transparent than a fund entity) and execute it through linking trade-only API keys -- the money never even leaves your exchange! Instead of any percentage- based fee in the fund management industry, we can turn it into a fixed cost (subscription model), since the computational cost is becoming way cheaper nowadays.

<comment><USER2> The tool looks pretty neat, but I don't think for average users they are able to "self-direct"; also, the ETF, many of the brokers, offers little to zero fee.

<comment><USER3> Unless there has been a new development, there are no approved crypto ETFs yet. There are crypto index funds with fees of 1%-2%.

That's not a bad option if you just want some diversity with minimal thought + effort. I think this tool offers a different option. With a little bit of thought and effort, you can save on the fees and customize the risk/return profile.

<comment><AUTHOR> Also beyond the fee, there is not much flexibility that you could do with the constitutes of an index.

Some of the "no fee" ETFs are also not that great ... such as [https://www.marketwatch.com/story/these-hidden-etf-fees- are-...](https://www.marketwatch.com/story/these-hidden-etf-fees-are-sucking- money-from-your-investment-returns-2016-06-28)</comment></comment></comment></comment>


E-Cigarettes, as Used, Aren't Helping Smokers Quit, Study Shows - <AUTHOR> https://www.ucsf.edu/news/2016/01/401311/e-cigarettes-used-arent-helping-smokers-quit-study-shows <comment><USER2> 'Quitting' seems like an arbitrarily high bar to set.

Bob is a 20-a-day smoker. Bob takes up e-cigarettes and subsequently ceases smoking other than the odd one here and there (social events, ran out of e-liquid, etc).

If e-cigarettes are healthier than conventional equivalents, then that alone seems like a huge improvement to me.

Replace all instances of 'conventional cigarette' with 'chocolate bar', and 'e-cigarette' with 'apple'. Perhaps eating apples doesn't result in quitting chocolate, but if it reduces consumption, that's great!

<comment><USER3> While the health issues are unresolved at this time many insurance policies consider them the same as smoking with regards to penalties and such.

the only solution to smoking is to quit

Thank you for the down votes, smoking is not equivalent to abstinence

<comment><USER4> > the only solution to smoking is to quit

That's like saying the only solution to teen pregnancy is total abstinence.

We already know how that one works out.

<comment> rm_-rf_slash It's clear the above poster's argument regarded insurance. Call e-cigs a metaphorical condom or whatever but you aren't paying premiums for your risk of becoming pregnant just because you have sex.

</comment></comment></comment></comment><comment><USER5> The full text is available for free. [http://www.thelancet.com/journals/lanres/article/PIIS2213-26...](http://www.thelancet.com/journals/lanres/article/PIIS2213-2600%2815%2900521-4/fulltext)

You need to log in, I used [http://bugmenot.com/view/thelancet.com](http://bugmenot.com/view/thelancet.com)

Having a quick skim, here's what I currently guess is going on. It's a meta- analysis, and most of the studies it looks at include smokers who aren't trying to quit. The effect remains (but weaker) when they restrict to studies of smokers who are interested in quitting. But "interested in quitting" doesn't necessarily mean they were actually trying to quit.

So my guess is Simpson's paradox: for people who try to quit, e-cigs help them quit; for people not trying, e-cigs make approximately no difference; but people trying to quit are less likely to use e-cigs, and so people using e-cigs look like they're less likely to quit.

Reading the paper more thoroughly might be able to falsify this guess.

("Quit" here means "quit cigarettes". Someone who stops smoking cigarettes, but continues smoking e-cigs, is considered to have quit.)

<comment><USER6> thank you for taking a look at the actual research and breaking down issues in the meta study methodology

</comment></comment><comment><USER7> I find this hard to believe. I was a smoker for a decade and I quit smoking last year only because of vapes (e-cigs).

Didn't even plan to quit smoking but I was concerned about my health so I decided to try vapes for a while. The cool thing about it is that you can control your nicotine dose, so every month I lowered it a bit. The difference was small enough that my body didn't feel it.

After a couple of months I got to 0-nicotine vape. Did that for a month and by that point my body was not addicted to it any more. Then I just stopped vaping altogether. Not because I wanted to but because my body didn't need it anymore and I couldn't care less about it.

The whole process was pretty easy. At no point did I struggle to quit. I just did what my body felt like. I'm pretty sure the story would have been totally different without e-cigs.

<comment><USER8> I have started quitting this exact same way. I'm not as far along as you are, but I have dropped to 3mg (from 18) which is the next dosage up from 0.

I don't believe this article because of the massive tobacco lobby working valiantly to combat the rise of new companies in the vaping sector. the FDA is coming close to a ban on vape products all together for this same reason.

<comment><USER9> If you feel like you can't make the jump straight to 0 yet, some places make 1.5mg liquid.

</comment></comment></comment><comment><USER10> >> While they are promoted as a way to quit traditional cigarettes, they also are promoted as a way to get nicotine in environments where traditional cigarettes are prohibited

>> The studies included smokers who both were and were not interested in quitting, and included people as young as 15 years old.

This is key - if there is a group who are using them only because they provide a way of getting nicotine into your system where it is otherwise not allowed, then it seems likely to me that this group would be more committed to smoking than average, which may go some way to explaining these results.

Personally I found the e-cig very useful when quitting, but I used it nicotine-free because the law in Australia bars e-liquids with nicotine from being sold. You can import legally but by the time my imported e-liquid arrived I'd kicked the nicotine addiction anyway.

Having seen people get _very_ attached to their e-cigs with nicotine, I reckon I got it right.

(--edit-- As I was using no-nic liquid, when the addiction passed and I didn't need the crutch any more, I just naturally slowed and then stopped the e-cig use without even thinking about it, after about 4 months IIRC)

</comment><comment><USER11> Who said that it should help quit smoking? ...except the marketing from some e-cig sellers anybody already knows or should know that it will not help to quit or helps only a bit.

However I am on e-cig for 3 years now and as I feel, it is much better for health then regular cigarettes.

<comment><USER12> Yeah the title is poorly worded. It looks like they're asking whether e-cigs help people quit smoking regular cigarettes, not whether they help people quit smoking entirely.

</comment></comment><comment><USER13> I don't know, just anecdotal evidence of course, but I stopped smoking around 3 month ago and started vaping. I don't even _want_ to smoke cigarettes anymore. They taste disgusting if you haven't smoked one in over a month (I ran out of liquid and tried one again, threw it away after 3 puffs, rather dealing with not having a nicotine fix for 3 hours).

While YMMV I highly doubt that e-cigarettes cause people to not quit smoking. I bet this is because of how the participants were selected. I don't know, people trying e-cigs have tried quitting before/smoked for longer/whatever thus skewing the statistics.

</comment><comment><USER14> Used to smoke 2 packs a day, got some e cigarettes and haven't smoked for 6 months. It's not even hard to do, handles nicotine addiction just fine.

I know I still inhale some shady stuff and nicotine but I feel much better, have more energy, lung capacity and a fun hobby. It's best not to smoke/vape anything but switching to this feels like quitting to me.

</comment><comment><USER15> "Popcorn lung or bust!" I finally quit smoking after about 20 attempts last year, after having smoked about 10 years, 1-2 packs a day, 3 on occasion. I'd tried everything. Patches, gum, e-cigarettes, etc. The e-cigs didn't help me at all... in fact they extended the very same problematic habits (fingers wanting something to do while I had a drink in the other hand, primarily). Gum was good for situations where lack of nicotine was removing my capacity to concentrate. What finally worked was taking a month away from any familiar drinking/smoking environment and any work commitments. I would recommend quitting your job, changing your environment and just going cold for a month or two to successfully quit smoking. Don't rely on products, they're just feeding the same addition. Most people who successfully quit apparently fail to quit a lot of times (8-12?), though not as many as me. So I'm something of an expert. ;)

<comment><USER16> I am really happy that you are able to quit. Nicotine as an addiction is very difficult to break and one should try every approach and see what works best for them. For those for whom 'quit your job and move somewhere' is not an option, I strongly feel that e-cig provides an alternate which is worth trying. Even if you can't quit it fully, vaping definitely is a better alternative than smoking.

</comment></comment><comment><USER17> Am not surprised. As smoking has become more costly (with anti-secondhand- smoke regulations) and socially unacceptable, many smokers have found means to quit, and surely many used vaping for this. But it seems to me that a large proportion of the people who took up vaping were hardcore smokers who want a more licit habit. And so they're frequently going on about how vaping is totally harmless, it has absolutely no secondhand consumption issue (all very dubious). If vapers were formerly the most hardcore smokers, it's not surprising that vapers would be less likely to quit. Although it is still probably a good thing, from a harm reduction viewpoint.

Vaping for smoking cessation needs more than some anecdata. It needs controlled trials where vaping is compared against placebos and other cessation methods, like Chantix. but I'm afraid that the vaping industry is nearly as interested in promoting disinformation as the tobacco industry was.

<comment><USER18> According to this study normal smoking has virtually no secondhand consumption issue, unless you live with a smoker for 30 years.

[http://jnci.oxfordjournals.org/content/early/2013/12/05/jnci...](http://jnci.oxfordjournals.org/content/early/2013/12/05/jnci.djt365.full)

<comment><USER17> That is not at all what that article says. From your link:

"Passive smoking has many downstream health effects—asthma, upper respiratory infections, other pulmonary diseases, cardiovascular disease—but only borderline increased risk of lung cancer," said Patel.

...So does secondhand smoke cause lung cancer or not? "We can't say it's not a risk factor," said Wang. ..."It's hard to say anything conclusive with such small numbers," said Wakelee.

...Moreover, of the nearly 40,000 nonsmokers in the WHI-OS, only about 4,000 reported no exposure to cigarette smoke. "That means almost everybody had passive-smoking exposure," said Wakelee, "so it's very hard to say that that exposure is causing the problem—it's hard to tease out a difference.

"We don't want people to conclude that passive smoking has no effect on lung cancer," she said. "We think the message is, this analysis doesn't tell us what the risk is, or even if there is a risk."

</comment></comment></comment><comment><USER19> Every two or three months we see this same headline based on the same studies or have new numbers. We all know that other methods had very low success rate yet we never see a healine about Nicorette or patches.

A large number of "vapers" have reduce or even stopped smoking, including myself.

My goal was to stop smoking, goal achieved.

</comment><comment><USER20> Define quitting smoking.

Vaping hasn't helped me quit nicotine addiction, but I haven't breathed cigarette smoke in years.

<comment><USER21> This may be a really naive question (or I may be falsely inferring that you want to quit nicotine), but I'm curious:

If you've cut out the behavioral addiction with cigarettes and are now addicted solely to nicotine, couldn't you slowly ween yourself from nicotine by gradually using liquids with less and less nicotine until you eventually end up using liquids without any nicotine?

<comment><USER14> You can.

Liquids generally have a nicotine rating in mg per ml. I started with 18mg liquids, then 12, 6 and now 3mg (which is the lowest rating on most brands). I consume a little more liquid than before but it's probably due to my recent switch to 3mg from 6mg. As soon as I get used to 3mg, I'm finally gonna get some nicotine free liquids and start diluting 3mg to 2, 1 and then 0.

Most people don't do this as far as I can tell though.

</comment></comment></comment><comment><USER16> I was a light smoker (a pack in 3 days) and hated that I was addicted to cigarettes. I tried nicotine gum and patch to help me quit but it didn't really work.

Then I realized that I am more addicted to the act of having something in my hand blowing smoke then nicotine. I have switched to e-cigarettes and have moved to juice with 3mg nicotine. I feel much better overall and have quit regular cigarettes.

I haven't looked at all the papers regarding e-cigarette's ill side effects but based on how my body feels, it is definitely better than regular cigarettes, no question about it.

</comment><comment><USER22> Smoked 60 a day, from around 2001 til August of 2012. Began using an e-cig in August of 2009, off and on again until I found what worked for me. Now 1,242 days without a cigarette.

No, it's not for everyone and it won't help everyone quit. But, as it says right in the article, no business or brand markets it as a smoke cessation device. Only end users are making those claims. Furthermore, it's not clarified on the page as to whether or not people who continued vaping were considered to not have quit smoking.

<comment><USER23> Congratulations! For me, it's 353 days, and I attribute this success to having vaped for a year prior to that, and being able to gradually reduce the nicotine levels without reducing the frequency of vaping.

I think it's unfortunate that the conclusion of the paper (that all smokers are 28% less likely to quit if they also vape) will be confused with the questions that doctors and policy-makers will be interested in: whether smokers who want to quit are more or less likely to quit with the aid of e-cigarettes, and whether smokers who use e-cigarettes are more or less likely to die of cancer.

It seems like there's a huge, irrational split between pro-smokers and anti- smokers, and it's a big shame that what really matters might get lost in the argument: helping people to not die early.

</comment></comment><comment><USER24> I'll +1 to the other comments here of people who stopped smoking cigarettes and took up vaping. I didn't even intend to quit, and I know a lot of other people in the same situation.

For some people, vaping is just far more pleasant than smoking cigarettes and they don't look back.

The couple of times I started back up again with cigarettes early on was when I ran out of e-liquid, since it is heavily regulated (or illegal, as in AU) and can be difficult to obtain.

I really find this result difficult to believe.

<comment><USER25> Same here, I was happy to keep smoking and had no intention of quitting. I just thought e-cigarettes were a cool new gadget to try, and I liked the idea that I could now 'smoke' even more places. I fully expected to continue smoking but over the course of about three months, I just stopped all of it very gradually. It wasn't the expected outcome at all, but it's nice. Haven't smoked for at least eight years now, but I tell people (only half joking) that I would start again if medical science advanced far enough to counter the health risks.

</comment></comment><comment><USER26> but what about the health benefits? isn't that the real bottom line we care about? not something arbitrary and meaningless like whether people completely stop smoking? isn't reducing smoking a good thing too?

it does need some regulating though. the volume of nicotine in the default over the shelf vaping kit... you never get anywhere near to consuming as much as that smoking 20 a day of the strongest brands.

<comment><USER27> > the volume of nicotine in the default over the shelf vaping kit...

I did the calculation myself and was shocked at how much nicotine was in the liquids, but after looking into it, I believe the nicotine absorption rate from vaping is much lower than from traditional cigarettes[0]:

> Compared to smoking one tobacco cigarette, the EC devices and liquid used in > this study delivered one-third to one-fourth the amount of nicotine after 5 > minutes of use. New-generation EC devices were more efficient in nicotine > delivery, but still delivered nicotine much slower compared to tobacco > cigarettes. The use of 18 mg/ml nicotine-concentration liquid probably > compromises ECs' effectiveness as smoking substitutes; this study supports > the need for higher levels of nicotine-containing liquids (approximately 50 > mg/ml) in order to deliver nicotine more effectively and approach the > nicotine-delivery profile of tobacco cigarettes.

[0][http://www.nature.com/articles/srep04133](http://www.nature.com/articles/srep04133)

</comment></comment><comment><USER28> It isn't clear to me how useful this study is. There is no indication that the people found "less likely" to quit even intended to do so in the first place. The story seems to make the assumption that anyone vaping is doing so as a cessation technique but that certainly is not true in my anecdotal experience.

Since this came from the UCSF Center for Tobacco Control Research and Education, it's pretty easy to assume a senseless agenda behind the whole thing.

I will say, as someone who shuns nicotine after a decades-long addiction, I find vapers far more pleasant than smokers. If people are switching with no intent to quit, that's still a big win in my eyes. Particularly since I don't see it as my job to regulate what people put into themselves.

</comment><comment><USER29> If it's like smoking, but safe, then who cares if less quit?

The projected amount of damage done by means of people hurt by not quitting ecigs needs to be higher than the projected amount of damage done by means of people not switching to ecigs for this to be alarming.

<comment><USER17> Why are vapers so convinced that vaping is "safe"? The supposed "safety" of e-cigs mostly looks like industry marketing to people desperate to preserve their habit.

<comment><USER16> I vape and I don't know if vaping is safe or not. But here's what I do know. From seeing how my body reacts to it, I think vaping is a better alternative than cigarettes to get nicotine. I am a full advocate for further research in to vaping and identifying the exact side effects.

<comment><USER17> It would be implausible for vaping to not be less harmful than smoking. And harm reduction is good! But that's a far cry from "vaping is 'safe'".

</comment></comment></comment></comment><comment><USER30> You can't quit if you don't really want to. E-cigs aren't a get out of jail free card and cannot replace willpower. It is a quitting _aid._ Like all quitting aids _you_ will still have a job to do - it just takes a little less effort.

I am certain that I would have still quit on my final and successful attempt, regardless of the e-cig. _I_ wanted to quit, instead of others wanting me to quit. It was merely a less harrowing experience.

Anecdotally e-cigs are not absolutely healthy, my lungs actually felt unhealthy after using one for a long time - something that I never felt with normal cigarettes. They are a tool and not a solution.

</comment><comment><USER31> I was smoking 40-50 cigarettes per day before I met with vaping(smoking e-cigarette) 3 years ago.

In the last three years, I only consumed around 50 traditional cigarettes. Compared to 49.275 that I would have smoked if I haven't switched to vaping, that's a big win.

OTOH, will I quit vaping? I don't know, and don't care for now.

EDIT: For anyone looking for information about e-cigarettes, [https://www.e-cigarette-forum.com/forum/](https://www.e-cigarette- forum.com/forum/) was a big help for me. (Not affiliated)

</comment><comment><USER32> They helped my husband quit. He did it gradually over a period of two years, using a re-fillable e-cigarette. Every few months we would buy a few bottles of the vapor juice, stepping down the nicotine concentration each time. At the end, he used nicotine free vapor juice for quite some time. He didn't give up the e-cigarette until it finally quit working about three years ago.

I don't think using the disposable ones with the fixed nicotine content would have allowed him to quit. It was the very gradual dosage decreases that did it for him.

<comment> rm_-rf_slash That's a very good point. Even if a smoker cuts down on volume and smokes less of each cigarette than before, the first puff will always carry the same blast of nicotine.

E-cigs also give you something to do that takes up roughly the same amount of time as regular smokes, which is probably one of the biggest behavioral barriers to longtime smokers.

</comment></comment><comment><USER33> I don't understand. Why is everyone against nicotine all the sudden. These puritans need to mind their own business. Nicotine by itself hardly does anything to anyone.

<comment><USER34> Uh, it's actually extremely poisonous.

</comment></comment><comment><USER35> One addiction replaces the other.

The catch is to replace smoking with something better.</comment>


The Tragedy of Iran's Great Salt Lake - <AUTHOR> http://nautil.us/blog/the-tragedy-of-irans-great-salt-lake <comment><USER2> I'm from Urmia. I clearly remember the days we used to go to the lake and effortlessly float on it. It was a great sight, with magnificent wildlife, beautiful flowers and odd looking rocks.

I haven't been back to Urmia in almost 9 years but from what I hear the drying up of the lake has ruined the surrounding climate and destroyed the wild habitat.

The causes are known. We just used more water that we had. We built dams all over the rivers feeding it. Dug deeper and deeper wells to extract the ground water and here is the result. It's the sort of story you keep hearing over and over again, in different places with similar outcomes. When will it end? Probably with us.

</comment><comment><USER3> This water problem is everywhere. Not just California.

What's happening to all of the Earth's water? Is it going into flooding in other parts of the world that don't come to mind? Are sea levels rising? Is our air getting more humid? Is it going into under the Earth's crust or under the sea floor? Did the single-catalyst water splitter get dropped into the ocean? Are we storing more of it in our food plants and food animals? Are we storing it in something else like concrete for buildings?

<comment><USER4> While there may be global impacts of increased greenhouse warming, these "water problems" are mostly just about regional mass balance. For example, various watersheds used to drain into Lake Urmia. But they have been diverted elsewhere, so the lake is drying up. Ditto for the Aral Sea and the Salton Sea. And for the Colorado River, except there "drying up" means not reaching the Pacific.

To the extent that there's increased evaporation, the water just ends up elsewhere, more or less randomly. Fresh water is a small part of the global water cycle.

<comment><USER3> That's a satisfying explanation. I want to tack on the projected water shortage in Yakima due to reduced snow pack on the northern Cascades.

Some of this could be "awareness bias" where people are more likely to be aware of information that's similar to other information they've received recently. Are we focusing more on apparent water shortages because of California?

Yes, the water is somewhere. Just so long as it's somewhere terrestrial, and not escaping into space like happened to Mars and Venus.

<comment><USER4> Thanks. And yes, your example points to changing patterns of precipitation. The western US overall seems to be in drought. That is likely somewhat anthropogenic.</comment></comment></comment></comment>


Ask HN: Getting in Y Combinator? - <AUTHOR>

I was looking at the YCombinator graduates and realized that in order to get accepted you had to have went to a very good college. I'm currently 16, have already tried to get into YCombinator yet am going to have to wait for high school to finish.
Now, has anyone managed to apply to YCombinator at the age of 16,17,18,19? Did you get in?
I'm asking this question mostly cause I think YCombinator is the best kind of "startup university" that an entrepreneur could attend.
Comments would be greatly appreciated. :-) <comment><USER2> > _I was looking at the YCombinator graduates and realized that in order to > get accepted you had to have went to a very good college._

Is this written doctrine, or just an observation?

University-ism is one of those things that really bugs me, given that it basically boils down to "physical proximity and financial means to attend a university that I've heard of", without respect to the fact that some really dumb people still end up at very good universities (and similarly, lots of smart people end up at less-good universities).

Not that I'm suggesting that YC operates any such policy. I just thought it was worth mentioning because I've seen it in operation in various places and it generally causes me to run a mile.

<comment><USER3> I was wondering about this too; I did not even go to college. I graduated HS at 14 and started working for companies developing software.

Will this put me at a disadvantage if there are lots of MIT, Stanford etc... grads that apply to YC W10.

</comment></comment><comment><USER4> Hi Emil,

I'm impressed with your drive!

But I do think you need to get a little bit more experience before you're going to strike out in this direction.

There have been - rare - occasions of teenagers hitting a home run, but your age will definitely work against you.

There are also all kinds of legal issues that would make it impossible to strike a typical VC deal with someone that is not yet of 'legal age'.

But if you keep at it like that and you continue to learn as much as you seem to have done so far then I don't doubt you'll make it big one day. Consider me impressed, I have a son roughly your age and I wished he was half as focused as you are.

best regards,

       Jacques

<comment><AUTHOR> Thanks man! That means a lot to me :-)

<comment><USER5> I read your blog, and i found the idea behind biz teen interesting, but i think you're targeting a rather small market (the world doesn't have as many young entrepreneurs as it needs).

If you don't mind getting an idea from a complete stranger, why not do a social networking app for people within the same age range but focusing on something that appeals to a wider crowd (parties, traveling[backpacking through the world comes to mind], choosing the right school, etc).

Best of luck.

<comment><AUTHOR> Oh man! Thanks a lot! That was so nice of you!!!

I realized that, yet to be honest I'm looking in creating an actual SaaS startup. Something that provides values and that actually solves a problem. Thank you for the tips, I hope your business is doing well.

:-)

</comment></comment></comment></comment><comment><USER6> AFAIK you can't sign binding legal documents until you're 18.

<comment><AUTHOR> Thanks for the heads up! :D</comment></comment>


Illustrated History of Machine Translation: From Cold War to Deep Learning - <AUTHOR> http://vas3k.com/blog/machine_translation/?hn=1 <comment><USER2> A very insightful and informative article.</comment>


Ask HN: Software/Resources for Freelancers - <AUTHOR>

Hi HN,
tl;dr - Starting a new freelance business, need help on how to run it. This is a long post, but I hope it helps people in the future. It might also spur a few startup ideas; if so, have at them!
I'm starting a new software freelance shop. I don't know much about running a small business, and I've run into lots problems that I hope have software solutions. I'll list my problems, and I hope I can use the collective wisdom of HN to discover which software products I should be using. I made this one post instead of a few because I'm hoping some solutions will solve several of the problems at once.
The problems
<comment></comment><comment>
Background: We are a team of 3. At any given time, we'll be doing a few things: * Checking new leads for projects.
* Working on existing projects. Sometimes hourly, sometimes bulk pricing.
* Giving pricing estimates for new projects, negotiating new deals.
Problem 1 - I'd love a tool that helps me understand/visualize which projects the team is working on, how many projects we have coming in, how much time is being taken on each project, who is working on what, what's our capacity for more projects, etc.
Problem 2 - Time-tracking and bookkeeping. I use a bookkeeper, who gets receipts and invoices at the end of each month, and prepares reports and does taxes (is this standard?). What I need is a way to track what charges I have per customer. (As far as I understand, I don't need something like Quickbooks, because the bookkeeper handles that for me.)
I actually have a few ways of working - either hourly, or bulk per project. Some clients also prefer that we use their pet time-tracking tool. And for all clients, I might have to charge the one-off fees for expenses (purchasing a theme, for example).
So, I need a tool that lets me track what to charge each customer. Preferably, it will also be the same as my time-tracking tool, just to make things easier. But that's not a necessity.
Problem 3 - CRM? I have a lot of communication with a lot of potential customers. Right now, I have a Trello board for the various people I'm talking to, but this is probably less than optimal. What do people use to manage these projects? Preferably, I should be able to tell at a glance what's going on with each potential customer that we're in negotiations with (since no team member does every negotiation). This is related to problem 1.
Problem 4 - What am I missing? If anyone has any recommendations for resources to learn about running a freelance company (good blogs, books, etc), I'd appreciate that too. I'm sure I'm missing a lot.
Thanks to anyone that made it through this post, and definitely thanks to anyone who gives me ideas! </comment><comment><USER3> I think my biggest "trial and error" experience that I can share with you is to find companies that are the best at what they do. Yes, you can find companies that do everything from time tracking to bookkeeping to CRM to project management to invoicing to payroll but I found personally that you create the issue of "yes, I have everything covered but not one function performs exactly the way I want/need it to."

The best solution is to find the best time tracking tool - I use TSheets - <http://www.tsheets.com> \- (which may solve your time tracking needs as well as show you a visual of your real-time clock in/out of your team showing you who is working, and on what, and for how long, and with detailed notes for future reference) - then integrate that with the best invoicing company - <USER2> use FreshBooks - <http://www.freshbooks.com> -(yes, they also have a time tracking app but I believe their focus and strength in their product is in their invoicing solution).

This way, what you set up provides you the functionality and custom options that you have outlined as your basic needs above - better communication, better focus, more accurate billing and forecasting.... overall a better experience as a first time small business owner.

Good luck!

</comment><comment><USER4> Do you really have problem #1 with just 3 people?

I was always impressed with the feature set on fogbugz, but never had a real need to use it:

[http://www.fogcreek.com/fogbugz/features/project- management....](http://www.fogcreek.com/fogbugz/features/project- management.html)

My timekeeping needs were satisfied by toggle: <https://www.toggl.com/>

But it sounds like you need/want a lot more than that. I've encountered quite a few freelancers that like freshbooks.

</comment><comment><USER5> Bulk pricing can / will really bite you in the ass.

</comment><comment><USER6> Nice</comment>


Ask HN: Evil but brilliant business models? - <AUTHOR>

Think Swoopo (http://www.codinghorror.com/blog/archives/001196.html) or Demand Media (http://www.wired.com/magazine/2009/10/ff_demandmedia).<p>Do you know any other examples? What do you think about the evilness of these? Is it unethical or is it a normal use of free markets? <comment><USER2> I cant decide over Demand Media; I mean as I read it they dont necessarily provide really _bad_ content (though not great content either).

On the other hand they are employing a reasonable number of people and spreading some good money around (so it's not like they treat the content providers wholly unethically).

It feels like one of those borderline business models which is actually ok but could very easily slide the wrong way.

</comment><comment><USER3> Get Satisfaction <http://37signals.com/svn/posts/1650-get-satisfaction-or- else>

<comment><AUTHOR> Note that it "hijacks" search engine result pages just like Demand Media does... The source of evilness is different though.

</comment></comment><comment><USER4> _"Is it unethical or is it a normal use of free markets?"_

Are those mutually exclusive?

Are you asking about business models that are unethical/immoral but legal?

Those are pretty good examples with regards to Internet companies. I think you can find just as dubious actions in the finance industry. From charging $30 for a $1 overdraft to raising credit card interest rates at whim ... hopefully, new regulations will change that.

<comment><AUTHOR> Not necessarily legal, just brilliant (the majority _are_ legal I think).

From finance you reminded me about these nifty tricks: [http://www.themistrading.com/article_files/0000/0348/Toxic_E...](http://www.themistrading.com/article_files/0000/0348/Toxic_Equity_Trading_on_Wall_Street_12-17-08.pdf)

</comment></comment><comment><USER5> Scientology.

</comment><comment><USER6> Evil regulatory arbitrage is in the news thanks to AT&T and Google: [http://www.techcrunch.com/2009/10/28/googles-response-to- fcc...](http://www.techcrunch.com/2009/10/28/googles-response-to-fcc-inquiry- we-now-restrict-calls-to-less-than-100-phone-numbers/)

</comment><comment><USER7> Inkjet printer cartridges/Gillette Fusion razors/battery-powered electric toothbrushes/etc. (all the same model in different guises)

</comment><comment><USER8> automatically generated spam blogs. i hate running across them, but people make some serious $ off of them.

</comment><comment><USER9> The domain tasting companies -- I read a profile of one, whose name I unfortunately have forgotten, but this company seemed to have a ~$17MM annual run rate by bulk purchasing domain names, running ads on them, and returning the ones that didn't generate enough income during a trial week. Really really scummy business, and stupidly lucrative -- the founder was running the operation with himself and two employees.

<comment><USER7> I recall something about ICANN changing the rules to prevent this from working anymore, no?

<comment><USER10> <http://news.ycombinator.com/item?id=761235> which links to <http://news.cnet.com/8301-13578_3-10309051-38.html>

</comment></comment></comment><comment><USER11> ah - the Goldman Sachs thread...</comment>


Politics-Oriented Software Development - <AUTHOR> http://www.kuro5hin.org/story/2005/1/28/32622/4244

<comment><USER2> As an interesting counterpoint, one of the comments gives an excellent definition of a _good_ software development manager: a bi-directional bullshit filter to keep the techs and suits from scaring each other (and in general being a single point of access to the development team for the rest of the company). Management at that level is very much an "if you've done it right, no one will know you've done anything at all" sort of thing. It's a subtle art but anyone who does it right is incredibly valuable.

</comment><comment><USER3> I read this and started immediately reminiscing of past jobs. No classes in my engineering curriculum prepared me for this so I didn't "get it" when I first started out.

Did your schooling mention this sort of thing? If not, do you think they should?

<comment><USER4> I had one lecture in one course that was more or less about this; as I recall, one of the first sentences out of the prof's mouth that day was (paraphrased) "Don't tell anyone it was me who told you this." It was certainly an interesting (if rather depressing) lecture.

</comment></comment><comment><USER5> I have been studying this level of software development since 1979 (sic, when I first encountered the obviously by then doomed MULTICS, saw how much had been dropped in the transition to UNIX, and wondered "why did it turn out this way?") and this is perhaps the single most useful document on it that I've ever read.

Plus a tremendous motivator to work in low politics startups, yes ^_^?

</comment><comment><USER6> "Remember that managers are essentially secretaries who can fire you." ...I am precisely living through this right now. Of course not every manager is like that, but some definitely are.

</comment><comment><USER7> _... it is easier for a manager to change jobs than it is for a developer._

Has anyone found this to be true? My personal experience contradicts this so far.

</comment><comment><USER8> If only someone told me of this article 5 years ago. Especially the part about working overtime ONLY if it's visible to everyone.

I really enjoyed reading this.

<comment><USER9> I've seen in some companies I've worked with that it is seen as more positive if you arrive a few minutes before start time (or before everyone else), even if you do nothing at the time, than to arrive slightly late but stay and do some productive (unpaid) overtime (yes, I'm the kind that likes to sleep until the last possible minute - I wish I didn't have to be at my desk by 8:30 AM sharp but I do).

Edit: and yes I sometimes have to stay late because I got distracted by HN or Slashdot or whatever... I guess I should use the noprocrastinate option :P

</comment></comment><comment><USER10> This is exactly why I went to work for a startup. We're becoming successful enough to start seeing some of this nonsense; when it gets too ridiculous, I think I'll be moving to another startup...</comment>


Ask/Suggest to HN: Is there any way to see voting by 1 year+ members? - <AUTHOR>

It'd be interesting to see how differently comments and stories would be rated by people who were veterans of a year or two ago vs. newly joined members. I think I'm seeing some changing trends in the site, but it'd be interesting to know more for sure. I know there's news.ycombinator.com/classic for submissions by older members, but it'd be really curious to compare voting patterns by people who used the site in the past vs. more newly joined people. <comment><USER2> Related: <http://news.ycombinator.com/classic>

Ranked according to the votes cast by members with higher karma, I think.

</comment><comment><USER3> It would be interesting to give members a trust rating and weight voting according to that trust rating, like Google does for link juice from trusted domains.

</comment><comment><USER4> pg did this a while ago, only counting the votes of older users or more karma, cant remember exactly.

it was pretty much the same.</comment>


Ask HN: Examples of good/bad Python codebases for reading - <AUTHOR>

I am looking for some examples of good and bad Python codebases. My aim is to read through some code and learn from it. I know Django is a good example. Which other open source projects can I look at? I am open to code in any area including web apps, machine learning, networking, systems or others. Thanks! <comment><USER2> Being in the same position as abhaga, I would like to add: Can you also recommend projects that have very good tests?

It would be very interesting to rewind a project's and study how the tests and the code were written in parallell. Thanks too!

</comment><comment><USER3> A lot of people on SO recommend Twisted: twistedmatrix.com</comment>


Linshof i8 smartphone - <AUTHOR> http://www.linshof.com/phone.html

<comment><USER2> Looks like another Chinese company disguising as a European company for image reasons. Have a look at their logo: [http://www.linshof.com/](http://www.linshof.com/) Now take a look at the logo of this real German company (established 1887): [http://linhof.de/index-e.html](http://linhof.de/index-e.html) (It's almost the same name except for the s)

Coincidence, huh?

<comment><USER3> Ah, now the number 8 (see my posting further down) makes sense, too. Its one of the chinese lucky numbers: [http://en.wikipedia.org/wiki/Numbers_in_Chinese_culture#Eigh...](http://en.wikipedia.org/wiki/Numbers_in_Chinese_culture#Eight)

</comment></comment><comment><USER4> So, they're planning a phone and a tablet with the same processor / RAM / storage:

Smartphone: 3100 mAh, no expected life listed

Tablet: 9000 mAh, "over 9 hours" claimed

I find the fact that they don't give a phone estimate concerning even though the difference in screen size implies that it should be better than 3 hours.

<comment><USER5> Assuming it actually scaled like that, if the tablet had a battery life of 9 hours with 9000mAh and the phone had ??? hours at 3100mAh

5" at 16:9, screen area = 11.07 _6.23 == 68.9661 cm^2

10" at 4:3, screen area = 15.24_20.32 == 309.6768 cm^2

Rough battery life = 9 hours * (310/69) * (3100/9000) == ~14 hours.

I guess this calculation is sort of meaningless though, given that it has assumed battery life ∝ (battery capacity/screen size), and that it has not factored in different pixel densities, display technologies, usage patterns, other hardware etc

</comment></comment><comment><USER6> It feels and looks wrong: their website is a mess and the devices look no better.

Their domain has whois privacy enabled, and it was just registered this year. News of this product are spreading quickly, but I can not find anything else about this company on the web. Also, their Wikipedia page was removed today.

Has anybody heard of Linshof before?

<comment><USER7> Never heard of them, but here is some interesting verbiage for something that has not launched yet: "New 'Battery Saver' mode" \-- How is it new if we haven't seen the old.

It also seems pretty unlikely you would launch 3 separate devices at the same time, but maybe they are that talented in Vienna.

<comment><AUTHOR> Battery Saver mode is a new feature in Lollipop that does exactly what the name says. It turns on when battery life reaches 15%, or you can turn it on manually.

Not sure if what they advertise is just the vanilla Battery Saver from Lollipop, or a modified one.

</comment></comment></comment><comment><USER8> An Android phone with a system health display (CPU, Ram, etc.) installed by default? I wish they'd be more forthcoming with the details of what's on there software-wise. If this is a phone that is built to not treat the user like a child (as is the norm for all other android phones) i'd actually be interested.

</comment><comment><USER3> So the phone:

\- is called i8

\- has 8 corners

\- has an 8-core cpu

\- has 80 gb flash

\- and a camera sporting 8 megapixels.

Plus it has a square logo that looks like the writing above an old-established viennese pastry shop. Whats not to like? Maybe there'll be a Swarovsky edition someday.

<comment><USER9> Very authentic that said pastry shop hired the boss' son who "knows photoshop" to craft their new logo!

</comment></comment><comment><USER10> They don't seem to specify what the processor is. Maybe a variant of the MT6752 or the MT6595?

"Octa-core processor, 8 x 2.1 GHz \- Eight cores with power-saving technology and a fully customizable overclocking feature."

<comment><USER11> Could be Mediatek, but I think there's a small chance it's an Exynos chip. Samsung sometimes sells Exynos to low-volume OEMs.

</comment></comment><comment><USER12> no mention of google play store/play services.. but i see a google icon on the tablet screen..

[http://www.linshof.com/tablet.html](http://www.linshof.com/tablet.html)</comment>


Coca Cola's New 3D Times Square Sign - <AUTHOR> https://hackaday.com/2017/09/02/coca-colas-new-3d-times-square-sign-invokes-inceptionism/ <comment><USER2> I went by yesterday to check it out, it really is totally eerie. Two things that really struck me: The fluidity in real life is a lot more water-like than the videos make it seem, it doesn't really look like it's popping shelfs out. It's also quiet, I kept listening to see if I could hear it moving (granted it's pretty loud in times square) but nothing.

</comment><comment><USER3> I work for the company that fabricated and installed this project: [http://www.displaydevices.com/](http://www.displaydevices.com/) in Colorado. Although I didn't do much work on it, seeing the modules being run through their paces during testing was an amazing sight to behold.</comment>


Prediction: Google Sites - Ning Killer? - <AUTHOR>

Ok, so its a little early, but I am very excited about the potential of Google Sites. As I was researching various wiki solutions for a corporate project collab site, I ended up settling on Google sites as a hosted wikifarm solution. The presentation is in google's repertoire - clean, lacking features, but very promising. :)
After creating a few sample pages and looking for more information, I found the Google Sites blog:
http://googlesitesblog.blogspot.com/
Even though Google Sites has been out for a few months now, based on the very fresh blog entries and a spurt of activity, I have a feeling google is ramping this app up.
If you examine the list features, specifically the project tracking templates, it almost seems like they are going after Basecamp as well.
Now, consider the power of embedding google gadgets, and my prediction may not be very far off!
I just don't understand why google doesn't add massive features to its apps products, given that they have a whole army of developers... <comment><USER2> The only area Google has really killed in is search, PPC and maybe a couple of other things. Everything else ranges from pretty good to horrible (but not killer.) Personally, I use Gmail more than any other Google service but I bet Gmail doesn't have the same dominance as their search does.

My opinion is certainly debatable, but the point is that Google does not automatically dominate every area they get into and some of their services are terrible.

Also, I am pretty sure Microsoft has tried the "whole army" thing with search and look at where that has got them.

<comment><AUTHOR> I agree - it seems like their products have so much potential but they are not improving upon them, not taking advantage of the whole "release often" paradigm, which in my opinion is easier to do with SaaS. Maybe easier said than done though....

With Google Sites for example, users are clamoring for features, in fact there seems to be a consensus on which lacking features are most important, yet no word or ETA's from Google.. I got a response back regarding the premium edition of Google Sites, seems like the only premium feature available now is that each user gets extra 500MB disk space.. For $50 / user, thats hardly "premium" in my opinion, unless I hear otherwise.</comment></comment>