WinUI, The modern native UI platform of Windows - <AUTHOR> https://microsoft.github.io/microsoft-ui-xaml/ <comment><USER2> Win32, Visual Basic, MFC, ActiveX, WinForms, WPF, Silverlight, UWP, WinUI. (I know these aren't either/or alternatives, bear with me.)

I think Microsoft knows it needs (1) a way for developers to build apps that look like they belong in 2020 (2) where the frameworks won't find themselves in the garbage within a few years. This "toolkit approach" seems to recognize that the runtime is a _separate_ problem, so e.g. you can use Win32 + C++ + WinUI, or you can use C# + UWP + WinUI and get something reasonably consistent.

Maybe this is the time Microsoft gets it right. Who knows?

<comment><USER3> You missed one!

[https://github.com/winjs/winjs](https://github.com/winjs/winjs)

<comment><USER4> And another one: Windows Aero

<comment><USER5> That's not a UI toolkit, it is/was a theme for existing UI toolkits.

<comment><USER6> Am I the only one who thought that Aero (Windows Vista/7) looked good?

</comment></comment></comment></comment></comment><comment><USER7> Content advisory: 30 MB 720p gif unironically named "performance2.gif"

<comment><USER8> Somebody read your comment and "optimized" it: meet "performance2-min.gif", now only 12.52MB.

<comment><USER8> When converted to MP4 the same video weighs only 2.46MB, and probably even less if exported directly from source, not converted from gif, like I did.

</comment></comment></comment><comment><USER9> I have to work with WPF on a daily basis. What a nightmare, and how I miss working with Qt. I wish the people responsible for WPF were forced to use it for the rest of their lives. The grid layout is broken. The stackpanel is broken. There are no sane defaults for anything. You can rotate any control - WHY? Default stackpanel has no control spacing. WPF code throws no exceptions. Bound comboboxes in datagrids have the performance of glaciers. Keyboard shortcuts trigger the decades-old 'edit field contents only transfer on killfocus' bug. Parent-windows and always-on-top is a mess. Live dom is different from your static hierarchy. I've waited for fixes to the WPF mess since.. 2007? I sense WinUI isn't it.

<comment><USER10> I am not heavy on UI development, but most of my experiences with WPF were pretty good.

In what ways grid and stackpanel are broken? They seem to perform exactly as designed (though I only have CSS to compare to, but it is magnitudes worse).

The fact, that core controls have no default spacing seems like a sane engineering decision, considering you can set it app-wide with a few lines of XAML.

Shortcuts sound like a problem for a specific scenario. The default binding update on lost focus might have been a bad decision, but even given my little experience I remember it quite well.

<comment><USER11> Why CSS is magnitudes worse?

<comment><USER12> I have no idea about WPF but CSS was really designed as a document styling system. It isn't very good as an app styling system: There's no scoping so it's really hard to know which bits of an app any CSS affects, and really hard to find all the CSS that affects a particular part of an app. It mixes styling (colours etc) with layout (flexbox). Etc.

</comment></comment></comment></comment><comment><USER13> I don't want a new native UI for Windows. I want a cross platform UI.

I am _NOT_ developing the same GUI N times for N different platforms. No way. Even very large companies like Slack are refusing to do that. They have the resources to have three or four parallel dev teams but why?

I don't care how nifty, pretty, fast, or modern this new UI is. It's not cross platform therefore it does not exist.

This is not a technical problem. Check this project out:

[https://github.com/andlabs/libui](https://github.com/andlabs/libui)

Yes it's minimal and rough around the edges, but it's the work of one developer in their spare time. If one developer hacking away in the evenings can do that, then there is no excuse.

If OS vendors keep insisting on being special and trying to herd developers into making OS-specific apps, developers will keep going to bloated but portable alternatives like Electron and Qt. Why is every new app an Electron app? Don't blame developers or Electron. Blame OS vendors.

It's 2020. We have common portable APIs for threads, networking, even 3D graphics, but not 2D GUIs. It's easier to write a portable cross platform 3D rendering engine than it is to write a portable cross platform app with a menu, a box, and a button. It's just offensive at this point.

<comment><USER14> Actually using Unity, which is made to be a 3d engine, to write a 2D GUI isn't such a bad idea when you take cross platform into account.

</comment></comment><comment><USER15> Anyone else hate shrinking scrollbars? I just want it to be there, I don't want to have to hover on it to have it actionable. I don't care the much it's small, just so long as its there.

<comment><USER16> > hate shrinking scrollbars

IMHO there are many things to dislike about 'modern' GUIs!

Back when Windows was a relatively new concept common sense things like making buttons stand out and using colour and borders to group and organize features. These things have pretty much gone out the window. Everything is a flat homogeneous dark scene.

/rant

<comment><USER17> I agree; it is full of mess. I think Xaw is fine, although many things should not need GUI at all, I think.

</comment></comment></comment><comment><USER18> Better link: [https://github.com/microsoft/microsoft-ui- xaml/blob/master/d...](https://github.com/microsoft/microsoft-ui- xaml/blob/master/docs/roadmap.md)

This has actual technical details, the roadmap, the rationale, etc.

To those wondering: this does not offer cross-platform GUI. Microsoft's (inadequate) answer to that is blazor in browsers or browser controls. When they say cross-platform support for WinUI they mean it can be targeted by libraries providing cross-platform UI abstractions, the example they give is react native.

<comment><USER19> Their answer to cross-platform is react-native. react-native-windows is built on top of this.

They've also have been the ones leading the effort to add MacOS support to react-native.

<comment><AUTHOR> Actually React Native for those that are into C++, and Xamarin for those into .NET.

<comment><USER19> Well if you want to contribute to the RN core then yes you'll use C++.

To write a RN extension for X platform you will write it in the language for that platform.

To use a RN extension you can use any ECMAScript language.

<comment><AUTHOR> You missed my point, Microsoft sells it as:

\- Windows shop deeply invested in C++ and wants to go cross platform? => React Native (playing the role of Microsoft's QML)

\- Windows shop deeply invested in .NET and wants to go cross platform? => Xamarin

</comment></comment></comment></comment></comment><comment><USER20> No! Not another UI toolkit from Microsoft!

This is like yet another messaging app from Google.

<comment><USER21> Google messenging app powered by Microsoft UI toolkit when

<comment><USER22> That would live for an instant less than the planck time.

</comment></comment></comment><comment><USER23> If you read "Qt" for every mention of "WinUI", all the platitudes still hold true, and you additionally gain mobile, macOS + Linux support.

<comment><USER10> But then you have to program in C++ or JavaScript. I recently learned the former (std17) does not have a string.split function in the standard library (though I envy the random numbers library for scientific purposes).

<comment><USER23> _> But then you have to program in C++ or JavaScript._

Bindings are available for Python, Go, Rust, C#, Java, Crystal, D, Haskell, Julia, Node.js, OCaml, and more besides:

[https://wiki.qt.io/Language_Bindings#These_are_third_party_l...](https://wiki.qt.io/Language_Bindings#These_are_third_party_language_bindings_for_Qt) (non-exhaustive)

<comment><USER24> No, there are no good Rust Qt bindings right now - it's a bit of a byzantine process to tie it all together.

</comment></comment></comment></comment><comment><USER25> The WinUI project templates[1] have had about "600 installs".

Tells you everything you need to know about how excited Windows developers are about yet-another half-baked UI framework that will likely never get critical, required features before it is abandoned.

[1] [https://marketplace.visualstudio.com/items?itemName=Microsof...](https://marketplace.visualstudio.com/items?itemName=Microsoft- WinUI.WinUIProjectTemplates)

<comment><USER26> Also, nobody is building native apps for windows anymore. Everyone is building web apps because they run everywhere, and can easily be packaged as a "native" application.

<comment><USER5> Why are people still building native apps for other platforms? Doesn't your second sentence apply to those too?

</comment></comment></comment><comment><USER27> When Microsoft switched to Flat UI it lost all ability to control the native UI platform of Windows. Thanks to Flat UI, native apps are indistinguishable from Web apps. If ordinary users can't tell a native app from a Web app why invest in native app, which only a subset of potential users can use? If you use Electron then you can use web technologies, and everyone can use your app including Windows users, Mac users, Linux users, mobile users and web users.

Yes, Electron requires more resources than native apps, but that's only a problem if you're making a trivial app such as a calculator. If you're building a substantial app then the fact that Electron apps require more memory is usually not a problem. And that's the reason Microsoft themselves uses Electron for Teams, VSCode etc.

<comment><USER28> This is the sort of logic that keeps a desktop-development plague like Electron going strong

> Yes, Electron requires more resources than native apps

It requires _orders of magnitude_ more resources. Many of us are sick of watching huge chunks of expensive computers' ample resources go to waste so that some startup dweeb can avoid hiring actual desktop development people. It is the #1 harbinger of the kind of resource inflation and lack of engineering excellence that keeps people having to buy new hardware unnecessarily, but hey who cares BeCaUsE mAh BaLaNcE sHeEtS

<comment><USER29> > Many of us are sick of ...

Not many enough to matter.

> who cares BeCaUsE mAh BaLaNcE sHeEtS

It is an actual concrete fact that in many (most?) cases the total cost of developing and owning an Electron-powered app is going to be lower than a real native desktop application given that you can reuse the same code/people/skills you already employ on your website and mobile app. Building the same UI n times is crazy.

Are you just complaining about that fact or actually suggesting that we ignore it and stand up against "resource inflation" as a matter of principle? I can't imagine a startup CEO going before their board with a slide deck and saying "We're making progress on a unified app experience across web and mobile that should reduce our development costs. We were going to do the same thing for desktop too, but then we realized that Engineering Excellence™ meant we had to hire a whole new team of developers. No, the app isn't performance constrained, why do you ask? Sure, everyone else is using Electron but everyone else is _wrong_."

<comment><USER9> You sound like one of the reasons the Epic Background Launcher takes up 293 MB of ram when idling in the background.. I was recently trying to figure out why my nephew's 16gig machine was running so slowly. It turned out, it was because he had just installed loads of crap like that. I can now see, what he really needed, was 32gig of RAM and 128 cores instead, to run your electron apps.

</comment></comment></comment></comment><comment><USER30> Can someone help me make sense of the million and one different UI platforms on windows and why I should even consider looking into this? Being a Windows dev is very confusing when it comes to UI

<comment><USER31> Yes, macOS's approach of "Cocoa or GTFO" must be seen as as strength.

<comment><USER32> It's really interesting to me that stark difference between MS's GUI framework fire-and-motion, vs macOS's stability. Why couldn't MS do that? They have c# vs macOS's objective-C, perhaps it's because MS wanted to have a decent C++ UI framework, but the Windows-8/modern app direction they took added to the fragmentation.

<comment><USER33> WinUI 3.0 finally offers some of the "Carbon" to Windows 8's "Cocoa" (in XAML Islands and better overall interop with Win32 and older OS releases). Microsoft's attempt to go "Cocoa only" missed the "Carbon" stage that that their own application teams internally warned them they would probably need (as those same teams had warned Apple about in the originally "Rhapsody" plan to skip an intermediate stage like "Carbon" entirely). Maybe after WinUI 3.0 has been out the door for a while and more apps transition to targeting WinUI 3.0 they can think about killing Win32 only and going "Cocoa only".

</comment></comment></comment></comment><comment><USER34> They should just return to WinAPI. It works and looks good. Their phone platform is failed, so those terrible UI are not needed anymore. Return to Windows 2000 style, it'll look modern nowadays. Find out old code which allowed for proper skinning and let users decide how they want their UI to look.

</comment><comment><USER35> You'd think that Microsoft would internalize that even they strategically are treating the OS as a commodity now, and wouldn't waste time on a platform specific UI kit (even if it's their own platform).

Also, fool me once...

<comment><USER36> > Also, fool me once...

To be fair, their past offerings still work fine, they're just in maintenance mode. Which is exactly what a lot of people want- they stop changing and everything you built with them just keeps working.

<comment><USER37> You also need a framework that stays up to date. As of now they have a whole list of frameworks in maintenance but nothing that stays cutting edge. At least we need a clear upgrade path which doesn't exist.

<comment><USER38> what do you mean by "stays cutting edge"? do you expect existing code to get UI update for free? I would love to have that natively, but I'm not sure how realistic it is.

I work on an application that targets both windows and mac. we have windows UI code that was written ten years ago that still works and looks more or less okay. on the other hand, every year we have to deal with breaking changes and new bugs from framework updates on the mac side.

<comment><USER35> I expect support for new stuff like touch events, hidpi, etc. even if it takes some code changes on my side to use.

It's not like what's expected out of desktop GUIs have been completely static over this time frame.

</comment></comment></comment></comment></comment><comment><USER39> Sad to see .NET core not supported (yet). I thought all new development was supposed to target .NET core and now this ? Come on Microsoft, you can do better (especially that NET 5 is coming in November)!

I wonder if WinUI is truly more performant than Winforms. Winforms hooks directly into WINAPI. How can you be faster than that ?

<comment><USER40> WinUI 3 supports .NET 5 : [https://youtu.be/tasbSc3771A?t=186](https://youtu.be/tasbSc3771A?t=186)

<comment><USER39> It says here [https://docs.microsoft.com/pl- pl/uwp/toolkits/winui3/](https://docs.microsoft.com/pl- pl/uwp/toolkits/winui3/) that .NET core is not supported, but maybe they'll fix it by Nov.

</comment></comment></comment><comment><USER41> "Works with your favorite cross-platform technologies."

Does this mean this can be used to create Desktop applications that work on Linux & OS X?

<comment><USER5> It's referring to React Native and Xamarin, whose Windows implementations are built on top of UWP XAML/WinUI. Xamarin only supports Android and iOS besides Windows. For React Native, there's additionally a Mac OSX implementation that Microsoft has been developing. At one point Canonical was working on a desktop Linux implementation but it seems to have been abandoned from what I can tell.

</comment></comment><comment><USER42> Meh, Win32 forever.

<comment><USER43> What exactly do you mean by Win32? GDI?

<comment><USER44> This is what a Win32 app's source code looks like:

[https://www.paulgriffiths.net/program/c/srcs/winhellosrc.htm...](https://www.paulgriffiths.net/program/c/srcs/winhellosrc.html)

<comment><USER38> maybe I'm just ignorant, but I always have a chuckle at stuff like this:

      wndclass.cbSize         = sizeof(wndclass);

why does a struct need to be told its own size?

<comment><USER37> Because different versions of the struct have different sizes. That's a C artifact.

<comment><USER38> I figured it's one of those structs where the macro can resolve to a few different types depending on what's #define'd, but the implementation should still be able to use sizeof wherever it's needed.

I do believe there's a good reason; I just can't figure out what it is.

edit for any curious readers: I found an answer here [https://stackoverflow.com/questions/30416191/why-do-some- win...](https://stackoverflow.com/questions/30416191/why-do-some-winapi- functions-need-sizes-of-structs-passed-as-their-parameters/30416321)

<comment><USER37> You can and should use sizeof in your code. The Windows code needs to know the size so it knows what version of the header the code was compiled against. There are probably other ways to do this but sizeof is not bad. That's how they can get backwards compatibility over decades.

</comment></comment></comment></comment></comment></comment></comment><comment><USER45> AFAICT, this doesn't seem to fix the performance issue of the modern Windows UI, even though it claims so. I've always been saddened by the modern Photos app taking several seconds to boot, compared to the good ol' Picture and Fax viewer taking a blink. Considering this brand new UI toolkit is just a rehash of the framework Microsoft were using internally, and probably also used by the Photos app, how can we expect to gain a performance boost from WinUI, when they cannot fix the performance issue of their own apps?

<comment><USER5> The claims of improved performance are meant relative to web/Electron or WPF apps I think. There's a lot more that affects app performance than the UI framework it uses though ...

</comment></comment><comment><USER46> It's quite humorous to see a picture focusing on a Microsoft engineer clearly holding up a 13", non-touchbar, MacBook Pro next to the heading "The Future of Windows Development" ;)

<comment><USER47> It runs Windows :D

</comment></comment><comment><USER48> > This project collects usage data and sends it to Microsoft to help improve > our products and services. See the privacy statement for more details

Telemetry to help your own products or Microsoft?

<comment><USER49> Its usage/install stats for the product itself, so Microsoft. They make an excellent free telemetry product if you want to use one in your own app.

</comment></comment><comment><USER50> As someone who used to make a bunch of WPF apps, and hated the framework from day one almost 15 years ago (it was a half-baked, over-/underdesigned mess that felt dated on release day, and was never updated to take advantage of newer C# language features), did things ever improve with Metro or UWP?

At least they got rid of that buggy crash-prone Blend designer (that wasn't truly WYSIWYG) and the idea of using DI for design-time data instead of just doing hot-reloading during runtime (which I believe they finally embraced, after AmmyUI showed the way).

<comment><USER51> UWP is WPF done right. You were right about the problem with WPF. The other problem was that it was very different from WinForms. But WinForms was also fundamentally broken, in a way that didn't appear until you had to make anything larger than a basic calculator app. UWP fixed all of that. If you take the time to learn it, it makes a lot of sense.

<comment><USER52> That's the first time I've heard anyone complement UWP. I thought it doesn't support anything useful like datagridview?

<comment><USER5> Stuff like datagrid tends to live in the Windows Community Toolkit ([https://github.com/windows- toolkit/WindowsCommunityToolkit](https://github.com/windows- toolkit/WindowsCommunityToolkit)) these days. Though there's apparently an effort to reimplement it natively in WinUI ([https://github.com/microsoft/microsoft-ui- xaml/issues/1500](https://github.com/microsoft/microsoft-ui-xaml/issues/1500))

(one difference is that the WCT is mostly C# and WinUI/the built-in controls are C++)

</comment></comment></comment></comment><comment><USER53> I might be new here but don't understand the hostility of these comments. Can someone chime in and explain?

<comment><USER44> First, there was Win32. That is still supported, and works reliably. It's a plain C interface, and it works on all versions of Windows. You have to do your own anchoring logic (ie all controls are positioned like HTML 'absolute'), and lots of stuff yourself, but it works, it's fast, and the docs are good.

Then, in 2000, Microsoft gave us .NET and WinForms, and we all thought that we'd be cross-compiling our C++ apps so that they ran inside of the hybrid native/.NET compiler called C++/CLR, so that we could take advantage of this improved UI toolkit. From C#, WinForms worked great. From C++, not so. But we thought that maybe we could write our GUI in C#, and interface to C++ for the heavy lifting/legacy code. I tried it a bit, and it was doable, but it ended up being very clunky to have this giant divide between the .NET world and the native C++ world.

Fast forward a couple of years, and Microsoft started talking up XAML, and it's native Windows Desktop incarnation called WPF. It had a browser sibling, which was Silverlight. This was a completely different to WinForms, and it was the future of Windows UIs. I tried it a bit. It made your app startup slowly, because it was now a .NET app. There were some interop issues between plain old C++ code, and C++/CLR, but it was OK.

Not long after that, Microsoft started talking about Windows 8, UWP, and Windows on ARM, and that's kind of where I lost track. With Windows 8, there were going to be a variety of ways that you could build desktop GUIs. Some of them seemed to be inherited from XAML. But now, instead of C++/CLR, you would use some kind of COM 2.0 thing. So you didn't need to build a hybrid .NET app, but the API wasn't great. In addition, Microsoft supported some kind of HTML- based app - which was some kind of thing inspired by Electron... but running on the IE engine instead of Chromium.

And now... this.

I don't know what most people ship these days, when they build Windows UIs. It's a mix of Electron (eg Slack, VS Code), as well as QT, and good ol' Win32, that we've had since the 90s.

So this is why people are tired. Microsoft keeps shipping yet another UI framework - and the people have stopped believing that they can invest in this thing, which is inevitably going to be replaced by yet another thing in 3 years time.

If you stick to plain ol' Win32, you can be pretty sure your app will be trivial to compile and run for decades, so that's what I do for little Win32 UIs.

<comment><USER54> The thing about especially some of the more recent efforts is: the approach might have made sense when Microsoft was a monopoly and there was lots of interest writing software for Windows.

But suddenly targeting Windows is much less interesting, but they still have the monopolist's arrogance: "You will rewrite your app to work on our new UI framework, right? Right...?" What actually happens is that every deprecation and every new thing weakens their ecosystem. Their biggest draw is in legacy software, and they variously want to throw out their legacy support, or create tomorrow's legacy today with new frameworks that end up abandoned.

<comment><AUTHOR> I still find interesting being able to target 85% of desktop systems, including laptops and 2-1 detachables out there.

And a large majority of factory and laboratory automation control systems.

</comment></comment></comment></comment><comment><USER29> Setting aside all of the discussion about Microsoft's perennial new UI frameworks... does anyone else really dislike the Fluent design language? It feels weird and mobile-optimized and spaced-out and infested with odd special cases, and it seems like every classic-style Windows component they replace with the new style of UI gets simultaneously dumbed-down and harder to use. When Google released Material Design I didn't like that either, but it's grown on me. Fluent Design still hasn't clicked with me.

<comment><USER9> Amen bro. What I lament the most, is that navigation guidelines that seemed set in stone between 1987 and 2005, are starting to slip. Things like how to navigate with keyboard, or that typing in a list will incrementally-search to what you typed, seem to fall away. E.g. the "Apps and Features" screen in windows, will not let you type directly in the scrolling list. However, I can see that after some recent windows update, the screen now has a Search field, god forbid.

</comment></comment><comment><USER47> > With 1 billion devices running Windows 10

Just like Java

</comment><comment><USER55> The github initial commit was 16 months ago.

From github...

 _The Windows UI Library (WinUI) provides official native Microsoft UI controls and features for Windows UWP apps.

WinUI is the easiest way to build great Fluent Design experiences for Windows.

WinUI can be used in any Windows 10 UWP XAML app, or in a Xamarin.Forms app running on Windows 10 using native view embedding._

</comment><comment><USER49> This feels...complex. Why the strange app models (uwp, xamarin)? Where is the normal support for just firing this up in any desktop app written in any language? I don't want to learn about xaml islands or fear that a browser runtime somehow loads into my app. Is this product not for me?

<comment><USER5> The point is supposed to be that it can be optionally used with any of those app models or cross-platform frameworks, not that it relies on them ... but I guess it didn't convey that to you clearly enlough?

<comment><USER49> Not clear enough no. A minimal hello world with the smallest possible examples for different languages would be good.

</comment></comment></comment><comment><USER56> It's utterly confusing. What is the recommended upgrade path for classic WPF .NET Framework apps?

<comment><USER37> The only upgrade path is to rewrite large parts of your app.

<comment><USER57> Well no, one upgrade path is to port to .NET Core 3.1 which supports WPF apps.

</comment></comment></comment><comment><USER58> They seem to be putting a lot of effort on React Native for Windows and Mac ([https://github.com/microsoft/react-native- windows](https://github.com/microsoft/react-native-windows)). If you don't want to go full Electron, I think React Native ticks a lot of boxes (cross- plat, accessible for entry level/JS developers, native performance for the most part).

The thing that was missing before was a nice UI framework to go along with it; hopefully this WinUI thing addresses that.

<comment><USER59> Unfortunately, React Native is inherently tied to UWP and the Microsoft Store, which are both utter failures IMO. When people use Windows they expect an open computing environment. They expect custom installers, apps that can scan other process' memory (e.g, Cheat Engine), etc. They don't want Apple's walled garden in Windows. This is _especially_ true in corporations where IT, _not Microsoft_ , act as the ultimate authority over a machine.

<comment><USER5> RN isn't tied to the UWP app model nor the Store. It's built on the UI framework that was created for UWP, but (as the link for this thread mentions), that can be used outside the UWP app model (currently via XAML islands, in future via WinUI 3) and apps in the UWP app model can be distributed outside the Store anyway.

In my personal opnion, it might be a good thing that apps that can read each others' memory, etc. can exist, but they shouldn't be the default, users should have to explicitly opt in to allowing that, and not in a way that will become just another dialog box for most people to mindlessly click OK on.

</comment></comment></comment><comment><USER60> Maybe it's because I'm not a native English speaker, but I fail to grasp how "blistering performance" is supposed to sound like something good.

<comment><USER61> The Merriam-Webster[0] dictionary offers the following definitions that might help:

1: extremely intense or severe; "blistering heat"

2: very rapid; "a blistering pace"

[0][https://www.merriam- webster.com/dictionary/blistering](https://www.merriam- webster.com/dictionary/blistering)

</comment></comment><comment><USER62> It took only few years for them to dump UWP, they are going full google now.

P.S. Actual download link: [https://aka.ms/winui/alpha/projecttemplates](https://aka.ms/winui/alpha/projecttemplates)

<comment><USER5> WinUI is basically just another name for the UI framework from UWP, just decoupled from the OS and with the namespaces changed from Windows.* to Microsoft. _

<comment><USER62> The it has become an abandonware to an even bigger extend? Is this their signalling?

<comment><USER5> ? it's not an abandonware if they're working on major upgrades?

</comment></comment></comment></comment><comment><USER63> Every UI toolkit on Windows is/was based on Win32 (except XAML). There are so many places where it leaks it's not even funny anymore.

UI consistency isn't Windows strongest point. I'm glad they're trying to fix it.

</comment><comment><USER64> I am going to echo other people's sentiments with this. I am very hesitant to even bother looking at this because it yet another UI platform for Windows.

WPF, UWP, SilverLight, Metro. Am I forgetting any?

<comment><USER65> If you sift through enough settings panels and preferences dialogs, you should see everything going back to DOS widgets in there.

<comment><USER66> Wbat is a DOS widget? The earliest stuff is from Windows 3.1.

<comment><USER67> Turbo vision [https://en.wikipedia.org/wiki/Turbo_Vision](https://en.wikipedia.org/wiki/Turbo_Vision)

<comment><USER66> And where you can see it in Windows 10? Honest question.

</comment></comment></comment></comment></comment><comment><USER68> At this point I'm going to stick with React. And I wrote a few applications in XAML. And got hell for it from other developers who prefered Win32 and MFC.

</comment><comment><USER11> They claim to be interoperable with electron Cf _Works with your favorite cross-platform technologies_ What does this actually mean?

</comment><comment><USER69> Can they just sack people instead of projects?

</comment><comment><USER70> Can someone confirm as it's not clear from the article: WinUI apps will run _only_ on Windows 10, correct?

</comment><comment><USER71> I see no reason to use this proprietary Win10-only Microsoft framework instead of HTML + JS + Electron.

<comment><USER72> It's open source.

</comment></comment><comment><USER73> "Modern UI" is not a selling point.

</comment><comment><USER74> Another half-baked framework that will torture the unfortunate developers. There is no reason to use these mess except if you're writing a software for MS-specific niche platforms such as HoloLens, XBox and alike.

For UIs that can be achievable by web browser, we use web browser. For video games, we use dedicated libraries. For native utility programs, we use cross platform libraries or maybe native libraries.

They added yet another half-baked library that only works on MS products and the only developer who has a misfortune to use WinUI will be the one who has to support very narrow platform(one specific model of MS hardware) with the demand of very narrow customer(just one company asking a utility tool and specify the exact UI library it use).

Everyone should read the xkcd 927 before inventing their own yet another library. [https://xkcd.com/927/](https://xkcd.com/927/)

</comment><comment><USER75> Remember telemetry: [https://github.com/microsoft/microsoft-ui- xaml/blob/master/p...](https://github.com/microsoft/microsoft-ui- xaml/blob/master/privacy.md)

</comment><comment><USER76> Shame they didn't make this 64-bit only.

</comment><comment><USER77> I bet it will be abandonware by 2023.

</comment><comment><USER78> Can someone explain exactly who this targets?

Outside of Microsoft (including Office), who actually develops native windows apps which would use this any more?

\- Things like games or steam don't use native+OS-specific UI. \- Internal company software (including finance, etc) seems to always be web-based. \- Tools like slack, etc all seem to be Electron.

Any "off-the-shelf app" will probably want something that's cross platform -- I don't think anyone targets "windows only" any more, right?

<comment><USER49> I'm guessing 90 or 95% of enterprise desktop apps (trading, cad, Point-of- sale, medical, ...) is windows like they always were. Sure, a lot is moving from the desktop because it should be webapps, but few companies outside a very small niche (those that make apps for broad markets of consumers like Spotify or Slack) worry about cross platform.

The exception is and always was media creation, where Mac always had a foothold.

But for every normal boring enterprise out there, so long as every customer is a business where everyone runs windows, that's your target.

</comment></comment><comment><USER79> To be honest, I would prefer OSes to just offer some rendering primitive instead. Remove the "layers of crap" (I'm quoting John Carmack), and let developers do whatever.

At this point HTML+JS is one option that gives a good amount of flexibility and support, and it looks like OSes should just be a browser. In my view, any OS should be able to use any windowing manager at the same time, provided they can use the same rendering core.

I like building simple interfaces using SDL or SFML, and as long as you only redraw when needed, it's just good enough. The godot editor works that way, that's how it's able to work on all platform: you have a small throbber that turns indicating when it's redrawing.

<comment><USER80> That kind of interface will be "interesting" to use while blind.</comment></comment>


Announcing SF Hack & Tell  - <AUTHOR> http://www.meetup.com/SF-Hack-and-Tell/ We're excited to announce the inaugural SF Hack & Tell meetup where geeks present their projects to other geeks. We're looking for 5 minute demos of something you've built or are working on and think is awesome <comment><USER2> Gonna be sweet! who else is coming?</comment>


Taxing Art: "Hacking" the tax code with art or design  - <AUTHOR> http://www.betatank.net/taxing-art.html

<comment><AUTHOR> Another object from the series: <http://www.betatank.net/B-side.html>

I thought this project nicely embodied the playful nature of the hacker mindset in a non-IT field.</comment>


Programming Language Breakdown for the HealthCare.gov Website - <AUTHOR> http://www.randalolson.com/2014/05/22/programming-language-breakdown-for-the-healthcare-gov-website/ <comment><USER2> At least this pile of code turned into _something_ , unlike my local Cover Oregon which has been killed following a $250 million outlay and still no end in sight [0].

Funny that oft-mentioned Oracle used their work with Oregon to tout how their enterprise prowess "plays an essential role in establishing Oregon as a leader in healthcare reform", but the link to the source piece is now dead [1]. I did, however, save a copy of this PR fluff when it came out in 2012, just to see how it would all pan out... [2].

[0]: [http://www.latimes.com/nation/nationnow/la-na-us- attorneys-o...](http://www.latimes.com/nation/nationnow/la-na-us-attorneys- office-probes-oregons-health-insurance-exchange-20140521-story.html)

[1]: [http://www.oracle.com/technetwork/articles/entarch/oeea- home...](http://www.oracle.com/technetwork/articles/entarch/oeea- home-280423.html)

[2]: [https://www.dropbox.com/s/jnt15vqdc15aopj/state-of- oregon-18...](https://www.dropbox.com/s/jnt15vqdc15aopj/state-of- oregon-1864645.pdf)

<comment> vhost- Cover Oregon was a disaster. That work should have been done by an agency here in the state. I don't understand the logic of government sometimes.

<comment><USER3> I once went out on a Tinder date with one of the IT managers for Cover Oregon (in December/January). She was a music major at Denison and apparently Oracle was vacuuming up everyone with a pulse and a BS in DC and the East Coast to manage their contractors. I guess she was doing pretty well too since she could afford to go to Sun Valley once a month from Portland. What I wonder is why couldn't Oracle find managers with more experience?

<comment><USER4> Incompetence?

<comment><USER5> I've met a lot of Tier 1 contracting consultants. Smart people, excellent communicators, well presented and great at generating ideas, but with zero problem solving experience they were no better than a fresh graduate.

You need a few seasoned professionals who have seen it all to keep the children in order. Reminds me of my year 12 chemistry teacher who was out of the class for a minute and on returning had the class evacuated within seconds. He recognised the smell of mercury vapour from a burst thermometer the second he walked in.

</comment></comment></comment></comment></comment><comment><USER6> I've recently been solicited by a couple of recruiters, on behalf of contractors who've got some of that work. One of them in particular amused me by trying to hard-sell a six-month contract job with a firm which organized a "career fair" an hour south of here on two days' notice. When I showed disinterest, he "sweetened the pot" with an offer of a $25 gift card. That was when I told him not to bother contacting me again. (It's not even so much that he tried to bribe me, as that he tried to bribe me so _low_. I mean, really -- $25? What kind of naïf does this jackass usually deal with?)

If that's the at all representative of recruitment efforts around healthcare.gov, then I'm not sure exactly what it says about the quality of the staff working on the project, but I can't imagine it saying anything good; the best of them are probably quite bright, painfully inexperienced, and not yet equipped to understand how awful this project is going to look good on their résumés -- and I'd tend to suspect that the best of them are a small fraction of the whole. Between that, and the inevitable bloat and quality issues of any federal technology project with this many fingers in the pie, I'm really not surprised the whole thing has turned out to be such a rolling catastrophe.

<comment><USER7> Based on the last notice they sent out - around 400 people are working on this mess. I got a feeling they are more concerned with just filling the positions then hiring (and paying) experienced developers.

<comment><USER8> Based on what I seen in hacker news few month ago, a guy trying to hire people on healthcare.gov described it somewhat like this: we are saving the project and are looking for people. We hire them for few months stints (3-6 months), they work super hard that time and then leave. He mentioned occasional sleeping under desk, it did not sounded like a joke.

If true, they have perpetual death march with constantly changing workforce and everyone being essentially newbies on the project. How many experienced people can you get with that sell?

<comment><USER9> "Saving the project" has become a massive red flag for me.

In my experience, when anything about "saving" is mentioned, it means a handful of people started the project, made a hash of it, then after a few short weeks passed it off to another team who were tasked with "saving it". This second team blames all their failures on the first, thinks that they are making the best of a bad situation, then after a few months passes it off again. The new people comfort themselves with the same "saving the project" narrative for a while more until it again comes time for somebody else to save it.

Each team after the first lasts only as long as they can plausibly believe that everything is the fault of the people that came before them. As soon as they realize that _their_ shit stinks too, they bounce.

In the end, 90%+ of the man hours in a project were put in by people who thought they were saving it.

</comment></comment></comment></comment><comment><USER10> So I have a theory:

[http://www.ohloh.net/p/openjdk/analyses/latest/languages_sum...](http://www.ohloh.net/p/openjdk/analyses/latest/languages_summary)

The numbers even lineup fairly well in the 2010-2012 time frame which is around when the project would have started.

</comment><comment><USER11> I still don't understand how they have that much code. 3.5M lines is still crazy - what exactly is all that goop doing?

<comment><USER8> Maybe they counted all dependencies or libraries. If you add all that to any project, size will grow ridiculously big. I suspect so because the coding part of the project too only half a year or so, so they could not possibly write that many line by hand.

<comment><USER12> > Maybe they counted all dependencies or libraries.

This is really the only way I can imagine they got to that number.

Spring, a beastly enterprise Java codebase if ever there was one, is still "only" 460K lines of Java code according to cloc.

</comment></comment></comment><comment><USER13> With all the healthcare.gov hate, I've been wondering why there's barely any scrutiny towards coveredca.com -- at least I haven't seen any.

<comment><USER14> I just tried to go through the coveredca.com application process and it was a nightmare. It took me 5 hours, spread over two days, 3 tech support calls (I _never_ call tech support!), and 3 different web browsers to get through it.

1\. Fill out the very first part of the application - just basic name and address - click "continue". Error page. WAT.

2\. Notice they have an outline view of the application. Use that to get to get past the error page. Now it's asking for my "Certificate of Citizenship" number. WAT. No form I have ever filled out - tax returns, financial aid forms, employment forms, DMV forms - nothing has ever asked me for this. Spend a day searching for it.

3\. Finally find the number, fill it in, click "continue". Error page. WAT.

4\. Use the outline again to get to the income section. It lists me twice, as if there are two separate brikis98's in my household. It even asks me "how is brikis98 related to brikis98"? WAT.

5\. Call to tech support #1. After 45 minutes of messing with the application, clearing cookies, logging out/in, we couldn't figure out how to remove the extra "me". There is no way to completely restart an application. Solution from tech support: sign up for a completely new account - new user name, password, etc - but don't enter your SSN too early or it'll detect the duplicate account. WAT.

6\. Sign up for a new account. Start filling out the application from scratch. Error page. WAT.

7\. Use the outline trick again. Go to income section. No duplicate "me" this time - yay! However, now it asks for "monthly income". I just left my job, so my monthly income is zero... but I obviously had a monthly income the first 5 months of this year. Call to tech support #2. They tell me to take all the money I've made this year, divide it by 12, and put that as a monthly income. WAT.

8\. Finish filling out the application. Get to a page that has a button to "See Eligible Plans". Click the button. Error page. WAT. There is no outline view to get past this one.

9\. Call to tech support #3. After half an hour more, the suggestion is to try another browser. I switch to Firefox. It tells me coveredca.com does not have a valid SSL cert. WAT.

10\. Switch to Safari. No complaints about the cert. Log in, click the "See Eligible Plans" button. The page loads - yay! However, the UI is broken, with strange scrollbar-in-a-scrollbar setup that makes it very tough to browse the plans. Download PDFs of each one for easier reading.

After all that, I found that the plans were all way overpriced for the comically bad benefits they offered.

<comment><USER15> I ended up signing up for one, and I've been pretty happy with it, not too expensive, and decent when I've tested it. I also experienced a bunch of errors on the way to getting there.

The worst part, though, was after going through the 500 error gauntlet, hearing the person in charge of CoveredCA go on NPR and just pat himself all over the back for how great a job they had done, and much better the result was than Healthcare.gov. After spending only a few hundred million to create that hellish mess. One of the few times I've ever yelled at my radio.

</comment></comment></comment><comment><USER16> In what way is Maven a programming language? Is it simply to disambiguate other XML configuration from the build declarations?

<comment><USER17> How is 50k lines of build declarations even possible?

<comment><USER18> That's not actually surprising--it's really easy to have a 1500+ line long POM with how verbose it is. Depending on how many maven modules there are, I could see 50k pretty easily.

</comment></comment></comment><comment><USER19> Url changed from [http://www.randalolson.com/2014/05/22/programming- language-b...](http://www.randalolson.com/2014/05/22/programming-language- breakdown-for-the-healthcare-gov-website/), which points to this.

<comment><USER20> I would argue that the graphical breakdown on the original link is more helpful to grok the breakdown of languages than the original reddit post.

<comment><USER19> Ok, we changed it back.

</comment></comment></comment><comment><USER21> from [http://www.enterprisetech.com/2014/04/04/hyperscale- lessons-...](http://www.enterprisetech.com/2014/04/04/hyperscale-lessons- healthcare-gov/):

"The way that a lot of the code was developed for the application was using automated modeling tools" he says. "They configured their modelers to [generate middle-tier Java objects] in a three-tier style architecture. Essentially, they created a layer of abstraction that didn't need to be there."

</comment><comment><USER22> I've got to work on my submission titles.

> Healthcare.gov developer provides estimate in response to "500M lines of > code" _5 hours ago_

The chart from the submitted blog post does provide a nice visual perspective of the breakdown that you don't get from the source alone.

[http://www.randalolson.com/wp-content/uploads/healthcare- gov...](http://www.randalolson.com/wp-content/uploads/healthcare-gov-code- count.png)

</comment><comment><USER23> What could you possibly need that many individual yet mostly similar languages to accomplish? Even if we grouped things like XSD, XSLT into the XML category or Groovy and JSP into the Java category it feels silly to need this many languages in a single app.

I can only imagine what kind of things all the long tail files are doing. A smattering of Perl and Python, then a lonely VB and ASP.NET page?

<comment><USER24> I've used cloc a fair bit... cloc is a bit sketchy in recognizing code occasionally. I wouldn't trust the "tail" of its output, it's frequently wrong or misleading down there.

<comment><USER25> Yep. In the same Reddit thread, someone ran cloc on the Linux Kernel, and it even reported one ASP.NET file in there too (just like it did with the Healthcare.gov source):

[http://www.reddit.com/r/dataisbeautiful/comments/265yns/mill...](http://www.reddit.com/r/dataisbeautiful/comments/265yns/million_lines_of_code/chogad9)

</comment></comment></comment><comment><USER26> Seems like a result of alot engineers and an inhuman level of understanding the systems architecture. Reminds me of the Lsd usage for IBM. There must be an outrageous number of bugs and exploits in the code. Google Chrome is something like 0.06 per thousand lines of code.

</comment><comment><USER27> At the recent dotScale conference in Paris, Robert Kennedy explained how he managed to fix the site.

See: [https://twitter.com/search?q=%23dotScale%20Robert%20Kennedy](https://twitter.com/search?q=%23dotScale%20Robert%20Kennedy)

</comment><comment><USER28> So the user-facing portion of healthcare.gov is written with JSF then?

</comment><comment><USER29> Well there's 2.4 million lines of Java that will have to be maintained for the next 100 years.

</comment><comment><USER30> wasn't this floating around 6 months ago? do we really need to discuss this again?</comment>


HTC Developer site goes live: OpenSense SDK and kernel source offered - Suraj-Sun http://www.htcdev.com/

<comment><AUTHOR> I wish these big manufacturers actually start offering the source code from git trees and keep updating them..

These tarballs are usually code drops that happen when device reaches market and are mostly never updated afterwards :(

<comment><USER2> > These tarballs are usually code drops that happen when device reaches market > and are mostly never updated afterwards :(

considering how often these devices get updates after reaching the market, I'm inclined to say that you don't miss much :(

</comment></comment><comment><USER3> I am actually against this. Regardless of how nice this is, this goes against the OS nature of Android. HTC is treating android as a free (beer) operating system (bla bla bla microsoft/apple). But when they realize that their phones are not top notch, they still want to proceed like MS did, with vendor-lock- in.

The point of Android is that its open. If you feel its missing 4g, send your impl to the team and it will be open sourced with everything else, if you feel it's missing stylus support, send that too. Etc. This way any phone supporting the hardware reqs will be able to take advantage of it.

Instead HTC is taking many many months to port their POS software to the new Android version. In the end their software sucks and any benefit it has is diluted in the shit. However they could have easily contributed any benefits to the main project and just helped out which is the goal of OS.

<comment><USER4> I totally agree. Not only is Sense trying to create a different Android environment (visually), it's also not really useful most of the time.

I heard that this improved a lot in the last versions (my last Sense phone was a HTC Hero and no, I'll certainly won't buy from them again). My brother is satisfied. Still - this adds to the fragmentation. Trying to make it available (in a poor form imo, with these code drops) is just a try to strengthen the self-made split in the Android UI world. "Please use this SDK to support our branding".

What?

</comment></comment><comment><USER5> Nice to see HTC invest some time and money into this dev site, I'm also excited to see how the bootloader unlocking tool will function.

Looking Good!

</comment><comment><USER6> I was thinking of getting a Samsung Galaxy S II next, but maybe I'll just go with HTC again... Hopefully the custom ROMs will have even better support for HTC phones now.

<comment><USER7> Considering that Samsung sent a batch of Galaxy SII phones directly to the Cyanogenmod development team makes me think that the SII will have even better support...

<comment><USER6> Isn't code/drivers more valuable than the actual devices, though?

</comment></comment></comment><comment><USER8> I know this is a bit of a nitpick but am I the only one who cringes every time a new developer site like this requires logging in to look at a code sample or download an sdk? If you want developers to spend time and money enhancing the value of your platform you ought to make it a low friction process.

</comment><comment><USER9> On a cooler note, they're releasing kernel source (as they should (have been/be) doing, but also will be launching a bootloader unlock tool, so that we can actually make use of the kernel source!

<comment><USER4> Which, according to what I've read, will require that you give up your warranty, at least partially..</comment></comment>


Zynga, Facebook Spark 51% Jump in Value of Top Web Startups - <AUTHOR> http://www.businessweek.com/news/2011-04-07/zynga-facebook-spark-51-jump-in-value-of-top-web-startups.html

<comment><USER2> Nyppex, the company the provided the figures for this story, needs to avoid reporting such ridiculously precise numbers:

"Zynga…rose 81 percent in value…"

"Facebook…climbed 57 percent…"

"LinkedIn Corp.…rose 43 percent…"

"…Groupon Inc. increased 19 percent…"

"Twitter Inc.…rose 7.7 percent…"

These are not publicly traded companies. These valuations are not precise. Valuations almost never are, unless some sort of transaction is taking place, and none of these companies is or was involved in a transaction at either the prior or more recent valuations.

False precision is irritating and—ironically—encourages sloppy thinking.</comment>


This HN story gave me an app idea, discuss - <AUTHOR> I take the city bus a lot. I like the price and I like the culture. You can be silent and anonymous on the city bus. In uber pool you have to be a little "on" when you get in the car and be polite that's very taxing when you are tired and just want to move from point a to point b.
Seems like Uber/Lyft (or some new player) could launch a new bus app that has:
Anyone can buy/rent an old airport shuttle bus and start earning money right away
Users of the "bus app" would walk to a stop, enter where they want to go, and get a instantly reply of something like "for $1.55 you'll have a 7 min wait and walk 450 ft." or "for $2.35 you'll have a 3 min wait and walk 1,450 ft."
The backend algorithm can route the shuttles more effectively than traditional bus routes and compete on price with city bus system.
Original story: https://news.ycombinator.com/item?id=15676682 <comment><USER2> [https://www.magicbus.io/](https://www.magicbus.io/) is in that space. [https://techcrunch.com/2016/01/18/magic-bus-aims-to- magicall...](https://techcrunch.com/2016/01/18/magic-bus-aims-to-magically- ease-silicon-valley-commuter-woes-with-city-to-city-transportation/)</comment>


I was frustrated with reading Twitter threads until today - <AUTHOR> I was frustrated with reading twitter threads until today I searched and found some good online tools that can unroll threads and let you read all in one place. And beautiful there are bots also.
1. ThreadReaderApp.com also has a bot 2. https://mythreadreader.com/ I think this is pretty new but seems better and fast. Probably get a bot soon.
Happy reading twitter threads. <comment><USER2> I actually hate this app and bot. It always pollutes the normal twitter threads which seem to have been greatly improved recently

<comment><AUTHOR> Strange, somehow i find it easy to read long treads using this. I am usually lost otherwise :)</comment></comment>


How exercise in old age prevents the immune system from declining - <AUTHOR> http://www.bbc.com/news/health-43308729 <comment><USER2> I've been working on a product to help families stay more connected with the elderly people in their lives, [https://nanagram.co](https://nanagram.co). In addition to spending a solid amount of time w/ my 94-year-old Grandpa the past couple years the project has been a fascinating journey learning about life after 80.

It's so awesome to see an 82 year old guy on his road bike in the video on this article!

Susan Pinker has a fascinating Ted talk on the secret to a long life. For years I'd always assumed things like diet and exercise would be the top factors. But according to Pinker social integration is the top factor, even higher than drinking and smoking (which, somehow, are higher than exercise).

[https://www.ted.com/talks/susan_pinker_the_secret_to_living_...](https://www.ted.com/talks/susan_pinker_the_secret_to_living_longer_may_be_your_social_life)

This study is about endurance cyclists, showing them riding in social groups. Is exercise really the top factor here? Or is it riding in social groups? Maybe it's a combination of both.

I've seen the impact regular exercise can have on my own physical and mental health and on my Grandpa's. Past age 90, exercise can become a real challenge. At this stage, my Grandpa has a couple in-home nurses who visit and help him complete various exercises each week, lifting his arms above his head, moving his legs, etc. Other than that, I try and visit him as often as possible. We do simple things, like shop for groceries together, to keep him moving.

One of the most eye opening experiences for me on old age was about 18 months ago just after my Grandpa stopped driving at age 93. I started visiting him more and we began a genealogy project of sorts. At first his memory wasn't so great. But after a month or so of regular visits, it was like a fire was ignited. All of the sudden he was reciting incredible facts and figures about the past. He kept up with all the little details in my life better than many of the people I know in my 30s. And there was a new pep in his step. It's rare to live past 90. I'm grateful for every day I get with my grandparents, both 94 and under 30min from me. If you have an older person in your life, I encourage making as much time as possible to visit. There's so much you can learn from them and your visits can have a positive impact on their life too.

</comment><comment><USER3> A different study found that intense exercise reverses aging at the cellular level: [http://www.health.com/fitness/anti-aging-hiit- workout](http://www.health.com/fitness/anti-aging-hiit-workout)

The body process lymph several times more efficiently while active. This is how the body removes wastes from tissues. Seems to me that would be pertinent.

</comment><comment><USER4> Given that this study focuses on declining naive T cell production and thymic tissue loss, it is interesting to look at another recent study that suggests these losses are the dominant cause of increased cancer rates with age.

[https://doi.org/10.1073/pnas.1714478115](https://doi.org/10.1073/pnas.1714478115)

T cells develop from hematopoietic stem cells as part of the lymphoid lineage and have the ability to detect foreign antigens and neoantigens arising from cancer cells. In the thymus, lymphoid progenitors commit to a specific T cell receptor and undergo selection events that screen against self-reactivity. Cells that pass these selection gates then leave the thymus, clonally expanding to form the patrolling naive T cell pool.

The vast majority of vertebrates experience thymic involution (or atrophy) in which thymic epithelial tissue is replaced with adipose tissue, resulting in decreasing T cell export from the thymus. In humans, this is thought to begin as early as 1 year of age. The rate of thymic T cell production is estimated to decline exponentially over time with a half-life of ∼15.7 years. Declining production of new naive T cells is thought to be a significant component of immunosenescence, the age-related decline in immune system function. With the recent successes of T cell-based immunotherapies, it is timely to assess how thymic involution may affect cancer and infectious disease incidence.

It is clear from epidemiological data that incidence of infectious disease and cancer increases dramatically with age, and, specifically, that many cancer incidence curves follow an apparent power law. The simplest model to account for this assumes that cancer initiation is the result of a gradual accumulation of rare "driver" mutations in one single cell. Furthermore, the fitting of this power law model (PLM) can be used to estimate the number of such mutations. Exponential curves have also been used to fit cancer incidence data, resulting in worse fits than the PLM overall. Nevertheless, it is worth noting that exponential rates close to the declining curve for thymic T cell production can be seen to emerge from the incidence data, indicating the relevance of the thymic involution timescale. While the PLM fits well, it does not account for changes in the immune system with age. To better determine the processes underlying carcinogenesis, we asked whether an alternative model, based only on age-related changes in immune system function, might partly or entirely explain cancer incidence.

Our model outperforms the power law model with the same number of fitting parameters in describing cancer incidence data across a wide spectrum of different cancers, and provides excellent fits to infectious disease data. Our hypothesis and results add to the understanding of infectious disease and cancer incidence, suggesting in the latter case that immunosenescence, rather than gradual accumulation of mutations, serves as the predominant reason for an increase in cancer incidence with age for many cancers. For future therapies, including preventative therapies, strengthening the functionality of the aging immune system appears to be more feasible than limiting genetic mutations, which raises hope for effective new treatments.

<comment><USER5> >" _Given that this study focuses on declining naive T cell production and thymic tissue loss, it is interesting to look at another recent study that suggests these losses are the dominant cause of increased cancer rates with age.

[...]

Our model outperforms the power law model_"

Interesting, since cancer "rates" (age-specific incidence) for many cancers peak at 60-90 years old. This paper looks like they cut off the data at 85 years, ignore the peaks during youth, and aggregate the data in such a way (eg colon and rectum grouped together) to force a power law fit.

EDIT:

Also, they just say "data from SEER". What years did they use, inclusion criteria, etc?

</comment></comment><comment><USER6> I have a concern.

A few months ago, a widely publicized study[1] indicated that moderate-to- large amounts of exercise caused a buildup of plaque in the hearts of middle- aged white men. This correlation was not seen in any women, nor was it seen in black men.

Unfortunately, this study included no Indian nor Southeast Asian people. I've seen unrelated studies indicating similar health outcomes for white men and Indian men, so as an Indian man, should I be worried about this?

[1]: [https://today.uic.edu/physically-active-white-men-at-high- ri...](https://today.uic.edu/physically-active-white-men-at-high-risk-for- plaque-buildup-in-arteries)

<comment><USER7> Not even middle-aged white men should worry about it. It was more "This population had the highest coronary artery calcification, which matches what other studies have found. We should look into it more" rather than "These white dudes gotta slow down or their hearts'll give out".

<comment><USER6> I appreciate your response. I'm under the impression that the white men who exercised more had more calcification:

> Instead, Laddu and her colleagues found that participants in trajectory > group three, or those who exercised the most, were 27 percent more likely > than those in trajectory group one to develop CAC by middle age. CAC was > measured during the participants' 25th year in the study using computed > tomography, a CT scan, of the chest. At year 25, participants were ages 43 > to 55.

</comment></comment></comment><comment><USER8> If you work at a desk all day and are interested in being more active, take a look at Desk Cycle:

[https://deskcycle.com/](https://deskcycle.com/)

I got one a few months ago after reading a testimonial in a similar thread here on hacker news. Mine sits permanently under my desk. I have nothing but positive comments to say about it. Fit's nicely under the desk, works wonderfully.

<comment><USER9> Looks good for perpetual foot-tappers, too.

Would be good if it could generate power...maybe charge up a device a bit in the process.

</comment></comment><comment><USER10> I'd be curious to know if similar effects are observed in orthogonal types of physical activity from cycling, e.g. strength training.

<comment><USER11> I hear often that strength training is more beneficial as, supposedly, increments your growth hormone levels.

I'm also interested in a listing of publications comparing different physical activities for their fitness related to improving health overall and anti- aging concretely. ?

</comment></comment><comment><AUTHOR> The publication this is based on is open access: [http://onlinelibrary.wiley.com/doi/10.1111/acel.12750/full](http://onlinelibrary.wiley.com/doi/10.1111/acel.12750/full)

</comment><comment><USER12> Metformin acts on a number of hormone receptors which are also affected by Calorie Restriction for long and cancer free life [https://www.economist.com/news/briefing/21704788-fight- cheat...](https://www.economist.com/news/briefing/21704788-fight-cheat-death- hotting-up-adding-ages)

</comment><comment><USER13> I don't think it's any one thing. Exercise helps people stay connected with others. Being healthy enough for exercise is important, but regular exercise also makes illness more obvious. If you stay at home watching TV then feeling bad does not change much, if you normally bike around then dizzy spells become really noticeable.

</comment><comment><USER14> On a 5 hr bike ride your body is going to go into a similar state as intermittent fasting with all your glycogen being burned off. Similar to fasting this frees up energy and allows the garbage in your system to be burned off.

<comment><USER15> I do a ~24 hour fast weekly, and a LOT of sites go into this "burning off garbage" or "toxin cleaning" rhetoric which always puts me in "bullshit warning" mode. Is there actual science behind these claims?

<comment><USER16> The 'detox' side of it is very likely garbage (but a great way to sell); on the other hand, 5-hour bike rides without fuel will deplete your glycogen stores and there'll come a point where the differnce becomes obvious (see 'bonk-training').

A 24-hour fast is different; your body will burn fat at sufficient rate to avoid glycogen depletion (it's pretty simple; the harder you exercise the less energy comes from fat and more from 'carbs').

From a weight-less perspective though all that matters is calories out exceed calories in - it's quite possible though that fasts end up making you less hungry than hard exercise does.

Long-distance cyclists don't worry about any of this though - the approach is actually pretty simple:-

Press food to face.

Suck.

Repeat.

Edit: formatting.

<comment><USER17> In one of his articles Ray Cronise gave some numbers that even with light jogging or even fast walking for fuel body uses carbohydrates exclusively. So cardio exercises are a bad way to loose weight. They made people hungry. And as people eat all the fat from the food is stored as body fat and may not be burned until the next exercise.

<comment><USER16> That's pretty much it; although at higher intensities the calories per unit time is higher, the higher the intensity the more comes from short-term stores (glycogen) than from long-term (fat).

The numbers suggest 60 to 70 per cent of max heartrate (which is pretty easy) is the sweet spot for general fitness and fat burning (i.e. weight loss). For improved endurance, spend a lot of time in that zone; for improved performance spend shorter periods (well) above it.

</comment></comment></comment></comment></comment><comment><USER18> \- is it correlation or causation? \- could the causation be in the other direction?

You always need to ask these questions. Perhaps senior people who have immune systems as 20-year olds, are much more likely to cycle in old age. Or there is some other reason that causes both.

<comment><USER19> Does it matter that much? Just be active for as long as possible and reap the benefits of fit muscles and a stronger heart.

Purely anecdotal: My grandfather is nearing 90 and still jumps on his indoor bike every day. Last winter he fell (due to ice) and got away with a few bruises. For other people his age this kind of fall could have meant a broken hip. He had two heart attacks when he was around 60 and a life long lung disease - far away from the immune system (or health) of a 20-year old.

<comment><USER20> Of course it matters. If the old cyclists are just genetically superior, then prescribing 100 mile bike rides to frail old people might be damaging, rather than transforming them into disease-resistant superhumans.

<comment><USER19> Why would you prescribe a 100 mile ride to an old person?

My point was that living a long and fairly healthy life is a day to day project, not a pill you take once you hit 70.

</comment></comment></comment></comment><comment><USER21> Saying exercise prevents decline normalizes being sedentary.

I prefer considering exercise normal and saying its lack accelerates decline.

Anyone is free to call normal what they want, but I find my way leads me to live more healthy.

<comment><USER22> This is a great way to put it. I've been exercising so long that it is my normal. Not exercising for more than two days in a row and I start to feel weird/not healthy. This has led me to end up on the treadmill at 10pm or 5am. When it becomes your normal it is just like breathing or eating.

<comment><USER23> Same to me, but I was more active when I was living in a warm country. Now I am living in a mildly cold winter country, and struggling to go out out to walk/run because of the cold. 3 weeks and I already feeling less productive and healthy.

<comment><USER24> Running in the cold is great. I run outside until it gets below -20 deg C. Some thermal tights and a few layers on top is all you need. It took me quite a few years to finally just give it a try and now I actually prefer running in the winter vs summer.

<comment><USER25> There are masks you can wear that makes it easier to breath the cold air for running when it's even colder. I guess it heats the air a bit. I like walking in the cold, just have to dress for it and not overdo it so you overheat in your nice warm clothes :-)

I haven't tried the breathing masks though I probably should since I have asthma and breathing in the cold makes it worse.

<comment><USER26> Are they the sort of mask that makes you look like subzero from Mortal Kombat? I've been thinking about getting one.

<comment><USER25> I dont know about those, the one I saw looked like an asthma inhalator I think. But this was long ago.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> Publicity materials: [https://theconversation.com/exercise-can-slow-the- ageing-pro...](https://theconversation.com/exercise-can-slow-the-ageing- process-a-professor-explains-how-93020)

Paper: [https://doi.org/10.1111/acel.12750](https://doi.org/10.1111/acel.12750)

This age of biotechnology is also an age of comparative indolence and comfort. As the research community measures specific biochemical aspects of aging, such as the decline of the cardiovascular system, or metrics relating to immunosenescence in the immune system, we might question the degree to which the results are peculiar to our era. How much of aging is the result of our choices - to eat more and exercise less than our ancestors - rather than the result of inexorable processes of biochemical damage that we, as yet, have little influence over? (Conversely, how much of past aging was due to infectious disease, malnutrition, and other adverse external circumstances that are controlled to a much greater degree today?) This topic crops up fairly often in research into the effects of exercise on health, and the research noted here is a particularly striking example of the type.

The study authors find that the age-related decline of new T cells maturing in the thymus is negligible in some people, those who exercise much more than the rest of us. This diminished supply of new T cells is thought to be an important component of immune system aging, and the failure of the immune system is very influential over many other aspects of aging: senescent cell accumulation, frailty, loss of regenerative capacity, chronic inflammation, cancer risk, and so on. Yet when we look at the demographic evidence for spread of life span based on exercise, it appears to be, at most, 6 or 7 years (with a much larger divergence when it comes to state of health over time). What does this tell us about the likely gains resulting from rejuvenation therapies seeking to regenerate the thymus? Less than we would like, I suspect, and not just because it is hard to evaluate any one contribution to aging in isolation of all of the others.

The thymus atrophies over adult life, with active tissue necessary for the production of T cells being replaced by fat. The first major loss of active thymic tissue occurs at the end of childhood, however, in a process known as involution. Immune cells are generated at a tremendous rate in children in comparison to young adults; evolution selected for a system that would be highly effective at the outset, at the cost of later issues. When it is observed that old people in their 60s and 70s who maintained a high level of fitness throughout life exhibit much the same thymic output as young people in their 20s, that tells us little regarding the outcome were the thymus restored to the same level of active tissue as is present in children. Only a mild restoration, to move thymic activity from typical aged to typical young adult, would be comparable - and why would we stop there?</comment>


Over one thousand children illegally registered - <AUTHOR> http://www.dn.se/nyheter/sverige/over-one-thousand-children-illegally-registered/

<comment><USER2> Um. Does ancestry.com disclose statistics on requests by law enforcement?

Could governments get any creepier?</comment>


Why in Hong Kong people choose to sleep at McDonald's instead of going home - <AUTHOR> https://www.scmp.com/news/hong-kong/community/article/2158365/number-people-sleeping-hong-kong-mcdonalds-branches <comment><USER2> A store manager (in Norway) once told me that they had a policy to never kick people out, regardless of being paying guests or not. He said this was a policy coming from top down and that they never refused anyone to use the toilet, WiFi or power outlets.

But they never spoke publicly about it, since they didn't want too much press about it. But knowing this put the chain in a different light for me. Seeing people just sitting around reminds me of it. It's a good reminder me that corporations aren't just good or bad.

<comment><USER3> Have you wondered how much marketing goes into the smell of McDonalds? It's a mind corrupting scent and they want to spread it because marketing is even more their core business than actually feeding people. It's feeding in as much as pop soda is hydration.

<comment><USER4> >Have you wondered how much marketing goes into the smell of McDonalds?

It smells terrible so I don't get it. Is there a component of triggering addicts like how smokers like the burning cat shit smell of cigarettes?

</comment></comment></comment><comment><USER5> Free air-con and free water. In HK, some subdividing landlords charge tenants for electricity for ~10x the price of the power company, which really should be made an illegal practice.

<comment><USER6> It is illegal, the government is just not very good at enforcing laws which protect the poor.

<comment><USER7> Same in the US, of course.

We just have a privatized legal system whereby hotshot attorneys may consider certain pursuits if determined lucrative, and a privatized criminal justice system that favors locking people in concrete cubes for large chunks of their lives.

There's nothing more humane about it. The effect is merely that "poor people" become "bad people", "rich people" becomes "heroes", and suddenly everybody got what they deserved.

</comment></comment></comment><comment><USER8> McDonald's are like public utilities: you get wifi, electrical outlets, seats, air conditioning, bathrooms. All for the admission price of a $1 meal.

<comment><USER9> I used to refer to them as American Embassies when traveling. If you're lost, tired, hot, thirsty, hungry, have to use the bathroom and don't have change for a public WC but you stumble on a McDonald's, they'll have all the amenities you mention and often a map of the surrounding area.

<comment><USER10> The (slightly more) premium version is Starbucks, which has all the above but is more likely to have a clean bathroom. Also more importantly, somehow Starbucks more reliably has WiFi you can connect to without having a working phone number to authenticate, which was a huge problem in Switzerland (I tried a McDonalds first, too, but needed a phone number).

<comment><USER11> All of the Starbucks I visited in Europe had locks on the bathrooms.

</comment></comment></comment></comment><comment><USER12> > Researchers were able to interview 53 McRefugees

> McRefugees

Well, that's an interesting term..

</comment><comment><USER13> Is it real? I never saw one doing that. If its real then I know why. Rooms in Hong Kong are like matchbox size and smelly. McD is a better place to sleep I guess.

<comment><USER14> Of Coz it is and has been for years. I once did for a few weeks.

<comment><USER15> Can you tell me more about it? I'm curious to as why McD let's you sleep in the restaurant, here they would just kick you out.

<comment><USER14> These McDonald opens 24 hours, so it is not like they are sleeping inside while the store are closed.

Most of these people comes in very late, after 22:00 or even later at 24:00. They watch some video on their phones for an hour or so before sitting there falling to sleep.

Since most of the overnight business are take away, so seats are rarely needed by customers.

In Income / Big Mac price model, McDonald in HK are one of the cheapest if not the cheapest in the world.

However they do kick you out if you smells bad, i.e causing disturbance to other customers.

I wish I could do something to help Hong Kong, but like most people here, we felt pretty much powerless.

</comment></comment></comment></comment><comment><USER16> I'm confused. How is sleeping on a chair better than sleeping in the smallest, dirtiest apartment, but on a bed?

<comment><USER17> You have to pay much more to rent the apartment containing the bed?

<comment><USER18> The article notes that many of them have apartments. It sounds like they are already paying.

<comment><USER6> They are paying but it's 34°C and 80-100% humidity currently in HK. A lot of these subdivided flats don't have proper access to air conditioning units.

</comment></comment></comment></comment><comment><USER19> An amusing few paragraph in this context:

[...]

REASONS FOR AND BENEFITS OF THE ACQUISITION AND THE [MCDONALD's] FRANCHISE

CITIC is China's largest conglomerate operating domestically and overseas, with businesses in financial services, resources and energy, manufacturing, engineering contracting and real estate as well as others. CITIC is a constituent of the Hang Seng Index . China's consumer sector is growing rapidly, benefiting from continued urbanization, an expanding middle class and increasing disposable household incomes. China's working population is larger than those of the US and Europe combined, yet spending levels of China's middle class are a small fraction of those in more developed countries. As disposable incomes rise, people will continue to spend more on leisure and on dining out, and there is particularly great growth potential in tier 3 and 4 cities. As such, the market for Western Quick Service Restaurants is expected to continue to grow rapidly. This investment offers a chance to deepen CITIC's exposure to the consumer sector, which is poised to be the main driver of China's economy for decades to come. This transaction is also another step in CITIC's efforts to better balance the financial and non-financial businesses.

CITIC sees opportunities for synergies with its existing businesses. McDonald's extensive network and consumer base will provide CITIC with invaluable insight, which CITIC will leverage to the benefit of its existing businesses.

[...]

[http://www.hkexnews.hk/listedco/listconews/sehk/2017/0109/LT...](http://www.hkexnews.hk/listedco/listconews/sehk/2017/0109/LTN20170109129.pdf)

</comment><comment><USER20> Happy Donuts in Palo Alto and Safeway in Menlo Park and Mountain View on El Camino have a similar phenomenon but it's usually only students whom have a place but sleep while studying.

There are many more homeless people whom have no options for housing or refused Section 8, and so seek shelter during heat of summer days or less frequent cold winter nights.

There must a nonzero fraction of thousands whom consciously choose to be leather tramps and live rough... not all homeless people are in unfortunate circumstances, crazy, on drugs, criminals, peter pan's or defective. You're reading from a rubber tramp right now. :)

</comment><comment><USER21> I guess HK has no social housing? The free market has no ethics or compassion so the government has to make rules.

<comment><USER22> Free markets are not devoid of ethics. They function in large part on trust, accountability, competence, loyalty, liberty, determination, etc... Of course there are perverse elements, but so too is the case with the state.

<comment><USER21> Well lets put it this way: thanks to the government I have a bathroom and kitchen. Slumlords don't need to get re-elected.

<comment><USER22> You cannot thank the government without thanking the people that pay the government.

</comment></comment></comment></comment><comment><USER23> This is sad. They should come to Africa there is a lot of space here.

</comment><comment><USER24> I can see this being a problem in most cities. I almost moved to Copenhagen on $108,000/yr (US) job offer and feel like it would have been a massive mistake just looking at cost of living alone. The taxes and rent prices in these cities is outrageous.

<comment><USER25> These cities? Copenhagen is nothing like Hong Kong. The only similarity is... it's not the US. I guess that's how you view the world.

<comment><USER24> Both cities are very expensive and have housing issues. I'm not saying they are the same or even all that similar in most ways, but all major world cities have big housing problems just some more than others. Good job being an asshole, though.

<comment><USER25> SF is very expensive and has housing issues. NYC. London. Toronto. And so on.

</comment></comment></comment></comment><comment><USER7> Of course, if American McDonald's allowed such a thing, they'd have to start charging because there'd no longer be room for dining.

<comment><USER26> This how I feel about Uber Eats drivers in my local McDonalds. There's usually 6-8 at a time, so at busy times there are often not any tables spare.

<comment><USER27> They're paying customers, seems like they have as much a right to sit down as anyone else. For that matter, they occupy that seat for a shorter period of time than someone eating would, too.

Most of the 'full' places in America, especially more casual places where there isn't waitstaff that reconfigures seating for every party seems to have a lot of underutilized tables. One person sitting at a table for four is common, and sitting next to that person is seen as awkward. That table is "Taken" \- and in a lot of ways, I understand; I'm an introvert, too... and sometimes I'm not really up for conversation with my lunch. But, I find that reading the internet on your phone (and by extension, using an e-reader) are a lot more acceptable than those sorts of things used to be. With those affordances, I think it's easier than it used to be to politely say "I'm not really up for conversation today"

<comment><USER28> When such place is packed, I have no qualm to sit next to someone alone on a table for four, asking beforehand. Or even the other way around: if I'm alone on a table for four, it wouldn't bother me too much to share it.

</comment></comment></comment></comment><comment><USER29> there should be an establishment that's open 24hrs for different purposes, Cafe, sandwich shop, bar, club, hotel.

</comment><comment><USER30> > One McRefugee renting a subdivided flat in To Kwa Wan, Hung said, told > volunteers that her landlord charged her HK$16 for a unit of electricity, > compared to about HK$1.10 charged by the city's two main power suppliers.

Sounds like they're trying to peg the HKD to the USD Silver Unit[1][2][3].

[1][https://en.wikipedia.org/wiki/Coinage_Act_of_1792#Authorizat...](https://en.wikipedia.org/wiki/Coinage_Act_of_1792#Authorization_and_free_coinage) [2][https://silverprice.org/silver-price-per- ounce.html](https://silverprice.org/silver-price-per-ounce.html) [3][https://en.wikipedia.org/wiki/American_Silver_Eagle](https://en.wikipedia.org/wiki/American_Silver_Eagle)

edit: I can't help but notice that 2.5g is the weight in silver of the old Liberty Disme that I pick up for about $1 (paper) when I feel like putting some silver into the local economy (used as 10c). A 'spot' of silver perhaps.

<comment><USER31> This is spectacularly off topic, but the HKD is actually pegged to the real US dollar.</comment></comment>


Functional Programming HOWTO - <AUTHOR> http://www.amk.ca/python/writing/functional <comment><USER2> Would suggest adding "In Python" to the title.

It's actually a bit amusing to see The Standard Reasons given for the desirability of functional programming when they really don't particularly apply to Python functional programming.

(To the extent that "modularity" and "composition" apply to Python functional programming, they aren't really all that much better than the usual Python tools, used properly, and to the extent that they are it is because they fit into the OO rather than the other way around. Python is an OO language with functional things appended as useful. This is not a bad thing, but it doesn't make it a functional language.)

<comment><USER3> Python is multi-paradigm; it's not dominantly OO. Comparing python libraries to java libraries, functional composition is used just as frequently as OO composition (if not more so).

If you're building a website, in Python/Django, you pass in your request handler function using first class functions. In java, you inherit from the request handler class, and override the method.

JsonTools loads and dumps are pure functions. In java, josn.org, there's a class for each JSON type that you interact with.

That being said, I can also think of many Python libraries that use classes.

<comment><USER4> The use of functions doesn't itself mean "functional programming" - is C a FP language, for instance?

<comment><USER5> Yes!

[http://conal.net/blog/posts/the-c-language-is-purely- functio...](http://conal.net/blog/posts/the-c-language-is-purely-functional/)

</comment></comment></comment></comment><comment><USER6> This part has always bugged me:

 _Lisp, C++, and Python are multi-paradigm; you can write programs or libraries that are largely procedural, object-oriented, or functional in all of these languages._

No. Just... No. Python is an object-oriented imperative language. Sure, it allows you to do some functional-esque things, but it's at best a "functional- lite" language.

Plus, I wouldn't say that lisp fits into any paradigm. Better to say that it _transcends_ paradigms.

<comment><USER7> How about we all just admit that "OO" has multiple meanings?

There is OO as a style of software design: we give data the responsibility for providing an interface, which is encapsulated with the data. And the same interface can be used for multiple types of data, thus freeing code from needing to know what type of data it is dealing with.

Python can be used in this style, but it doesn't have to be. I've done plenty of Python programming without using it. And, although no one calls C an OO language, you _can_ program this way in C, if you want. It's painful, but not impossible.

OTOH, there is "OO" as language features, usually mechanisms for encapsulation & instantiation, with some kind of dynamic binding capability, such as Python's classes/objects.

In that sense, I agree with you: Python is an OO language. On the other hand, in the first sense, I agree with the article author: Python supports OO programming, and it also supports programming in other paradigms.

</comment></comment><comment><USER4> Why are iterators highlighted as a prime component of "functional programming"?

<comment><USER7> First, because Python's iterators are a way of forming a wrapper around an arbitrary data set. This is in contrast to (say) C++ iterators, which are merely pointers into a data set, and so it takes two of them to specify a range of data.

Second, Python's "for" construction, along with imap and other such things, mean that we can program with iterators, without treating them as mutable objects; they merely wrap the data returned by some computation.

Third, Python's iterators have no write capability. Again, contrast this with C++, where output iterators are the usual way to answer the question, "What do I do with this data?"

Add Python's "yield" to the mix, and the result is a very natural, efficient way for a function that computes a large data set, to return the entire set (functional style), rather than writing it somewhere (very non-functional).

<comment><USER4> Thanks for elaborating, that makes sense. It wasn't apparent to me, but those are good points.

</comment></comment></comment><comment><USER8> This article states that well known functional programming languages includes the ML family.

What about the Lisp family (Scheme, Clojure, Qi)? They represent the dynamic side of functional programming.

</comment><comment><USER9> That article is linked to from current #2: <http://news.ycombinator.com/item?id=2646439></comment>


Show HN: Quantum Machine Learning – Training with the Iris Dataset on IBMQ - <AUTHOR> https://iris.entropicalabs.io <comment><USER2> A nice visualisation of the training algorithm. The presentation details a possible path for future QML research.

</comment><comment><USER3> Great way of presenting the algorithm's performances!

</comment><comment><USER4> Dear old iris flower set! Well done

</comment><comment><AUTHOR> We are releasing the code as well...

</comment><comment><USER5> Great work!</comment>


Using Tinder's premium features with a little of CSS - <AUTHOR> http://softwareontheroad.com/reversing-tinder-api-with-nodejs <comment><USER2> Not all heroes wear capes</comment>


I'm starting an affiliate program for my small app, is that dumb? - <AUTHOR> Hey ya'll,
I thought of kicking off an affiliate program for a small app of mine which does around 1 sale every 10 visits.
I thought that was pretty good conversion, but not sure if I'm being naive, what do you think?
Here's the app: https://thoughttrain.cc <comment><USER2> I've started and run a number of affiliate and other partner program types. As few things I'd consider:

1) Who do you expect to be your affiliates? Is this more of a refer-a-friend program a la Dropbox, or are you looking to have businesses refer you traffic en masse?

2) If the former, I believe it's going to be easier. You can offer non-cash rewards, like free months of service. If the latter, really think about what type of affiliate you want and how to properly incentivize them.

3) re: incentization above: let's assume you go for a 20% revenge share model (fairly standard). Consider how many referrals someone needs to make the payout worthwhile. My current affiliate program is for a SaaS that costs $19/month – affiliates have the refer 260 customers before they hit $100/month in payouts, which is a lot.

4) Buckets: I broadly lump my affiliates in to two buckets: "value added" traffic and "dumb traffic". Value added traffic are affiliates who have an existing relationship with their referrals – think a web design agency who refers their customers to a web design tool. "Dumb traffic" is my slightly pejorative term for bloggers, etc. who just send leads my way with no expectation of helping them set up the tool, etc. Dumb traffic can drive a lot more leads, but Value Added traffic has higher LTV.

5) Finding affiliates: think of who is blogging in your space, or who else might be interested in your tool. If you can't think of this, don't start an affiliate program.

6) Don't make your affiliate program super visible _and_ easy to join. One or the other. Otherwise, you're going to spend a lot of time chasing down shitty affiliates who spam your links across dummy pages and coupon sharing sites, and it will never amount to anything and will make your app look bad.

<comment><AUTHOR> This is great advice thanks.

A great point about the path-to-$100 which for my affiliates would be referring 100 sales or about 45% of the current volume.

That said, from a Lifehacker post and Product Hunt feature, the conversion of paid users was very high, almost 10% so I think its not impossible for the right affiliate to make decent revenue.

I'll hit up some blogs in the space, see if they're willing to take a punt, it makes sense to keep the traffic as geniun as possible.

Thanks!</comment></comment>


Tesla says someone fired a bullet in Model S that caught on fire - <AUTHOR> https://electrek.co/2018/12/16/tesla-fire-bullet-battery/amp/ <comment><USER2> I look forward to another generation of action movies featuring exploding cars.

<comment><USER3> Now the plots will just have to revolve around subtlety nicking the battery and turning in to a giant bomb.</comment></comment>