Valve Rolls Out Wine-Based "Proton" for Running Windows Games on Linux - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=Valve-Steam-Play-Proton-Linux <comment><USER2> John Carmack in 2013

>I truly do feel that emulation of some sort is a proper technical direction for gaming on Linux. It is obviously pragmatic in the range of possible support, but it shouldn't have the technical stigma that it does. There really isn't much of anything special that a native port does – we still make OpenGL calls, winsock is just BSD sockets, windows threads become pthreads, and the translation of input and audio interfaces don't make much difference (XInput and Xaudio2 are good APIs!). A good shim layer should have far less impact on performance than the variability in driver quality.

>Translating from D3D to OpenGL would involve more inefficiencies, but figuring out exactly what the difficulties are and making some form of "D3D interop" extension for OpenGL to smooth it out is a lot easier than making dozens of completely refactored, high performance native ports.

[https://www.reddit.com/r/linux/comments/17x0sh/john_carmack_...](https://www.reddit.com/r/linux/comments/17x0sh/john_carmack_asks_why_wine_isnt_good_enough/c89sfto/)

<comment><USER3> Except that the availability of emulation may cause developers to stop native linux support. I dont want to hear "talk to valve about your linux issue" every time i report a bug.

<comment><USER4> Which would you see as more probable?

1) The ease of quality emulation leads to developers ceasing native linux support, resulting in lower quality linux gaming overall.

2) The ease of quality emulation leads more gamers to be willing to migrate to linux as their primary OS, thus helping linux come closer to being a first class deployment target, resulting in higher quality linux gaming overall.

Of course this isn't a dichotomy, but rather I think it's often unwise to look a gift horse in the mouth, especially when you're looking at hypotheticals.

<comment><USER5> I think point 2 should be swapped for "ease of quality emulation means developers are willing to support linux through the emulation layer and can do so at reduced cost compared to porting"

<comment><USER6> He's right though. Linux gaming is a chicken and egg problem. Without enough users, the financial argument for making a Linux port is very weak. Without enough games, gamers will stay on Windows. At least if there's a reliable shim, the Linux gaming community might grow and become more relevant, fostering competition amongst game developers and hopefully incentivizing them to eventually doing native ports.

<comment><USER5> The most ironic fate would be if Wine would eventually morph into a Linux gaming framework that everyone uses.

Though I would consider this unlikely.

<comment><USER7> For new code, don't Unity and the like already fulfill this role?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is good for gaming on Linux!

Future prediction: Hackers reverse engineer Microsoft SQL server for Linux compatibility DLLs and adds better Wine support. Microsoft will eventually start selling a commercial Windows 10 compatibility layer for Linux. Reason Microsoft does not found main revenue through operating sales but of online cloud adoption and subscriptions. Microsoft of today is much more open source friendly than before.

