"Rootless" feature in El Capitan means DTrace no longer works - <AUTHOR> http://apple.stackexchange.com/a/208185 <comment><AUTHOR> I didn't mean to be alarmist by posting this. I actually think SIP is probably a good thing. I just wanted to raise awareness so folks don't get bitten by it. I ran into this issue earlier trying to benchmark IO performance of my software on bare metal rather than in vagrant. Unfortunately, it seems iotop and iosnoop are broken unless I press this big red button that only experts can press to disable SIP, when all I want to do is a little system profiling. Maybe Activity Monitor has a scripting API I don't know about. I'm just kind of annoyed by this, I would rather dual boot into Linux than having to restart into Recovery Mode to get basic IO profiling. I can understand that DTrace could be a privilege escalation risk, but maybe Apple has an official recommendation for how to properly use DTrace or an analogous API. `iostat` doesn't cut it because I'm looking at a specific process which is run under my user. I'm not using dtrace to reverse engineer system libraries. (I think) Apple already compiles dtrace with hooks so that it won't trace specific processes to mitigate reverse engineering, which I can deal with. But hell, even `htop` is totally wrong now as I compare it to what Activity Monitor is showing.

<comment><USER2> You only need to boot into recovery mode once to change the setting, not every time. Turning it off isn't a big deal, and you have a valid reason to do so.

Most users never need any of the functionality restricted by SIP, and will benefit from the greater security it provides. Every step forward in exploit mitigation is usually a tradeoff - NX broke some programs. ASLR broke others. SIP is no different.

<comment><AUTHOR> Personally I think I like having SIP. It means a webkit zero-day can't as easily load a kernel extension or edit firmware. I guess DTrace works by putting probes into other processes, so even though it is only "reading" system information, it's only able to instrument the data it reads in the first place by mutating other running processes.

</comment></comment></comment><comment><USER3> Okay, there's many problems with this post.

First, most people do not need to use dtrace. Especially on system processes. They claim that this is bad for security researchers because they can't monitor the system anymore and they showed a screenshot of dtrace not working even with SIP "disabled". However, from the screenshot, we see that SIP is, in fact not disabled because of this line

> System Integrity Protection status: enabled.

