An Update on Android Market Security - <AUTHOR> http://googlemobile.blogspot.com/2011/03/update-on-android-market-security.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+OfficialGoogleMobileBlog+%28Official+Google+Mobile+Blog%29

<comment><USER2> >> _On Tuesday evening, the Android team was made aware of a number of malicious applications published to Android Market. Within minutes of becoming aware, we identified and removed the malicious applications._

As per [http://www.reddit.com/r/Android/comments/fvepu/someone_just_...](http://www.reddit.com/r/Android/comments/fvepu/someone_just_ripped_off_21_popular_free_apps_from/) the developer of the original app had been trying to get Google to remove the offending apps for more than a week.

Google took no action until after a third party reported the problem on reddit.

The post says that Google acted "within minutes". However, it doesn't even mention the fact that the problem existed on the market for more than a week. Posting an update is fine, but it is troubling to see a post that refuses to acknowledge basic facts.

If they aren't willing to acknowledge a problem, it will be very difficult for them to prevent this and other problems from recurring.

<comment><USER3> While I don't want to minimize the pain of having your app copied and republished, I'd be very surprised if the author had submitted a properly sworn DMCA takedown notice, which is the correct way to get action on these matters. I submitted a DMCA notice for the Android market in november, and the offending application was gone within 24 hours. I'm fairly sure apple requires a DMCA takedown notice to pull copyrighted content from the app store as well.

[http://www.google.com/support/bin/request.py?contact_type=lr...](http://www.google.com/support/bin/request.py?contact_type=lr_dmca&product=androidmarket)

<comment><USER2> To reiterate

(1) The security problem existed for more than a week.

(2) Google's post makes no mention of (1). Instead it talks about how the issue didn't impact certain Android versions and about how they removed the malicious apps "within minutes"

Regardless of your views on how many i's you'd like dotted and how many ts you'd like crossed for a DMCA form, ...... do you think that a "security update" post should suppress information about the duration of the security problem and just talk about "Within minutes of becoming aware" ?

<comment><USER3> I guess I just don't read it the same way. Maybe it's just because I already knew about the issue, but it seems obvious the security issue existed before they were informed of it. A security issue that was fixed within minutes of its creation wouldn't be getting device wiped, cleaners pushed, market changes made.

When you get security alerts from other vendors, do yours typically include the first known date of vulnerability or do they include the date it was first reported, or just the CVE assignment date? When redhat/apple/microsoft push a security update do they list the sites or programs that were known to be abusing the bugs? Not that I've seen. Hell it is rare to see anyone even listing the first date that they were being actively exploited.

All of that would be better, of course, but it hardly seems reasonable to call google out when they're acting at least as responsibly as all their competitors.

</comment></comment></comment></comment><comment><USER4> Time has come for Google to make serious changes.

This entire saga raises several questions. Obviously, as Android's popularity continues to surge, more and more hackers and malware writers will target it. Unfortunately, it's clear that Google is simply in no position to mitigate these attacks before they occur. The "openness" of the Market is becoming Android's biggest security weakness. Although most Android users have nothing but disdain for any app review system, I would welcome a change in the Market policy, whereby all submitted apps are screened for signs of malicious or fraudulent activities. Google might also need to give a serious thought to how it deploys security updates. Apple and Microsoft have full control over deploying critical system updates, unlike Google, which is at the mercy of handset manufacturers and carriers. Although the bug that was exploited by DroidDream was fixed in Android 2.2.2, hundreds of thousands of handsets were successfully compromised because Android 2.2.2 isn't yet available for a substantial number of handsets. Unless Google can reign in the fragmentation problem, it might have to start deploying hotfixes for different versions of Android to patch critical security vulnerabilities, i.e. employ a Windows like model of distributing patches to different OS versions. [The above bit is a repost from <http://bit.ly/g9xIfg> , which is written by me]

</comment><comment><USER5> _We are adding a number of measures to help prevent additional malicious applications using similar exploits from being distributed through Android Market_

Am I the only one thinking they might be planning to leverage their recent acquisition of zynamics on this front? In particular, zynamics seems to have developed some tools[1] for classifying malware based on (as I understand it) some sort of static control-flow analysis. I'm far from an expert on the matter, but that sounds like it has some potential with regards to keeping malicious apps out of the Android Market.

[1] <http://www.zynamics.com/vxclass.html>

</comment><comment><USER6> I'm somewhat heartened by this. I really thought they were just going to sweep it under the carpet and say nothing about it which would have really left the impression that they just don't care about the market at all. I'm particularly glad that they are following up with law enforcement - as fruitless as it may be, the only up front protection that the Android market has is from the threat that attempts to compromise it will be aggressively followed up. This should at least ensure there's a first line of defense against basic idiots who might try to put compromised apps into the market just for sake of it.

</comment><comment><USER7> ... and Android turns into Windows. Pre-Win7 Windows, that is. This time the threat is more serious. Android powers always connected communications devices that have access to all your email, social network profiles, contact information etc.</comment>


Personality, Gender, and Age in the Language of Social Media (2013) - <AUTHOR> http://journals.plos.org/plosone/article?id=10.1371%2Fjournal.pone.0073791 <comment><USER2> right</comment>


Show HN: HayScout – Privacy first search engine funded by subscriptions - <AUTHOR> https://hayscout.com <comment><AUTHOR> Creator here.

I've always wanted a search engine that doesn't harvest and sell my data, doesn't track what I do and doesn't display ads. HayScout is my attempt at providing such a service.

It uses Bing to source results and requires a monthly subscription from users(limited free use). Still early days but I wanted to share my progress and ask for any feedback.

Thanks!

<comment><USER2> Personally speaking, I don't think Bing's result is worth paying for. I'd pay for Google's result without ads or being tracked or being collected. But there're already search engines like startpage (with ads), searx, etc, and they are free to use for now. I don't think pay for per query after exceeded the limit is going to work since users are used to unlimited queries.</comment></comment>


Pocket Released (Formerly Read It Later) - <AUTHOR> http://getpocket.com/ <comment><USER2> I think the name Pocket is absolutely perfect. It lends itself to a really clear and understandable marketing slogan ("Don't have time to read it now? Just put it in your Pocket!") but also leaves room for how the company might grow and expand in the coming years. "What else can you put in your Pocket?" I'm sure they have that written on a whiteboard in their office with 30 bulleted items below it detailing what they can build next.

<comment><USER3> It's not a great name for search though. I couldn't find it on Google, and it's nowhere near the top in App Store search.

It's possible it'll get better as the name gains popularity, but telling someone "Search for 'Pocket'" isn't going to work right now.

<comment><USER4> It doesn't seem to take long for products-named-after-common-words to rank high on Google (though search in the Play store has always been horrible). Case in point: my Pushover app/service was released about a month ago and is on the first page of Google results for "pushover", despite there being a game and movie of the same name.

<comment><USER5> I pretty sure that is Search Plus Your World customizing the results for you.

pushover.net is number 10 when I search in an incognito window.

<comment><USER4> I didn't say it was number 1, I said it was on the first page.

</comment></comment></comment></comment></comment><comment><USER6> OK, I think the bookmarklet/text scraper needs a little tweeking. I just tried Pocket's bookmarklet vs. Instapapers's on the "How Microsoft Fought True Open Standards" article that is also on the Hacker News front page. Pocket mis- identified the headline, instead getting the name of the blog. In fact the title of the article/blog post is not anywhere in Pocket's scrape.

Link to the article: [http://blogs.computerworlduk.com/open- enterprise/2012/04/how...](http://blogs.computerworlduk.com/open- enterprise/2012/04/how-microsoft-lobbied-against-true-open- standards-i/index.htm?cmpid=sbycombinatoranguyen)

Edit: It also didn't do well with Bruce Schneier's Crypto-Gram Newsletter at <http://www.schneier.com/crypto-gram-1204.html>

In both of these instances the simply needed to get the content of the <title> tag in the HTML. I would think (careful, here be dragons!) more often than not that the <title> tag should be a reliable way of getting the title of the story.

<comment><USER7> The good thing is that Instapaper's extraction process can be modified by anyone who has an account:

<http://www.instapaper.com/bodytext> (Login required)

So if something is not working properly you can improve Instapaper on a site by site basis.

<comment><USER6> I had no idea you could do that! That's cooler than the other side of the pillow!

</comment></comment></comment><comment><USER8> As a long-time ReadItLater user, I'm not too impressed with the "Pocket" rebranding ("Read It Later" made it obvious what it did) but the new iOS app solves most of the issues I had with it (it auto-resolve bit.ly links, pulls in titles even if the client app didn't add them, etc). And it looks much better.

Readability still has a more readable text-only view but I assume Pocket could just tweak the CSS (slightly larger font, larger line height).

I am worried that everything is free now. I preferred to live under the impression/illusion that my money had gone to fund the infinite existence of the service. Now it's totally at the mercy of investors / potential buyers.

<comment><USER9> Which is exactly why I use Instapaper.

If you're not the one spending the money, you're the one being sold.

<comment><USER10> But unfortunatly there are no good Instapaper client for android.

<comment><USER11> Papermill? [http://www.theverge.com/2012/3/23/2897938/papermill-is- the-f...](http://www.theverge.com/2012/3/23/2897938/papermill-is-the-first- beautiful-simple-instapaper-client-for-android)

<comment><USER10> I have tried papermill. Its the most unstable app I have ever downloaded for my android phone.

It crashes randomly but most often when syncing or reading a article. I have send bug reports and contacted the author but that hasn't really helped.

</comment></comment></comment></comment></comment><comment><USER12> I am an avid RIL user and have the apps on all of my various mobile devices. With the launch/rebranding of pocket though I am most surprised by the layout of the site when logged in. It looks visually like a tablet app, but I couldn't see myself ever using this on a mobile device because the apps are so good and actually save all your articles for offline reading. Designing a site to look this much like a mobile app on a desktop takes a lot of effort, and IMHO feels a bit clunky when using a full mouse & keyboard.

From a usability standpoint I would have expected the redesigned logged-in site to be primarily designed for desktop reading (e.g. smaller buttons, less chrome), and perhaps use responsive design to accomodate more mobile-friendly layouts when using other devices.

Overall I like the rebranding, new aesthetic and am excited to explore the new android app.

Most importantly though I'm SO happy my credentials/history just _worked_ on the new site.

</comment><comment><USER13> The key part here is that it is tailored for any kind of content as opposed to just text, everything you'd like to "view later".

Spool (<http://getspool.com/>) did this as well, with the twist that they actually scrape content (videos and all) to save to your devices to view offline. For some reason it doesn't seem like Spool ever took off.

<comment><USER14> The Pocket homepage suggests the same functionality:

"If it's in Pocket, it's on your phone, tablet or computer. You don't even need an Internet connection."

<comment><USER15> Saving videos only saves the url

[http://thenextweb.com/apps/2012/04/17/read-it-later- rebrands...](http://thenextweb.com/apps/2012/04/17/read-it-later-rebrands-as- pocket-goes-free-lets-its-4-5m-users-save-articles-videos-images-more/)

</comment></comment></comment><comment><USER16> I can't remember now why I chose ReadItLaterPro over Instapaper - it was a few years ago, and I think I just preferred the look of RIL, but the name was always less than brilliant, since it was quite generic. Both are supported well by the iPad and iPhone apps I use, although the newcomer that's been getting all the press recently is Readability.

The ReadItLater app has just magically renamed itself and re-iconed itself on my iPad, so well done developers - so far - for making the transfer smooth.

<comment><USER17> What do you mean by magically? Did you not update the app and the icon changed?

<comment><USER18> Likely the user updated all apps as people routinely do and the icon changed. The purpose of saying "magically" is that it isn't something the user spent any mental effort on but it just happened.

<comment><USER17> That sure must happened before to cormullion, many apps tweak their icons during update. Since he said _magically_ I would like to clarify what does it mean (and we may learn something new :) ).

</comment></comment></comment></comment><comment><USER19> Seems to be an intersting idea. I wish there was a way to achieve the same effect with your own "personal cloud" server, instead of relying on a startup's infrastructure.

<comment><USER20> It's essentially a bookmark service, right? This concept is extremely well suited for running on a personal server. I'm not sure there'd be widespread interest in such a thing, however.

<comment><USER19> I am sure there is no widespread _commercial_ interest. The privacy implications of such a service are comparable to these of GReader, and you know what they tell about you not being the customer if you are not the one paying.

<comment><USER20> Oh I agree absolutely. I just wish more people would see the need for a personal repository.

</comment></comment></comment></comment><comment><USER21> I always wonder, if Facebook says (as per their SEC filings) mobile is a threat because they haven't figured out how to monetize that platform without destroying the user experience. How will Pocket be able to sustain itself in the future?

Especially when one of the implied objectives of the service is to get rid of ads in the first place. Place a limit on space? Bandwidth? Then Instapaper's one time fee seems cheaper than a recurring cost. Even if it's a pay-only-once for X more articles per time you'll have to buy more when that limit is hit.

</comment><comment><USER22> This looks great. I just signed up.

However, I immediately noticed it seems anyone can add any content to anyone's queue if they know or guess their username — since everyone sends mail to the same address (firstname.lastname@example.com), you only have to forge the From: email header (which is, of course, trivially easy).

</comment><comment><USER23> Just tried it. Criticism #1: authentication management borderline sucks:

I have to create an account name, not just use an email adderess. Why? Does this get displayed to other people? Not that I can see.

Similarly, why no distributed authentication options? I'd have been happy to log in via Facebook or Google for this app. There's no reason they'd be told what I was looking at, just that I was reading stuff on pocket. That's hardly a privacy issue at all.

So I pick my password on the web site (random, of course) and type it in. And then download the app on my phone, and authenticate again. And then install the chrome extension, _and authenticate again_. This isn't necessarily easy, but you guys have to streamline this, it's a huge barrier to getting started. Email/SMS a "click on this to get started" link to the phone. Have the chrome extension pick up the existing cookie without asking for a password.

But now I'm saving stuff, and it seems pretty clean. Once annoyance is the lack of pinch zoom on the Android app. I have to click on a text settings button and then hit up/down to play with the text size.

<comment><USER24> Do any reading apps have pinch zooming? I don't see how pinch zooming would work with reflowing text well.

<comment><USER25> FWIW, Android's browser has pinch-to-zoom & reflows the text when you stop zooming. Works fine.

<comment><USER23> Exactly, that's my reference. If a reader app doesn't work as well as reading the page in Chrome for Android, I'm not really going to want to use it. This is close, and definitely doesn't suck. But it's not really as clean as I wanted it to be. I honestly think I'd be happier if it just synced the web content and let me read it using the browser.

</comment></comment></comment></comment><comment><USER26> Hmm, seems like Read It Later is becoming a Flipboard competitor rather than an Instapaper competitor. I'd assume that there's more business sense behind the Flipboard use case (Kindles are terrible ad-serving devices).

</comment><comment><USER27> Android app design is first rate. Taking advantage of the new ICS widgets/design language. Very good.

</comment><comment><USER22> FYI: Using your RSS feeds from Readability and/or Instapaper, you can use IFTTT.com to copy these over to your Pocket account. (Note this won't copy your current queues, just those added in the future. To migrate the current items from Instapaper, see <http://getpocket.com/import/instapaper/> — however it does not seem Readability provides an export function, which is pretty weak IMO!)

</comment><comment><USER6> For textual stuff I use instapaper and let calibre fetch an epub and drop it on my eReader. I may have to sign up for pocket for the non text stuff, especially once I upgrade phones in August.

Edit: Actually I just noticed I can "Pocket" something from feedreader on my current (but aging) WebOS phone.

Edit2: OK so I also see that Calibre can create an ePub from Pocket as well.

</comment><comment><USER28> I have thousands of RIL bookmarks in my account, but the one thing that kills me is that I can't see when I saved the bookmark. When I go in to look for something and I'm not sure exactly what I'm looking for, I really wish I could see when I saved it. My time association is much better than recalling an exact headline or site name.

<comment><AUTHOR> Yes, that's a feature I am wishing for too. I just hit 12k links. =) Coming in faster than I can clear.

</comment></comment><comment><USER29> I had bought Read It Later on Android as part of 10cent deals. Might be a good time to try it.

On a completely unrelated note, Nate Weiner forked my code [https://github.com/ideashower/Export-Wordpress-posts-to- Tumb...](https://github.com/ideashower/Export-Wordpress-posts-to-Tumblr)

</comment><comment><USER30> I use Opera Mobile's site saving a lot. Not sure if it is too similar, but it's all I need.

</comment><comment><USER31> This is less descriptive to me than read it later, but then again in some respects read it later may be the wrong call to action.

I hope these guys get a better uptake, but I've been with Instapaper Pro for so long I'm entrenched.

</comment><comment><USER32> Bookmarklets are great and all, but I hope they make a Chrome extension. It took me a moment to remember how to turn the bookmark bar on.

Edit: Especially since the bookmarklet doesn't appear to work in Chrome.

<comment><USER15> Bookmarklet works fine for me in Chrome.

<comment><USER32> The bookmarklet works in Chromium on my Ubuntu box, but not on this machine (18.0.1025.162 m, Windows Vista).

The Pocket extension in the Chrome web store works perfectly and looks prettier. I don't know why they didn't just link to it in the first place.

</comment></comment></comment><comment><USER33> Very cool that you can save videos, and the Android app looks great, too.

If the bookmarklet works as well as the Instapaper one in Google Reader, and if it works well on WebOS, consider myself a convert.

</comment><comment><USER34> What really made me sick is that the apps were charging (and silly me I paid for it) and now it turns into a completely free product. So, I am no longer a customer.

<comment><USER35> To me, that is an odd reaction. Were you similarly sick when it was part of the 10 cent apps promotion?

</comment></comment><comment><USER36> Being Pedantic: Who built this site??? All of overuse of the "<section/>" tags, and the XHTML Transitional doctype. Yeesh!

<comment><USER37> Nate Weiner? Or his team... Pocket/RIL is not longer a one-man company for some time

</comment></comment><comment><USER38> Who did they get to do their re-brand? The strategy is sick, video is slick and design language is killin it.

</comment><comment><USER39> I use instapaper for this; it emails to my kindle and I am extremely satisified.

</comment><comment><AUTHOR> Wonder if there will be any changes made to the Firefox extension?

</comment><comment><USER40> thought I had an account, turns out I dont. too many connections when I register. woe :(

<comment><USER41> same for me when i try to login with my RIL account, then after reloading the url it loads. I tried removing one of my saved pages, after confirmation, the page gave a (trapped) error via javascript alert. It looks like it's a bit overloaded..

</comment></comment><comment><USER42> It sucks, the old version was much better.

<comment><USER43> I can only agree. It was one of my most used apps. I added a load of postings, just to quickly filter through them.

now: everytime, i try to save a thing to pocket, using their new bookmarklet (or using the old read it later one), I get a promt, to login. and I am already logged in.

Thanks a lot for breaking one of the things that really added value to my phone.

So I`m on my way, have to go. Have to delete an account and an app.

Goodbye, you won't come to my "pocket"</comment></comment>


Human age limit claim sparks debate - <AUTHOR> http://www.nature.com/news/human-age-limit-claim-sparks-debate-1.20750 <comment><USER3> Medicine hasn't even attempted to extend human lifespan. To date it has only adressed causes of premature death. These conclusions have this baked-in as a (quite probably unconscious) assumption. Medicine needs to grow beyond this short-sightedness.

<comment><USER4> Also, medicine is only concerned about bringing people with problems back to the "average normal" health state. What if I want to improve on the average?

<comment><USER5> [https://en.wikipedia.org/wiki/CRISPR#Cas9](https://en.wikipedia.org/wiki/CRISPR#Cas9)

<comment><USER4> Sorry, I fail to see the connection?

<comment><USER5> CRISPR allows for the in place editing of your genome, which is going to be necessary to extend your life significantly or make you an above average human.

</comment></comment></comment></comment></comment><comment><USER6> The big issue is that mortality seems to not fit any of the normal statistical distribution models. If it did, we would have a few stragglers at 150+ years old. That never happens.

So, the question becomes: "What is inherent in the human body that causes mortality to not be statistically distributed?" That's the _real_ argument.

<comment><USER7> We know of at least one such thing: telomeres.

Cells have a definite amount of time before they undergo mitosis, and telomeres always shorten with each mitosis.

This puts at least one limit on longevity; there are likely to be others. Evolution exerts little-to-no selection pressure for organisms to survive past the caretaker period; in humans, that's grandparents at most.

<comment><USER8> Not necessarily an issue:

"Approximately 7x10^15 mature cells are produced in a human lifetime and these could be produced in 53 cell generations (2^53 = 9x10^15). In 60 cell generations a total of 10^18 cells would be produced, enough for over 1000 years of human life. Thus it is possible that, even in extreme old age, the mature cells of the body are fewer than 60 generations from the zygote." [https://www.ncbi.nlm.nih.gov/pubmed/25459141](https://www.ncbi.nlm.nih.gov/pubmed/25459141)

It may be that rather than limiting lifespan, telomere length is a result of other constraints on lifespan. There may be no point to making them longer.

<comment><USER9> This is not how the body operates, skin and gut cells reproduce far more often than normal.

<comment><USER8> According to the paper I linked to, as of 2014 that was a long-held assumption, one that has lead to a number of "paradoxes" (ie, is in conflict with observation). What evidence are you thinking of?

<comment><USER9> The most obvious is the response to heavy radiation poising or chemotherapy show a range of responses consistent with various rates of cell division.

<comment><USER8> I think the confusion is due to you thinking of the total number of cell divisions, while I am thinking of the number of divisions separating a given cell from the zygote.

This lead me to misunderstand the relationship you were claiming between "This is not how the body operates" and "skin and gut cells reproduce far more often than normal".

<comment><USER9> I think we where talking past each other.

Bone marrow for example needs to continuously create Blood cells with a short lifespan. (Adult humans have roughly 20–30 × 1012 (20–30 trillion) red blood cells at any given time, comprising approximately 70% of the total human body cell number.) [https://en.m.wikipedia.org/wiki/Red_blood_cell](https://en.m.wikipedia.org/wiki/Red_blood_cell)

Thus your bone marrow must create new cells at a much faster rate than average, making the average a meaningless number.

Now you might think you could design bone marrow to minimize the number of generations nessisary to produce that blood, but it does not operate with such efficiency. In large part because fewer cell generations does not mean fewer mutations.

<comment><USER8> If you check the paper, you will see it describes a scheme that minimizes the number of generations while maintaining the observed rate of cell division. The average rate of division across tissues isn't really at issue here, tissues that require fewer cells will just have a shallow hierarchy.

>"it does not operate with such efficiency"

Most likely it does not operate at max efficiency. However, since most mutations seem to occur during mitosis, it would make a lot of sense for natural selection to optimize (number of divisions)/(generations from zygote).

<comment><USER9> First, it's not the number of generations that are the direct risk. A cell that does nothing will still mutate over time. It's large numbers cells that share a few risky mutations that are the problem.

If you have a 1,000 cells that can do 30 generations without hitting programmed cell death then a single mutation that kicks that off can form a large mass without tripping your body's alarms which also share that mutation. Even if they end up as a non cancerous mass that large mass is very likely to cause problems.

On the other hand if you have 1 billion cells that can each do 10 generations and they all formed young you still get the same 1 trillion cell potential, but don't risk that single mutation as those 1 Billion cells showed up at a young age. Further, when some of those 1 million cells start growing uncontrollably they only grow to 1,000 cells before hitting programmed cell death which is a lower cancer risk.

Now sure, the body can play around with these numbers to form a crazy number of skin, gut, and blood cells from some relatively small cell pools. But, it's already playing those games while minimizing cancer risk. So, we don't have some pool of 'young' cells to solve problems late in life because it's to dangerous to keep them around.

PS: People often thing of their body's as kind of a tub of undifferentiated mass. But, cells a body structures are optimized for a huge number of problems that only become obvious with deep investigation.

<comment><USER8> >"First, it's not the number of generations that are the direct risk. A cell that does nothing will still mutate over time. It's large numbers cells that share a few risky mutations that are the problem."

If this is correct, I think you would likely be right. Do you have a reference?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> It serves as a reminder that the research community actually knows very little about the demographics of aging at very advanced age. The data is so sparse past age 110 that the statistics of mortality, very reliable in earlier old age, rapidly turn into a sludge of uncertainty. It is possible at this point in time to argue either side of the position that there is or is not a limit to longevity under present circumstances, though most of us probably think that one or the other side is weak. On the one hand we can theorize that maximum human life span is increasing, in a way analogous to the fact that life expectancy at 60 is inching upward at a year every decade, but more slowly, and we might suggest the data for extreme old age is so bad that the ongoing change can't be identified. On the other hand we can instead theorize that there is some limiting process that hasn't changed at all over the course of recent human history, is not impacted meaningfully by modern medicine, plays a very large role in supercentenarians in comparison to younger old people, and renders mortality rates so very high at the extremes of human life spans as to form a limit.

This is actually a point worth making twice: when limits to lifespan are discussed, we're not talking about actual limits per se, but effective limits. A very large mortality rate, possibly coupled with rapid growth in mortality rate over time, looks a lot like a hard barrier to further progress in practice, but there is still the chance that someone could beat the odds. Where the data for supercentenarians is good enough to fill in tentative mortality rates with large error bars, up to age 115, that rate is around 50% annually [1]. The mortality rate may increase greatly after that point, and that would be entirely expected given the absence of more than the one certified example making it past 120, but it is very unclear from the limited data. Mortality rates reflect actual physical processes, the accumulation of forms of cell and tissue damage that cause the suffering, death, and disease of old age. The damage is the same, but the proximate causes of death for supercentenarians are quite differently distributed from those of younger old people, prior to a century of age. The majority appear to be killed by transthyretin amyloidosis [2] that clogs up the cardiovascular system, and that is becoming known to play a much lesser - but still significant role - <USER2> heart disease in earlier old age. Could this form of amyloidosis be the candidate for a process that is not all that affected by the past century of changes in medicine and lifestyle, and that becomes much more important in extreme old age than early old age? Possibly. The only way to know for sure is to build ways to clear this form of amyloid [3] and see what happens.

The natural state of aging is a function of damage and how medicine addresses that damage - which is poorly and next to not at all at the present time. Almost all medicine for age-related conditions fails to address their root causes, the cell and tissue damage of aging [4], and takes the form of patching over that damage in some way or coaxing biological machinery to cope slightly better with running in a damaged environment. Predictably it is expensive and only marginally effective in comparison to true repair. As above in the comments on amyloidosis, find a way to repair that problem and life span will increase, as the machinery of biology will be less damaged and less worn down into high rates of failure. That is the point to take away from this discussion. It has to be said that the lead of the study, Jan Vijg, comes across as very pessimistic on aging in his comments here when considered in comparison to past remarks and collaborations with SENS folk [5] that I've seen from him. That is the case even granting that he is in the camp of researchers who believe there is no alternative to a very slow and expensive reengineering of human metabolism in order make incremental gains in life span and slowing of the aging process.

[1]: [http://dx.doi.org/10.1007/978-3-642-11520-2](http://dx.doi.org/10.1007/978-3-642-11520-2)

[2]: [http://dailybruin.com/2010/03/04/autopsy-115-year-old- aids-r...](http://dailybruin.com/2010/03/04/autopsy-115-year-old-aids- research/)

[3]: [http://www.uclb.com/news-and-events/news-post/potential- new-...](http://www.uclb.com/news-and-events/news-post/potential-new-approach- to-the-treatment-of-systemic-amyloidosis)

[4]: [http://www.sens.org/research/introduction-to-sens- research](http://www.sens.org/research/introduction-to-sens-research)

[5]: [http://dx.doi.org/10.1159/000357670](http://dx.doi.org/10.1159/000357670)

<comment><USER11> One of the best most thorough comments I've ever seen. Thank you for citing all those sources.

</comment></comment><comment><USER12> It looks like not many people died in the 70's, I think we need to bring back disco, bell bottoms and pot smoking!

Seriously though... antibiotics and widely available and distributed vaccinations have done more for human longevity on average than anything else.

<comment><USER13> Disco-descendants and weed are perennially popular and I'm sure bell bottoms will come back through the endless cycle of fashion repetition. Devise some experiments now to test your hypothesis.

</comment></comment><comment><USER14> I read the title and thought they were talking about a legal limit. Sir you are 15 years older than the legal limit.

</comment><comment><USER15> Yeah, except they don't include any sort of scientific advance. Who cares about the natural age limit? We're mankind, the first species to be able to guide our own evolution. Basically this article means nothing significant.</comment>


AMD releases FireRays 2.0 ray-tracing library as open source - <AUTHOR> http://gpuopen.com/firerays-2-0-open-sourcing-and-customizing-ray-tracing/ <comment><USER2> It appears that AMD is consistent with their contributions to open things. Couple that with typically lower prices for comparable GPUs it makes me sad to see that 30/70 percentage (of red to green) on e.g. Steam.

Green yet seems to employ every semi- or outright unfair strategy (gameworks, extra tesselation) to stump them while still being typically 'closed' in its ways.

<comment><USER3> It's the same for both Nvidia and Intel: I dislike the companies for the reasons you mentioned, but they do make superior products compared to AMD.

In Nvidia's case, they're a step ahead with the technology and they also put more effort into efficient cooling, which is nice if you value your ears, and evergy saving. They also seem to be constantly first with new software features (automatic game settings, recording, streaming, ...).

AMD, with both CPUs and GPUs, offer comparable speed at lower prices, but not a comparable product. If they did, I'd drop Intel/Nvidia in a heartbeat.

<comment><USER4> Hopefully, Polaris and Zen are going to be massive improvements.

But even current cards like the Fury look fine, especially if you consider DX12 and Vulkan performance. nVidia just spent a lot of money on optimizing the drivers for DX11.

About recording & streaming — that's not just a software feature, that's dedicated video encoding hardware on the cards. nVidia heavily pushed their own software that uses the hardware, but AMD were the first with the hardware itself, according to Wikipedia:

> Video Coding Engine was introduced with the Radeon HD 7900 on 22 December > 2011

> [NVENC] was introduced with the Kepler-based GeForce 600 series in March > 2012

<comment><USER5> In general Nvidia makes a superior product, but it really depends what you are talking about [1]. The new Nvidia 980Ti has the best power/price at the moment. However, AMD is increasing power efficiency and being competitive, competitive enough that I buy their GPUs because they work (or did) better with Linux.

With the new GPUs I anticipate them being even more competitive if not outright better for the power/price and power useage.

[1] [http://www.videocardbenchmark.net/](http://www.videocardbenchmark.net/)

<comment><USER6> Don't you mean GTX 1080?

<comment><USER7> Whats the current price for a 1080 delivered by Friday?

<comment><USER6> 0 because it's not released until the 27th.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> it can use OpenCL GPU as backend, so it works on Non AMD hardware (e.g. NVidia Titan X )

Vulkan support for FireRays is currently a work-in-progress.

</comment><comment><USER9> Cool. Does anybody have any experience with both this and Nvidia OptiX Prime and could comment on their differences?

</comment><comment><USER10> I see in the docs that it supports Embree as a back end. Embree is intels library for doing the exact same thing (as far as I understand). So it feels odd to use embree as a back end for this, I'd use this _instead_ of Embree, not both. Can anyone explain?

<comment><USER11> A guess would be so that you can compare the current best open ray tracing library on the CPU with their GPU implementation as well as switching to CPU ray tracing under the same API.

</comment></comment><comment><USER12> Source code: [https://github.com/GPUOpen- LibrariesAndSDKs/FireRays_SDK](https://github.com/GPUOpen- LibrariesAndSDKs/FireRays_SDK)

</comment><comment><USER13> Why not contribute to Blender cycles instead?

<comment><USER14> Because they're open-sourcing an existing library?

To answer the larger question of "why create a new library instead of contributing to open-source project X instead", the answer is that working on other peoples' open-source projects (if you're actually going to improve them rather than just throw more me-too mud at the wall) usually consists of cleaning up other peoples' messes. You're at the mercy of a third party maintainer, you're stuck with someone else's (probably terrible) design decisions, and you're dealing with a list of existing bugs and defects.

I can't speak for everyone but just personally, if I'm doing a job like that, it's because I'm being paid for it.

<comment><USER15> You're also at the mercy of their often unreasonable demands (testing bars and sign-offs that they themselves never would pass).</comment></comment></comment>


AMA on extraterrestrials: Former Canadian Minister of Defense and Transport - <AUTHOR> https://www.reddit.com/r/IAmA/comments/by7ipl/i_am_a_95_yo_former_canadian_minister_of_defense/ <comment><USER2> Well, sure didn't expect _that_ , and I'm Canadian!

Does Reddit still make a matrix of questions/answers for their AMA's? The 63,000 comments kill my browser big time.</comment>


Geneticists use machine learning to solve medicine's greatest mysteries - <AUTHOR> https://builtin.com/data-science/geneticists-machine-learning-medicine <comment><USER2> Despite the title, I'm struggling to find even one solved mystery in the entire article.</comment>


Intro to CoffeeScript - <AUTHOR> http://aseemk.com/blog/intro-to-coffeescript <comment><USER2> > _What I find sad, though, is that most people who dislike CoffeeScript don't > truly know it. They haven't taken the time to really learn it, or even try > it. Their reactions are usually knee-jerk, or based on fallacies. [...] The > explanation for most people's dislike of CoffeeScript is probably our > natural resistance to new things and our comfort in what we know._

Oh, wow. I've been using CoffeeScript for about a year for the usual front-end crap, not long ago I re-evaluated Coffee for the second time before starting a full-JS project and certainly won't use it. While I'm a fan of bracketless whitespace significant langs (Python, Sass, Haml) CS's is just bonkers and you never know when a single space will bite you by compiling to a completely different code you had in mind. The ecosystem is weak not to say non-existent comparing to JS, and every JS solution and example out there from minor jquery stuff through SPA frameworks to mobile UI builders is in, well, JS (duh!), so public code reusability becomes a ridiculous task of converting to CS, only to compile it to JS once again. I still use CoffeeScript for small front-end work, meanwhile for any bigger work I find CS an obstacle over JS, and an unnecessary step between my idea and working code; especially when the JS ecosystem has grown a lot of tools to help you deal with what pisses you off (underscore/lodash as an example come to mind).

And from the slide:

> _And as of July 2013, it 's also the tenth most popular language on GitHub! > That's more than Objective-C, ActionScript, C#, Clojure, Go, Groovy, Scala_

Yay github charts as evidence of industry value.

Knee-jerk, fallacies, resistance? Call it what you want and good luck. Meanwhile, I will use coffee to keep me awake, not to write apps with.

//edit: care to explain the downvote?

<comment><USER3> I _love_ CS myself. To me, in terms of aesthetics, CS is to JS what Scala is to Java. I _have_ been bitten by the whitespace issue that you mention though. I don't recall the circumstance but an indent that was off just a bit did not cause the compiler to complain, but did cause it to generate code that I did not intend. It took some debugging of the JS output to find that one, and it certainly gives one pause to think how similar bugs might slip into the code undetected. I've never encountered this kind of problem with Python, so I wonder if the CS compiler just needs to be a little fussier/smarter with its whitespace processing?

<comment><USER2> Compilers/interpreters complain about code that's invalid. Since the code is valid it shouldn't interfer, the problem is in the language's syntax design that's prone to shooting yourself in the foot. The design lets you mix indentations, something that Python won't let you do.

A very simple scenario where hell is a keystroke away:

        hello =
          woot: 1
          yay: 2
          funfunfun: (x) -> x + 1

        hello2 =
            woot: 1
            yay: 2
           nowthatsfun: (x) -> x + 1

Other:

        y1 = (x) ->
            x + 1

        z1: (x) ->
            x + 1

        y2 = (x) ->
            x + 1

        z2 = (x) ->
            x + 1

[http://js2coffee.org/#coffee2js](http://js2coffee.org/#coffee2js)

Those are fairly visible here, not so much on a huge codebase (not to mention with some callback hell attached). You can write perfectly legal code that just doesn't work as expected.

//edit:

worth a read, with more trap examples [http://ruoyusun.com/2013/03/17/my-take- on-coffeescript.html](http://ruoyusun.com/2013/03/17/my-take-on- coffeescript.html)

<comment><USER4> Your second example though exists in exact the same way in python and ruby. Some people prefer to hunt for missing comma's and brackets, others for spaces.

I think that's a matter of taste. Coming from python, I've quite enjoyed coffee-script's syntax and I've actually done something in between, using brackets for objects just because I like the readability of it, but avoiding all semicolons and taking advantage of the indentation for code blocks.

<comment><USER2> Yes, the second is a bit forced, couldn't remember what was the other case I banged my head against the desk. I'm a Python programmer too, maybe that's why I expected the language will prevent me from mismatching blocks of code. Well, even sass and haml (which aren't full-blown programming languages) aren't that easy to mess up. Using Python convention (4 spaces indent) instead of the unofficial but common ruby/js/sass ones (2 spaces) helps a bit to spot out obvious bad indents, but still - in general I don't find the language trustworthy enough to jump into something big with it (for all the reasons I listed before).

btw added a link above with some more syntax gotchas.

</comment></comment></comment></comment></comment><comment><USER5> > The explanation for most people's dislike of CoffeeScript is probably our > natural resistance to new things and our comfort in what we know.

This is a mildly insulting, as is the invocation of Blub.

CoffeeScript doesn't have a ton of exotic features. String interpolation, list comprehensions, and class definitions (!) are all familiar to programmers from other languages.

I'm guessing that a lot of people have weighed CoffeeScript's feature set against its overhead and decided the trade just isn't worth it.

<comment><USER6> What overhead? If you mean performance, there's actually basically no runtime performance overhead in most cases. In fact, if you use CoffeeScript's "for" loops have a performance advantage over JavaScript Array's map()/forEach() methods.

I used to have a similar opinion but was forced to use CoffeeScript on a project and haven't looked back.

<comment><USER7> The overhead of having an additional dependency. The more moving parts there are, the more things can break.

<comment><USER6> Then why don't you write assembly?

<comment><USER8> 1\. Since when can you write web applications in assembly?

2\. Languages built upon assembly generally have better user experience, better tooling, better semantics and effectively no more dependencies than assembly. CoffeeScript has very slightly better user experience, worse tooling, identical semantics and more dependencies than javascript.

<comment><USER6> 1\. That's missing the point, but since you asked, Emscripten and Native Client.

2\. I disagree that CS's user experience is only "very slightly" better, but that's very subjective.

Tooling is a somewhat valid complaint but it's a young platform and it's improving (source maps, etc).

Semantics aren't quite identical (scoping, implicit return values, "fat arrow" functions).

How does CS have more dependencies than any other compiled language? The only dependency is a compiler.

<comment><USER8> > 1\. That's missing the point, but since you asked, Emscripten

Has LLVM grown an assembly frontend? Emscripten is more or less an LLVM backend.

> and Native Client.

These are no more web applications than writing firefox extensions at this point.

> Semantics aren't quite identical (scoping, implicit return values, fat arrow > functions).

For the most part, this is minimal syntactic sugar, not significantly different semantics.

> How does CS have more dependencies than any other compiled language?

It does not, the point is that javascript has no dependency, and that if you're going to add a compiler dependency you might as well go for real changes.

<comment><USER6> > Has LLVM grown an assembly frontend? Emscripten is more or less an LLVM > backend.

I don't know, probably, but LLVM's IF is essentially machine independent assembly anyway.

But again, missing the point.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is a fantastic slide deck. The per slide comments below are great too. Particularly on an iPhone as you read them simultaneously.

We've been using CoffeeScript for a bit over a year now and never looked back. All of our front end code is written in CS and I can't imagine writing JS again. It's just _objectively_ better. Less code to write, easier to read, minimal cruft, and a joy to use.

The only hiccup was getting the compilation integrated into the build process. We handle it with direct loading of the CS files while working locally with coffescript.js loaded as well. That way code changes are available as soon as you refresh the page. Our build script for the app (when packaging it up for staging/prod) pre compiles the CS files so there's no compilation lag in prod.

I've been experimenting with node.js for a side project and its pretty easy to setup a project entirely in CS. There's a pretty good template with CoffeeScript/Express/Mongoose to use as a template here: [https://github.com/olafurnielsen/form5-node-express- mongoose...](https://github.com/olafurnielsen/form5-node-express-mongoose- coffeescript)

<comment><AUTHOR> Thanks for the compliment! The viewer doesn't quite look and feel right on the iPhone, but glad you didn't think so. =)

I don't know what your stack is, but FYI on Node we use Connect/Express middleware that automatically compiles CoffeeScript files to JS -- and in production, caches the results -- before serving them. No manual building/compiling/packaging needed at any point. You might find something similar for your stack if you haven't already looked:

[https://github.com/jashkenas/coffee-script/wiki/Web- framewor...](https://github.com/jashkenas/coffee-script/wiki/Web-framework- plugins)

<comment><USER9> There was some slight formatting issues but overall it worked well. It's nice to have the additional context/detail with the slides kind of like what you'd get if someone presented it live.

The node.js side project is a RESTful API so all the CS is server code (no front end CS or JS). It all builds automatically and no special config there. I started if off using a stripped down version of the template I linked to above (though removing mongoose and using node-postgres async instead).

The custom build process is for out main app JackDB[1]. It's written in Java and it's a combination of taglibs and a build script. We have a check in there for dev/prod to decide whether to serve precompiled JS files or the original CS files (if its local dev). We did it this way so it fits into our nginx caching setup which marks all static assets as permanently cached (max-age + public). The build process also prefixes the resources with the git revision so each new build forces the client to get the latest and greatest.

[1]: [http://www.jackdb.com/](http://www.jackdb.com/)

</comment></comment></comment><comment><USER10> > What I find sad, though, is that most people who dislike CoffeeScript don't > truly know it. They haven't taken the time to really learn it, or even try > it. Their reactions are usually knee-jerk, or based on fallacies.

This sounds a bit like the bi-polar LISP programmer. Belief that he groks things much better than most programmers grok things? Check. Belief that most people are behaving irrationally? Check. Belief that it's foolish to make an obvious choice? Check.

[http://www.lambdassociates.org/blog/bipolar.htm](http://www.lambdassociates.org/blog/bipolar.htm)

JavaScript is now a moving target. It's what the examples for new "HTML5" features and libraries are written in. It's what an open source library should be written in if you want it to get traction, and to attract other developers. While it may be a good choice for quickly modifying code on a single project, it isn't as good of a choice for something to get great in as JavaScript is.

There's the saying that you need to know JavaScript in order to write CoffeeScript, but you really only need to be able to read JavaScript in order to write CoffeeScript. My guess is that a lot of developers who mostly write CoffeeScript would trip over simple things for a while if they tried switching to JavaScript. This might keep them from seizing opportunities for JavaScript developers such as contributing to an existing JavaScript project or an open source library that's implemented in JavaScript.

<comment><USER11> While I understand your sentiment... I have to disagree with a few assumptions. I feel that it's perfectly fine to write a project, or even a module in coffeescript. If you look at the NodeJS/NPM ecosystem, you will find a lot of modules will use, or be used by other modules that will be in either JS or Coffee respectively.

While CS supports some features with different syntax than JS, it really isn't _THAT_ hard to pick up, and for the most part I don't care too much. I've mostly written JS, but have used CS for certain bits.. I find the syntax much more pleasant in unit testing, and for grunt tasks in particular (though will likely be using gulp in the future over grunt).

This presentation did show a lot of the niceties with dealing in Classes with CoffeeScript, a lot of which I wasn't aware of... I do tend to keep my objects a bit differently than many though.. I tend to treat my objects as either libraries or effective structures, rarely do I add "smart" methods to my entities.

Will it get me to switch everything, no.. however, multiline strings are nearly enough to get me to strongly consider .coffee for a lot of cases, often I will even mix into .js projects in node.

<comment><USER12> "If you look at the NodeJS/NPM ecosystem, you will find a lot of modules will use, or be used by other modules that will be in either JS or Coffee respectively"

The big thing for me with Node.js was you could have whole application in one language. Apparently it's not possible anymore because you have to deal with CoffeScript.

<comment><USER11> If it's a third party module, what do you care... plenty of 3rd party modules are written as wrappers to libraries in C. Probably in your language of choice even. This includes .Net and Java.

</comment></comment></comment></comment><comment><USER13> It's funny to see some of the comments on this thread (or the comments on any thread about CoffeeScript), demonstrating _exactly_ what Aseem is writing in his post. Delicious irony, that.

To make a different point, and one which can easily get missed -- the other unsatisfactory argument I hear somewhat often is: "I love the idea of CoffeeScript, except for X feature, which is terrible, so I won't try it." Where X can stand for scoping, classes, optional parentheses, and the like...

One of the big goals with the CoffeeScript compiler -- despite all of it's flaws and imperfections -- was to annotate and make accessible the source code, and to keep it tiny (I think still somewhere ~< 2,000 LOC), so that if there's one particular thing you don't like, you're free to change it. So if you're intrigued, but dislike X, feel free to fix X before using it, and send your patch along as a pull request. Open source, right?

[http://coffeescript.org/documentation/docs/grammar.html#sect...](http://coffeescript.org/documentation/docs/grammar.html#section-16)

</comment><comment><USER14> I mostly enjoyed the slides, and I'm interested in CoffeeScript, especially since I'm going to be working a little in Node in the near future. This post is a critique on the blog post, rather than on the slide content, which was more or less fine.

Too much focus placed on how those who dislike it haven't given it a proper shot. This could be true, but six paragraphs is overkill. You make a few points: A) they aren't being open-minded enough, B) they are the typical blub programmer, and C) they shouldn't feel bad because it's perfectly understandable to do something so mundane. Had I been someone who had spent a few hours toying with CS and left unconvinced, you'd have lost me pretty quickly.

You mention that you hated it too, at first, but not early enough. I'd submit that you're far more likely to lose readership than to open eyes with this method.

Also, as someone who isn't particularly set against CS, I didn't enjoy reading so much about how I shouldn't feel bad for hating CS at first sight. I didn't.

<comment><USER15> Sounds like the OP has to justify his large mental investment he made in CS by bashing others who have different opinions. "I'm not a blub like them. I'm not close-minded like them. I'm not doing mundane things like them."

It's a telling sign about a language when the language advocates have to employed negative psychological ploys to convince people (or convince themselves) to use the language.

<comment><USER14> On the contrary, it seems that OP was going out of his way to explain that it's acceptable to have initially hated CS.

If CS is actually terrible, why don't we talk about what actually makes it terrible? I can't comprehend the notion that evaluating the advocates of X will demonstrate anything concrete about X.

</comment></comment></comment><comment><USER16> Why does everybody compare CoffeeScript against vanilla JavaScript? I find using underscore makes my code sufficiently elegant that I've never felt the need to switch to CoffeeScript.

<comment><USER6>
        var newArray = _.map(_.filter(array, function(item) {
            return item % 2;
        }), function(item) {
            return item + 1;
        });

vs

        newArray = (item + 1 for item in array when item % 2)

Uh huh.

<comment><USER17> You could also do it with _chain_ , which could make the first example a bit simpler to read and write. It is something like:

        var newArray = _.chain(array).filter(function(item) {
                return item % 2;
            }).map(function(item) {
                return item + 1;
            }).value();

I often use CoffeeScript + Underscore

<comment><USER16> You don't even need to call _.chain or value – underscore already does this automatically. You can also write it like so, if you like:

      var newArray = _(array).filter(function(item) {
            return item % 2;
        }).map(function(item) {
            return item + 1;
        });

Personally, I find this quite readable. And honestly, my comment was more about comparing CoffeeScript to its compiled JavaScript output, as is done in the slides. The compiled output is incredibly verbose and gives the false impression that JavaScript is always complicated.

</comment></comment></comment></comment><comment><USER18> > Indeed, I, too, dismissed CoffeeScript when I first saw it. But now that > I've actually learned it and used it, I see how wrong I was: CoffeeScript > truly is more powerful than JavaScript.

My experience was exactly the opposite. When I first saw CoffeeScript, I loved it, I started using it in my projects, it was really nice. But once I learned to use it, I stepped into all the annoyances caused by a bad use of significant whitespace, the many ways of doing the same thing, the tooling overhead, and the lack of readability.

In the end, I realised that there was a negative balance of good and bad things introduced by CoffeeScipt. It wasn't worth it. JS wasn't a bad language after all, and the improvements of CS were minimal if you know JS well.

</comment><comment><USER19> I'm all for CS, use it daily, love it. It's absurd how much less code you have to write compared to the generated JavaScript. Huge win for this alone.

However, TypeScript is perhaps the better long run alternative to plain, boilerplate laden JavaScript. Bringing type safety into the mix is pretty compelling, going to check out TS at some point.

</comment><comment><USER20> I stopped using CS because it's going to have some issues when ES6 becomes more of a real thing. For instance, how is CS going to handle for/of loops when ES6 has it's own for/of loops that is slightly different. The same goes for class and super.

There will have to be CS2 that introduces new semantics and old apps will have to be migrated.

<comment><USER21> >There will have to be CS2 that introduces new semantics and old apps will have to be migrated.

I'm sure there will be a new version of CS when ES6 becomes widespread, but why would old apps need migrating? CS produces regular JS, and thus will be 100% compatible with ES6.

<comment><USER2> Actually coffee's js is currently compatible down to IE6, which the author said is what he wants to support at this point. So unless MS were planning to backport ES6 compatible JavaScript to the dead IE6, CoffeeScript supporting ES6 will either change/break at some point or become a unreasonable backward- compatibility clusterfuck (probably the former). ES6 becomes official in late 2014 so there is probably enough time for a lot of changes to happen.

<comment><USER22> Are you saying the current JS loops will stop working at that point? Of course not. So why would it matter? CoffeeScript -> Javascript will continue to work like it always did.

<comment><USER2> current js loops for sure will not, but I guess maintaining full backward compatibility would be a hard task, so I assume at some point CS will evolve to support only the newer standards. ie6 compatibility it's something jeremy talks about in the podcast I linked in the other comment here.

</comment></comment></comment></comment></comment><comment><USER23> It would have been great if he had mentioned IcedCoffeeScript at some point too. Coffeescript by itself is 'ok' but IcedCoffeScript - at least on the serverside - is fantastic.

<comment><AUTHOR> Indeed! I have much respect for Max and company. We use and love Streamline.js ourselves -- works great with CoffeeScript.

[https://github.com/Sage/streamlinejs](https://github.com/Sage/streamlinejs)

I'd love to talk on or write about Streamline at some point too.

</comment></comment><comment><USER24> Is CoffeeScript used much outside of Rails? If not, wouldn't it be a better idea to focus on mastering javascript so it applies globally?

<comment><USER25> The presentation is very well put together, but CoffeeScript is a hack built on top of JS in order to use Ruby semantics. You're correct in that it's not really used outside of Rails, and not knowing JS proper (not that I personally recommend using it for much more than jQuery and a couple other libraries, when you absolutely must) poses a problem for when someone runs into the 97% of code that is JS.

<comment><USER26> "Not really used outside of Rails" \- Do you have any source to back that up, or is it simply what you've seen? I first used CoffeeScript in a Python shop, personally.

</comment></comment></comment><comment><USER27> I would just say that there are big differences between a JS `for` loop (`for in` in CS) and an ES5 `forEach`. The fact that you are creating a new function scope and are not returning all elements as you _might_ expect:

      arr = new Array 3
      arr.push 4

      ( alert el for el in arr )

      arr.forEach alert

</comment><comment><USER28> My biggest issue is that the language can be ambiguous and I'm not sure how to check what I'm compiling to without running the short cut all the time in Sublime Text 2

<comment><USER11> the coffee console app has a watch parameter iirc.. as do many build tools...

<comment><USER28> I'm not worried about the actual build step. I'm talking about that sometimes it's hard to figure out how the CoffeeScript compiler is parsing and generating the JavaScript

</comment></comment></comment><comment><USER29> for me its upto the developer to choose between JS or CS. I used CS for some time and i liked it. But still i preferred to switch back to JS only to not to waste my time in correcting CS syntax issues and play with JS.

</comment><comment><USER30> Yes, let me learn this domain specific language for a domain specific language so that I can learn another domain specific language whenever this one stops trending.

<comment><USER31> If you know Javascript, learning Coffeescript is easy. I became proficient in Coffeescript in a few hours, and I sure don't _feel_ like a genius, so other people can probably do the same. It's just a more convenient way of writing Javascript, with a nicer syntax and some really pleasant features.

<comment><USER30> The issue at hand isn't whether or not it is easy or hard to learn, it's that the rabbithole can go on forever as all language implementations will manifest inadequacies which you will have to 1) be familiar with 2) know how to work around.

It's an inherent phenomenon that DSLs will change and come and go at an incredibly fast rate. I just don't find it worthwhile to write code that is dependant on the DSL du jour and pigeonhole myself and whatever unlucky sole has to maintain the legacy code in the future. Imagine being dumped on a mountain of ColdFusion legacy code.

I just find it kind of absurd is all.</comment></comment></comment>


Andrew Yang's Data Dividend Isn't Radical, It's Useless - <AUTHOR> https://www.vice.com/en_us/article/935358/andrew-yangs-data-dividend-isnt-radical-its-useless <comment><USER2> For property rights for personal data to mean anything, the default needs be that data starts out as private.

Default interactions need to be _technically_ stripped of anything that ties them together, and exclude any information not necessary for the individual transaction whether it is a search or purchase, and _legally_ , nothing should be stored that isn't necessary without opt-in.

If someone wants to install surveillance software from advertisers or whoever, and be paid for that, then they can opt-in. I don't see this being a big market, but if it is, on a transparent opt-in basis it would be legitimate.</comment>


Letter to the MIT community: Immigration is a kind of oxygen - <AUTHOR> http://news.mit.edu/2019/letter-community-immigration-is-oxygen-0625 <comment><USER2> But then what is emigration?

People who don't like government oppression in China can leave and escape it.

People who don't like a "rigged" system in Korea can come to the U.S. to escape it.

Those people might stay and fight if they didn't have somewhere to go -- open immigration policies aid and abet oppression in the places where people come from.

<comment><USER3> If this is true (if it does help the countries people want to leave), why do dictatorial states (such as NK) frequently forbid people from leaving?</comment></comment>


A robotic dragonfly with a wingspan of 63 cm - <AUTHOR> http://www.canadianmanufacturing.com/design-engineering/news/festo-to-fly-bionicopter-at-hannover-design-eng-99101 <comment><USER2> That's a good PR. Instead of paying TV to say "FESTO makes best manufacturing automation devices" in a fancy way, they just dedicated some engineers and some budget to making cool things no-one ever did before.

</comment><comment><USER3> It's always nice to see something like this, but just for some context there's many people doing similar things:

Two Wings <http://www.youtube.com/watch?v=Pn5pPy9BX3w>

Four Wings <http://youtu.be/rJwIhnFxuWQ>

More wings <http://www.youtube.com/watch?v=TyDLs0w48tA>

</comment><comment><USER4> Festo is just fascinating. I feel like a child every time they produce a new video like this.

</comment><comment><USER5> I honestly had no idea such things were possible. Aside from the sheer amazing delight, are there advantages to flapping-wing modes of flight?

<comment><USER6> It's the future! I think that it would be great for agility, and perhaps to mimic insects so the army can use them covertly.

<comment><USER7> Or to replace the bees (see "Bees Dying" currently on the HN front page) if/when they go extinct

</comment></comment></comment><comment><USER8> <http://en.wikipedia.org/wiki/Danny_Dunn,_Invisible_Boy>

<comment><USER9> The second thing I thought about after seeing that video was a story I had read a long time ago about a telepresence mechanical dragonfly. And then shazam, I clicked the link!

</comment></comment><comment><USER10> So what I find interesting is a swarm of these suckers. Put cameras on them and send a small swarm of 40-50 into a building. The fun part would be writing the pathfinding code so that they don't hit eachother.

<comment><USER11> I wonder how often real life dragonflys hit each other.

</comment></comment><comment><USER12> While I am amazed at the engineering and seriously impressed at what they accomplished, I can't help but watch the video and think that that is one portly-looking dragonfly.

<comment><USER13> Yep!

Though for a first generation it looks quite good. It is _quite_ functional indeed, and a great achievement for the engineers.

But yes, the tail and head seem to pick up a lot vibration of swinging wings. Can't wait for the next iteration!

</comment></comment><comment><USER14> That's so cool! At 63cm, I wouldn't exactly call it a dragon fly though...A flying squirrel maybe? :D

<comment><USER15> Really old dragonfly: <http://en.wikipedia.org/wiki/Meganeura>

Meganeura is a genus of extinct insects from the Carboniferous period approximately 300 million years ago, which resembled and are related to the present-day dragonflies. With wingspans of up to 65 cm (25.6 in), M. monyi is one of the largest known flying insect species; the Permian Meganeuropsis permiana is another. Meganeura were predatory, and fed on other insects, and even small amphibians.

<comment><USER16> Whats really interesting is that the amount of oxygen in the air impacts the size of insects.

There was a study where by increasing the amount of oxygen in the air, in just a few generations, insect were gaining as much as 10% in size.

</comment></comment></comment><comment><USER17> verge has done a piece on it too now. [http://www.theverge.com/2013/3/29/4160620/dragonfly-drone- fe...](http://www.theverge.com/2013/3/29/4160620/dragonfly-drone-festo- roboticopter-hovers-flies-backward-in-video)

</comment><comment><USER18> Looks like the park of the Permian period will be robotic.

</comment><comment><USER19> Does anyone know what servos they run in these?</comment>


Ukraine: Photos 'show Russian troops' in east - <AUTHOR> http://www.bbc.com/news/world-europe-27104904

<comment><USER2> No worries. Tomorrow we will hear that they are Ukrainian nazist trying to stir up situation in region and blame Russia... It seems that photo evidence is not enough these days for UN and EU to start another tranche of sanctions.

<comment><USER3> Have these sanctions accomplished anything? Putin shows no signs of giving back Crimea any time soon. If anything, the Kremlin sounds more defiant than ever.

<comment><USER2> Sanctions? The ones implemented already are basically non-existent and aim only at small group of people. Sanctions in line if russia will be proven that it sent army to east Ukraine will be economic ones - freezing all arm deals, weapon-related technology exchange, allowing state owned companies to do business in EU and US and pushing towards alienating Russia in global energy scene.

</comment></comment></comment><comment><USER4> I don't think that blurry photos of a bearded guy is evidence to start a war... I mean, that guy looks more like Phil Robertson than some top Russian commando. This whole situation makes me think that eastern Ukraine is like the American South.

<comment><USER5> Clearly, Europe does not intend to defend itself, it's members, or it's neighbors against Russia, no. It is telling that this is coming from the US state department. Makes you wonder, in Brussels, are they so incompetent they don't know ? Or are they cowards, unwilling to even point out the obvious ?

I mean, it's not like we really need these pictures to tell us Putin is behind the destabilization of eastern Ukraine.

It is perfectly well known how Putin will respond to a show of weakness. It is equally clear that the military alliance known as NATO isn't worth the paper it's charter is written on.</comment></comment>


Show HN: DevShop, the Game of Kanban - <AUTHOR> https://secretgeek.github.io/devShop/ <comment><AUTHOR> Here's a really lightweight game I made, written in vanilla javascript, no frameworks, no graphics (just Emoji).

For 10 years I've been meaning to make this. (It was even mentioned on Hacker News back when I first wrote about it: [https://news.ycombinator.com/item?id=967641](https://news.ycombinator.com/item?id=967641))

A week or two ago, prompted by an email from a friend, I made this version, very quickly. A few days ago I switched to using TypeScript (but still no frameworks) and found that TypeScript is amazing.

To play the game, you "find a new project" (for $100 of in-game currency), then assign it to your only employee ("the Founder"). Once you've worked on a few projects you can hire staff. A store becomes available where you can buy further skills and items.

It shows you some basic aspects of software development in a bespoke devshop. Interplay between different roles, how self-managing teams operate etc. I've had a blast writing it!

<comment><USER2> Sounds like a fun serious/educational game. I'll check it out.

There was a list of serious/educational games that I once submitted to HN [1]. Maybe you should contact the author to see if it can be added.

Edit: that was more fun than I expected. At later levels it feels a bit like a grind, but for just for a couple of days of work I find it a fantastic achievement. You kept me hooked for about 25 minutes ;-)

[1] [https://news.ycombinator.com/item?id=14661813](https://news.ycombinator.com/item?id=14661813)

<comment><AUTHOR> To avoid the grind: If you give your people multiple of the self-start skill they will do more work with less clicking on your part. Also observation skill is similar, means they can do multiple in a row without any intervention.

<comment><USER3> I've seen these skills fire several times, but I'm not sure what the rules are.

Do they self-start any time they could complete an open task? Do they self- start only when there is new work available as soon as they finish?

<comment><USER4> For the Observation Training, your worker seems to work X tasks in a row when you manually click them to assign a task, where X is their "Observation Training" level.

So that automates their work if you assign it to them manually.

The self-starter training seems to take effect when you've not manually assigned a task to them. They will search for a single task to complete X times in a row, with a slight delay between each task, where X is equal to their "Self-Starter Training" level.

When their tasks are started automatically via this skill, the "Observation training" seems to be ignored.

</comment></comment></comment></comment></comment><comment><USER5> Incredibly fun game! Thought I would spend maybe 5 minutes checking it out and eventually turned into 30! You should definitely turn this into a mobile game, it can easily pass the time.

Few things:

\- It gets really confusing when I have 3 different specializations named Renee

\- It makes sense that when you get more team members, you have to scroll to see them, parallels actual work where you can't really give full oversight to large teams

\- Because there is an option to get a large team, you should add project managers that can take some team members and auto-perform their work

<comment><AUTHOR> There are thousands of names... you got very lucky to have so many Renees!

On iOS, btw, if you use "add to homepage" it will act like an app. (Full screen; high res icon)

But my kids want me to make it a proper iOS app with animation.

<comment><USER6> I must've been lucky two hire two Lydias in a row!

</comment></comment></comment><comment><USER7> I just bought my rockstar 10x tester an office cat, and then accidently hit the home button on my browser instead of exiting the shop. RIP office cat :<

Needs to use local storage to save and restore the game state.

</comment><comment><AUTHOR> Source code is here by the way: [https://github.com/secretGeek/devShop](https://github.com/secretGeek/devShop)

</comment><comment><USER8> Fun little game, and I actually quite like the look of it. For something so minimal, it has a nice feel to it.

A couple of thoughts/ideas:

1\. It seems like there's not much of an incentive to have more than 3-4 employees. You can just keep stacking upgrades & self-starter or observation training on one of each, and it seems like it works just as well as spreading them out (hiring another employee gives you a small benefit without upgrades, but not much of one, and has a big downside in needing to click more).

2\. The distinction between self-starting and observation is confusing (I know others have said it, but I want to repeat that).

3\. Workers completing tasks overrides the description for items in the store, which makes it a pain to read.

4\. You can't see how many items are in a given swim lane.

5\. Not being able to apply upgrades to an employee while they're working on something is a little inconvenient, especially with the little gap that self- starter has.

6\. The emoji for the workers made me think I had unhappy workers and I needed to fix them. That was a little frustrating.

Lastly, a big idea that might or might not be fun: there's no penalty for accumulating a big backlog of work (it's not perfectly optimal, because there's opportunity cost, but you still get the payoff). If projects got stale when they piled up in one column, that could be an interesting dynamic.

<comment><AUTHOR> This is a really good list of feedback hyperpape.

<comment><USER8> Thanks. I actually walked into my office Monday morning a few weeks ago, and told everyone "I've got it! I'm going to make an idle game about running a development team!" so I've spent a little while thinking about various mechanics.

</comment></comment></comment><comment><USER9> Simple and fun! Nice work :)

Even in its simplicity there are a few similarities (lessons?) with the real- world that I think are worth mentioning:

\- Generalists (like the founder) are often useful because they're able to consume different types of work from the backlog _as needed_ (when flow isn't perfect and work piles up in some areas)

\- Ideally work doesn't pile up in any area, and it proceeds left to right without any waiting

\- But if you don't want work to wait, you'll have people waiting (the aim should never be 100% utilisation)

\- Work going backwards (bugs!) is more expensive (time consuming) than doing it right the first time

\- Managing all this isn't easy: it's much better when the team can be proactive and do the right things at the right time without supervision/overhead (having everyone on the same page, shared vision, practice, etc)

Thanks for some good fun… and a reminder of all these things.

<comment><AUTHOR> Cheers Ivan. That's exactly what I was hoping it would show.

There's no cross-skilling available at the moment (I want to add this to the store) but that would demonstrate the value of cross-disciplinary team members.

</comment></comment><comment><USER10> Idea is good, here are a few details that really killed the experience for me (early game at least):

\- It is not explicit at which level of each "skill" each character is. i.e. how many self start levels have i bought for founder?

\- Item/skill price should only increase per level. i.e. Self starter level 1 should always be a fixed price, then level 2 higher etc...

\- income progression is slow... you are stuck back at 1000$ for way too long after projects.

</comment><comment><USER11> Fun game, good idea. Sorry, couldn't help myself: [https://gist.github.com/fridgerator/3c1ef7e5c7d8e0c847079a29...](https://gist.github.com/fridgerator/3c1ef7e5c7d8e0c847079a29a737cf33)

<comment><USER12> aaaaand the trainer: [https://gist.github.com/romualdr/92f78c79bfa0d3c2f537953f3e7...](https://gist.github.com/romualdr/92f78c79bfa0d3c2f537953f3e7ded4b) ( fun game btw, i just love cheating in those kind of games )

</comment></comment><comment><USER13> Hey man, I saw no PRs at the minute but I wanted to play on the train with save/restore so I knocked out a quick Cordova wrapper.

It's here; [https://github.com/jamescodesthings/devShop- cordova](https://github.com/jamescodesthings/devShop-cordova)

If you do go commercial and want a hand modifying to get into app stores feel free to reach out and use whatever you see

</comment><comment><USER14> This is a well made, fun little game. I accidentally sunk 20 minutes or so into it before I realized where the time had gone (just like real scrum meetings!)

<comment><AUTHOR> Wow, thanks

</comment></comment><comment><USER15> That's really cool! I think my one complaint is that its unclear how some of the 'self starter' items are operating - sometimes they just sit there with stuff they can be doing on the board

<comment><AUTHOR> Ah ok. Here's how it works.

You can give someone multiple self-starters. Say you give someone 3 of them. That means that after they've been assigned a task manually (once) they will then go back to their desk and after a little pause, spontaneously go back and look for work to do. They'll do this 3 times (since they have a self start level of 3). Then they'll rest until they're manually assigned to a task again, at which point they'll again do up to 3 extra tasks. And so on.

There's no "infinite self starter" item you can buy for them.

<comment><USER14> What's the difference between "Self Starter" and "Observation Training", then?

<comment><AUTHOR> Observation means that as soon as they complete a card they immediately look for a card of the same sort.

With self starter there is a delay before they look for it (which can actually be good) and if they have multiple skills they'll first look for cards to test, then for cards to dev, then for cards to "ba".

<comment><USER14> Does Observation chain in to Self Starter, then? For example, if there are 2 dev tasks and 2 test tasks and I assign my founder to test, will he test 1, use observer to go back and do the 2nd, use self starter to pick up the 1st dev task, and then use observer again to finish the 2nd dev task?

<comment><USER16> No, the order is "Observation", "Self Starter", idle

</comment></comment></comment></comment></comment></comment><comment><USER17> Oh boy, what till I show this to my team tomorrow in our stand up meeting :-) Being a product owner and using a Kanban board daily, I "lost" half an hour with your game. Nice work and as others have suggested, polish it up and release a game.

A few comments/suggestions if I may (playing on iPad with latest iOS): \- include the same icons in the swimlane titles as the ones you have on each resource \- ability to rearrange resources \- make swimlanes scrollable so that we can see all tasks \- add a random timer of sick/vacation unavailability for each resource \- resources gain experience/competence with each task they finish

<comment><AUTHOR> Good suggestions. I've added them to my personal backlog. Unfortunately Founder is too busy to do them right this minute.

</comment></comment><comment><USER18> I have paid $60 for games less fun than this.

If you flesh this out with a bit more content, i think this is an easy $10-20 purchase on steam.

Well done.

<comment><USER19> But if there isn't more content, its a $4.99 game on steam. And that becomes an impulse purchase vs $10-20, and almost NO additional work!

</comment></comment><comment><USER20> This is great!

Please hire a dev (lol) to make this a mobile game. Hopefully before someone else steals your idea and releases a shitty clone. (sorry to be a Debbie Downer)

</comment><comment><USER21> Reminds me of [https://en.wikipedia.org/wiki/Game_Dev_Story](https://en.wikipedia.org/wiki/Game_Dev_Story). If you were able to have people automatically grab tasks that would be awesome (which I see is already on your backlog). I got to level 8, but the clicking quickly got unruly

<comment><AUTHOR> If you Buy them each multiple of the self start or the observation skill you will need to do a lot less clicking.

</comment></comment><comment><USER22> Amazing, really loving this! One thing I'd change is that prices keep increasing, a chair should remain the same, keyboard too. No need to have "inflation" on everything. And skills such as self starter should have price per person as levels increase

</comment><comment> mr-ron You should post this to Reddit at /r/incremental_games/ They would love it

</comment><comment><USER23> Perhaps this isn't even a commentary on the software development lifecycle but I found it interesting as I started playing and advancing that it opened my eyes to parallels between the game and real life.

One thought I'll mention is that at the beginning the founder is of course used for everything and then as time goes on, they are used less. In the game, I wanted to keep the founder free anytime someone else could do the task. In the real world this can lead to a feeling of disconnectedness and atrophy of skills. I didn't play long enough to see if that is truly manifest in the game.

</comment><comment><USER24> Should have a Cash Out button where you sell to private equity and start over :)

<comment><USER25> Good idea. Equivalent of Prestige or whatever it was in CoD. Founder notches startups on their belt.

</comment></comment><comment><USER26> Great work! Maybe extending the keybinding would help with playability? Something like assigning workers to letters for shortcuts. That would make the pairing of tasks to workers more efficient and faster to play. :)

</comment><comment><USER27> This reminds everyone of some game or another, but 'spreadsheet'-driven daily grind sims have been around for ages. I've seen similarly minimalistic coder simulators for DOS and Windows 95, however to my knowledge the same-mechanics game with the most ports and clones is Drugwars / Dope Wars: [https://en.wikipedia.org/wiki/Drugwars](https://en.wikipedia.org/wiki/Drugwars). Personally I was playing it on an olden Palm in the mid-2000s.

<comment><AUTHOR> I've made a clone of Drugwars previously (called "Handguns and Cigarettes) and I can confirm that the mechanics are not the same. I get the similarities, but there are not many. This is more like a time-management game. I love drugwars, but this is not that, at all.

</comment></comment><comment><USER28> It's too real, the 'help' button doesn't work.

<comment><AUTHOR> fixed. it was a rogue z-index. cheers!

</comment></comment><comment><USER25> It's alluring but then I don't think I've played a Cookie Clicker game that wasn't. I suspect someone could make one about raking faeces and I'd still play it. In fact, there's a sequence in RDR2 where you do exactly that.

I did like this though:

 _/ /chance of adding a bug relates to effectiveness of ba, and size of story. (and whether or not they have... a cat)_

</comment><comment><USER29> i got a suggestion for your project. Instead of clicking a team member to make it work on a task, what if you have to manage the size and priorities of the lanes, and the other aspects of your production. the biggest problem that i see now is that you have to do 2 kinds of managment, making people work, and making the flow of work effective. by eliminating the first one you are simulating a little better how a dev shop should work. with this approach your devs would work on the projects based on their priority, but would stop if there too much stuff queued in test, the founder would be finding new projecst only if there's enought capacity for the devs , if not it can concentrate on other tasks. Late projects will cost you money so it doesn't make sense to have them in queue. you could also add that the team member time can cost you money.

</comment><comment><USER30> Real fun. I spent quite a bit of time and it was really tough to close the browsing window :)

I didn't realize there can be less frantic clicking by using the observer or self-starter skills.

I saved the screenshot before I was done clicking [https://imgur.com/erAxNzF](https://imgur.com/erAxNzF)

</comment><comment><USER31> Played a bit, actually pretty fun.

<comment><AUTHOR> Thanks bitwiser!

</comment></comment><comment><USER32> Somehow I got a few self starter cards but after one task they disappeared.

</comment><comment><USER33> As a founder who has operated in all the different roles, this game really illustrates the importance of JIT and continuous flow, which can be very hard to do consistently. Nice work!

</comment><comment><USER34> good fun. Glad my office keeps the price of coffee the same :P

<comment><AUTHOR> If the rest of the economy was experiencing hyper inflation as seen in the game, it would extend into your coffee too ;)

</comment></comment><comment><USER35> Great game!

I cannot press the help button. I can Tab my way to it and hit enter to get to the link, but mouse is not working. Chrome on OS X, no blockers, and no errors in console.

</comment><comment><USER36> This is awesome, my only suggestion would be the ability to rearrange the order of the employees, or maybe hiring order is part of the strategy :D

</comment><comment><USER37> This is just too nice. Someone needs to partner up with you and make cute little isometric pixel art graphics for it. I'd pay to play this.

</comment><comment><USER38> I love it! Reminds me a little of the paperclip game.

<comment><AUTHOR> I'm not familiar with that. Reading about it now cheers. Looks like a "cookie clicker"

<comment><USER39> The genius of Universal Paperclips [0] is that it teaches you the unintuitive ways that exponential systems work. Things seem to move very slowly, then they explode very very quickly. (Assuming that's the paper clip game mentioned by GP!)

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

<comment><USER40> Personally, I enjoy Crusaders of the Lost Idols and have recently taken up Idle Champions of the Forgotten Realms.

A more straight up click based one w/o much of a graphical component would probably be AdVenture Capitalist or the like.

</comment></comment></comment></comment><comment><USER41> Great game--I think it would a little better if you had to pay each employee a salary, just to give it something of a challenge factor.

</comment><comment><USER42> damn this is addictive... main problem is how to keep the employees happy..

After $4k in earnings, only Tester is happy..

<comment><USER40> I could be wrong, but I think they are just emojis-as-icons, I don't think they're related to general happiness.

<comment><AUTHOR> that's it. Their countenance never changes. Each worker has an avatar that is just one of many icons, randomly selected from an array.

</comment></comment></comment><comment><USER43> Thanks for this. I spent my evening writing code to automate playing it for me. Lots of fun!

</comment><comment><USER44> I just want to hire a project manager :)

Great game.

</comment><comment><USER45> really well-made game for vanilla javascript. I sunk an embarrassing 2 HOURS this morning planning this. Not a particularly productive morning. But the game was quite fun! It made me think about the actual workflow in our own office.

</comment><comment><USER46> Delightful. Add in some snazzy animations and it'll be downright addicting

</comment><comment><USER47> I would love to make an iOS version of this in the style of Jira :D

</comment><comment><USER48> Fun game.

I accidentally bought five cats and then had to take care of them all!

</comment><comment><USER49> started clicking around and there it went 30 minutes of my time, increasing the lead time of the current task I'm working on. :)

Amazing game! Thanks!

</comment><comment><USER50> I actually do want "point-free wiki"

</comment><comment><USER51> Love it - this is really simple and elegant

</comment><comment><USER52> This is truly excellent. Well done.

</comment><comment><USER53> The game is incomplete. Store items don't have any effect.

<comment><AUTHOR> (Developer here) They do have an effect. Click the question mark next to an item to read a description. What have you experienced?

<comment><USER54> self-starter only worked once for me. seems like observation training has the same effect but much cheaper?

<comment><USER55> Self starters only start X times on their own, where X is their self starter level

</comment></comment></comment></comment><comment><USER56> Too real.

</comment><comment><USER57> fun game :)

</comment><comment><USER58> Not "KanBan" but "Kanban" please. One of the few Lean terms where I prefer the Japanese to an English translation

<comment><AUTHOR> Just a typo sorry. It's not in the game itself.</comment></comment>


I used to run my own mail server - <AUTHOR> https://waleedkhan.name/blog/mail-server/ <comment><USER2> I had a similar issue when syncing a bunch of Gmail emails onto my desktop. Somehow I screwed up the dates on the messages (even though the headers are the same), and now my messages are in a weird random order, and finding stuff based on date is impossible.

Given that it is roughly 15 years' worth of emails, this is … not great.</comment>