[https://en.wikipedia.org/wiki/Xenix](https://en.wikipedia.org/wiki/Xenix) [https://en.wikipedia.org/wiki/Windows_Services_for_UNIX](https://en.wikipedia.org/wiki/Windows_Services_for_UNIX) [https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux)

<comment><USER9> > Hackers reverse engineer Microsoft SQL server for Linux compatibility DLLs > and adds better Wine support. Microsoft will eventually start selling a > commercial Windows 10 compatibility layer for Linux

I like the optimism but I honestly believe it's going to go the other way round.

Based on Microsoft s EEE strategy from the past, combined with the way they've pushed for SecureBoot on x86 and Arm and the (re-)rise of the WSL, I honestly expect it to get even more difficult in the future to boot a linux kernel on your own hardware.

Once all the usual suspects work properly under WSL I think more hardware lockdowns are going to come into place combined with phrases like "what do you need a kernel for? just boot windows kernel and use your linux userland and stop complaining!". The rise of GNU/Windows might well be coming...

<comment><USER10> That would be wonderful. If you're comparing kernel architectures, Linux kernel vs. NT is not much of a comparison. I will take NT kernel & gnu user space any day!

It's always nice to run a kernel designed by people who actually know what they're doing, and aren't doing it for the first time. Look into nt history, or how late Linux kernel started taking things like power management seriously. Hell, Linux kernel still insists on entirely living in nonpageable memory, most io is still synchronous, and there still is no stable driver API.

<comment><USER11> The linux kernel ain't perfect, but to say the NT kernel is superior is laughable imho. Take it with a grain of salt though as I am a greybeard sysadmin type who got so fed up with windows and MS that I moved completely to gnu/linux and haven't looked back.

Back on topic though, Skyrim normal edition installed and played just fine with proton for me on manjaro. This is nothing but good for us linux gamers.

</comment></comment></comment></comment><comment><USER2> My only fear: devs will push for "just enough" Steam Play compatiblity instead of a proper Linux port. A lot of big AAA games got post-launch Linux release. These can disappear

<comment><USER5> I think I can live with devs targeting Wine on Linux instead of Linux directly, it saves them a lot of resources since most will be invested into Windows support.

And yes, maybe it means we get less Linux native, I don't mind either. If it works on Linux and is supported on Linux, even if it's just via Wine, that's all I want.

<comment><USER12> Indeed. Modern software has plenty of layers of abstraction to begin with. One more isn't going to break the bank.

(I genuinely can't believe I'm posting this comment completely un-ironically, but here we are).

<comment><USER5> Most games will be running on an engine the studio bought, if not, it's usually one maintained by an in house team.

Which is, I suspect, the reason why some gamedevs are hesistant. For Linux they not only need the QA track and development resources but might have to redevelop some engine customizations for Linux or the engine might not even support Linux at all. They're two steps removed from the people who would be responsible for making the engine work on Linux at all.

</comment></comment></comment></comment><comment><USER13> In case anyone else is wondering, this spreadsheet is posted as one of the github issues and compiles people's tests of different games:

[https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmF...](https://docs.google.com/spreadsheets/d/1DcZZQ4HL_Ol969UbXJmFG8TzOHNnHoj8Q1f8DIFe8-8/edit#gid=2086525177)

<comment><USER14> > Machinarium --> Anything else notable? --> Still cute ass heck

Is this a Freudian slip from one of those robosexuals?

</comment></comment><comment><USER15> This is the corresponding github issue, open since 2012: [https://github.com/ValveSoftware/steam-for- linux/issues/74](https://github.com/ValveSoftware/steam-for-linux/issues/74) :)

At some point during the beta of the Steam client for Linux, there was a bug in that you could install Windows games on Linux. I had a binfmt_misc setup at the time, which allowed me to run Windows executables directly through Wine as if they were ordinary ELF binaries. I don't remember exactly what happened when I tried running one, I think it failed when the Steam copy protection kicked in, but I always wondered if they couldn't make this work.

</comment><comment><USER16> > Users playing through Steam Play experiencing Linux-specific issues should > be directed to Steam for support

I wonder how they'll handle user reviews. Maybe performance won't be an issue, I know some games run even faster than on Windows, but bugs that you don't know are Proton specific could lead to bad reviews.

<comment><USER17> This could be intentional, as it incentivizes developers to support the Proton version, which makes native Linux support a much smaller leap.

Excited as I am about a big player pushing Linux, we mustn't forget that the intent is almost certainly just to chip away at Windows and the threat it poses to Valve's own monopoly (as a PC game distributor).

<comment><USER18> A good deed done for selfish reasons is still a good deed done. Frankly I'm just happy to see Linux gaming getting any kind of attention as it's the only reason I still dual boot Windows.

</comment></comment></comment><comment><USER19> As I said in another thread:

Congrats!

And big thanks to developers and Valve who funded dxvk, vkd3d, esync and other Wine as well as Mesa work, while contributing everything in FOSS fashion. This benefits not just Steam users but all Linux gamers.

</comment><comment><USER20> Valve really needs to roll out a 64bit client though. I always have problems just installing the client because of the 32bit architecture.

<comment><USER21> Flatpak to the rescue!

<comment><USER22> I personally hope for Snaps or similar. Games could really benefit from containment. There is no reason for Counter Strike mods to have access to your World of Warcraft credentials, or your web browser or email client have access to them for that matter.

</comment></comment></comment><comment><USER23> What's the driving force behind this? Is it so that Valve won't have to be dependent on microsoft or a "windows tax" for their gaming boxes? Or is it that microsoft simply wouldn't agree to license windows to them because they are already pushing xboxes? Or is it something else?

<comment><USER24> Microsoft is trying to make Windows app distribution more like iOS. As a third party software store for Windows, Steam is prohibited from being in the Windows Store or running at all on Windows S. This is a direct attack on Valve, since Windows game sales make up the vast majority of their revenue.

Although the Windows Store and Windows S have not been successful so far, Valve is still hedging their bets and trying to reduce their dependency on Windows and DirectX by promoting Linux and Vulkan.

<comment><USER25> First Microsoft has to get every app on the windows store, then they have to get people to start using it and then they cut off external software sources or make it hard to do like requiring power shell to enable.

Its obvious this is the long term plan for MS. Apple has already shown people will buy locked down systems.

<comment><USER26> They don't need to do any of that. Chromebooks became a thing without having a lot of software available on the platform.

Microsoft already followed the footsteps with Windows 10 S. And they're the first major OS that's taking advantage of Progressive Web Apps and adding them to their store, removing the need to build Windows-only software completely while still offering "native" experience: [https://developer.microsoft.com/en- us/windows/pwa](https://developer.microsoft.com/en-us/windows/pwa)

I personally think that Microsoft learned their lessons with Windows 10 Mobile and that they're going to excel at being a competitor to Chromebooks.

</comment></comment></comment></comment><comment><USER27> Atari is preparing the launch of its new linux console, the VCS (scheduled for next year). Apart from being a great toy for tinkering, it would be quite interesting if we could run a full steam client and some windows games on it !

Controls may be a bit hazy, but it's definitively something I would try.

<comment><USER28> You may want to adjust your expectation, as the current Atari is comparable to what Nokia, Polaroid and Kodak are today.

[https://www.youtube.com/watch?v=z0qyUhb3VXI](https://www.youtube.com/watch?v=z0qyUhb3VXI)

<comment><USER29> Ah yes Atari, the company that singlehandedly almost destroyed the video game industry with their crapware games. How are they still alive? Just milking old IPs and patents?

</comment></comment></comment><comment><USER30> This is really interesting. Would anyone have a link into more information as to how they are making this happen behind the scenes? How is this different from wine?

<comment><USER31> Here are the details from Valve's announcement post [0]:

[begin quote]

Q: What is Proton exactly? How does it differ from normal Wine? Who worked on it?

Proton is a tool distribution based on a modified version of Wine. The included improvements to Wine have been designed and funded by Valve, in a joint development effort with CodeWeavers. Here are some examples of what we've been working on together since 2016:

\- vkd3d[source.winehq.org], the Direct3D 12 implementation based on Vulkan

\- The OpenVR and Steamworks native API bridges

\- Many wined3d performance and functionality fixes for Direct3D 9 and Direct3D 11

\- Overhauled fullscreen and gamepad support

\- The "esync[github.com]" patchset, for multi-threaded performance improvements

Modifications to Wine are submitted upstream if they're compatible with the goals and requirements of the larger Wine project; as a result, Wine users have been benefiting from parts of this work for over a year now. The rest is available as part of our source code repository for Proton and its modules.

In addition to that, we've been supporting the development of DXVK[github.com], the Direct3D 11 implementation based on Vulkan; the nature of this support includes:

\- Employing the DXVK developer in our open-source graphics group since February 2018

\- Providing direct support from our open-source graphics group to fix Mesa driver issues affecting DXVK, and provide prototype implementations of brand new Vulkan features to improve DXVK functionality

\- Working with our partners over at Khronos, NVIDIA, Intel and AMD to coordinate Vulkan feature and driver support

[end quote]

[0] [https://steamcommunity.com/games/221410/announcements/detail...](https://steamcommunity.com/games/221410/announcements/detail/1696055855739350561)

<comment><AUTHOR> For more context, CodeWeavers is a company behind CrossOver, a proprietary software based on Wine. It is also a major contributor of Wine Project too.

<comment><USER19> The primary contributor I'd say.

</comment></comment></comment></comment><comment><USER32> Valve needs to partner with Google and launch a Chromebook/Steam Machine hybrid. It's in the interest of both companies to kill Windows. Google is already adding support for native Linux programs to Chrome OS, they could make a Chrome/Android hybrid that pulls all of the weight of the Android ecosystem and adds to that the weight of Steam. It would be a success and could seriously hurt Microsoft.

<comment><USER33> I couldn't think of anything worse than Valve and Google partnering.

And I don't know why you would want to 'kill' windows. What Valve is doing is great, its making more competition, that puts pressure on Microsoft to be competitive too. But killing off windows completely hurts everyone. No competition is bad.

<comment><USER32> I want Windows dead because it's a proprietary surveillance machine that has stayed alive thanks to really strong lock-in and network effects. I don't trust Google and Valve either, but even if they go full evil empire after after killing Windows, a monopoly built on Linux and Vulkan is a much better place than where we are now.

Google already has a near-monopoly in the smartphone space and it's much better than the Windows monopoly on the desktop. Android being built on tons of GPL software means they have to contribute changes back to the benefit of the FOSS ecosystem. It also means you can easily make/use a custom Android ROM without any proprietary components.

<comment><USER34> I'm truly interested and curious. Can you explain to me why being on the internet where all your actions are being monitored by your ISP is OK, but Windows is bad? I mean, no matter how many precautions you take, someone is watching you some how. Use web-based email? There's a record somewhere with all your past emails and they are making a marketing profile about you, same with search.

And what about smart phones? Android has you locked into Google surveillance and Apple is closed so we have no idea how much they know. Send a text? Your provider had to send that data and the person on the receiving end... well, you never know how secure their systems are.

Just some food for thought, would like to hear why Windows is so bad, I'm a Windows/Apple/Linux user and I don't hate on any of them.

<comment><USER32> >Can you explain to me why being on the internet where all your actions are being monitored by your ISP is OK

ISP surveillance is not OK, but ISPs only know the domains I access, not what I do on them. I can prevent them from knowing even that by using a VPN, Tor, or any other kind of proxy. I believe encrypted DNS might also become a thing in the future. Also, I'm not locked-in to my ISP.

>no matter how many precautions you take, someone is watching you some how

That's what we're trying to fight.

>There's a record somewhere with all your past emails and they are making a marketing profile about you

A lot of my email accounts are fake-identity and temporary and I try to use encryption whenever I can, but I admit email encryption has a long way to go. There's no lock-in here though.

>Android has you locked into Google surveillance

It doesn't. Custom Google-free Android ROMs are a thing and work well.

>Send a text? Your provider had to send that data

Use encryption. I recommend Matrix/Riot.im for encrypted chat. There is also a program called Silence that can encrypt SMS.

-

If you want to know the point of all this, there's a lot of material online, but you can start by watching the short talk "Why Privacy Matters" by Glenn Greenwald

</comment></comment></comment></comment></comment><comment><USER35> Does anyone know why Valve forked the Wine rather than joining them?

<comment><USER36> From the FAQs of the original post on Steam:

"Modifications to Wine are submitted upstream if they're compatible with the goals and requirements of the larger Wine project; as a result, Wine users have been benefiting from parts of this work for over a year now. The rest is available as part of our source code repository for Proton and its modules."

Wine has very tight/strict requirements for what can merged into its codebase, it's why DXVK has had to remain a standalone project because it doesn't live up to Wine's code/goal requirements.

<comment><USER37> Can you be more specific on where the goals differ?

"Get all windows stuff to run perfectly in Linux" sounds like a pretty simple goal to me.

<comment><USER38> But that is not the goal for Proton. Proton does not need to be able to run Photoshop or Powerpoint. There is optimizing to be done if you can skip the majority of desktop software as run target.

</comment></comment></comment></comment><comment><USER39> Would be great if they could do that for Mac as well, although Metal is a deadend (for game devs) so they may not bother. I have had some decent success running wine games on Mac.

<comment><USER40> On the proton github repo there are instructions for building for Mac and moltenvk libraries. It's probably not as mature as the Linux version but there are bits hinting here and there. Link: [https://github.com/ValveSoftware/Proton](https://github.com/ValveSoftware/Proton)

</comment></comment><comment><USER41> This could be the year of the Linux Desktop!

</comment><comment><USER42> Why can't we just have native support... Why do almost everyone had to go for Wine instead of native support. Gaming on Wine is painful and often break with updates.

<comment><USER43> > Why can't we just have native support...

Because the market for Linux gamers -- especially ones who don't already dual- boot Windows -- is tiny.

<comment><USER44> I think it's interesting that tiny indie projects would often have a Linux port, when their user base isn't all that big to begin with and their Linux user base would be much smaller still. On the other hand, AAA titles which would presumably still sell tens of thousands of copies rarely ever seem to make the effort.

I'm not complaining, but shouldn't it be the other way around?

<comment><USER43> AAA titles are probably more graphically complex, especially in terms of low- level shortcuts/optimizations. Whereas most indie titles have simple enough graphics to make extra optimization unnecessary.

</comment></comment></comment></comment><comment><USER45> This makes GNU/Linux a more appealing and viable gaming platform than Mac OS, since it now has the opportunity to capture so many of the existing Windows games.

<comment><USER46> Just run your macOS (not Hackintosh) on my Ryzen and then we'll talk.

</comment></comment><comment><USER47> Samba was reverse engineered, MS somewhat tried to make it an open standard, now are agnostic to it and are still developing closed extensions.

Mono became big enough, and they opensourced their own CLR, and it runs on Linux.

DirectX was implemented as a compatibility layer and runs games at close to native speeds on Linux and MS dumps it for Vulkan. Or so the wish goes.

</comment><comment><USER48> This is awesome. As others have said, gaming is one of the few reasons I still use Windows on my desktop.

</comment><comment><USER49> Glad to see Valve back to creating things other than hats and virtual trading cards

</comment><comment><USER50> Heh, I wonder if the list is correct about its Doom games. It links to the 2016 Doom as well as DOOM II: Hell on Earth (1994). Silly trend of re-using old names for new releases, they might have mean the original Doom instead...

<comment><USER51> Both are on the list, Ultimate Doom further down is a re-release of the original.

</comment></comment><comment><USER52> Has anyone addressed the possible legal issues with this type of emulation? What about titles with strong DRM is it likely that they will run in these environments?

<comment><USER53> In Valve's announcment they mention that titles with strong DRM or complex anti-cheat measures probably won't work.

</comment></comment><comment><USER54> Oh, thank goodness. I could never get the Steam client running under Wine. Usually, nothing happens.

</comment><comment><USER55> Does this mean we can now have wine without breaking packages and having to reinstall?

</comment><comment><USER56> If you use Wine to play DirectX 9 games, try the d3d9 fork. It's a fork with patches that give a much increased performance with DirectX 9 games which aren't merged into the Wine mainline because of the usual bikeshedding reasons. I use it to play WoW and I get better performance than on Windows.

[https://packages.gentoo.org/packages/app- emulation/wine-d3d9](https://packages.gentoo.org/packages/app- emulation/wine-d3d9)

<comment><USER57> > I get better performance than on Windows

as anecdotal as it might be, I used to get better performance from wine'd dwarf fortress than with it's osx port, which is interesting I guess.

<comment><USER58> I don't know how it is today but Microsofts compiler used to produce much better code than the free compilers used on Linux and Mac OSX

<comment><USER59> Just because the compiler is good, doesn't mean the OS's CPU scheduler is any good. Nor does it mean the graphics drivers for that OS are any good. Same for the filesystem. etc.

<comment><USER58> I'm not sure how that has anything to do with the difference in performance between running the Windows version on OSX and running the OSX version on OSX.

</comment></comment></comment></comment></comment><comment><USER60> I used to be a big Wine user back when I believed in the potential for a commodity Linux desktop for normal people. These days I can't for the life of me figure out why someone would want to run games on Wine instead of dual booting to Windows when it's game time.

<comment><USER61> A few reasons:

      * License cost
      * HDD / SSD storage space
      * OS performance
      * They might not agree with the EULA
      * Or simply because they just don't don't like Windows.

The real question is now that the web has gotten everyone used to the idea of applications being platform agnostic, why would anyone want to go back to a Windows lock in?

<comment><USER62> All correct. Also, I booted into Windows on Saturday to play a game, it hadn't been booted in months, so I hat to wait for a forced SP install and Windows wiped out Grub. Every time I boot back into Windows it kills Grub and I have to fix it again. Not only did I lose all my gaming time to the updates, I lost extra time fixing my bootloader because of Windows' aggressive BS. The sooner I can get it gone the better and I'll free up an entire SSD for games.

<comment><USER63> I just have two hard drives for this reason, super super annoying.</comment></comment></comment></comment>


Why Aren't Android Developers Flocking To The iPhone? - <AUTHOR> http://www.alleyinsider.com/2008/6/three_reasons_why_android_developers_aren_t_flocking_to_the_iphone

<comment><USER2> Would you want to play by Apple's rules? While I wouldn't want to be beholden to Google any more than Apple, Google doesn't own and control Android any more than Linus owns and controls Linux. Android avoids lock-in. Should Google move against you, screw them! You have their source code. Really, the manufacturers are the bigger obstacle and there are enough of them that they're unlikely to try as much as a monopoly would.

Apple's user-base is attractive, but it's also putting your eggs into a basket that can be taken away from you at any time. I love Apple, but I can understand why people would be hesitant to throw money in that direction.

<comment><USER3> That and more: Apple's platform probably won't be adopted by anyone else, so even though the user base is attractive right now, down the road it would look diminutive compared with the user base for an open platform that could gain support of multiple vendors.

7-8 years ago I used to develop mobile apps in both Palm OS (closed platform, just one vendor) and J2ME (open, widely adopted). Palm had the more attractive installed base back then, but as their fortunes changed, that investment is now worthless. Compare with J2ME, which kept growing thanks to support by most vendors.

<comment><USER4> The most significant difference IMO is the distribution model. An iPhone user will have one place to look for new apps: the Apps Store. Whatever app s/he is looking for, it will be there or not be at all. That's a huge advantage for a software developer. An advantage the Palm didn't have.

Also: sure, in 8 years the iPhone may be dead and Apple bankrupt, but (1) do you really think so? and (2) do you really need to plan that far in advance?

<comment><USER3> Palm actually did have the distribution in place - through palmgear (interestingly, it still exist) which was THE go-to place for Palm apps.

Regarding advantages to the software developer, having just one place where you distribute, and that place being controlled by Apple, isn't a good thing at all. It may mean that it's easier to start selling, but also that you have no negotiating power if and when your app becomes a success.

The stupid music companies managed to hand over the keys to their distribution to Steve Jobs, but they're not exactly happy about the fact that he now has so much control over their fate. Apple's great at creating consumer electronics that actually appeals to people, but they don't seem to be a very nice company to deal with as a business.

</comment></comment></comment></comment><comment><USER5> It always stuns me when software developers say, "I don't know <language here>, so that isn't an option."

Good programmers don't learn languages, they learn methodologies. You don't learn how to program in Lisp, you learn how to program functionally with flexible syntax. You don't learn Objective-C, you learn how to write good code in a message-passing OO system.

Sure, the libraries can take some time to acclimate too, but this is _our job!_ I just shake my head and sigh where I hear programming language is the barrier. I can never tell if it's a clever excuse for the press, or if people actually believe it.

<comment><USER3> That's true on the sole hacker level. If you're considering writing some mobile apps, and the iphone seems like a nice platform, then learning a new language for the purpose should seem like an opportunity, not a problem.

However, I guess the article refers to a mobile app shop that wants to make money, and that's when economic considerations set in. New language/framework means an investment in re-training your (mostly average) developers. Objective-C vs. Java also means having a tougher time locating experienced developers. In short, it makes less business sense.

</comment></comment><comment><USER6> It's easy to love a platform that hasn't shipped yet. There's no ugly reality to interfere with your beautiful dreams.

As long as Android has no paying customers, it's easy for it to be great. There are no tough compromises to be made. There's no battery to be drained by your resource-hungry app, and no customer to complain about that drained battery. There's no need to broker deals with carriers (who, incidentally, have stricter and stupider rules than Apple ever will), no need for effective marketing, no need to worry about market share or competitors or profits or even _prices_. There isn't even any need to fix your bugs. You can live happily in cloud-cuckoo-land; a place where your apps can do anything they want (take over the phone? use 85% of the available bandwidth? accidentally overwrite other application's databases?) without ethical, legal, or physical constraint; a place in which you don't even have to _study_ anything in order to develop gorgeous, easy-to-use, insanely profitable mobile applications.

Meanwhile, Apple is very, very likely to do to Android what they did to the Linux desktop: Deliver 85% of the features and 175% of the usability in a consistent, beautiful, well-marketed package that will promptly become the platform of choice for users who have any money... who, incidentally, are also the users that are most likely to spend money on third-party software.

</comment><comment><USER7> I don't know, Objective C seems a relatively minor issue to me. (although I have to admit I don't know Obj-C either)

Right now, developing for the iPhone seems scarily similar to developing for a game console in the amount of politics and bureaucracy involved.

<comment><USER8> The only thing that makes learning Objective-C difficult for me is availability, because AFAIK I can't compile Obj-C code on anything but a mac, and I don't happen to have one.

Other than that, I agree... it's just another programming language, and from my experience spending a little bit of time learning it when I worked for a company that provided me a mac, it's a pretty nice language. (That was v2. I hear v3 is significantly improved.)

Some day I might add a mac to my computer lineup, but for now it's not feasible, largley due to financial constraints... meaning that although I'm not exactly struggling to make the mortgage payments, my budget is finite, and I have other priorities besides yet another computer at the moment :)

<comment><USER9> gcc + gnustep is available for many non-Mac machines

<comment><USER10> And the emulator? Developing cell phone apps without an emulator is... not an easy thing.

</comment></comment></comment></comment><comment><USER11> I suggest that Android developers get on the iPhone bandwagon soon, or they'll be toast. Android might sound nice on paper, but it doesn't actually sell applications. It will be spread out over who knows how many phones, each having different requirements. There is unlikely to be a central place selling applications that does it as well as the App Store will. Why develop for Android when you can work out all the kinks on the iPhone platform and THEN port it over to popular Android phones? iPhone developers will have a head start, so it makes business sense to start there first. Closed systems to have their advantages, and developers are ignoring them at their peril.

</comment><comment><USER12> A side note:

When people who aren't brokers or traders are referring to companies by stock symbol rather than name, sell.

<comment><USER13> I was wonder that myself. In my mind I was trying to parse "American Association of ... what? Programming Lanaguages?" until it clicked.

</comment></comment><comment><USER14> I would probably guess that this is because it is easier to develop for a nebulous piece of vaporware than an actual product platform. If you are developing for the latter then eventually people expect your code to work and ship, while for the former allows you to write endless blog posts about how your port of the Duke Nukem Forever engine is going to look...

</comment><comment><USER15> We're currently developing in Android as it seemed the easiest path to getting a prototype of our idea up and running. We kinda figure that getting to play with something and refine the idea based on the experience is more important at this early stage as the platforms are settling down. We can always rewrite it later. Do you guys think am I being ridiculously naive in underestimating the importance of picking the winning platform early on?

<comment><USER11> Nope. Any entrepreneur can get a solid business going if its a great idea and done right. Its just that the iPhone platform is going to be done first, so if people have apps done for that they can work on their Android stuff while they're selling on the iPhone. If you're in a crowded genre, you'll be fighting uphill for a bit, but if your idea stands on its own then take the time to do it right, no matter what platform you choose.

</comment></comment><comment><USER16> It seems to me that most of the more compelling apps on these platforms will be heavily server dependent anyway (location data, etc).

If that's the case, then presumably a lot of the heavy lifting will be done on the back end and writing multiple front ends won't be a huge problem. (i.e. Loopt)

</comment><comment><USER17> They may, when revenue for the Apple aps starts to come in.

<comment><USER18> Then they may go back to Android, when they realize Apple is taking 30% of their app revenue first.

<comment><USER19> I'm not a mobile developer, but if I were, that wouldn't bother me. The concept of an app store shipping on every iPhone and Apple doing the marketing for you... it's pretty enticing and IMHO well worth that 30%. I'd imagine a high-profile application (read: fad) would gather more money, traffic, and downloads on a forced-down-your-throught app store on the iPhone than on Android where your users have to go more or less out of their way to get it.

<comment><USER18> Google has said that they intend to offer an "AppStore" for Android, much like Apples.

The differences however will be: 1) You do not _have_ to use it. 2) They will take much less than 30% (so they say)

While I agree with you for small-scale apps made by individuals, I think AppStore is a problem for startups looking to monetize their apps on a larger scale. 30% is a huge chuck off your total revenue any way you slice it. And remember, there is _no_ legal alternative to AppStore for the iPhone.

<comment><USER11> Good point. However, many applications monetized on a larger scale are built on advertising models, which don't have to give a cut to Apple. But you're right, traditional, expensive, stand-alone software is going to take a hit. On the other hand, its not like this will mean developers will lose money, they will just be paying more than they should for the value they get from the App Store. Actually, they're likely to make the same profit as their competitors who will also have to give a cut. Either way, Apple can always change its mind and give discounts for large volume sellers, expensive apps, etc, these rules aren't set in stone. Thats the best part about setting limits. Its easier to relax them than to set limits where none before existed.</comment></comment></comment></comment></comment>


Hipster churches in Silicon Valley: evangelicalism's unlikely new home - <AUTHOR> http://www.theguardian.com/us-news/2015/jan/29/hipster-churches-sillicon-valley-evangelical-new-home <comment><USER2> I've had this idea bouncing around in the back of my head for a few years for an idea to use technology to reimagine churches into "micro churches". I feel like with communication such as it is, you could turn churches back into what they once were 2000 years ago, small gatherings of a small number of people (10-30) in an informal space (coffee shop, home) for church. It was foster stronger sense of community, and would avoid 85% of the cost of a traditional church (assuming you still gave 10% as alms). Not something I've ever built, just something I've had knocking around back there. Someone else is welcome to take the idea and make something of it.

<comment><USER3> If you are looking for a more traditional model, then leaving out the 10% alms/tithe is pretty sensible. This only seems to be a fairly recent thing and not one really backed by any biblical teaching (there are no mentions of tithing for Christians in the bible).

<comment><USER4> Right. 10% is actually a low bar. Jesus was basically couch surfing. He had high praise for what would seem like absurd giving to us. He told a rich man to liquidate his life and donate the money. The early church would sell real estate to pay each others' bills.

Even in the old testament, tithes were more like 23% though they included taxes to support government. But there were additional social welfare rules on top of that, like not harvesting all of your grain so the poor could take the rest.

<comment><USER3> The percentage notion is pretty dangerous in my opinion. Even in old testament times, there was no fixed percentage. How much did a carpenter tithe? How much did a widow tithe?

The teaching I have seen at churches in San Francisco (not all churches mind you - I have only been to 3, and one of them didn't do this) was teaching this absolute lie that all people should be giving God (by which they meant the church) money, and that by giving money to the church, God would repay them with more. It isn't biblical, and it is really not helping with the huge homelessness problem in the city.

Anyone going to a church that is teaching this should be doing their own research, and then challenging the teaching at their church.

<comment><USER4> Right. There is no fixed percentage.

I used the term "low bar" in an opaque way. If the question is, "How much do I have to give?" then the answer is "You're asking the wrong question."

Jesus talks about money in Luke 12, and his opinions (on inheritance and accumulation of wealth) would run counter to God-loves-rich-people theology. Heck, they probably run counter to what most Americans would consider common sense.

</comment></comment></comment></comment></comment><comment><USER5> The problem with targeting "hipsters" (a term I dislike, btw) is that after a while they inevitably move on to the next new thing. And I don't think that religious belief systems are immune. A few years ago the new thing was Kabala, and before that western Buddhism.

<comment><USER4> I don't know, do hipsters go back to drinking crappy coffee? I think broad interests change with new experience. I don't know about community in Buddhism or Kabala, but in Christianity, once you experience healthy, constructive, no- judging, be-yourself community with other Christians, your tastes change. Going back to normal friendships is a little like getting used to great coffee then switching to instant coffee.

<comment><USER6> Unless of course you're gay or trans. Most versions of "Christianity" take a dim view of those folks.

<comment><USER4> I don't think all Christians are in "healthy, constructive, no-judging, be- yourself communities", and it sounds like you haven't had any exposure to one of those. I mentioned calling people on their crap in another post, and I've called Christian friends out for bigotry before. Part of a constructive relationship involves correcting people in a healthy and safe environment.

It's certainly not biblical to hate or judge anyone. That also means I can't hate or judge people for their hateful or judgmental attitudes. But it's not worth diving into a particular community steeped in those problems either.

</comment></comment></comment></comment><comment><USER7> >"Have you ever looked at the ingredients in a McRib? What are pig innards?" "You don't want to know!" called out a scientist in the second row, to rippling laughter.

Surprisingly the only pork product is actually pork shoulder AKA pork picnic [1]. The preservatives are the problem.

[1][http://www.mcdonalds.com/us/en/your_questions/our_food/whats...](http://www.mcdonalds.com/us/en/your_questions/our_food/whats- in-your-mcrib.html)

<comment><USER8> I don't see any issues there. Pork shoulder is still meat, plus it's McDonalds, what should anyone be expecting?

</comment></comment><comment><USER9> I think many people would entertain spending time on Sundays with this non- religious alternative :

[http://sundayassembly.com/](http://sundayassembly.com/)

The Public Charter

The Sunday Assembly is a godless congregation that celebrates life. Our motto: live better, help often, wonder more. Our mission: to help everyone find and fulfill their full potential. Our vision: a godless congregation in every town, city and village that wants one.

</comment><comment><USER10> It's fun to read an article written from a somewhat "outsider" perspective (the descriptions of bands and music are particularly amusing). I'd also be interested in reading a more comprehensive insider-perspective study of churches in SF and the Bay Area. In particular, I'd love to see a deeper survey of the latent conservatism of many "hipster" or "emergent" churches here, once you scratch deeper than the surface. People get squeamish quickly if you delve too far into questions of homosexuality, past the "don't focus on it" attitude described in the article.

There's also a surprisingly large "God called us to live in this dark city of sin" contingent, which I find sad: if you can't appreciate a place like San Francisco, you're only half alive: surely the antithesis of the promise of Christianity.

<comment><USER11> The whole thing seem really strange to me, almost like a parody. In the technology center of the world secular community movements, which SF used to be famous for, are being replaced by churches and networking events. Why not get together and start a study circle instead, it seems a lot more apt for the place.

<comment><USER4> Study circles and churches aren't the same thing at all, for one.

</comment></comment></comment><comment><USER4> I've noticed that how churches look is really influenced by land prices and local zoning laws.

In places where people have money compared to the cost of real-estate (like Texas), you see giant superchurches. In places where real-estate is relatively expensive, churches tend to be smaller since large auditoriums are basically out of the picture.

Though especially in dense areas, I've also seen what I call "church franchises"; one "church" with maybe half-a-dozen locations spread across a metroplex. To different degrees, the pastoral staff and congregation will float around to different locations from week to week. It's a way to grow without having to make absurd capital expenditures.

<comment><USER12> Maybe, but many cities have massive churches (e.g. Baltimore, New York, Washington D.C., et al).

</comment></comment><comment><USER13> If church has a good wifi and some tables, I am willing to give it a try, instead of coffee shop. I promise to keep video calls at minimum during mass :-)

Now bit more seriously. I could easily imagine some sort of two week 'hacker camp' organized by church. It works quite well for musicians, artist and other groups.

<comment><USER4> Traditional and contemporary (meaning full of baby boomers) churches tend to have many outlets for the artistically-inclined. I'm guessing that's because the church experience for them revolves around mass media and therefore performance: bands, choirs, sermons, and Bible studies (and accompanying books).

I think most faith groups fail to identify creative-but-not-artistic types (makers, hackers, builders, etc.) as having a lot of skills and passion to contribute. It's certainly not coincidental that both the tech-oriented (and more broadly, male) portions of American society are underrepresented and probably under-served.

</comment></comment><comment><USER14> From one of the churches mentioned in the article: [https://www.c3sv.com/sites/default/files/statement_of_belief...](https://www.c3sv.com/sites/default/files/statement_of_beliefs.pdf)

How do people who are (probably) scientific-minded reconcile themselves with this sort of thing? I love community, and I'm actually fine with all the theological stuff. But evangelical zealotry like point 5 ("All people are lost and need a new birth through Christ.") turns me off strongly, and I hope it doesn't infuse people in the tech industry, like it has in Middle America.

<comment><USER15> > How do people who are (probably) scientific-minded reconcile themselves with > this sort of thing?

There's very little in that "statement of belief" that is even within the domain of empirically-explorable fact, so I don't see what being "scientific- minded" has to do with it, unless by that you mean something beyond using science to explore questions within its domain like the epistemological view that anything outside of the domain of science is to be rejected as a valid matter of belief.</comment></comment>


Ask HN: Please review our product Konotor - <AUTHOR>

Hi Everyone,
We'd like your thoughts on a project of ours that is in BETA at the moment.
http://konotor.s3.amazonaws.com/index.html
What does it do ? Konotor is a product that helps you collect feedback from your mobile users and engage with them.
Why does it help ? It gives you a private channel to engage with your users, conduct surveys and helps avoid 1-star ratings on the app store.
How do I get in on it ? Leave your email on our site to participate in the BETA. As a `thank you` we'll give you the product for free for 3 months.
As excited as we are in making this product, we're even more excited handing it over to you. Please let us know what you think. Thank you for your time. <comment><USER2> I like your landing page. It's immediately clear to me what is the value proposition is of your product: it helps me, the developer, to engage with my users, and catch negative feedback before it hits the apps store.

But how do I integrate it with my existing apps? Is it an SDK or a code snippet that I need to drop into my code? As a developer I want to see how easy it actually is.

Finally, feature request :) Google maps prompts the user for feedback if you shake your phone. Having something like that would be sweet!

<comment><AUTHOR> You'll need to drop a library into your project and add a few lines of code. I'll send the details over to you shortly. We're still wrapping up the API and the documentation.

Thanks for the feedback about the landing page. We're trying to make the documentation and API as simple and clear. Thank you for your comment.

</comment></comment><comment><USER3> I would recommend that you make your website more responsive (i.e. currently, resizing my browser window does not resize the content). It feels very "empty" with the white background, no borders, and centered content. At least expand the top bar to take up the entire screen, which should go a long way towards framing content.

<comment><AUTHOR> Thanks josephpmay. I agree that we've not put in much work with respect to the site. There is room for improvement. I'll pass your comments on to our designer. We'll redesign the site sometime in the future and we'll take your inputs when we come up with a new one.

Thank you for writing.

</comment></comment><comment><USER4> Damn, great idea! I love the immediacy of prompting for a voice recording.

Would be very keen to integrate this with one of my apps that's currently in beta. Direct, actionable, voice feedback from beta users would be awesome.

<comment><AUTHOR> Awesome. We'll send you the details regarding the SDK to use pretty soon.

</comment></comment><comment><AUTHOR> Link: [http://konotor.s3.amazonaws.com/index.html](http://konotor.s3.amazonaws.com/index.html)

</comment><comment><USER5> One question your site didn't answer for me: What's involved in actually setting this up?

<comment><AUTHOR> You include a library in your project and add a few lines of code to integrate it. It should not take more than 2 mins. We're still authoring the doc pages.</comment></comment>


Data Science Rosetta Stone: Classification in R, Python, Matlab, SAS, Julia - <AUTHOR> http://www.heatonresearch.com/2017/08/17/ds_rosetta_stone.html <comment><USER2> "Rosetta Stone" implies that there is a universal stratagem for processing any dataset in any language.

One of my pet peeves with everyone using the Titanic dataset as a Hello World for data science is that real-world _datasets are not as clean or intuitive_. ETL and variable selection is half the battle, if not more.

<comment><USER3> No but the Titanic set let's your practice essential skillset and dip your toe into kaggle.

You still need to clean those missing data and do some sort of imputation. (edit you cannot use randomforest until you deal with those missing values in R at least and from a theory perspective I don't recall CART handling missing data.)

If you want to eek out those percentage of accuracy you have to do feature engineering which gave me the chance for the first time to actually understand and practice feature engineering.

And of course you gotta do EDA on it.

The only thing I've see that is bad about the Titanic is the data leakage. People are getting 100% accuracy because you can look up who's actually dead or use the test data with your train data and increase your model accuracy. But it also introduce you to the concept of data leakage.

I think the titanic dataset is very nice and compact that it lets you practice a variety of skill sets within the datascience domain. Much better than when I had to deal with medical genetic data.

> variable selection

You mean multivariate data?

I think there's a reason why in applied statistic you take statistic and regression first before you jump into multivariate.

Unless you just want to blindly do PCA and factor analysis on everything under sun without understanding the theory sure.

</comment></comment><comment><USER4> I like this. Being in large companies for a long time, SAS has been a staple, but I'm looking to get folks to do more in Python or R since I think the external talent pool is going there. Articles like this help illustrate that the transition isn't particularly horrible.

<comment><USER5> This article made SAS seem very unfun to work with.

<comment><USER4> I learned SAS in college and 15 years later I'm still using it, so it's become pretty natural to me. It's not particularly fun to learn, though, I agree. The lack of a modern editor kind of sucks too. You're not going to get hints, code completion and linting. You do get a feel for the madness when you work on a mainframe implementation, though - all of a sudden, the PROC syntax starts to make sense. I'm not going to lie, though, I do most/all data manipulation and ETL ops in PROC SQL. The only time I touch the DATA step is when I need to loop. It does have really good Teradata integration, though, and that's really important for most of my use cases.

That said, the one language that's gotten me away from SAS is Python. It's nice to have a general purpose language with so much community support, packages, etc. And I don't need to call an account rep if I need to extend functionality. Budgets aside, SAS is seriously messy when it comes to its modules.

<comment><USER6> > And I don't need to call an account rep if I need to extend functionality.

Thank you for reminding that this special kind of hell exists.

<comment><USER5> I'm thankful I've never had a serious bug with MATLAB. I have a friend who spent two days debugging an issue in one of their distribution files with a rep. Sounded like hell.

Similarly, MATLAB's concept of packages is also non-existent.

</comment></comment></comment></comment></comment><comment><USER7> This gives me an idea to make a Rosetta Stone but not for languages but for Models (SVM / Gradient Boosting / Linear Regression...). Probably would have to do it using two datasets or more.</comment>


Putting neural networks under the microscope - <AUTHOR> http://news.mit.edu/2019/neural-networks-nlp-microscope-0201 <comment><USER2> Reminds me of The tale of the neuroscientists and the computer:

[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.783...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.783.6101&rep=rep1&type=pdf)

Seems like these researchers are using techniques similar to what is used in neuroscience. Effectively, poke it with a stick and see. Of course, having perfect access to each neuron is a huge advantage over neurological research, but overall this still feels backwards.

BTW, neuroscientists did get perfect access to each neuron in some simpler organisms (c. elegans) and as far as I know we learned relatively little from that experiment. Don't get me wrong, in biology it's fascinating and groundbreaking research. But in _computer science_ we ought to do better.

</comment><comment><USER3> This press release does not even contain a link to the actual publication that this is about?

[https://arxiv.org/abs/1812.09355](https://arxiv.org/abs/1812.09355) [https://arxiv.org/abs/1812.09359](https://arxiv.org/abs/1812.09359)

somewhat related work: [http://aclweb.org/anthology/W18-5426](http://aclweb.org/anthology/W18-5426)</comment>


BitCoin almost doubles previous peak. - <AUTHOR> http://bitcoincharts.com/charts/mtgoxUSD#rg360zig6-hourztgSzm1g10zm2g25 <comment><USER2> Mt.Gox is the main reason of the current raise in bitcoin price. As Mt.Gox users have difficulty cashing out dollars, the only option they have is to convert those dollars to bitcoin (buy bitcoins on Mt Gox), or risk loosing all the money. At the same time spread they spread panic on forums, so a large quantity of people who have funds in MtGox in form of dollars, is currently trying to buy bitcoins on Mt. Gox, making the price raise. That is also the reason Mt. Gox bitcoin price is much higher than other markets.

<comment><USER3> Why are people still buying on MtGox? Is it easier and if so, how? I don't see any other reason to pay more.

</comment></comment><comment><USER4> It seems this rally has stronger market support on the downswings (ie doesn't crash completely). I'd take that as a good thing?

<comment><USER5> The good thing for a currency is to have a stable value. This is certainly not a good thing for people that want Bitcoins to be actually used instead of just stockpiled.

</comment></comment><comment><USER6> I find myself wanting to get into the bitcoin speculation game, if only nominally with some small denomination (say 0.1 BTC or something). Can anybody else speak to or give advice on getting over the creepiness factor of finding and using an exchange? Are some more reputable than others? Places like MtGox don't inspire confidence and the physical location of many exchanges gives me concerns about them in the event of some kind of dispute.

I feel like if I were to do business with an exchange, I'd need to start a whole new bank account just to do it to keep my real account info hidden away from exchanges and potential bad actors. Is this a completely irrational feeling to have?

<comment><USER3> MtGox is having its troubles right now. I've used CampBX and Coinbase reliably without any problems about a year ago. I can't speak to the withdrawal process though, other than to say I wouldn't do it through MtGox anytime soon.

There's enough liquidity in the top exchanges that discrepancies in sell- prices from one exchange to another are indicative of people's trust in being able to withdraw their money from that particular exchange.

<comment><USER6> Sounds good. I will check those out, thanks!

<comment><USER3> You'll have to evaluate which exchange you want to use for each of these three actions:

1) buying

2) holding (exchanges are targets for hackers whereas with a private wallet you can be hacked, or you can be virused, or you can lose it of your own fault)

3) selling & withdrawing

</comment></comment></comment></comment><comment><USER7> As the exchange rate rises buying Bitcoin will become ever more tempting. For those who haven't bought any Bitcoin yet do you think it's a good idea to commit now, Odysseus-style, to _not_ buy Bitcoin as an investment for N years?

Edit: What I mean by "commitment" is that you absolutely won't invest in Bitcoin during that time no matter what happens to the exchange rate.

<comment><USER8> I feel that it is obviously definitely not a good time to buy Bitcoin as it is at a peak in a speculative bubble. But additionally the world's largest exchange of Bitcoin (the magic the gathering online exchange) isn't allowing anyone to cash out. You are put on a waiting list.

So to actually cash out you need to visit that one ATM in Vancouver, which gives you access to $1000/day if there's money in it. Or you need to sell your Bitcoin to someone or buy something with them.

None of these are good reasons to buy Bitcoin.

<comment><USER9> I don't know if it's because I have given up coffee or what, but this post just rubbed me the wrong way for at least three reasons.

Mt.Gox is not the world's largest exchange: most would agree that BTC China is, and possibly Bitstamp is coming in second.

Mt.Gox is called Mt.Gox. It used to stand for Magic the Gathering Online Exchange. It does not anymore. Whatever your thoughts on the site, you have to at least give them the fact that you can no longer exchange MtG cards on the site, so that is no longer their market. They kept the name and pivoted what they do. If you can't handle people pivoting on HN of all places, good luck. Or maybe you're the kind of person that refers to LG as "that cheap ass Lucky Goldstar" too?

Finally, Mt.Gox is definitely experiencing delays for North American withdrawals, and to a lesser (?) extent Europe. However they're not 'not allowing' anyone to cash out. I have no doubt, for example, that in Japan it's all good... their problems are with their bank.

Anyway, hate on BTC and Mt.Gox for whatever reasons you want... but surely if your going to use reasons to persuade people away from something, you should at least use truth?

<comment><USER8> Mt.Gox doesn't stand for "Magic the Gathering Online Exchange"? Why are you saying I don't like LG? So when I said that when you try to withdraw funds you are prevented from doing so and put on a waiting list, that is correct?

<comment><USER9> Mt. Gox used to stand for that. It no longer does. There is a very distinct difference.

I didn't say that you didn't like LG, I asked if you still referred to it as Lucky Goldstar? My point was that LG used to stand for 'Lucky Goldstar'. Now, it is the actual name. QANTAS used to stand for 'Queensland and Northern Territory Aerial Services'. Now, it is the actual name. In the same vein, Mt. Gox used to stand for 'Magic the Gathering Online Exchange'. Now, it is the actual name.

Further to that, you referred to the site as 'the magic the gathering online exchange'. This is obviously not true anymore: it literally cannot be used to exchange MtG cards anymore. You cannot deny that they pivoted from exchanging MtG cards to exchanging Bitcoins, and calling it something that it obviously is not anymore is wrong.

Finally, when you said that "when you try to withdraw funds you are prevented from doing so and put on a waiting list" that is not correct. You are not prevented from doing so. Your request is processed and queued... just because that queue takes way too long for a lot of people doesn't mean it was prevented. Just like when I transfer money from one account to another and it is queued and processed over night doesn't mean it was prevented. Thankfully, however, that overnight queue is processed a lot faster than a transfer from Mt. Gox. But again, there was nothing stopping me from initiating it.

Also, just to add to what I said in my original reply, there are no doubt a lot of people in the world that are not having delayed processing at all... they just don't happen to live in the USA.

Don't get me wrong: I definitely think that there are issues with Mt. Gox in particular that are worrying. However, I would point to those things instead of mentioning things that actually aren't true. And when I point to them, I would point to them as problems with an exchange itself, as opposed to using those points to say "None of these are good reasons to buy Bitcoin".

</comment></comment></comment></comment></comment><comment><USER10> The FBI is holding 1.5% of all the volume right now, consigned. So just decreases the flow. My guess is the price will go up until Mr Ulrich has bee found guilty. At that point they'll cash out, and the spiral downward will start. My guess is 30$ the end of 2014, I might put some money on that if there was a reliable and reputable derivatives market.

<comment><USER11> I am truly ignorant of anything relating to finance, can you explain why dumping only 1.5% of volume would be an issue?

</comment></comment><comment><USER12> If bitcoins are going to be used for anything at all, the rise in value is likely to continue for a while longer. One can argue, and I might agree, that the velocity of money is greater in the bitcoin economy, but I still think the small size of the bitcoin economy (little over $5 000 000 000 atm) is limiting.

</comment><comment><USER3> Is there a chart of bitcoin prices that goes further back in time than bitcoincharts.com? And preferably logarithmic scale.

<comment><USER13> Bitcoincharts has a log option... Its right there on the same page you just looked at.

EDIT: Also check the date range, Bitcoincharts has almost all historical data.

<comment><USER3> I always use that log option. It's amazing that people look at the normal chart.

<comment><USER13> Jeez you made me do a doubletake! You know there is a log option! Damn I look stupid now, haha.

So you were only asking for extended data? Does the all time option have enough for you? I don't think Gox traded back past the data bitcoincharts have on record.

<comment><USER3> No worries. I'm curious to see data past what bitcoincharts.com offers. If you look at their three years of data on a log scale, there's a very clear trendline with gains of 6x to 10x per year.

</comment></comment></comment></comment></comment><comment><USER14> Only two more doubles to go, and I'm a millionaire. Woohoo.

<comment><USER13> 520 Bitcoins?

<comment><USER14> 501\. So needs to go up a little more than 4x.

<comment><USER13> Nice work! Good luck I am sure you will be a millionaire before long. :)

<comment><USER14> I sure hope so!

<comment><USER15> Too bad it's in an inferior currency

<comment><USER6> If he somehow manages to pull a million out of it, I'm not sure it matters too much.</comment></comment></comment></comment></comment></comment></comment>


A LETTER TO STARTUPS: "YOU DON'T NEED 1MILLION USERS, JUST a COMMITTED FEW" - <AUTHOR> http://blog.miigle.com/post/96551628906/a-letter-to-startups-you-dont-need-1million-users

<comment><USER2> The question is how to find them. ;)

I think this is one the best thing (not the money or talent) in the valley. It's basically a heap of early adopters. People who try new things daily and are keen to give feedback. It's not as easy in other cities.</comment>


10,000 ints in 1 page of memory (4KB) - <AUTHOR> http://undiscoveredfeatures.blogspot.com/2010/12/10000-ints-in-1-page-of-memory-4kb.html <comment><USER2> Yeah, the title is misleading because really the problem described in the blog post is to store some unknown number of ints between 1 and 10,000. The better solution than a straight bitmap of 10,000 bits is to use all 4KB and devote three bits to each slot. Then you can remember up to 7 occurrences of each integer.

There's no need for bloom filters here because you can already cover all the possibilities using a bitmap.

<comment><USER3> Additionally you could decide to only store up to 6 occurrences of each integer in the bit array, use the value of 7 as an indicator that there are 7 or more occurrences and store the actual counts for those cases in a sorted array occupied by the remaining 346 bytes left in the 4KB page.

</comment></comment><comment><USER4> This looks like a very simplified bloom filter made with a very bad hash function. Mind you, though, I am pretty sure I'd never rediscover that particular data structure by myself :)

</comment><comment><USER5> The problem is inadequately defined.

Basically it depends on whether you expect to have to record more than 32000 / 14 = 2200 or so values, in which case simply keep a sorted list of the actual integers using a sorting/insertion algorithm of your choice, or you expect to receive fewer than 8 occurrences of a given integer, in which case use a 10,000 x 3-bit deep bitmap, or you don't care how many occurrences of each integer there were, in which case use a 10,000 x 1-bit deep bitmap.

In any event the unintelligible and buggy proposed solution doesn't seem like a good choice.

</comment><comment><USER6> I'm confused. Is 10000 the number of integers or the maximum integer that has to be stored?

I would have thought it (in general) impossible to store more than 2^15/log2(10000)~2500 integers between 1 and 10000 in 4kB, but I look forward to hearing more.

<comment><USER7> If you know the maximum integer you can receive, you can do a sort of bucket sort, where the Nth bit in the page represents whether you have revceived number N. So yo can store as many numbers as bits you have available.

<comment><USER6> Well obviously. That idea is not (IMO) worthy of a news post. But it doesn't say that the integers are distinct. I'd be interested to hear if it was possible to store numbers _in general_ better than above.

<comment><USER8> If the integers cannot be guaranteed to be distinct, and all of them must be presented at the end, then no algorithm which restricts itself to O(1) memory usage can be correct. Since the problem restricts you to using 4KB of RAM (O(1)), and there is presumably a solution, you can conclude that you need not count non-distinct inputs - but yeah, it's kind of a bad problem description.

<comment><USER6> I'm not sure you can change the question just because there is no answer :P

4KB of RAM is not the same as an O(1) memory requirement, since we have already restricted the number and range of integers to 10000 (i.e. constants),so there is nothing left to vary. The page size just presents a target ratio for compression, not an asymptotic restriction on memory usage.</comment></comment></comment></comment></comment>


Obama's drone war is a shameful part of his legacy - <AUTHOR> https://www.washingtonpost.com/opinions/obamas-drone-war-is-a-shameful-part-of-his-legacy/2016/05/05/a727eea8-12ea-11e6-8967-7ac733c56f12_story.html <comment><USER3> I totally disagree.

Drones are the most precise tool (limiting collateral damage) in the history of war.

Do you seriously think that if drones didn't exist, they wouldn't be conducting air raids or sending in legions of troops to do the wetworks?

The US had an obligation to get out in front of the rest of the world, and set some de-facto and de jure international standards for how drones should be used in a military capacity.

There are legal memoranda and strict procedures being followed. Nobody is unaccountable - to the contrary, the consequences are more visible and individually attributable for accidents during war now, than ever before.

I heard a quote one time, to the effect of "If you told the average US citizen during Vietnam era, that the President of the United States personally signs off on individual military raids after verifying intelligence data, during the prosecution of a war, they would think we now live in a liberal utopia."

<comment><USER4> And you're totally missing the point. Drones are as precise as intel they're dispatched on. And this intel has nothing to do with thorough work, it's mostly based on signal, with no real reconnaissance whatsoever. There's a village with a phone that's related to a person related to some shady group? Send drones!

Your argument is like saying "sniper rifles are awesome, would you rather use grenades to dispatch bad guys?" Of course not. But sniping everyone wearing a tie at a banquet just because you know your target has a tie isn't at all better than setting up explosives to the building.

</comment></comment><comment><USER5> A friend of mine frequently says that he appreciates the fact that Obama got into office, assessed the situation, and made these decisions once having all the information the office has provided. I don't buy that entirely, as I think that the years spent in Iraq combined with our newfound ability to actually make drone strikes feasible meant that 2008-onward was always going to see a dramatic increase in drone usage rather than troops. I will admit to having said that, if this program was going to happen, I'd rather a cerebral Constitutional lawyer be the one calling the shots than anyone else, but that's certainly not a justification and I'm certainly less confident in saying so.

It is worth noting that one year ago, the Post's Editorial Board[1] wrote that "Drone strikes are bad; no drone strikes would be worse" and that "What shouldn't be up for review is whether drone attacks will continue to be a weapon in the U.S. counterterrorism arsenal... [T]here is little question that drones are the least costly means of eliminating militants whose first aim is to kill Americans."

1: [https://www.washingtonpost.com/opinions/the-continuing- value...](https://www.washingtonpost.com/opinions/the-continuing-value-of- drones/2015/05/01/5938eaac-ecf9-11e4-a55f-38924fca94f9_story.html)

<comment><USER6> "No drone strikes would be worse"

Well, that's the assumption isn't it. Can anyone validate that assumption?

</comment></comment><comment><AUTHOR> "Then there are the legal and constitutional questions. The leaked documents show the disturbing ease with which an innocent civilian — American or not — can be added to the U.S. government's main terrorist database, such as on the basis of a single "uncorroborated" Facebook or Twitter post. In a 2014 court filing, the government admitted that 469,000 people had been nominated in 2013 for inclusion in an additional government database of "known or suspected terrorists." Only 4,900 were rejected. Presumption of innocence this is not. And although Osama bin Laden's name was in a terrorist database long before he was killed, so too was the name Abdulrahman al-Awlaki — innocent, 16 years old, an American citizen and killed by a U.S. drone strike."

</comment><comment><USER7> The article is long on opinion and short on data. I appreciate that's why it's in the opinion and not news section - and that the actual #s are hard to come by.

For me to have an educated view on the matter (as opposed to just climbing on top of a moral soapbox that violence is bad), I have to know how many people were killed, how many we _meant_ to kill (under what criteria) and how many were killed by mistake / as collateral damage. For a sane observer to conclude that drone war is 'shameful', one has to have these numbers. Otherwise you can might as well consider WW2 and say 'We killed millions of Germans - <USER2> shameful of us!'

The numbers cited in the article are nonsense - what is the relation between the 'easy to get on' terrorist list and people targeted for drone strikes?

<comment><USER8> * I have to know how many people were killed, how many we meant to kill (under what criteria) and how many were killed by mistake / as collateral damage. For a sane observer to conclude that drone war is 'shameful', one has to have these numbers.*

Isn't that at least part of the issue? US citizens vaguely know that drone strikes take place, against people designated as "terrorists". But we know darned little else. It's all classified for various reasons.

I agree with your point, but I believe that is a side issue. First, the US government has to do some major disclosure. Otherwise they're effectively acting without any restraint or debate or consent.

<comment><USER7> But did we have this information during _any_ war? Ie that seems to be the standard MO for any theater of war.

We as a society just write a massive benefit of the doubt check to the military and hope for the best.

</comment></comment></comment><comment><USER9> We should be ashamed that this goes on in our names.</comment>


Ask HN: Which server for Rails is the most recommended? - <AUTHOR>

I want your opinion on choosing which server to use for production rails project. And what to use for deployment. I am in between Passenger and Unicorn for server. Capistrano or Jenkins for deployment? What I need is speed and scalability. And flexibility regarding to on subdomain redirections. Seems like Unicorn has problems with it. <comment><USER2> It depends on your needs and the needs of your application. These days, I almost never even consider Passenger because I find Unicorn and Puma easier to setup and scale. The benefit of Passenger being "deploy many apps on one machine" sounds like a good way to get yourself into a single point of failure situation for all of your applications.

I almost always start with Puma[0]. It uses threads, so your code, as well as any gems you are using, have to be threadsafe. Chances are you'll be ok. Puma shines for applications that do a lot of IO, which is most Rails applications. The type of performance you get out of Puma depends on the hardware underneath, but on a 1:1 comparison Puma tends to outperform Unicorn.

In the odd chance that your app is CPU bound a lot, go with Unicorn. It's fairly performant but due to it's single threaded nature you'll need to run more Unicorn workers and thus use more RAM.

As far as deployment, Capistrano is a lot better since version 3. If you're only deploying to one machine checkout Mina[1] or Recap[2]. Mina actually generates a shell script of your deployment tasks, which is pretty neat. Recap only works for Ubuntu.

0 - [http://puma.io](http://puma.io)

1 - [https://github.com/mina-deploy/mina](https://github.com/mina-deploy/mina)

2 - [https://github.com/tomafro/recap](https://github.com/tomafro/recap)

<comment><USER2> I wonder why I was downvoted. Tough crowd.

</comment></comment><comment><USER3> If you're thinking between Passenger and Unicorn, the main determining factor between the two is that Unicorn is most efficient when you're serving a single application in production. Meanwhile Passenger is best if you have multiple apps running on the same server.

In terms of functionality (i.e., subdomain redirects) both are practically identical. The one functionality that's tougher is the ability to do streaming. In that case, you'll have to look at Puma, Rainbows!, or Thin.

And in terms of deployment, you'll use Capistrano. You can use Jenkins too if you're looking to setup continuous integration, but you'll need Capistrano regardless in order to deploy to production.</comment>


Ask HN: How obsessive are you with your code? - <AUTHOR> So.. realized today that I probably spend an hour a day refactoring code. It's usually towards the end of the day, and includes items such as renaming variables, creating/moving classes, enforcing stricter patterns, writing in-depth comments, checking and removing dead code, and other general upkeep issues.<p>My question: is this too much? too little? How much time do you spend on these activities? Should I spend more time upfront thinking before coding (gasp!)? <comment><USER2> I've been called a perfectionist because of my coding maintenance. Dozens of my commits are "Source code formatting", where I try to make the code closer to PEP8 (Python).

But I don't go actively looking for things to "fix". While reading code, if only one line is separating functions, I add another. I add \ to line ends trying to limit width to 80 chars.

Lately my mantra has been "Shipping is a feature". Code working is my number one priority. But like most of the people, I like to think I'm above average, so I don't believe I write _bad_ code at the first time. I know it's not perfect. Just by saying this, I remember of things I know I should change to make the code better, but why bother?

What you must always pay attention is the balance between creating value for your customer, and for you as a professional. And even when you do things for yourself, always remember your main objective is to make things easier in the future to create value for your customers.

Caveats apply, of course. A refactoring to allow more modularity or whatever in the future might be good to do now, but honestly usually there are more pressing matters (unless the current pressure is to add some module functionality).

It's hard to give any straight answer. There are no hard rules, like "you should only refactor during one hour per-day". Maybe you're doing something where a big-design-upfront is not possible. Maybe not.

These things come with experience, tough. And where you want to keep your focus. If I was working on a 10 year code base where the original programmer has left the company, and didn't document anything, then I guess I would spend more time nurturing the code. But my job today is too fast paced, and "when it will be ready" is my customers/stakeholders number one priority. I negotiated and told them quality would suffer, and they are aware, but don't care much.

<comment><USER3> I stay happy as long as my black box continues to function as advertised. That keeps me from obsessing over internal details. Ugly code can stay ugly and I sleep fine at night.

But whenever I wade into the code for good reason, I reward myself by refactoring whatever areas I happen to touch. It's like throwing a fish to a seal. That way I always get a chance to do fun things like unifying similar code or making code more data-driven.

I'm still a perfectionist, but I'm also a strategic procrastinator. So while I'm working on code, whenever I think of _anything_ , however small, that might improve it, I'll throw in a comment such as "TODO 0703 might want to tighten this up" or "TODO 0703 you need to test this case before releasing". I am so relentless and unforgiving that sometimes the TODOs multiply like rabbits.

Before I release anything, I grep on "TODO". As long as any TODOs show up, I can't release. If I need to put off something until later, I'll change that "TODO" to "LATER". Occasionally I'll make a point of revisiting my LATER entries, converting some of them back to TODO. That way perfection is an ongoing process, not an attained state.

<comment><USER4> The problem I have with refactoring todos is that after a time it's no longer clear to me why the refactoring was needed (unless it's obvious, but in that case I probably already did it).

<comment><USER3> To be clear, I usually add TODOs only for observable features and enhancements, rarely for internal issues like refactoring. My point is that I usually refactor only when I'm already in the code for other reasons, as a reward for doing the immediate observable changes. This helps focus my refactoring efforts only on code that is already changing for the customer's benefit.

</comment></comment></comment></comment><comment><USER5> There's a good balance of writing it right the first time, and spending too much time with the details and not the actual feature you're implementing.

With enough experience, you'll know how to start writing something such that it won't require extensive refactoring. Make sure it's good enough that if you don't have enough time, it's still good in these two major ways: as fast as possible with no redundancy, maintainable by someone else.

</comment><comment><USER6> _Should I spend more time upfront thinking before coding (gasp!)?_

Probably. But anyone who reads my blog could have guessed that I would say that.

I tend to spend a long time writing code and then never look at it again. I even forget the implementation details. It makes my life much easier -- if I had to keep thinking about how btree_node.c calls proto_lbs_client.c which calls wire_requestqueue.c which calls wire_writequeue.c which calls network_buf.c which calls events_network.c I'd never get anything done. And if I can remember all that, I'm going to think about it whether I like it or not.

Just get the code right the first time. Then you can use it as a building block without needing to worry about implementation.

<comment><USER7> I often use code as a tool to think about code.

So my time spent upfront may actually look like coding. Depending on the problem I may use strange domain specific languages like scribbling equations on dead trees.

The artefacts of this upfront thinking may get re-used in implementing the solution. Than it can look like refactoring.

</comment></comment><comment><USER8> In answer to the headline, not very! I prefer to get something working, then I'll refactor, reformat and rewrite until reliability, readability and performance meet my needs. This process can take months, depending on the required balance between adding new features or improving existing ones.

This approach works quite well for me, since I generally plan code in my head before a coding / transcribing session.

An hour a day sounds high, but understandable if you are working on a scrappy code-base. It sounds like you are doing a good job, especially since you will be eliminating 'code-smells', fixing warnings etc.

I always like to plug it, but Code Complete was the book that transformed my attitude towards 'my craft'. Great book, should be mandatory reading.

</comment><comment><USER9> Too much, probably. For me, its not usually not related to reorganizing my code around. But, I'll nitpick over whitespace or brackets. I won't fix formatting up if I'm in the middle of working on something, but I'll make a mental note to come back to it.

My justification (to myself, at least) is that when I encounter code thats badly formatted, I find that the flow doesn't tend to make much sense (either to read, or as its actually executed) and it needs refactoring anyway. So, I'll fix the formatting up and read the code to see what it does. And then refactor parts, if necessary.

<comment><USER7> I do almost the exact opposite: I see that fixing minor flaws in the whole code base is a temptation, but I do not have enough time to do it. So I just polish everything that my edits touch (i.e. every function that is affected).

<comment><USER9> _...but I do not have enough time to do it._

Neither do I, really. I don't go back to change something around unless I _do_ have time.

</comment></comment></comment><comment><USER10> When I was employed as a developer, I was quite obsessive about refactoring my code to the point where I considered it elegant.

Now I run my own company and am the sole developer. So these days I tend to think if my code is well factored, I'm doing it wrong.

It's not quite that simple of course. The lower down the stack a chunk of code lies - the more things that depend it - the more I want it well factored and well tested. But I'm quite comfortable with code high up the stack being scrappy, hacky and untested.

</comment><comment><USER11> I try to follow a simple rule.. Leave the code in a better state than I found it.

Every time I submit a revision I try to include a change which improves an area of the code outside of my main focus.

By doing this I am constantly improving and re-learning parts of the codebase that otherwise become moldy.

So, A typical checking might be something like...

Add ability for animation tracks to play in reverse. Add missing null reference check to CalculateWorldTransform Improve per of serializer by 10% (avoid string parse for main line case) BUGFIX #1087: Keyboard input delayed by one frame

Basically, I try to make refactoring/improvements an ongoing part of development rather than a chore.

</comment><comment><USER12> For the last few months, I've been trying to enforce a discipline of Design, Code, Inspect Code for errors, Unit Test, repeat. I try to do this over relatively small increments like 1-2 functions at a time, maximum. The change from what I did previously is that before I didn't do much detailed design -- that happened as I was coding. And reading code for errors was only done if a test failed.

It gets tedious very quickly but at the same time the number of errors that persist to Unit Test has dropped considerably.

After spending a _lot_ of time thinking about Software Process, I've concluded that the biggest gains come from engineering discipline, not heavier process, so yeah, I don't think you're doing too much. Although I wouldn't force code/design into patterns.

A lot of the code I'm modifying these days is legacy stuff with 300+ line methods!!! Although it was written by a pretty smart guy, I really wish he had heard of refactoring and removing dead code: I have a burning hatred of commented out code and code that never gets executed.

</comment><comment><USER13> This really starts to matter when you're working with other programmers. There's always a fine line between too much refactoring and micromanaging, so I basically try to keep things to a level where I can quickly understand what's going on with one read-through. If I can't, there's a problem, and it's time to start cleaning things up.

<comment><AUTHOR> > This really starts to matter when you're working with other programmers.

And see I've been solo for about two years which means I haven't had to manage any of those external expectations that you get from being on a team.

</comment></comment><comment><USER14> I ask myself two things: Will I remember this later? Will other developers be able to read or understand this?

Some code is obvious, no comments or naming is needed. Otherwise, be obvious or leave enough comments to make life easy for your team, or "future you."

</comment><comment><USER15> First make it work,

Then see if anyone uses it,

Then make it good.

The time to refractor is when you see a real time savings from doing so, not a hypothetical one. It works for me at least.

</comment><comment><USER16> I refactor at one of two times. Its either after I get my unit test working or its a change to the structure of some code so I can add a feature. So its an activity I am constantly doing throughout the day to make sure the new functionality is put in relatively well.

In the same way I can't count how long writing tests takes I can't count how long refactoring takes as its simply part of the normal development process. I only ever account for work that includes these activities because after doing it for so many years I realise you can't split them without doing a hack job.

</comment><comment><USER17> Are you perhaps doing that because at the end of the day, you are too tired to get real work done? Might be better to take a break...

<comment><AUTHOR> This actually probably has something to do with it. I've been working on a new project lately and have been pretty jazzed up about it during day.

</comment></comment><comment><USER18>
        -Wall -Werror -Wextra -pedantic

that's all you need

<comment><USER7> I guess you also need a way to suppress spurious warnings. And C compilers normally don't warn you about follies, like using global mutable state. Or using C where it's inappropriate (or not using C where it's appropriate).

Though I do agree that ridding your code of compiler warnings is a good idea in general. Because when a warning comes up afterwards, it will actually have some signalling value, instead of being ignored in a sea of similar warnings.

<comment><USER18> > I guess you also need a way to suppress spurious warnings.

        man gcc
        ...
        You can request many specific warnings with options beginning -W, for
        example -Wimplicit to request warnings on implicit declarations.  Each
        of these specific warning options also has a negative form beginning
        -Wno- to turn off warnings; for example, -Wno-implicit.  This manual
        lists only one of the two forms, whichever is not the default.  For
        further, language-specific options also refer to C++ Dialect Options
        and Objective-C and Objective-C++ Dialect Options.

> And C compilers normally don't warn you about follies, like using global > mutable state.

I mean no great disrespect, but if you need a machine to remind you not to use global mutable state, get back in the oven, you're still a bit gooey on the inside.

<comment><USER7> I was just arguing against

      -Wall -Werror -Wextra -pedantic

being __all__ you need. I don't doubt that those options are certainly part of a healthy breakfast.

</comment></comment></comment></comment><comment><USER19> Codecraft is important to me. I am obsessed with whitespace and consistent names. Imagine my delight when I found a gedit plugin called Elastic Tabstops!

<http://nickgravgaard.com/elastictabstops/>

</comment><comment><USER20> Before I commit any code, I spend a surprisingly long time making sure the diff looks neat and it does things the right way.

I wouldn't revisit old code until I needed to change it for another reason, since all changes should be thought out properly.

</comment><comment><USER21> refactoring is a natural part of coding process. in an ideal world, it only has to happen only when you need a particular chunk of code in more than two places. otherwise, time spent without adding value is just wasted.

but this is not an ideal world and from a recent thread about a similar subject, i got the impression that most of us don't like the code we wrote the second time we look at it.

i guess it's okay to spend time on code that's already perfectly working as long as you don't miss your deadlines (or arrive late to a date, or something).

</comment><comment><USER22> Experience is nothing but trial and error. Once you've been programming for a while, you'll get much better intuition about what works and what doesn't.

</comment><comment><USER23> If that hour a day pays you back in lower maintenance costs, then it's worth it. An ounce of prevention is worth a pound of cure.</comment>


Ask HN: Can we apply to YCombintor planning to work on the start-up part time? - <AUTHOR>

Hi,
We are group of people working full time at different companies on H1-B visas. We want to apply for YCombinator, but our plan is to continue working part-time on the start-up idea till it gets some real traction.
Is it possible to apply for YCombinator with only part-time commitment from the founders ?
Thanks, Sesh <comment><USER2> I don't see how they would let you do this. When you are working for someone else, it's too easy to give up on your startup.

How are you guys going to even go through the program? It's not like you can just take a bunch of time off of work...

<comment><AUTHOR> Thanks Paul. I didn't much about how the ycombinator program works, except for what's available at this link:<http://ycombinator.com/atyc.html>. I just wanted to know if there is a chance it would work at all with our full-time jobs.

More than the funding, what we are looking for is some guidance and networking with like-minded folks.

Thx, Sesh

</comment></comment><comment><USER3> No. sorry.</comment>


A Man Who Went to War with Canada - <AUTHOR> https://www.atlasobscura.com/articles/us-canada-island-dispute <comment><USER2> This article was worth it just for "determined to leave no tern unstoned."

<comment><USER3> Arctic tern?

* [https://www.youtube.com/watch?v=BKQ6eoXfBKU](https://www.youtube.com/watch?v=BKQ6eoXfBKU)

</comment></comment><comment><USER4> As a man with a small island project, I enjoyed this top to bottom.

[http://Majagual.org](http://Majagual.org)

<comment><USER5> I don't understand, are you trying to get people to move to your island, or running some kind of cryptocurrency scam?

<comment><USER4> The crypto was an experiment and we just gave it away to friends.

We are creating an eco village and community.</comment></comment></comment>


Memrise: vocabulary learning by applied neuroscience - <AUTHOR> http://www.memrise.com/

<comment><USER2> I think you're working with an overly simplistic model if this page is accurate.

<http://www.memrise.com/about/science/>

I also found it difficult to navigate to something which actually shows your product. When I realized that the Mandarin demo was your product demo, well, I've seen that approach in enough textbooks and it's nice to implement via animation. With some more polish and a broader test sample, I'd probably recommend it - as much as the "behold, science!" presentation annoys me.

But then when I went back to your home page IT WASN'T THERE ANYMORE. Please don't ever, ever use cookies to do that.

<comment><USER3> Hi there. I'm Greg, CTO of Memrise.

Feel free to ask me about the science if you'd like. It's hard to strike a balance between advertising what we think is most important and comprehensible, and sounding too mystical.

Sorry about the disappearing splash page - I know what you mean, and we'll have to think about a better way of letting people get back to that, while still making the dashboard for logged-in users primary.

Yours, Greg</comment></comment>