You can see here [http://internals.exposed/blog/dtrace-vs- sip.html](http://internals.exposed/blog/dtrace-vs-sip.html) that with SIP properly disabled, you can run dtrace on system processes. Yes, it's confusing that it says "DTrace restrictions: disabled", when it should say "some dtrace restrictions".

Also, no security researcher worth their salt would be stopped by this (and no "bad guy" would be stopped from debugging either). In fact, dtrace is only a convenience and one tool in a toolbox; you have VMs with kernel level debuggers. You have object code analysis. You have wireshark and so on. If Apple can't stop people from jailbreaking their iphones (where hardware enforces the lockdown), they won't stop people from debugging their PC's kernel.

Basically, SIP is good for users (the "Ultimately this means that Apple has replaced the 'be all and end all' security barrier of the root password, with the 'be all and end all' SIP protection mechanism." argument is the same as "we shouldn't outlaw guns because people will find other ways of killing each other") since it makes compromising a system all that harder. If it hinders ANY security research, I question the skills of that researcher.

<comment><USER4> He did make one point that you've failed to address:

> Disabling SIP tells all software, from both the bad guys and Apple, that > this system is being watched. No more watching the watchers.

You're right, there are other tools. However, this definitely increases the barrier to entry for performing analysis of software.

<comment><USER3> I don't get that point. "Normal" users won't (and shouldn't) disable SIP. Those who do need to for security research won't really care that Apple knows they're poking into the system (when you disclose a vulnerability, they'll know who you are) and for the very paranoid, you can disable network or block connections to Apple or etc.

It's a strawman argument because for security researchers, there is never a problem of "we can't let them know we're looking". There's also no evidence that Apple phones home the status either.

And re:"barrier of entry". Who should we be protecting? Amateur security researchers or mass users? As an amateur security researcher I'd happily allow my job to be 10x harder if it makes users even 2x safer.

<comment><USER5> We might want to hide our activity from malware. The malware might delete itself as soon as SIP is disabled.

<comment><USER6> If you're looking to hide your activity from malware, you should be incredibly excited by SIP. With SIP enabled, you have _more_ protection from malware introspecting other processes or monitoring activity on the system. Hell, if you're a researcher building tools to detect and analyze OS X malware, you'd likely _benefit_ from SIP by opting-in your tools to SIP's restrictions. (Tangential example: Chrome is taking this step; Canary is currently SIP restricted.)

Malware can only introspect SIP-protected activity by employing kernel exploits. If malware can compromise the kernel, it's game over. You're not going to hide anything, ever.

If anything, it sounds like you want SIP's purview expanded to encompass more of OS X.

</comment></comment></comment></comment></comment><comment><USER7> [Really easy to enable.]([http://internals.exposed/blog/dtrace-vs- sip.html](http://internals.exposed/blog/dtrace-vs-sip.html))

But, hey, sure. Don't let that stop you from getting angry. Merry Christmas.

There should be a bingo card for this thread. "#doomed" "taking away freedoms". Free space is "What Steve would've done".

<comment><USER8> TFA addressed that. For the regular folk, this will be fine. For security researchers, it's a big flag that will let malware change its behavior.

He also posted a handy screenshot that shows Dtrace not working on some binaries even with SIP completely off.

<comment><USER9> SIP is turned on in the screenshot.

> System Integrity Protection status: enabled.

<comment><USER8> Ack, you're correct. SIP is on, but everything is disabled.

</comment></comment></comment></comment><comment><AUTHOR> " _I think the answer speaks plainly and precisely to a good part of the question, which is how the experience of using a shell as root will change. Sudo is now pseudo sudo._ "

-– sas08

[http://apple.stackexchange.com/questions/193368/what-is- the-...](http://apple.stackexchange.com/questions/193368/what-is-the-rootless- feature-in-el-capitan-really/208185#comment251806_208185)

</comment><comment><USER10> I think SIP in general is a good idea, but gives Apple the opportunity to abuse their market position, which historically they have.

On a side note, I've been developing on a Mac for years. Is there any Linux distributions with a UI and directory utilities as polished as OSX?

<comment><USER11> [http://elementary.io/](http://elementary.io/) & [http://www.linuxmint.com/](http://www.linuxmint.com/) are the two distros I often hear about. I have not tested them myself though, I might someday if OsX becomes too closed-up to be useful for my needs.

Even with all the random problems I had with the first version of El Capitan, I doubt that a linux distro can rival the polish of OsX though. Of course, I would love to be wrong.

</comment></comment><comment><USER12> Yet another move by apple to take away your control over your own machine. Some parts of the filesystem become off limits, even as root. But installers have access! That's kinda nuts.

Obviously: most users wont care or notice. But when you combine this with other changes apple has made; it's clear where they're taking OS X: just as unfriendly to tinkering and exploration as their hardware.

<comment><USER6> > Some parts of the filesystem become off limits, even as root. But installers > have access!

Point of clarification: only Apple-signed installers can modify system paths. (c.f. [https://support.apple.com/en-us/HT204899](https://support.apple.com/en- us/HT204899)) All other installers are subject to SIP restrictions.

And Apple only added a few simple steps for people eager to tinker: reboot and disable SIP. Or reboot into the installer for the other OS with which you prefer to tinker. Or create a VM with an experimental OS. Frankly, most of those steps existed before SIP.

Most users shouldn't care or notice, and will benefit from increased protection. People who want to tinker will (and can and should!) tinker.

</comment></comment><comment><USER4> This and other developments around computer security and usability "for the everyman" worry me for two reasons.

First, they're taking away the "hard edges" from the system and helping create a generation of computer users who don't know how to tinker, how the inner bits work, or how to take responsibility for their own actions. If they download a virus, that's somehow Apple's fault for not developing a secure enough system. If they use an emoticon in their only root account password with FileVault enabled, it's Apple's fault that they are now locked out of their machine.

Second, and more worryingly, this works towards the "appification" of computers. The user's freedom to run whatever software they want on the desktop is a powerful check against the walled garden "app store" model where a central group (i.e. Apple) is responsible for determining what you're allowed to do. That's bad for innovation and freedom.

The famous Apple 1984 ad feels more ironic every year.

<comment><USER13> Exactly. Apple is responsible for a huge loss of freedom in the War On General Purpose Computing. This "appification" is _exactly_ what Cory Doctorow was talking about in his famous essay[1]. We are already beginning to see some of the nastier effects that we warned about[2] with, for example, John Deere's attempt to retain ownership[3].

Apologists will complain that you can turn of SIP (or jailbreak your phone) to regain control over your computer, but that isn't possible for most people. Installing certain types of software went from "run the installer" to "follow these complicated technical instructions" (or worse).

What I find more worrying is how easily technical people are fooled into supporting this loss of freedom. Scream "security" and suddenly it's ok for Apple to have root but not the supposed "owner" of the device? Of course, they know how to disable the restrictions or install a jailbreak, so these problems don't apply to the technological priesthood - it's normal people that have to live with the restrictions.

Well, this hubris will not last - once Apple can starts using the new Trusted Computing[4] features on new CPUs (such as SGX[5]), good luck regaining control.

It would be nice if more people actually bothered thinking about long-term consequences.

[1] [http://boingboing.net/2012/01/10/lockdown.html](http://boingboing.net/2012/01/10/lockdown.html)

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

[3] [http://www.wired.com/2015/04/dmca-ownership-john- deere/](http://www.wired.com/2015/04/dmca-ownership-john-deere/)

[4] one example: [http://i.imgur.com/rjbzWyB.jpg](http://i.imgur.com/rjbzWyB.jpg)

[5] [https://news.ycombinator.com/item?id=10754170](https://news.ycombinator.com/item?id=10754170)

<comment><USER6> > Apple can [sic] starts using the new Trusted Computing[4] features on new > CPUs (such as SGX[5]), good luck regaining control.

It seems the apocalypse came to pass a while back, with the Secure Enclave in Apple's A7 processors.

> Of course, they know how to disable the restrictions or install a jailbreak, > so these problems don't apply to the technological priesthood - it's normal > people that have to live with the restrictions.

Here's the funny thing: normal people _benefit_ from those restrictions. Without them, their devices – the ones you insist they should own – would quickly become someone else's: the attacker's. It _would_ be awesome if people started thinking about long-term consequences.

Honest question: do you hate root? Should all processes run with equal privileges? Does the kernel have an evil and undesired permissions level?

<comment><USER14> _do you hate root? Should all processes run with equal privileges? Does the kernel have an evil and undesired permissions level?_

The key difference here is that root is well known to be the all-powerful user, the one that really owns the system, while SIP is Apple's attempt at removing the power that root should have.

<comment><USER15> Given that Apple could have actually taken away root's power if they wanted to, it seems kind of inaccurate to call this an attempt to do so. They have given the user the option to have root on or off with a default of "off." They didn't attempt to disable root and fail.

I understand your concerns about taking away user power, but this doesn't seem to be that. The user still has the power to do the same things, they just have to decide that they want it. You could just as well say that not making the system files world-writable takes away the user's power, but in fact it's just locked behind a door that the user has the power to open.

</comment></comment></comment></comment></comment><comment><USER16> > _DTrace is similar to ptrace /strace in Linux_

No. It's 10000× more. [http://www.dtracebook.com/](http://www.dtracebook.com/)

</comment><comment><USER17> For everyone complaining about Apple taking away something or other that was important to you: please consider what SIP/"rootless" actually is.

What Apple have done here is not anything like the "dev mode" switch on Android, or the Gatekeeper "signed code only" setting. This change _isn 't_ another of the litany of changes that expand the gap between developers and regular users. This change is, instead, about creating a different _model_ for how OS modifications happen.

For a while now, there have been two copies of OSX on a Mac: the "regular use" one, and the "recovery" partition. Both are full OSX, and can run arbitrary OSX software; it's basically like having a copy of the Linux Live CD you installed Linux from copied to your disk alongside the actual Linux install.

With SIP/rootless, Apple has effectively made it so that instead of the actively-running copy of the OS ever modifying _itself_ , the OS will only ever modify _the other copy of the OS_ on-disk. So you need to have the recovery OS running to modify the files of the "regular use" OS†; and you need to be running in the "regular use" OS to apply a _recovery update_ (i.e. an update to the recovery OS.)

The procedures for _getting around_ SIP by disabling it and then running things, are as arcane as they are because they're quite divorced from the _reason_ for SIP. SIP isn't supposed to be a system for blocking and whitelisting kernel-hooking apps; it's a mechanism for making the OS into something more like CoreOS or the Wii's IOS: a system with two separate on- disc OS images, where at least one is always a Last-Known-Good configuration, and where you reboot into the "spare" one when you want to replace the previously-"active" one. You never fiddle with the "in-use" OS image; you consider it locked.

You still have root on the computer. You just have to be in OS-A to do root- level things to OS-B, and vice-versa.

An analogy: remember how it was impossible (and still is, on some OSes) to resize the boot partition you're running from, requiring you to instead boot from a USB to do that? That's basically what is happening here, except without the need for the USB. You can't do stupid things to the active OS; it's locked. You modify the OS by mounting it as a slave from another copy of the OS.

\---

† I'm not actually sure how system updates from the "regular use" side work with SIP enabled. They could have a special exception in the SIP infrastructure, but I doubt it.

I would guess they work like iOS updates do: the update package gets downloaded by the running OS, and then a UEFI flag is written to tell the OS to reboot into the recovery OS in "update" mode. The recovery OS then unpacks and shoves the update, and reboots back.

If there _is_ an exception in SIP for the Installer, it was likely considered more as an optimization over the above process—something to avoid making OSX feel like Windows XP, rebooting five times to get anything done.

<comment> X-Istence > I'm not actually sure how system updates from the "regular use" side work > with SIP enabled. They could have a special exception in the SIP > infrastructure, but I doubt it.

Apple Signed (with Apple's special key) Installers are allowed to modify system paths, including the current running system to install updaets.

<comment><USER17> Interesting. I'm guessing that only gets used by minor "feature" updates (to e.g. Webkit, or iTunes), and not the full "OSX Update 10.11.x" releases.

My suspicion is for anecdotal reasons: I recently Internet-restored my MBP. This pushed it back down to OSX 10.11.0, so it had quite a few OS point- updates to go install. But before I let it do any of those, I enabled FileVault2 and let it finish encrypting. I then had the "pleasure" of watching this sequence of events repeat itself several times, a sequence of events which had never occurred before El Capitan:

1\. The OS asks to restart to install an update.

2\. The OS reboots and sits at the (UEFI?) drive-unlock pretend-login screen until I enter my password.

3\. The OS boots into something that looks like my "regular use" OS—the Menu Bar appears, the cursor appears and starts working, and my regular wallpaper is rendered—but the Finder doesn't start, nor do any of my account's Startup Items or LaunchAgents (not sure about global LaunchDaemons.)

4\. The screen (still with HID cursor control enabled!) gets covered in a fullscreen _window_ (not a fullscreened app taking up a Space; wrong transition effect) that has the appearance of a big black screen with an Apple logo and a progress bar. You know, like the boot screen, or iOS's update mode, or a Mac's UEFI firmware update mode. But it's definitely just an app, running within whatever instance of OSX this is.

5\. Having completed the update, the computer reboots again, I enter my drive- unlock password again, and I'm back into my regular-use session.

\---

Previous to El Capitan, OSX Update packages would trigger a much simpler process, equivalent to the process Windows currently goes through:

1\. Ask the user to "reboot";

2\. instead of rebooting, stop all userland processes and enter a single- user/maintenance runlevel;

3\. run some special privileged (kext?) code that installs/unpacks/shoves the update and directly manipulates the framebuffer to render a progress bar;

4\. actually reboot.

\---

It wouldn't make sense to change from the old process to the current one if it was just for the sake of putting the system into an SIP-disabled mode. Like you said, Apple-signed installers can flout SIP restrictions.

It only makes sense to add the extra reboot to the process if you're rebooting into the recovery OS, because having the recovery OS do the work _is itself the goal_ , rather than just an idea born out of necessity.

If you're wondering about the "still has my wallpaper" part, though: it's not unprecedented for the recovery OS to be "fed" data from the regular-use OS, so that there's a continuity of control when you reboot into the recovery OS. For example, the recovery OS will receive a copy of any wi-fi AP keys you entered into the System keychain in the regular-use OS, so that you can re-install OSX even if you don't remember your wi-fi password.

(I say "will receive a copy" instead of "accesses" because it gets these even if the regular-use OS is sitting in the FileVault2 "locked" state from the recovery OS's perspective—or has already been blown away entirely—where it couldn't possibly just mount the volume to read your System keychain. It seems to be more that the regular-use OS will push a copy of these thing over into the recovery OS when you update them.)

</comment></comment></comment><comment><USER18> I don't really see the big deal here, you ~just have to disable SIP to make dtrace works again fully, right?

I guess it can be an issue if in the future Apple decides to no longer allow us to officially disable SIP.

</comment><comment><USER19> > _If SIP was about security they could have educated users about root - > instead they removed it._

Yeah, because this would work....

</comment><comment><USER20> Once again, Stallman was right: in the name of security, manufacturers proceed in the war against general computing.

<comment><USER21> He is right, but the market is still king. If you can't give efficiency to users by your more general computing platform than the walled-restricted one, then you'll be left resourceless, hence powerless, thus unable to defend your ideas any more.

Stallman is right, but he doesn't seem to be the solution.

</comment></comment><comment><USER22> Glad I dropped MacOS. Looks like today, I can't even build a hackintosh without first disabling SIP.

Lion pissed me off when they removed Spaces/Expose with that Mission Control rubbish. It's only gone downhill with each new release.

</comment><comment><USER23> The author of that post should have included references.

1\. If it does not work (dr race), then why is it still present?

2\. He states root is gone, but not gone; LOL please explain or give us a link with more details.

3\. Even if this is true, it's not going to slow us down much. We will continue with business, as usual.</comment>


Ask HN: What technologies one should learn? - <AUTHOR>

What are the most recent technologies being used by startups and other companies (e.g: Facebook, Twitter, Google, etc) ?<p>e.g: MongoDB, Cassandra, etc <comment><USER5> Going about it all the wrong way. You need fundamentals, not technologies.

Get yourself a list of buzzwords; read each one out and ponder for a minute how it might be written, how it might work given the limitations of the platform(s) it runs on (you know your Posix/java/win32, etc internals, right?) If you can't mentally visualize how that thing works internally, or how it might be implemented, do some research until you have a firm understanding of how it functions internally. If you don't still get it, research the underlying _techniques_.

As a programmer you're not required to implement every tool you might use, but you sure as hell need to grok its form and function at the lowest level.

This frothy trend-hopping is just pure wankery. Don't be one of those suckers. Learn the primitives of _everything_.

You also need that tireless spark, the desire to figure things out and learn their innards; so you don't have to poll others for what you should hack on.

(btw, am I the only one who finds the question irksome in a very personal carpet-bagging way?)

</comment><comment><USER6> You should learn first trusted technologies that are here for long time. Because they despite what people say they wont disappear - there just are no alternatives for them.

I would suggest you start with a good RDBMS system - like Postgresql, for programming language Python and Java are good picks - all purpose ones - <USER2> pays off to know something that has libs not only for webapps. Ruby is also not bad pick - but python has better more mature libraries for general work.

If you insist on nosql - i guess any key-value store would be good, I suggest Redis for memory based + couchdb/mongodb. But seriously real world is not like "lets do something with new shiny tech". If you want a good job you need to know "standard" things well, you need to learn how to scale applications - <USER3> no scaling is not about using noSql, it's the architecture of whole thing that scales not like some magic formula that will solve everyones problems. What i'm trying to say there is no such thing as set of "recent technologies used by startups", every person you ask will have a different answer for you - <USER4> basics will always be necessary.

</comment><comment><USER7> Coming from a hardware designer, I would say just focus on mastery of Python and C. As far as technologies go, only learn what you need to do the job in front of you. You can spend years reading books and online documentation about this or that framework and never turn any of it into useful output. Remember Kipling: "think... but do not make thoughts your aim."

As far as fundamental knowledge goes, I would recommend for any software guy to do a rigorous study of computer architecture. Wrapping your head completely around how digital computers actually compute things will serve you well throughout your career.

</comment><comment><USER8> Tech will change but the core of computing science will not. If you haven't done this already: Immerse yourself (even briefly) in the fundamentals of comp sci with Java, database structures (RDBMS) and healthy amount of maths. No matter the platform, I always seem to revert to what I learned back then.

</comment><comment><USER9> Please study computer sciences before stucking yourself into a endless quest for the best technology. I can tell you that every new tech is fully based on existent CS concepts.

</comment><comment><USER10> Learn everything, but become a true master of..... Javascript

</comment><comment><USER11> perl and ruby for dynamic languages, MongoDB and Redis for nosql

</comment><comment><USER12> Redis.</comment>


Snapshot Compression - <AUTHOR> http://gafferongames.com/networked-physics/snapshot-compression/

<comment><USER2> I wonder if the end result could be fed into a compression algorithm. The algorithm would need to have a low data overhead as the snapshot sizes are around 32 kilobytes (256 kilo bits).

It would be interesting to know what compression algorithms work well for this kind of application. One example I can think of is Run Length Encoding. Or perhaps an algorithm that is trained on example datasets and finds bit patterns that repeat often.

</comment><comment><USER3> Awesome stuff! I think some of it would make a great exercise for students in the usefulness of bit packing.</comment>


I canceled the project: A success story of talking to your potential customers - <AUTHOR> https://plus.google.com/117332097246383158508/posts/4WoTh3XpCBR

<comment><USER2> This is world's better than discovering, post-launch, on the first time you talk to an actual customer, that the customer has no need for the product. I would caution you, though, that finding someone who won't buy the product is not the same as proving people won't buy the product.

I could go to any teaching forum right now and find you thirty people who won't pay for Bingo Card Creator, and/or think it is a sin to charge poor little teachers $30 when they only make $60,000 a year and have to buy their own paper. This isn't maximally relevant to the business, because I can constructively prove that there exists an addressable channel to sufficient teachers who _will_ pay that make it viable (on BCC's scale, at any rate).

This is one reason why I really like MVPs, by the way. You can often get a close approximation of an actual customer acquisition strategy running on them. Then, see if they'd take at least some action which suggests willingness to pay. ("I can't find the buy button. Where is the buy button!?" has worked for me, at least once.)

<comment><USER3> I second MVPs. The customer acquisition strategy is usually harder than the actual application. I am guessing, and patio11 can back me up if he agrees, that it is much harder to get a teacher to your site in a cost effective manner and then get them to pay than it is to write an application that randomizes a set of words and prints them out.

By concentrating on the hard part you don't waste time doing the usually easier straight forward part you're already skilled at doing, only to find the part (marketing) you know nothing about doesn't work at all.

I don't mean to sound preachy; it's just that I've made this mistake and I don't want anyone else to if they can avoid it.

<comment><USER2> _I am guessing, and patio11 can back me up if he agrees, that it is much harder to get a teacher to your site in a cost effective manner and then get them to pay than it is to write an application that randomizes a set of words and prints them out._

It is harder to get a couple hundred thousand teachers on your site than to write an application. It isn't terribly difficult to get a couple of hundred on the site, or a couple dozen to use the application, or a couple to use the application with you staring over their shoulder.

I particularly like organic SEO / AdWords as early channels, because if you can prove they work in microscale, they _typically_ won't totally break down right after microscale. (Obviously, BCC isn't going to Facebook scales.) i.e. if you can reliably turn $1 into $2 you can probably turn $1,000 into > $1,000.

</comment></comment></comment><comment><USER4> I disagree with this approach. Without at least a tangible prototype to show someone, asking people whether or not they would pay for a product tells you almost nothing. The natural reaction is to say "no, I don't need that."

If you're not that passionate about the idea, I suppose it's a good excuse to not do it. But if it would be really amazing, most people wouldn't even understand the idea until they had it in their hands.

<comment><USER5> Well, there's a need of a balance. But it's a good idea to first ask people if they want something you would like to make for them. You are making things for them, so ask them. I don't believe any more in the idea of 'you make it and they will come'. They will come, only if they want it. So asking them is a good way to save yourself wasting a whole lot of time based on your own assumptions.

<comment><AUTHOR> As somebody that has made many things on the web and never had anybody come, I have to agree :-) These days there is so much noise on the web that I feel you have to be sure your idea really will grab peoples attention.

</comment></comment></comment><comment><USER6> The author has a point, and it's quite possible his idea wasn't worth pursuing further.

This said, a few points should be made:

1\. A picture is worth a thousand words. It shouldn't be assumed that individuals you poll about ideas and abstract product features understand them the way you intend them to. You might simply be describing features in a way that doesn't make sense to them, for instance. This is why wireframes and simple prototypes are so valuable.

2\. You need a quality sample to make intelligent guesses about the viability of a new product. You should not immediately assume that if you query 10 people about your idea and all 10 shoot it down you are not on to something. Most businesses that are very profitable aren't convincing nine out of 10 (or even five out of 10) potential customers to buy their products. Keep this in mind.

3\. Just because your initial product concept (or implementation for that matter) isn't viable doesn't mean that the problem that led you to develop the idea doesn't exist. Instead of simply asking folks whether or not they like your product concept, you should also seek to validate that you're trying to solve a real problem. If you can confirm that there's a problem, you may only be a few iterations away from a product concept that has a shot at success.

Bottom line: you don't want to give up on an idea too late, but you shouldn't give up on an idea too soon either.

<comment><AUTHOR> I really like your bottom line! At the end of the day, it all comes down to a really subjective subjective judgment on if you should proceed.

And frankly, I'm not sure that I have all the knowledge or experience to be making the right decision. May people in this thread raised some very good counter points and undoubtedly have more experience and knowledge than I.

However at this stage, I think I'll go away and test out the target market for a few other ideas I have and see what kind of response I get. I think I could do with a few more data points on what kind of response to expect from the "talk to your target market" approach.

</comment></comment><comment><USER7> I wonder how far DropBox would have gotten if he'd gone on Reddit and asked people if it was something that they might want? It was the video that sold it.

I think his concept to test before coding is right, but if he'd shown people a video of his idea (even if it was totally mocked up) he might have gotten a totally different reaction.

Programmers because we have plenty of practice are pretty good at taking ideas and envisioning them as completed software. In other words we're good at connecting the dots. But that's something the general public cannot do - they've got to see it.

<comment><AUTHOR> You make a couple of really good points - programmers are much better at visualizing how a solution would work than the general public. Also, sometimes people really, really just don't know what they actually want :-)

However on the flip side if people can't understand what I am proposing or why they would want it, it means I am going to have a much harder time selling it to them. Suddenly my task is not about coding and marketing but more about first building the market, so I can then sell to it. Its probably a good opportunity for somebody, but I'm not sure that person is me :-)

</comment></comment><comment><USER8> you can't ask...people will never give you a straight answer.

the best approach is to build a mockup that has the signup and intro pages, and a non-functional signup page(i.e. don't store credit cards)...then run $500 worth of adwords through the site and see if anyone bites.

if $500 is too much, stop thinking that. Building out the feature set to make the site functional would take you quite a bit of time...even if you only "charge' yourself the minimum wage, you'll still end up wasting more "money".

<comment><USER9> I've always wondered about the ethics of this approach. How would I feel if someone told me they're provide an awesome service, _took my credit card number_ and then told me the whole thing was some sort of "customer development exercise"? Personally, I think I'd be a little miffed. Especially if I _really_ needed that service, or was otherwise "counting on it." In the worst case, I might assume the whole thing was a scam to collect credit cards.

Has anyone done this before? If so, did you find that people were generally supportive, or ticked off?

<comment><USER3> I think the idea is to get them to the point where you would take their credit card number, and instead say that you're developing the product and ask them if they want to leave their email address. That's how I've read these experiments in the past. Taking someone's credit card number without the intention of selling them something feels fraud-like.

</comment></comment></comment><comment><USER10> I just don't get why people are so obsessed with customer feedback in advance of shipping, because it is usually useless. People are fickle, insensitive, and generally don't know themselves as well as they think they do. They are quick to say they would or wouldn't use something without any real thought because talk is cheap (free in fact) while their money is not. This seems to be the same phenomenon driving entrepreneurs to build products that are deemed totally useless once they are out in public- they don't know themselves or the perceived problem as well as they think they do. They think they would use their own product, but start building before really trying to understand the pain point and figuring out why it exists and how it came to exist. I think the best way to approach a startup is the Steve Jobs method of building something that you yourself really wish existed. Much easier said than done for sure, but who ever said building a successful business is easy?

If you have a vision for something, it is impossible to translate to a customer in any meaningful way short of actually building a version of it and trying to sell it to them.

</comment><comment><USER11> What will you do when, in a few months, someone does the exact same thing you thought about and becomes a billionaire?

<comment><AUTHOR> I dunno? What do _you_ do when it happens :-)

Seriously though, probably just buy their app and congratulate them on a job well done. There are way more good ideas under the sun, than there is time to develop them. If somebody else can make a good go of this one, then good luck to them.

</comment></comment><comment><USER12> Yes! I love this. Thank you for telling it in a succinct and human way.

I'm going to bookmark this and send people to it often.

I get lots of emails from people wanting to know what I think of their business idea. 99% of the time it's a business that I would never use. (I don't have an iPhone or iPad. I'm not looking to share things online with friends. Etc.)

I tell them to just ask their potential customers, not me. But your post describes it much better. Thanks for writing it.

<comment><AUTHOR> Thanks! I think at the end of the day, the only opinion which really, matters is that of the person who will be spending the money.

</comment></comment><comment><USER13> I think it depends on what you are and what your idea is. If you're a developer and it's a product you can have a prototype built for in a small amount of time (say 1 or 2 weeks) then _just fucking do it_ but obviously if you're a business development person who needs to contract out you have to approach it differently. However the way people articulate ideas matters _a lot_ , so unless you're 100% confident in your ability to articulate ideas then I can see this being the cause of missed opportunities.

If I have an idea I believe will work well, I build it, if it fails it fails, asking people isn't something I'd base the choice to make or not make something on just because the people I know is limited, there is always _someone_ out there who will use your product (even if it's just you) it's a big gamble to assume those you asked is representative of that group.

<comment><AUTHOR> Its a good idea in some cases, but unfortunately I don't have two weeks to create a prototype. I'm actually trying to get together a minimum viable product, and launch in a few months of long weekends I have free, while my family is overseas.

</comment></comment><comment><USER14> There's a certain nuance on how to ask the questions about a possible product that your attempting to build and what part of the feedback you should listen to.

If your new to this kind of thing, you'll mostly hear what you want to hear. An example would be the focus group study that was done for the aeron chair - no one wanted it.

To learn from people doing customer development in the field and for clarifying your own experience I would recommend [http://groups.google.com/group/lean-startup- circle/topics?pl...](http://groups.google.com/group/lean-startup- circle/topics?pli=1) .

Also follow SK Murphy's blog. He seems to have this down to a science when building B2B applications.

</comment><comment><USER15> If you had launched MVP and asked feedback on that, it would have been more accurate. Optimize your time/energy towards validating your idea via MVP. If it takes less than 4 weeks to validate an idea, my bet would be go for it.

</comment><comment><USER16> I wouldn't listen to people who didn't want it. They don't count. There are MILLIONS of people who don't want your product.

I wish I had a nickel for every time someone has pitched an idea on a website and the people shot it down, but he wrote it anyhow and it turned out to be a huge success.

Instead, listen to the ones who DO want it. They are the paying customers. It is their interest that will make the project a success.

I didn't see that he got any 'great idea!' replies, but he might have just left them out because they didn't improve the story. We don't know.

</comment><comment><USER17> Sometimes it's difficult for the users to see your vision before it's built, and they would reject your idea prematurely. Sometimes the users don't know better beforehand but love the product once they use it, especially for something brand new. It's a rare skill to communicate your vision precisely in words.

</comment><comment><USER18> "smashing success". You have to love this guy. He succeed in not wasting time on a project that his audience does not want. Kudos.

On the other side, though, what would have happened if JD went around and asked about Twitter or Zuck did customer development before writing FB?

<comment><USER17> Or ask people in the 90's do they need another search engine.

<comment><USER19> I think you would have gotten a resounding yes on this one.

"Would you be intersted in a seaarch engine that is much better at finding the content your actually looking for?" is a yes every time.

</comment></comment></comment><comment><USER20> what if they were not your target users? I would never close down a potential project by asking just a bunch of forum users. Maybe people who would pay never hang out in forums. They always google for their needs. You should run a campaign in google adwords and see how many hits you are getting. Then you can decide if you want to close the project or not. The verdict is still out IMHO

Nilesh <http://www.mockuptiger.com></comment>


Please rate and review this emerging community site - <AUTHOR> http://rook.waplux.com <comment><USER2> Site asks for username and password on non-encrypted page.</comment>


Google will shutdown its europe-west1-a cloud region in 6 months - <AUTHOR> https://groups.google.com/forum/#!topic/gce-operations/uAXw_yYLEhw <comment><USER2> Cool, "new shiny" servers and new zone!</comment>


After a $14B Upgrade, New Orleans' Levees Are Sinking - <AUTHOR> https://www.scientificamerican.com/article/after-a-14-billion-upgrade-new-orleans-levees-are-sinking/ <comment><USER2> As predicted. There's only a very small portion of NO that isn't sinking a little every year. Without the deposition of silt every year (because levees), it will continue to sink.

<comment><USER3> In other words, the river is several hundred years overdue for multiple course changes, from ORCS down to the sea. The problem is that all the probable new courses are heavily populated.</comment></comment>


Ask HN: Must you have no life, at least early on, to run a successful startup? - <AUTHOR> <comment><USER3> I was co-founder of a (YC-backed) startup for 4 years until we were forced to close, so I don't know if you can define us as "successful".

Anecdotally speaking, I started off working with no life. There is a lot to be said for time periods where you shut out all else and just focus on your business, in fact the YC programme gave good impetus to only "write code, speak to customers or exercise". However doing this for extended periods is a great way to burn out.

Initially any time I took off I felt incredibly guilty about. I however came to the realisation that stepping away, even just for an evening to see friends, allowed me to recharge my batteries and I was able to recoup the lost time and then some.

A company is only really the sum of its people, and if those people aren't firing on all cylinders then it will become apparent. In short, lead a balanced life.

<comment><USER4> The guilt when you do take a break is definitely one of the hardest things to get past. Very hard to truly unplug even if you've stepped away from your computer to go out with friends.

<comment><USER5> Why on Earth would somebody downvote this? Unfortunately, this is how many people feel when you have lots of responsibilities to many other people.

</comment></comment></comment><comment><USER6> Just read this and I think it matches quite well: [http://plumshell.com/2016/03/10/work-for-only-3-hours-a- day-...](http://plumshell.com/2016/03/10/work-for-only-3-hours-a-day-but- everyday/)

We are running our business for ~3yrs now and just realized in the last few months that none of the all-nighters or skipped holidays actually made a difference in the end. So just from my personal experience I'd say you should actively plan and maintain a private life from the get-go - If you don't you are not "better" then another person who is just working to finally reach retirement...

<comment><USER7> It's hard to have balance when you feel that you're changing the world... and when everyone around you is just as crazy/passionate.

</comment></comment><comment><USER8> There aren't any rules. You can have a life outside of your startup if you want one. Plenty of people do.

The reasons _why_ people say you can't have one are two-fold. There's a very good, very valid reason, and there's a very bad, toxic-to-your-business reason.

The bad reason is that people who start companies are _very_ competitive. This means they feel they have to be seen doing _more_ , whether it's working longer hours, making more calls, writing more code, going to more networking events, and so on. Sometimes this produces value for their business, but more often it's just "busy work" that isn't actually adding anything useful - <USER2> to a networking event and only talking to people you already know is a good example. People who do that sort of thing are the ones who brag about putting in 80 hours a week. Don't emulate those founders.

The good reason to cast your life aside is that very often a startup is doing something ambitious that takes a lot of work to get off the ground, but only has funding to last 6 months. Consequently _everything_ has to be done in that time, which leads to putting in loooooong days. If you have a low burn rate and a long time you can afford to go slowly.

If you take an honest look at the hours people are putting in and realise that half of it could have been done better, or automated away, or just not have been done in the first place, then you'll understand why "number of hours worked" is a pretty awful measure of effort.

<comment><USER9> Also worth noting that most people haven't read the various studies on productivity against hours worked, and thus just assume - reasonably enough, but usually incorrectly - that over six months, you'll get twice as much work done on 80 hours a week as 40 hours a week.

And working that much _feels_ like you're being very productive.

</comment></comment><comment><USER10> Define "successful startup"?

Countless of people have started small and stayed small. I think it always been like that traditionally. You start a business, you grow it till its big enough to serve your niche market, and you pull in few million every year for the rest of your career life without much effort.

I used to work in manufacturing industry and this model is more prevalent in their whole supply chain. You could own 1 factory with less than 20 staff, producing 1 type of component(bolt/glue/bracket etc) and be done with it.

However, if you define successful startup, as multi-million dollar revenue organization, that's another story.

<comment><USER11> Seriously, what is better than that? Having a cashcow that will generate you a few million a year, so you can actually live/enjoy life?

<comment><USER12> Revenue != Income. Gross profit (before paying any taxes) will probably be a fairly small percentage of turnover in manufacturing - you have to pay employees, purchase supplies, etc...

EDIT: just looked it up and most of "industry weeks"'s Top 50 manufacturing companies seem to have profit margins in the 10% range: [http://www.industryweek.com/resources/iw50best/2015/48](http://www.industryweek.com/resources/iw50best/2015/48)

<comment><USER11> I'm talking about a few million in after tax profit, not revenue.

<comment><USER13> Say $3mil in net income means a company doing between $20mil to $40mil in revenues. Which typically means between 100 to 200 employees.

This is not "stay small".

</comment></comment></comment></comment></comment><comment><USER14> I think there's a saying in this community - work on a startup that a few people really want, rather than something a lot of people kinda want a little.

That would also apply to having a "life". Live your life in a way that a few people will greatly love you and miss you. Rather than spend time with a lot of people who kinda enjoy your company a little.

There's certainly enough time in an early stage startup to treat your closest people well. I have a great lunch with my wife all the time. I bathe my daughter, play bubbles, and dance with her. I mentor young entrepreneurs.

Do things that people will remember you for after you're dead. Or at least the things they'll remember 5 years from now.

</comment><comment><USER15> Short answer: it depends on your personality and the type of startup.

Long answer: My startup (founded in 2000, sold in 2014, still going strong) took a huge toll on my personal life, but it was a 24/7 operation (a website), I was both CEO and lead programmer/CTO and I'm terrible at delegating work and inspiring responsibility in people. Also, web technologies did tend to fall apart more easily back then and my experience with that was limited.

In hindsight, all of these factors contributed to the (largely unnecessary) 100-hour-weeks I pulled in the first couple of years. So, brief advice: if your startup is a 24/7 operation (it doesn't have to be, there's plenty of other opportunities), you will likely be putting out fires around the clock. If you can, hire reliable people early on who can do this for you and put your mind at ease. You will be thinking about your startup a lot either way, but you can surely do that while enjoying your weekend trips or whatever.

</comment><comment><USER16> Well there is nothing glamorous about startups. It might seem this way initially, with fixie bikes hanged on exposed brick walls, and programmers somehow managing peak states in a noisy open plan office. (They should be hermetically sealed off). Employees apparently multitasking to look busy...Multitasking is an illusion propagated by the media, and it's actually impossible to multitask without performance suffering. Also see: banning mobile phone use whilst driving. A more ample question is: "must you have a life to...". It starts making sense when the natural rhythm of your own life is carried on into the startup. Ottherwise you're falling victim of the great illusion of startup glamour...

</comment><comment><USER17> I'm building something at the moment. I previously worked at a couple startups and a large tech company. I'm the kind of person who goes all out until burn out. Not really healthy behaviour. I've realised that building my own thing is a decade long journey and as much as I want things to be done yesterday I cannot forget to live my life. I don't want 10 years to pass by and have missed out on all the other experiences I could be having. It took me a while to figure it out, to spend time reading, go to the gym, meet friends for lunch and even take days off writing code. It really is a marathon and while it's important to be focused the worst thing would be to look back and regret not living.

</comment><comment><USER18> One thing that improved quality of life was for me to define success. Ask yourself: What do you want? I wasn't smart enough to come up with that question, it was a friend who asked me point blank. Took me about a year to be able to answer it. But things are now much better and I have a more positive outlook for the future.

Businesses come and go. So does money. But you are not eternal. Figure out what you want and then work backwards from the end goal to the present. Set yourself small goals. Be patient. Learn to forgive yourself for mistakes l. And above all, just try to be happy.

Must you have no life to run a successful business? No, but you must make sure to have a life. Whether you have a business or not.

Best of luck OP!

<comment><USER19> Yes! Me and my cofounder ask each other two questions each day:

1\. What did we learn today?

2\. How do we (as a company) want to grow?

The answer to the last one means asking "what type of company do we want to build?" and that in turn means asking the much deeper question "what life do we want to design?".

An old friend said that becoming an entrepreneur is all about taking control of your own life. This is true. As an entrepreneur, you have it in your hand to not only design the way the company you're building will work but also what your own life should be like.

<comment><USER18> It is definitely taking control of your life. That does mean that you and only you are responsible for all events. Not everyone is ready to deal with that. It is sometimes difficult. Being forgiving towards yourself goes a long way. Also, when you take control of your life you also take control of the life of others. People will depend on you. Defining how much is really important. Don't have people depend solely on you. Work with them to softly nudge them towards independence.

</comment></comment></comment><comment><USER20> Probably depends on what you are trying to do.

The reality is that if you are a small team trying to take on a huge market and maybe creating new technology while other major companies are trying to so the same then you need to get a better solution into the market faster.

So can you do that and also have "a life" however defined?

On the other hand if you have some niche of a niche kubernetes plugin for WebGL and are a team of two college students with no overhead. Yes you probably can.

</comment><comment><USER21> The difficult, and often brutal reality of startups is that success isn't a direct result of how hard you work. There are no rules.

</comment><comment><USER22> While I can't speak to the successful part, I'm just over two years into my current project and haven't launched nor applied to YC yet.

If I had more money I'd definitely maintain way more of a life than I do now while continuing to work on my startup. Granted, I didn't really have much of a life prior anyways (remote job coupled with high expenses), so maybe that makes it easier since I'm used to it.

The timescale might seem crazy, but it's incredible what time does for your ideation and strategy. When I first started, my plan was basically a mid-sized SaaS business. Over the years both internal and external forces evolved that into a methodical blueprint for a company on the order of Magic Leap. Six months in I figured out trying to charge money for the product was probably suicide. Six months after that came the start of a radical shift to a far more ambitious plan that built off the original in a very natural way. Had I artificially constrained myself to a fixed time window, or otherwise quit, I'd have never discovered any of that.

The whole thing is very much like an obsession, something that occupies virtually all of your idle thought. Kind of like a nagging splinter in your mind's eye where you can see precisely what you want, the only challenge being to make it manifest.

Taking a fat paycheck as a software developer and everything that comes with it has always been tempting, especially with hindsight—but I know that the second I do it will be the end of my project. Giving up on that would be unbearable, worse than death—at least until I've seen it through regardless of the outcome.

Melodramatic narrative aside, to answer the OP's question—no, I don't think you _must_ have no life to do a startup, and it's even preferable that you have one. For most people, the reality is just that time or financial constraints conspire to ensure that they don't.

<comment><USER23> How long until you had any mentionable cash flow? Or are you still floating on savings? Two years of lost cash flow for me would be impossible, not to mention, if somehow entirely saved, would more than pay off my mortgage

<comment><USER22> Mostly savings with a bit of freelancing on the side. The upshot of no life is it's at least compatible with cheap living.

</comment></comment></comment><comment><USER24> When giving or seeking career advice, people want to frame things in terms of absolutes.

There are many paths to a successful business. Some successful people sacrificed their families, health, relationships, etc., and others didn't. Some unsuccessful people also sacrificed their lives in pursuit of success.

</comment><comment><USER25> It's tough. You want to work all day and all night. You think that if you take just a moment away from it that it will falter. Not the case. I started out that way, but I have found that even if you take the time to eat dinner with family, it's that time that helps you recharge and regroup. That is the most important time as it allows you to reflect. Without it, you work tirelessly and arguably are less efficient because you haven't taken the necessary breaks. Your brain can only process so much. Take the breaks. Go get ice cream. Go run. Go lift. Go to a bar. For God's sake, go do something that's not work-related. Then, come back and work. Unless you're drunk, then sleep. Just take time away from it.

</comment><comment><USER26> No life? You work on what you love, I would say thats pretty good.

</comment><comment><USER27> If you mean startup in the sense of _VC-backed with the goal of maximum growth and market penetration_ : Probably yes.

If you rather want to do your own thing, I always liked the rule of thumb from the book "Start Small Stay Small". Put 100 hours into the product and 100 hours into marketing. You can do this in a month or two and then you'll see if it works or not – and more importantly: You will see if you like working on this thing or not.

</comment><comment><USER28> You may not realize this but you're asking a question a "true" startup entrepreneur doesn't think to ask.

Or to put it another way, a passionate entrepreneur would ask the _opposite_ question in some zen philosophy forum, _" Must I spend time away from my startup so I appear to have a balanced life?"_

The true entrepreneurs are _obsessed_ with their startup. They _don 't want_ to spend time shooting the breeze drinking beers with their buddies. They _don 't want_ to sit still on the beach staring at the ocean. (At least at the early stage, but maybe later when they're Bill Gates' age.) They'd rather program one more feature on that web page. The startup work is not an "obligation". The business startup work is _who they are_. These types of passionate people are rare and most people really can't relate to the startup founders' focus.

The obsession and singular focus on startup work is similar to musicians' obsessions with composition, athletes with sports, etc.

Sure, you'll want to hear an answer of _" no you don't have to give up your life"_ and many people will give you that answer but realize that you're competing with entrepreneurs who don't even ask it. The startup _is their life_ and therefore, there is nothing to "give up" when they're working on it all the time.

EDIT to the downvoters: can you list examples of "successful startups" as that phrase is understood by the HN readers where the founders work 40 hours per week so they could have a "balanced life" outside of their business? Is there a YC company in the portfolio where founders are working just 40 hours? Did I misunderstand what the poster is asking? Isn't he asking about _founders_ who run the startup and not the line employees?

<comment><USER29> >examples of "successful startups" as that phrase is understood by the HN readers where the founders work 40 hours per week

Plentyoffish "In 2008, Frind told The New York Times that his website's net profits were about $10 million a year and that he worked only about 10 hours a week." Sold for $575 million.

Fog Creek "We believe that the way to be most productive is to work normal 40-hour weeks." Built Trello which I think would count as an HN startup.

<comment><USER28> I'm familiar with Plentyoffish and his 10 hours/week. However, one has to be careful with Markus Frind's self-reported "hours worked" because many people who are passionate about their projects don't count _all_ related tasks as "work". He's probably not lying but outsiders auditing his time with a hidden camera may not conclude it to be just 10 hours. Also, his "10-hours" seems to describe his steady-state at the 5-year mark and not what he was doing in his first 6 months learning ASP.NET.

To put 10 hours a week in perspective, think of creating a web startup and trying to discipline yourself to work less than _five 2-hour days_ because the Plentyoffish guy did it. It's not hard to imagine that a single SSL misconfiguration or typo in an XML config file could have you chasing a mystery bug like that for 12 hours straight. Or an unexpected spike of traffic has you scrambling in the AWS control panel but the issue cascaded to a bunch of other processes that takes days to get things back under control. Or your initial customers want a new feature but your "programming budget" is 10 hours of programming time. Stack just a few of those unexpected crisis together and all of a sudden you're already at 50+ hours for the week. A startup is an endless barrage of those unexpected fires hitting you relentlessly.

As for Trello, as far as I know, it's not profitable yet (which some folks consider a factor for "success"). Also, the "we believe 40 hours" may be a sentiment J Spolsky espouses for his _workers_ but he (the founder) may not be necessarily constraining himself to that.

</comment></comment></comment><comment><USER30> Depends on how much capital you have and how paranoid you are about failure. So, yes.

</comment><comment><USER31> Define life.

You absolutely need to work hard and devote yourself but that doesn't mean you cannot have a _life_.

It might not be the 9-5 "life" all your friends are enjoying but how about sacrificing 5-10 years of hard work building something amazing in exchange for an early retirement while everyone else settles in for next 40-50 years?>

<comment><USER32> The number of people who get to retire after five years because of startup success is minuscule, dominated by the number of people who work hard for 5-10 years and end up with not much more than grey hair to show.</comment></comment>


OpenSilver – a plugin-free, open-source reimplementation of Silverlight - <AUTHOR> https://www.opensilver.net/ <comment> jagged-chisel OpenSilver looks like a fun effort. I wonder, though, if it's commercially viable (just out of curiosity.)

Wikipedia [1] says:

> In July of 2015 a Microsoft blog post finally clarified matters: "...we > encourage companies that are using Silverlight for media to begin the > transition to DASH/MSE/CENC/EME based designs". Microsoft plans to terminate > Silverlight support on October 12, 2021.

How widespread is adoption of Silverlight? Could OpenSilver become someone's bread & butter by 12 Oct 2021?

1 - [https://en.wikipedia.org/wiki/Microsoft_Silverlight](https://en.wikipedia.org/wiki/Microsoft_Silverlight)

<comment><USER2> > _How widespread is adoption of Silverlight?_

From Wikipedia:

> _As of 2015, Silverlight was not available on Android or iOS, the most > prevalent operating systems on the mobile market._

Fun fact: in 2008 it was announced that Silverlight would be available for Nokia's Series40 phones and Series60 (SymbianOS) smartphones.[0]

In 2010 (ten years ago from now!) it finally released for Symbian 9.x.[1,2]

[0] [https://web.archive.org/web/20130615150307/http://blog.anta....](https://web.archive.org/web/20130615150307/http://blog.anta.net/2008/03/04/nokia- to-enable-silverlight/)

[1] [http://on10.net/blogs/sarahintampa/Silverlight-for- Symbian-P...](http://on10.net/blogs/sarahintampa/Silverlight-for-Symbian- Plugin-Now-Available/)

[2] [http://www.allaboutsymbian.com/news/item/11777_Silverlight_a...](http://www.allaboutsymbian.com/news/item/11777_Silverlight_arrive_for_the_S60.php)

</comment></comment><comment><USER3> If I recall correctly, not being able to do a plugin free version of Silverlight is one of the reasons Microsoft invented Blazor ( [https://dotnet.microsoft.com/apps/aspnet/web- apps/blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor) ).

The devs listed it as one of their reasons for "why?" in a community chat.

<comment><USER4> Blazor, while a good effort, is still an experiment. Microsoft Office etc. are React apps, and has one of the most maintained React libraries: [https://github.com/OfficeDev/office-ui-fabric- react/](https://github.com/OfficeDev/office-ui-fabric-react/)

I will believe the Blazor effort if they start rewriting Fabric UI components with Blazor.

<comment><USER5> When I see how absurdly complicated these front-end JS frameworks are it makes me really hope that Blazor can deliver. But for some reason it also feels similar to times in the past where a word for promising tech was never more than a word. But please work, I don't need or want two routing implementations and an entire MVC stack to manage on the damn client...

<comment><USER6> I've now done two small client projects in blazor(server side) and it's amazing for small to medium sized cruddy apps with a small user base. I

On the fist project I was able to build out small apps almost twice as fast as react. And this was with 1 day of previous blazor experience before the first project.

</comment></comment></comment></comment><comment><USER7> WOW!!! although i despised silverlight, this is some accomplishment you guys have done. very impressive.

<comment><USER8> What is your complaint about silver light? From a user perspective, the only issue I had with it was that you had to install yet another software plugin. But if it's invisible to end users, I don't see an issue. Though maybe you developed in it?

<comment><USER9> I honestly don't know if that's a silverlight issue or implementation problem, but having to work with admin consoles implemented in silverlight in Microsoft product I can say they offer awful experience.

Loading time is terrible, movement between fields is clunky and if you use tab to pass fields your input will be deleted. Left clicks are not a thing. Moving back and forth lose state. Responsive design is not a thing.

I'm waiting so long for it to reach end of life already.

<comment><USER10> Most of those things happen regardless of UI tech, in HTML as well. That's less an argument against a particular framework, but rather an argument to not build shoddy UIs.

<comment><USER9> It is way worse than your average HTML. Again, I'm not sure if those defects are the framework faults or the UI implementation, but deleting input from field when pressing tab isn't something I encountered in any HTML interface. Loading time is also similar to a desktop 1st person shooter, not to HTML.

</comment></comment></comment></comment></comment><comment><USER11> > OpenSilver is maintained by Userware and is not affiliated with Microsoft.

Click download

> Please sign with your Microsoft account:

What gives?

<comment><USER12> Azure SSO? [https://docs.microsoft.com/en-us/azure/active- directory/mana...](https://docs.microsoft.com/en-us/azure/active- directory/manage-apps/what-is-single-sign-on)

</comment></comment><comment><USER13> Why would you do this to us?

<comment><USER14> Silverlight had a nice API. For someone with C# and XAML skills, it can be way easier and faster to work with than HTML5 et al.

</comment></comment><comment><USER15> Wow, never thought I'd see Silverlight pop back into the mix.

edit: I actually have no problem with it since it's opensource.

Really cool project, great job!

<comment><USER16> Ditto. My first reaction was a nearly audible 'ew'

</comment></comment><comment><USER17> Some source code is available here: [https://github.com/cshtml5/CSHTML5](https://github.com/cshtml5/CSHTML5)

</comment><comment><USER18> ... but why?

<comment><USER19> under "contact" it says:

      For migrations-related inquiries (getting a quote,
      analyzing the compatibility of your code,
      discussing the technology, etc.), please write to: [...]

If they can reliably migrate a decent number of vital corporate applications, then that's a business that can put some food on the table.

<comment><USER20> yup. I did a lot of WPF/Silverlight work 2008-2012 and I STILL get emails from recruiters (one this week even) asking if I want a job doing that kind of work.

</comment></comment></comment><comment><USER21> ah i was hoping it was for osx too :) been reading my ISPs apology for not support safari now for 2 years i think... they only do silverlight streaming

<comment><USER22> They likely do silverlight drm which wouldn't work in a 3rd party implementation.

</comment></comment><comment><USER23> Im really excited about this.</comment>


The right and wrong way to set up Python 3 on macOS (2019, updated 2020)) - <AUTHOR> https://opensource.com/article/19/5/python-3-default-mac <comment><USER2> I don't understand why the conflict with system python is such a problem.

Here's my solution. I placed a Python 3 binary in usr/local/bin with the name "python3". If I type "python", I get the Mac's system python. If I type "python3", I get modern python3.

I don't know if that's what the author ended up doing, I didn't get to the end. But I certainly don't understand what the big deal was.

</comment><comment><USER3> I commonly read that Apple products "just work", but it seems like a lot of effort is required in order to get up to date software on MacOS, which in linux distributions is completely effortless as it comes by default (see also the Bash situation).

</comment><comment><USER4> This is exactly why I started using Nix.

</comment><comment><USER5> Doesn't sound very beginner-friendly.</comment>


How Google Ambushed Microsoft and Changed the Subject - <AUTHOR> http://techcrunch.com/2011/02/03/how-google-ambushed-microsoft-and-changed-the-subject

<comment><USER2> > _"I can't condone any kind of plagiarism or cheating—and that is what > Microsoft's usage of Google data seems to amount to."_

By academic standards, Google plagiarizes many times a day.

In Google's "sting" operation the description Google provides for www.cfacu.org is copied directly from DMOZ. Academic standards don't cut any slack for the ODP license and similar terms.

See:

[http://googleblog.blogspot.com/2011/02/microsofts-bing- uses-...](http://googleblog.blogspot.com/2011/02/microsofts-bing-uses-google- search.html)

and

<http://www.dmoz.org/search?q=clyde+findley+area+credit+union>

<comment><USER3> The best argument Microsoft has is: "You Too". Basically: "What I did wasn't wrong because the person complaining does it too."

<comment><USER2> My comment was not a defense of Bing but an attempt to point out the absurdity of applying academic standards Microsoft's conduct. Were one to apply academic standards to Binggate, it seems somewhat probable that Google's experimental results would have difficulty passing peer review.

Interestingly from a plagiarism standpoint, the description returned by Bing for cfacu.org is far better cited, since it is directly from the website itself rather than from an entirely uncited site like Google's.

In terms of academic standards, the results returned by Bing would probably not to be categorized as plagiarism but rather as not meeting style guidelines [such as APA format].

</comment></comment></comment><comment><USER4> Most of Wadhwa's essays just get a "meh" from me. Nothing particularly original, not always pointed, and they usually don't leave me fulfilled. Perhaps this one may have been useful if the reader had been living under a rock for the last week, but those people don't frequent tech blogs.

</comment><comment><USER5> If Blekko sticks to their word, I'd be inclined to give them a real chance. Sick of my search results being padded with spammy results.

EDIT: Having looked at them, I'm a little unclear about what they're trying to do. Are they actually letting end-users tag the web? I.e., Google not allowing users to block certain sources.

<comment><USER6> Yes, we're letting end-users tag the web. Try this video: <http://vimeo.com/14593120> ... for the spam example, you can mark a site as spam with a single click. That blocks it only for you, but occasionally we look at aggregate data, and that's why we dropped those 20 sites from our index: because our users don't want to see them.

<comment><USER5> That is great to hear! I'm going to put it through its paces! I'd love to share feedback with you once I do.

</comment></comment></comment><comment><USER7> >"We need a standard measure of web quality. "

To think that you can come up for an objective standard of quality for any search term is ridiculous. Why not just have a search engine return whatever your objective standard demands everytime and have a perfect score, if it's so easy?

<comment><USER8> A metric that can measure the quality of results but not produce them is entirely plausible. Many problems can be verified much more easily than they are solved.

For example, you can measure how often results are clicked but there is no straightforward algorithm to generate click-prone results.

</comment></comment><comment><USER9> Many articles on TechCrunch seem to be the gossipy type and are not much better than articles in a content farm that the author is railing on.

<comment><USER10> Humans like to gossip. That's why almost all reporting is boiled down to variations on horse race calling and theatre critique.</comment></comment>


Horizontal and vertical: The evolution of evolution  - <AUTHOR> http://www.newscientist.com/article/mg20527441.500-horizontal-and-vertical-the-evolution-of-evolution.html?DCMP=OTC-rss&nsref=online-news

<comment><USER3> After years of work with genetic algorithms (GA) that used just these sorts of exchanges to search their function space it is fascinating to see that nature was there first.

The GA literature is full of many useful mechanisms for advancing search. Perhaps GAs will be to evolutionary biology what mathematics is to physics - <USER2> suitable model to hint at promising experimental research.

</comment><comment><USER4> Correct me if I am wrong, but I think genes where not even known when Darwin created his theory. So to say his theory was incomplete because it's focus is too much on genes seems just plain wrong. I for one have always thought about evolution as a more general principle, that can also be seen in "things" without genes. For example products also evolve, even though in that case humans are the machines that do the reproduction.

And thinking about how the first cell came to be also isn't new - it's not as if those two scientists from the article are the first to think about that problem. For example I have read "At Home In The Universe" by Stuart Kauffman 13 years ago, which suggests how networks of chemical reactions could evolve (not saying that is how it happened, but it is a possibility to consider).

I guess they just had to make the article sound more dramatic, but it annoys me.

Edit: OK, reading on, it just seems more silly every page. For example, they made a simulation and found that the optimal code wouldn't be found without "horizontal transfer". But couldn't it be equally possible that the code was evolved within one kind of "organism" (which would enable horizontal transfer between organisms, because they all belong to a compatible species), which then proceeded to wipe out the other organisms? It seems likely that the organism with the best code wiped out all the others - if that didn't happen in their simulation, I suspect the simulation wasn't very good.

Also of course evolution is not specific to the particular way of transferring genes. There are viruses that insert foreign genes into an organism. There are plants that just split instead of having children, and whatnot. To suggest that biologist are somehow stuck on a narrow minded view of evolution seems to be just silly. And I feel confident saying that even though I am not a biologist myself.

Even if this "horizontal transfer" is really as important as they say, it wouldn't change a thing. It would just mean that the mass of organism is "the environment", and partial strands of DNA (that get transferred horizontally) would still be suspect to evolution. The ones more compatible with the most organisms would survive better than the ones killing half of the organisms they would be transferred to. And so on.

</comment><comment><USER5> Horizontal transfer seems like genes as the pivotal item chosen in evolution, Selfish Gene style?

</comment><comment><USER6> not gonna lie... still a creationist.</comment>


Show HN: Longest Translation – Handy utility for multi language designs - <AUTHOR> http://www.longesttranslation.com <comment><USER2> I've tried "once upon a time there was a king" (the first common words in a lot of fairy tales), which in Romanian should have been translated in five words - "a fost odată un împărat". This tool gives me "cu mult timp în urmă a Trăit-o a fost regele" \- double of that amount (and I stop before getting into comments about the translated content itself)!

<comment><USER3> Come on, you can hardly fault an automated language tool for not translating something idiomatically. Try your comment, and see how it does.

</comment></comment><comment><USER4> Very nice but your missing the worst offender... Greenlandic :)

Checkout the most translated website in the world to see some of these languages in action [http://jw.org](http://jw.org) \- Here is Greenlandic [http://www.jw.org/kl/](http://www.jw.org/kl/)

<comment><AUTHOR> Wow! Greenlandic looks awesome! Never had the pleasure of supporting greenland yet. Limited by API support currently...

</comment></comment><comment><USER5> Simple, useful, and well executed.

Thanks for sharing! (or... Mübadiləsi üçün təşəkkür edirik!)

My one thought is that string length in pixels is more important than character count, but you sidestep that issue by showing all the results. You can easily see if one is longer even though it has fewer characters.

<comment><AUTHOR> Thanks for the feedback DanielStraight! Yep definitely a great idea and something I want to do!

</comment></comment><comment><USER6> The Chinese for "hello" was sort of correct. It returned 喂 on the bottom of the list, but that's really "hello?" like answering the phone, not 你好 which is actually hello. I was surprised by its selection there.

</comment><comment><AUTHOR> As a quick explanation. Very simple utility for quickly seeing what is the longest translation (by number of characters) for a specific word/phrase.

Plan to keep this online until I hit my API call limit then will post the source over the weekend!

Enjoy!

<comment><USER7> You might want to look into actual horizontal space. Visually the Japanese and Chinese translations takes a lot more space than the character count would have you believe.

</comment></comment><comment><USER8> Can you add an option to select the input language? For example if I submit a Japanese phrase, all the languages give identical results, which is the phrase itself.

<comment><AUTHOR> Yep, on the feature list, currently it's limited to en -> Other only. Also looking at selecting the target languages so you only see the languages you want.

</comment></comment><comment><USER9> Well done, this is actually well executed and quite useful to quickly check translations for menus, dialog boxes and so on

</comment><comment><USER10> What do you use to translate and what is the quality rate on it?

<comment><USER11> I just played with it for a while and the German translations often were pretty bad ("Essen sie nicht, dass" for "Don't eat that!", when "Essen Sie das nicht!" or "Iss das nicht!" would be correct)

</comment></comment><comment><USER12> wow the front-end makes a separate ajax call for each language - efficient!

<comment><USER13> You always have the option to not be sarcastic about it, and instead point out where efficiencies could be made. Being nice doesn't cost anything.</comment></comment>


Exodus - A cycle-accurate Mega Drive/Genesis Emulator - <AUTHOR> http://www.assemblergames.com/forums/showthread.php?45726-Cycle-accurate-Mega-Drive-emulation-Exodus-coming-in-April!

<comment><AUTHOR> "This emulator is fundamentally different to every other emulator I know of, in several critical ways. I'll publish more about that towards the time of release, but most importantly, Exodus is not a Mega Drive emulator. Exodus is a generic emulation platform, which allows systems to be assembled from individual components at runtime. Nothing related to a particular system is hardcoded. Exodus constructs a system from a set of discrete components, manages the communication between those components, and keeps perfect timing accuracy between each component. Other systems can easily be modelled without modifying or rebuilding Exodus, it simply requires emulation cores for each device in that system to be available."

Woah...this could be extremely cool.

<comment><USER2> MAME has been doing basically this for 15 years-- arcade cabinets are simulated by combining various common chips (CPUs, video drivers, sound chipsets, ROMs...) with a small amount of glue code.

Moving the glue code from a .c file to runtime makes it faster to tweak, but it's not a new idea.

</comment></comment><comment><USER3> ""Most of the time, a timing problem is not going to occur. Given that assumption, I want to execute my devices unsynchronized for as long as possible. If something ends up happening in the wrong order, I want to roll back to the previous point, and repeat the operation, this time with fore- knowledge about the timing requirements". This is the execution model Exodus uses. By executing in parallel for as long as possible, we can make use of multiple cores. "

This is bad for an emulator; you want to minimize latency and jitter over throughput. It doesn't matter too much if your game is fast enough for 98% of the frames if the other 2% of the frames stutter.

<comment><USER2> As long as each _frame_ ends up being ready on time, having variable latency and jitter for segments of code is not a bad thing-- users can't tell.

<comment><USER3> I am highly skeptical that consistent frame rates will be possible with this architecture; IIRC byuu considered and rejected such an architecture for bsnes for performance reasons. Granted hardware has advanced since then, but single- threaded performance hasn't advanced a whole lot in that time, and that's what you're going to run into a bottleneck with this.

<comment><USER4> There were two reasons I rejected the idea. Foremost was that my goal was code simplicity. Although true that most of the time you can run ahead without issues, it is no small feat to be able to serialize tiny deltas that can then be rewound when a synchronization error is detected (a full system state would be far too costly to capture and rewind.) Further that with all of the pain that traditionally comes with multi-threaded programming (especially in portable C++), and I found cooperative threading to be far cleaner and easier to debug, and thus, to refine accuracy on.

The second reason is that my approach ended up needing about 2GHz to run well for the SNES. Nemesis' approach needs about the same, but also needs a quad core to run well with the Genesis. Since I was able to pull off all I needed with a single core, why require a quad core system? Any quad core will have a fast enough individual core, after all.

That said, it's actually my approach that won't scale well, as mine is bound to one core whereas Nemesis' approach is not. It's part of the reason I haven't attempted the N64 or higher. If you ever want to see more accurate Saturn emulation or similar, Nemesis' approach is going to be the way to go.

As an aside, we've been hearing about the 'end of the free lunch' for a decade now. All I can say is my slightly overclocked i7-2600K runs my emulator nearly twice as fast as my previous E6600. And I hear the Haswell will be 15% faster per clock than the Ivy Bridge, which was 10% faster per clock than the Sandy Bridge. That and it's clocked higher. I don't foresee us running out of optimization potential any time soon, and by then who knows ... we may be able to create graphene processors or something even more exotic. Necessity breeds innovation.

The bigger concern on 'free lunch' is the push toward mobile devices and lower power usage (longer battery lives.) But for that I think you will always want a speed-oriented emulator, so programs like Snes9X and Gens are more appropriate there anyway.

<comment><AUTHOR> _If you ever want to see more accurate Saturn emulation or similar, Nemesis' approach is going to be the way to go._

My understanding is, with the mess of chips under the hood of the Saturn, that emulating it well almost _requires_ cycle accurate emulation.

</comment></comment></comment></comment></comment><comment><USER5> How is Exodus different than MAME?

<comment><AUTHOR> Different goals it sounds like. MAME is intended to try and archive and emulate every arcade game known, the emulation doesn't have to be 100% so long as the experience of game is more or less playable. MAME likely contains code that replicates hundreds or even thousands of discrete architectures, probably sharing some common emulation cores, but lots and lots of custom code.

Exeodus appears to be more like a framework for describing different system architectures and enabling cycle accurate emulation (see BSNES/Higan [1]). As a test case, the author focused on the Mega Drive/Genesis...but it sounds like if you have a descriptor file of an architecture and the necessary components available, you could cycle-accurate pretty much anything, even systems that never existed!

I can imagine a community of authors that put together a library of different system descriptions that you load before loading a ROM or a disk image.

1 - <http://byuu.org/higan/>

Exodus is intended as a general purpose, cyc

<comment><USER2> MAME prefers 100% accuracy over playability, and does cycle-accurate emulation.

The amount of custom code in each architecture is minimal-- it's mostly setting up memory maps and connecting the various chip emulations together.

<comment><USER4> MAME/MESS certainly boasts of favoring accuracy, but the results are hit and miss.

When you emulate an arcade architecture with three games made for it, you don't have much code to stress test your emulation. Nor can you really expect someone to spend ten years perfecting completely unused hardware features for a system with 100% compatibility already.

Much work is put into emulating 3D video chipsets in software, which is fantastic for preservation (unless you like that most N64 emulators to this day rely on 3dfx Glide wrappers); and then they seemingly throw out all of that goodwill by implementing their CRT simulation using HLSL, which only runs on Windows boxes. Even GLSL would have been much more in line with their portability vision. It's just a weird contradiction.

And then of course, most of the MESS cores simply don't have the volunteers to compete with the standalone emulators.

And here is the concern I have with both MAME/MESS and Exodus: the idea that you can build a system by linking up some discrete components and call it a day. It's great on paper, and practically a necessity when you start emulating dozens of systems with many shared features. But no two chips are exactly alike. There are countless variations of 6502's with slightly different opcodes (the NES' Ricoh 2A03 famously disabled BCD due to patent concerns) and timings. A lot of chips have a lot of functionality that is simply never used. Example: the SNES CPU and Apple II GS both have the WDC 65816's /ABORT line, yet it's not connected to anything on the SNES; it would be foolish for an SNES emulator to add the special abort handling to every opcode even though it's impossible to use. And now look at ARM: every last ARM vendor adds their own spin on chips. Sure, you could make a generic ARM core, and fill it with a billion #ifdef's for each chip manufacturer, but then you'll end up with, well, ... a mess.

And then the whole system for interconnecting everything ... when the only tool you have is a hammer, every problem starts to look like a nail. Architectures like MESS are about having one design that hundreds of volunteers can jump into, understand, and start extending to rapidly support new systems. But this results in code that doesn't much resemble how the original hardware worked, and in fact simply becomes a nuisance when design limitations prevent increasing accuracy further. For instance, MESS' SNES emulation is suffering due to this reason.

If you want optimum code for a specific system, I think you need to design a specific emulator around that system's unique design characteristics and challenges. But I also think the MAME/MESS approach serves a vital role as well in handling the more obscure systems that can't get the same level of attention as a classic console with a 4000+ game library. If not for MESS, we wouldn't have Super A'can emulation, for instance.

<comment><AUTHOR> glad to see you jump in here, I'm guessing you can provide _way_ more useful of an opinion on Exodus that us laymen ;)

Looking through the site, there appears to also be a philosophy around clear, well structured, well documented object oriented code for things in Exodus...which of course means that some of the more hacky optimizations are right out.

</comment></comment></comment></comment></comment><comment><USER6> Sounds beautiful, can't wait to see it!

</comment><comment><USER7> "Exodus is also an extremely powerful debugging, development, and analysis environment, which I'm hoping will be able to serve as a very useful tool for communities involved in development, hacking, and reverse engineering, to be able to do more complex and thorough debugging and testing in software, where you can trust that if it runs properly in Exodus, it will run the same way on the real hardware, and vice versa."

this sounds cool. i'm not huge into the emu scene, but i haven't come across any emulator that has a debugger.

<comment><USER8> Indeed it's rare, but not unheard of. For example the "nocash" series of emulators has extensive debug support (breakpoints, memory viewers, disassemblers, hardware traps, etc)

<http://nocash.emubase.de> is the website if you want to check them out.</comment></comment>


Escher – Build beautiful interactive Web UIs in Julia - <AUTHOR> https://shashi.github.io/Escher.jl/ <comment><USER2> Beautiful! Appears inspired by RStudio's Shiny [http://shiny.rstudio.com/](http://shiny.rstudio.com/)

<comment><USER3> I'm currently working a lot with Matlab and seeing a beauty like Escher for Julia is all I could wish for. Great work!!

It reminds me a little about Elm, I'm not sure what's missing in Escher over Elm's features, but that's another story.

<comment><USER4> Hello! I wrote Escher. Thanks!

Reactive.jl which Escher depends on for interaction was entirely inspired by Elm! I think the main difference between Elm is that Elm is currently a client-only compile-to-JS language. Escher, otoh runs on the server and compiles to Virtual DOM instead of JS. The Virtual DOM can include custom HTML elements, I use Polymer extensively, and have a few elements of my own for doing things like event capture, websocket communication, sampling events etc.

see [https://groups.google.com/forum/#!topic/julia- users/UEaYPlBu...](https://groups.google.com/forum/#!topic/julia- users/UEaYPlBuIkc) for a _brief_ description of how it works.

</comment></comment></comment><comment><USER5> Although [https://news.ycombinator.com/item?id=9650438](https://news.ycombinator.com/item?id=9650438) had significant attention recently, this post seems different enough that I think we can not count it as a dupe.

<comment><USER6> They don't appear to be related. The previous discussion was about replicating an Escher style drawing in Julia. This is about a web framework for Julia that just happens to be named Escher :)

<comment><USER5> The username in the url is the same, so presumably they're by the same person?

<comment><USER4> Yup. :)

</comment></comment></comment></comment><comment><USER7> This looks really amazing. Thank you Shashi.

Does this need Julia 0.4?

A very minor comment - In the markdown example, you need to add "Interpolate \KaTeX" in the input (it is there in the output but not in the input).

</comment><comment><USER8> The plotting examples on that page work for me in Chrome but not in Firefox (version 38.0.5 on Windows 8.1, if it matters).

</comment><comment><USER9> Almost makes me drool. If only Julia could produce stand-alone executables!

<comment><USER10> That is on the roadmap

<comment><USER9> So it was said a year ago.

<comment><AUTHOR> It is already possible to some degree: [https://github.com/JuliaLang/julia/issues/9973](https://github.com/JuliaLang/julia/issues/9973)

More robust support starts with package precompilation which is slated to go into 0.4

[https://github.com/JuliaLang/julia/pull/11426](https://github.com/JuliaLang/julia/pull/11426)

</comment></comment></comment></comment><comment><USER11> Huh. I actually saw the stylesheet load over the page layout.

</comment><comment><USER12> Escher? Why not Gödel ... or Wittgenstein ... or Kant?

Then again Bauer, Müller or Becker would be just as appropriate, wouldn't it?

<comment><USER13> Indeed, a note explaining why it's named Escher would be appropriate.

<comment><USER12> Well, Escher's pictures are sophisticated and "beautiful" \- I guess that's why</comment></comment></comment>


A snappier, more efficient Slack desktop experience - <AUTHOR> https://slackhq.com/introducing-a-more-efficient-slack-desktop-experience <comment><USER2> Does this change the app that's loaded from the Windows (Microsoft) Store?</comment>