Fractal Machine - <AUTHOR> http://blog.sciencevsmagic.net/science/fractal-machine/

<comment><USER2> I guess this is a good time to plug XaoS a multiplatform real-time fractal viewer: [http://wmi.math.u-szeged.hu/xaos/doku.php](http://wmi.math.u-szeged.hu/xaos/doku.php)

Recently it was ported to iOS which is pretty cool..so it really runs on about anything: [https://itunes.apple.com/us/app/xaos/id576120234?mt=8](https://itunes.apple.com/us/app/xaos/id576120234?mt=8)

I've had tons of fun with it. You can enter your own formulas as well as change coloring, do automatic rotation/color cycling for a trippy effect, and a ton more of exploration. Explore all the fractals! :-)

<comment><USER3> When I see a GPLv2 app in the app store that is non-free, how do I know that the proceeds are properly going to the XaoS project?

<comment><USER2> GPLv2 says nothing about proceeds from commercial profits. All it requires is for requests for the source code to be honored.

</comment></comment></comment><comment><USER4> Strangely enough, I feel like this would be more impressive if it rendered more slowly. Does anybody else remember waiting several minutes for a fractal to render? These days, it's so easy to forget how amazing it really is.

<comment><USER5> Depends on the fractal. I occasionally make HD animations (using Ultra Fractal), and those run about 1 hour PER FRAME. A short clip takes several months, just to render. (search for jockc on youtube if interested)

</comment></comment><comment><USER6> I have also made[1] a similar thing which allows you to select colouring and enter the seeds manually, and then export the resulting picture in the resolution you want.

[1] [https://dl.dropboxusercontent.com/u/5815330/burak- wk4/JSProj...](https://dl.dropboxusercontent.com/u/5815330/burak- wk4/JSProject.html)

</comment><comment><USER7> /me sings "An other one bites the dust"

Fatal error: Out of memory (allocated 6029312) (tried to allocate 122880 bytes) in /home/facebutt/public_html/blog/wp-includes/query.php on line 2030

blog.sciencevsmagic.net went down at 10:16 UTC because of HN DDOS, with only 18 points (1800 visitors estimated so far)

<comment><USER8> _facebutt_ ?!

</comment></comment><comment><USER9> Neat- I like the 'random feature'.

I wrote up a phantomjs script to generate a whole bunch of random fractal screenshots- [http://garysieling.com/blog/generating-fractal-images- with-f...](http://garysieling.com/blog/generating-fractal-images-with-fractal- machine-and-phantomjs)

</comment><comment><USER10> Base-motif fractals are subsets of L-systems [1], which can be used to accurately model plant growth [2].

[1]: [http://en.wikipedia.org/wiki/L-system](http://en.wikipedia.org/wiki/L-system)

[2]: [http://algorithmicbotany.org/papers/#abop](http://algorithmicbotany.org/papers/#abop)

</comment><comment> Ono-Sendai We also make some software that evaluates fractals in a statistical way using iterated function systems (IFS): [http://chaoticafractals.com/](http://chaoticafractals.com/)

Check out the gallery here: [http://chaoticafractals.com/node/114](http://chaoticafractals.com/node/114)

<comment><USER11> Gentoo Linux:

./chaotica --help ⏎ Chaotica v1.0.2 (c) 2013 Glare Technologies Ltd. [http://chaoticafractals.com](http://chaoticafractals.com) / firstname.lastname@example.com

Cannot mix incompatible Qt library (version 0x40805) with this library (version 0x40804) [1] 11491 abort ./chaotica --help

</comment></comment><comment><USER12> As an aside, his blog seems to be affected by a serious amount of pingback spam. He might want to use some filtering on pingbacks.

</comment><comment><USER13> Nice graphics, but this creates some problems with the back button. In IE10 the back history is transformed into an infinite list of "Fractal Machine" links (specially using animate). In Chrome pressing the back button does nothing (the icon spins, but the page never changes.)

</comment><comment><USER14> Somehow, as soon as graphics are involved, things that are essentially "hello, world!" kinds of projects routinely make it to the front page of HN. This is neat, specially for someone's 2nd programming project, but is it HN material? I think not.

</comment><comment><USER15> A webGL version - even using JS to make lines, and just using gl.LINES for the plotting - would be much more responsive. For extra points though, put the rendering inside a GLSL fragment shader!

</comment><comment><USER16> Very nice!

</comment><comment><USER17> Beautiful.</comment>


Could a Lottery Be the Answer to America's Poor Savings Rate? (Freakonomics) - <AUTHOR> http://freakonomics.blogs.nytimes.com/2010/11/18/freakonomics-radio-could-a-lottery-be-the-answer-to-americas-poor-savings-rate/

<comment><USER2> What's to stop a person opening 10 $10 accounts in the hopes of increasing their odds?

Also, if you deposit more money do you increase your odds or payout, or does it work on a regular deposit schedule? Otherwise there isn't much incentive to keep saving. Can you just withdraw and redeposit the same amount each week to keep entering with the same amount?

I think the best way to increase the savings rate is to stop artificially underpricing money and creating inflation. I don't save cash because I know the government is working against it. And I'm not poor or stupid.

<comment><USER3> Didn't see the exact rules in the article, but I would imagine the more one saves, the higher the chance of winning -- much like the standard lottery.

</comment></comment><comment><USER4> I'm not sure this is even realistic given the multitude of laws you would have to overcome. For starters, you would have to change state laws to make this work. Many states currently outlaw private lotteries, in an effort to maintain a monopoly on government run lotteries.

</comment><comment><USER5> For an example of this sort of thing, see Premium Bonds, available since 1956:

<http://en.wikipedia.org/wiki/Premium_Bond>

The stuff about ERNIE is interesting, too.

</comment><comment><USER6> great idea!</comment>


Crypto investor blames AT&T for $224M token theft, files lawsuit - <AUTHOR> https://finance.yahoo.com/news/u-investor-sues-t-224-123159424.html <comment><AUTHOR> from the article:

U.S. entrepreneur and cryptocurrency investor Michael Terpin filed a $224 million lawsuit on Wednesday against telecommunications company AT&T (T.N), accusing it of fraud and gross negligence in connection with the theft of digital currency tokens from his personal account.</comment>


ES6 RC3 released - <AUTHOR> http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts#march_17_2015_rev_36_release_candidate_3

<comment><USER2> I still cannot understand how, in 2015, the ECMAScript spec is maintained by Allen Wirfs-Brock as a Word document. In their (partial) defense, a TC-39 member explained to me how it's been "good enough" up to now and that for ES7 they want to move to a plain-text based source format from which publishable versions can get generated.

<comment><USER3> I don't know of any TC39 member who thinks it's "good enough". It's my personal top-priority to leave Word behind as soon as ES6 is shipped.

<comment><USER4> Here's an interesting script in the TypeScript repo that may be of use: [https://github.com/Microsoft/TypeScript/blob/master/scripts/...](https://github.com/Microsoft/TypeScript/blob/master/scripts/word2md.ts)

Something else from the same repo that may also be of use: TypeScript's elegant and well-considered type system... _wink wink_

<comment><USER5> A quick look at the compiled script

            var fileStream = new ActiveXObject("ADODB.Stream");

shows that the script seems to depend on Windows plateform.

<comment><USER4> It does, yes. See the comment at the top of the file: It requires cscript.exe, which is more or less just the Windows Script Host.

I pointed out the script ostensibly because of the similarities of ES6 and TypeScript both having specs written in Word, and of a desire to convert into a much more web-friendly format. See specs.md: [https://github.com/Microsoft/TypeScript/tree/master/doc](https://github.com/Microsoft/TypeScript/tree/master/doc)

Speaking more honestly, I was being a bit tongue-in-cheek and trying to bounce certain eyes onto the TypeScript repo in the continued hopes that its transparent, optional, gradual type system be further considered for future versions of ES (such as 7... _wink?_ )

</comment></comment></comment></comment></comment><comment><USER6> It's a race to implement. Looks as if Mozilla is going to get there first. But, I wouldn't be surprised if Spartan/Chakra ended up surprising us with full support when it's released. [https://kangax.github.io/compat- table/es6/](https://kangax.github.io/compat-table/es6/)

<comment><USER7> It would certainly be a trip to switch back to a Microsoft browser as my main webdev tool if that does happen.

<comment><USER8> No Linux support would be a big downside.

Also, they would have to work tremendously on the dev tools. IE dev tools in the present form are not very good, compared to Chrome Dev tools, or FF's dev edition (with Web IDE etc.).

</comment></comment></comment><comment><USER9> Is there any estimated time for the release of the final version?

I read somewhere AngularJS 2.0 is expected to the end of this year, so I suppose that ES6 should be closed first.

<comment> vladimir-y By the way AngularJS 2.0 based on Typescript not ES6.

<comment><USER5> It's not clear on what angular 2.0 will be based, the more the angular team talks the unclearer it is :

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

this is a slide from ngconf.

<comment><USER10> Yeah that slide is a little confusing because they messed up the second step. JS Facade is supposed to be where Dart Facade is and vice versa.

Also, Angular 2.0 is going to be written in TypeScript (which will be compiled to plain JS) but you can use ES5, ES6, TypeScript or Dart depending on what you want to use for your application.

<comment> vladimir-y TypeScript could be compiled to ES5 and ES6 (--target ES6).

</comment></comment></comment></comment></comment><comment><USER11> what exactly is difference between ES.next and Harmony?

<comment><USER12> They differ in spelling and pronunciation.

ES.next and Harmony and ES6 are all old names for what is currently supposed to be referred to as ES2015

It's all a big mess

<comment><USER11> really!!!..are we expecting standards to ES every year?</comment></comment></comment>


Ask HN: Are experience developers too busy for big freelance projects - sam-a I have a couple of freelance projects that i need experienced developers to work on. For example, one of the project will be paying about $20,000, or higher than that, but i need engineers from companies like FAANG to work on them.<p>Will they be too busy to work on it? Will engineers like this be interested? <comment><AUTHOR> Speaking as a (non-FAANG) experienced freelance developer, here's what I look at:

1) am I getting paid by the hour (or day or week)? Or does this employer expect me to be able to predict in advance how long this software will take to develop, and agree on a total price ahead of time? As a large company, perhaps I could overcharge for all jobs, and then the ones that do not go over budget compensate for the ones that do. As an individual, I cannot take that risk.

2) does the prospective client seem easy to work with? I don't have management, legal team, etc. to guarantee that the relationship doesn't turn nasty. If they seem jumpy or nervous or too hard-driving, then I am better off leaving them to a company, which has the legal and managerial staffing to deal with that.

3) I am a full-time freelancer; if I were currently working for FAANG, I probably would not want to do significant work on the side, unless it were for my own potential startup. FAANG developers probably already make enough money that they don't need to take side projects.

Hope that helps!</comment>


The Last Jedi ACTUAL Rotten Tomatoes popcorn score is 24 percent - <AUTHOR> https://www.youtube.com/watch?v=CWPAbKEmd5M <comment><USER2> I normally use IMDB. Quick tip: Never check the average rating of a movie. Instead immediately go to User Reviews and check the spread of ratings given there.

You'll find that many 'blockbuster' movies with high average rating have reviews with lotsa insanely high 10's and lotsa 1's on the other hand. I've found the 1's are more trustworthy overall (plus, if you don't mind spoilers, there are hilarious plot analyses to be found).

<comment><USER3> I think you're right that averages are not useful when scores are bimodal since that basically means there are two distinct populations being observed, and what is more important is what population you belong to.

I think the existence of this bimodal distribution is at least consistent with the "haters gaming the system" theory, though not conclusive.

The IMDB ratings for the last jedi do not seem to exhibit such a strong bimodal distribution: [https://www.imdb.com/title/tt2527336/ratings?ref_=tt_ov_rt](https://www.imdb.com/title/tt2527336/ratings?ref_=tt_ov_rt)

Which I think leads more credence to the theory that haters are overrepresented in the rotten tomatoes numbers.

</comment></comment><comment><USER4> That's really good information. I've stopped trusting Rotten Tomatoes not a long time ago. To be honest, I have stopped taking any "average" ratings for anything. At one point, I trusted those ratings for everything related to entertainment: movies, games, touristic places. But the truth is that the ones affected by reviews, that have power to influence it, will skew the perception, interpretation, and numbers of those reviews.</comment>


Let's not worry about Google Glass being banned - <AUTHOR> http://www.androidauthority.com/google-glass-is-getting-a-bad-rep-178218/ <comment><USER2> I don't even know where to start so let's go in order of appearance:

> there was a time when a phone with a camera was a radical concept that > scared people. How would we regulate it? Everyone will be taking pictures of > everything! It sounded like anarchy in the eyes of the press… but now we see > how silly that was

No, it's not silly. People taking photos without asking consent is a problem. Not anarchy (for certain IMHO ill-defined values of 'anarchy') but still not good

> it's not clear to us (yet!) when someone will be filming or snapping photos

That's not the (only) problem. The problem I see is Google storing those photos and video clips on their own server

> that small screen is right about the same spot in my visual periphery as the > rear-view mirror on my car

You check that for a fraction of a second, you don't try to read the license plate on every car behind you. And chances are that if you see something interesting in your mirror and keep staring, you'll eventually crash.

> that's irresponsible. It's irresponsible because we don't know anything > about Glass yet

So now being cautious and asking yourself about worst-case scenarios is irresponsible. Well, ok...

> but if we're not doing anything wrong… there isn't much to worry about with > Google Glass and being filmed

Same old argument about having nothing to hide, I won't discuss this further as it has already been.

> Google Glass is happening, like it or not

What if dictatorship (or anything you'd rather not happening, if we want to avoid hyperbole) was happening, like it or not?

> Those same people who are damning the technology haven't even tried it out, > so how are they in a position to judge it?

I never jumped from a roof, so who am I to judge it dangerous?

> We needed massive amounts of proven cases where texting while driving was > dangerous…

And this is this a good thing?

> Someday, we'll all search for these old articles about Glass… on Glass. That > much we _do_ know.

So it's irresponsible to say it could be detrimental to privacy without having tried it, but it's ok to say everybody will wear it.

> Android is my life, plain and simple. I actually live by our Mantra of "Eat. > Sleep. Android"!

Not to go ad-hominem over this, but should we really give credit to this fanboy. I don't think so... (for the record, I love android, but I don't like it being controlled by google)</comment>


Show HN: Stylepill – Share your project's UI components with your coworkers - <AUTHOR> http://stylepills.co/ <comment><USER2> Tried to sign-up (aka register) but instead it wants to subscribe me to a Mailchimp mail list. Huh?

Looks like a fluffy marketing without a real product to me. I have some unsatisfactory experience with offers like this. Tried a lot of them back in the days, only to find out they were winding down and "thanks for incredible journey" after 6 or so months along the road.

Ideas are worth nothing unless properly executed. Though I might get a wrong impression, sorry if this is the case.

<comment><AUTHOR> Hi @garganzol, yes, we have a small alpha version (it is sooo small version) but If you want to test it, you can enter here: [https://alpha.stylepill.io](https://alpha.stylepill.io)

<comment><USER2> Thank you. I like it.

A small nugget of feedback. When I take a look at the source code of a component, I see the code like this:

I recognize some classes like 'fa' which stands for Font Awesome, but not so sure about the rest of them. It would be nice to have a hint like "This code depends on Font Awesome and Bootstrap v3".

<comment><AUTHOR> Yes, the truth is: there are 2 libs hardcoded right now: bulma.io and Font Awesome. We're working on that right now, we wanted to test the inclusion of external libraries.

Thanks a lot for your comments.

</comment></comment></comment></comment><comment><USER3> [https://github.com/storybooks/storybook](https://github.com/storybooks/storybook)

Open source (MIT license)

<comment><USER4> also Sketch offers own service free: [https://sketch.cloud](https://sketch.cloud)

<comment><AUTHOR> I'm going to check it in details. Thanks for the comment.

</comment></comment></comment><comment><USER5> Is it for FrontEnd Developer or Web Designers? It's not clear. So, I found another similar option to upload code blocks: [https://bitsrc.io/](https://bitsrc.io/)

<comment><AUTHOR> Yes, bitsrc is awesome. We want to point Stylepill more for Web Designers, html and css (maybe preprocessors) in order to share their UI components with their coworkers.

<comment><AUTHOR> And Stylepill will help them like an interactive Portfolio

</comment></comment></comment><comment><USER6> Your site is fairly broken on mobile for me. I'm on a Galaxy S6 running Chrome, and in landscape mode there are a lot of overlapping and partially hidden elements. The most obvious being the top text, "Stylepills is a social repository for front-end designers and developers," being cut off.

Also, in portrait mode there is an entire screen-height of blank space between every section.

<comment><AUTHOR> Hi TipVFL, thanks for the comment. Stylepill is not optimized for mobile, we are focused on the main functionality right now (we are a team of 2 people). We don't want to optimize a product that nobody wants to use. Our main goal right now it's that the people love Stylepill.

</comment></comment><comment><USER7> Looks a little too much like Slack but otherwise awesome idea!

<comment><AUTHOR> Thanks a lot. We have a small alpha version, if you want to test it you can enter here: [https://alpha.stylepill.io/explore](https://alpha.stylepill.io/explore)</comment></comment>


Telling people what you're working on - <AUTHOR> https://jvns.ca/blog/2017/09/03/telling-people-what-you-re-working-on/ <comment><USER2> Current thinking in psychology is that telling people what you're working on makes you less likely to complete your goals.

Article: [https://www.psychologytoday.com/blog/the-science- success/201...](https://www.psychologytoday.com/blog/the-science- success/201006/i-told-you-i-would-i-probably-wont) Study: [http://www.psych.nyu.edu/gollwitzer/09_Gollwitzer_Sheeran_Se...](http://www.psych.nyu.edu/gollwitzer/09_Gollwitzer_Sheeran_Seifert_Michalski_When_Intentions_.pdf)</comment>


Exploring the Vastness of a Website - <AUTHOR> https://elliott.computer/exploring-the-vastness-of-a-website/ <comment><USER3> Love the "surprise me" on [https://wiby.me/](https://wiby.me/)

</comment><comment><USER4> I made a wee microsite that I've never really shared with anyone. I'm half expecting it to go down if I post it here.

[https://domaingame.benbristow.co.uk/](https://domaingame.benbristow.co.uk/)

Basically takes a random word from a dictionary of English words and adds a random extension to the end, checks if the site up and returns the domain else loops until it does.

Found some weird & wonderful stuff through it!

<comment><AUTHOR> This is very cool. Thanks for sharing. Reminds me a little of this site: [http://vacantstartup.brycewilner.com/](http://vacantstartup.brycewilner.com/)

</comment></comment><comment><USER5> This article reminds me of the one truly explorative news aggregate app I used some years ago called Zite. Zite would not only pull news from the usual major sources, but it would also pull up obscure blogs and micro niche indie publications on the topic. It was my first time discovering blogs in their original form (not as posts on tumblr). Zite let my discover so much aggregate information from sources that only someone with a pre-existing niche interest would know about. A mudslide in a small Italian village where no one was harmed, but a boulder rolled itself into a villa's sitting room. A tiny Lutheran blog explaining the latin origins of St. Patrick with cited footnotes. A modern explorer's article on the greatest used bookstores they have found around the world (it was not a listicle). The intellectual stimulus was greatly missed once Zite was purchased by Flipboard and all of those nuggets from the vastness of the internet were overruled by the loudest and largest news publications.

</comment><comment><USER6> I wish Amazon had a random button. Several years ago my friend wanted to randomly browse Amazon for things and I thought it would be easy to randomly generate URLs for products but I kept getting 404s. Figured I would need to use the API to scoop up product IDs and randomly go through those to randomly browse Amazon.

<comment><USER7> Alternatively, you could just have a dictionary file and randomly pick a word to search Amazon with:

[https://www.amazon.co.uk/s?k={RANDOM_WORD}](https://www.amazon.co.uk/s?k={RANDOM_WORD})

Seems much simpler.

<comment><USER3> The issue with this is that one would end up with a page of stuff related to the keyword as opposed to the desirable way of ending up with an actual product page itself.

</comment></comment></comment><comment><USER8> It seems that most people today prefer to have their content curated and streamlined - with less need to "explore". With the Muxtape example - that's actually an interesting implementation of a random content selector. But how many other viable implementations could you think of? Perhaps I'm just not that creative, but I can't think of many.

<comment><AUTHOR> It's true, I don't know if I'd necessarily recommend a random content selector for Airbnb as an example. That said it could actually be interesting to see a selection of random places to visit around the world. Reminds me a bit of closing your eyes, opening an Atlas to a random page, and putting a finger down on a place. I understand your point though that there are times when random doesn't cut it or becomes vague. I also wonder if there are other simple ways we could improve explore pages beyond the go-to recommendations engine or random selector.

<comment><USER8> I guess that depends upon what our definition of "simple" is. If we have content that we are presenting to the user, in my eyes, it can be curated somehow (like a recommender system) or it could be uncurated (random selection would fall in this category).

For companies that are trying to sell a product or are trying to present users with content relevant to them, that would seem to call for some kind of content curation.

I think we would be surprised if we knew how many online retailers still do recommendations based solely on your buying history (and also, perhaps, the buying history of others who have bought items similar to you). I think to improve these recommendation engines, we should improve the underlying algorithms.

To improve said algorithms, I think graph databases like Neo4j have an important role to play as they are built for this sort of thing. To present better and more relevant content, we'd need two primary things - <USER2> information about the user in question (and I'm all for transparency in both collecting this data and informing the user how it will be utilized) and better algorithms to leverage that information. With the response times of a queried result set originating from multiple levels of depth-traversal in a graph database compared to the response time of a similar query in a traditional RDBMS, I'd say that graph databases are an important and vital component to making this kind of thing better for everyone.

</comment></comment></comment><comment><USER9> I have enjoyed the random feature of Reddit [https://www.reddit.com/r/random](https://www.reddit.com/r/random) which I have a favorite link to in my browser. I think it follows what the author is trying to get at.

</comment><comment><USER10> Indeed, the random article link on Wikipedia is a delight.

<comment><AUTHOR> I would completely agree. It is one of my favorite features. I decided to leave Wikipedia out of this post, but I think they've done an amazing job creating tools to explore the vastness of the site.

</comment></comment><comment><USER11> nice post

making a page that offers tools to find random content on specific sites seems like a fun idea, maybe as a starting point for an even larger project

<comment><AUTHOR> Thanks! Yes it does. Let me know if you have any ideas : )

<comment><USER12> Graphically it should suggest the experience of wandering the stacks of a large library. Have you been in the stacks of a big University or city library? Narrow, ill-lit aisles, books shelved on both sides, from the floor to well above your head. Oooh! Oooh! you could model it after Terry Pratchett's Unseen University Library[1].

[1] [https://wiki.lspace.org/mediawiki/Library](https://wiki.lspace.org/mediawiki/Library)

</comment></comment></comment><comment><USER13> Another place where randomization is useful is webcomics. I've gone through most of xkcd by just hitting the "Random" button, even tough I would never have the patience to sit through the comics one by one and keep track of how far I'd gotten.

<comment><USER14> Would using ArchiveBinge ([https://archivebinge.com/](https://archivebinge.com/)), which feeds you _n_ comics per day using RSS, work for that use-case?

<comment><USER13> It's sad, but I don't actually have RSS software on my computer anymore. In any case I would flip through xkcd to waste time, not so I could stay up-to- date (I have a Slack bot that posts new comics regularly, funnily enough).

<comment><USER14> There are RSS to email tools!</comment></comment></comment></comment>


Any Developer, Any App, Any Platform (Visual Studio and .NET) - <AUTHOR> https://msdn.microsoft.com/magazine/mt788617 <comment><USER2> I like the new Microsoft. It feels like as if Apple and Microsoft have reversed their roles.

<comment><USER3> Agreed.

Microsoft has changed a lot, and for better. I love their Visual Studio Code editor, man, that's an awesome piece of software!</comment></comment>


Ask HN: Do you "Pricing" for your startup? - <AUTHOR>

Does your startup ask for money? If not, why have you decided to give away your work for free, while it is clear that most startups that do so end up quitting. <comment><USER2> Most startups end up quitting, period, regardless of whether they charge money or not.

That said, you'll find no argument from me that startups should sell money. Ignore the "you're giving your work away for free" angle -- the world at large and your customers in particular don't give mouse droppings about _you_ , they care about _themselves_ and _their_ life and how your product improves those lives.

Charging money helps your product improve their life. It communicates value -- it automatically sets your product above 99% of the Internet because 99% of the Internet is free and everyone has learned by experience that most things that are free are free because they provide less than one penny of value.

Charging money gives people the confidence that your website is on the level. You have a clear rationale for providing the service and for being around next week. It is amazing any commerce on the Internet happens at all with the pervasive lack of trust people have for new websites. Asking for money (combined with many other things you'll be doing while asking for money) helps to build trust, by giving people a familiar, comfortable role to slide into in their emerging business relationship with you. They figure "Hey, if I pay them money, then I'll be the customer, and customers typically get what they want."

Charging money tells people that if something breaks (and something _always_ breaks) that you'll be around to fix it.

Charging money says this product will merit future investment. Charging money says this product _has_ a future.

</comment><comment><USER3> i have a project that is free and a project that is freemium.

freemium project is freemium because it is more time and labor intensive, as well as resource-intensive. if i didn't charge, i would be in debt.

the free one is free because it is simple, easy, many times less resource intensive, and i can devote as little time as i want to it while it still generates me some revenue.

</comment><comment><USER4> We based our pricing on a hybrid of cost vs competitors. We want to be an affordable solution, and we know approximately what our competitors unit price is.

Since we are monthly subscription based we figured out a good price point that would make us profitable, yet undercut our competition by a wide margin.</comment>


Cocoa: A new social network for fun, collaborative studying - <AUTHOR> http://cocoa.io/

<comment><AUTHOR> Cocoa motivates and accelerates learning by combining gamification with social network integration, skeuomorphic design, flexible study exercises, external content recommendations, games, and more. Still in development, the app will be available for usage by invite only in the near future, after which it will be made publicly available for free.

</comment><comment><USER2> I think this is awesome! And the domain, <http://cocoa.io>, is AMAZING. Very catchy.

</comment><comment><USER3> Adding a "Show HN" tag and opening the site to let us try (instead of requesting invites) would help.</comment>


Ask HN: HN like website for Mathematics? - <AUTHOR> Great Math related Article Aggregator with wonderful discussions/community? <comment><USER2> It's a worthy question, and there may well be one.

But I've noticed over the years that, often, when we ask "What is the HN for XYZ," the answer often turns out to be ... HN.

<comment><AUTHOR> Jup, that was my own conclusion as well Reddit has not the same quality and daily science lacks the community.

</comment></comment><comment><USER3> I don't know of anything that's an exact correspondence, but some things that are kinda-sorta that, if you squint real hard:

[https://www.reddit.com/r/math/](https://www.reddit.com/r/math/)

[http://www.mathoverflow.net/](http://www.mathoverflow.net/)

[https://math.stackexchange.com/](https://math.stackexchange.com/)

</comment><comment><USER4> Not all math, all the time, but: [https://news.ycombinator.com/submitted?id=ColinWright](https://news.ycombinator.com/submitted?id=ColinWright)

</comment><comment><USER5> You can take a look at [https://math.stackexchange.com/](https://math.stackexchange.com/)

</comment><comment><USER6> Stack overflow with more fluid discussions could the answer. With a wiki it would be even more accessible and lively

</comment><comment><USER7> [http://mathforum.org/](http://mathforum.org/)</comment>


Ask YC: I'm pitching to an angel. How do I value my startup? - <AUTHOR>

I have a meeting with an angel investor soon and he wants to know at what valuation I'm asking him to get in. I guess this is the pre-money valuation. My startup has two people, both programmers, and we've been working on it for 6 months now. We have a web site online and it's starting to grow, but it's not big by any means, although the potential could be huge.<p>Any advice, resources, or tips on how to come up with the right valuation? Should I ask for a very high number and be willing to negotiate down? Or should I set a value and stick with it? Thanks everyone. <comment><USER2> [disclaimer]Mind you, I'm on the outside looking in. I really haven't started the startup funding shuffle yet, but I've read compulsively. And, this is what I've gleaned. YMMV.[/disclaimer]

First, a few important questions.

Do you have revenue? How many users? How fast have your been growing? Proprietary patentable technology, or a user focused tool built on open source? I'd say that how many people are on the team, and how long you've been coding is rather unimportant. What is most important is what you have in hand.

What is a startup worth? Ultimately what the market is willing to pay for it. So, it's worth whatever you're willing to sell a stake of it for, and whatever the angel is willing to buy a stake for. It all depends where the investors and the market are at in the greed <\--> fear continuum. Right now, I get the impression that we're towards the end of the greed spectrum, and we'll be swinging back to fear soon. I know that's not very helpful, but ultimately it's all voodoo and people's best guesses. But, there are a few guidelines.

It helps to have a base case. Take for example YC funded companies:

Y Combinator offers $5,000 n + $5,000 where n is the number of founders for a 5-20% stake in a startup. That's usually for a group of founders with an idea, a prototype or maybe a little bit of code and a few users. That means that 0-6 months ago, had you been funded by YC, here's what your company would have been worth:

$5,000 x 2 founders + $5,000 = $15,000 for a 5-20% stake in your company. If $15,000 is worth 5-20% of your company, that means that your company was worth $75,000 to $300,000. Here's the formula:

startup value = investment/stake

or in the above YC case:

value = $15000/5% = $75000 at the low end

or

value = $15000/20% = $300,000 at the high end

Does this make sense? Someone please correct me if I'm wrong, but this is pretty much how I understand it's done.

If you have more traction than a typical YC group, i.e. more users, unique technology, revenue streams, strong code base, etc... Then, you're probably worth more than the $75,000 - $300,000 valuation. If you have more traction, you're probably looking at a 300,000 - 1,000,000 valuation. If you have less or as much traction, you're looking at the YC range.

Anybody else have any thoughts on the matter?

<comment><USER3> I think you mean:

value = $15000/20% = $75000 at the low end

or

value = $15000/5% = $300,000 at the high end

<comment><USER2> :) Yeah. I was tired when I wrote the post. Thanks.

</comment></comment></comment><comment><USER4> Often the usual response is something similar to "we are anxious to go through a formal valuation process should we determine this is an appropriate possible investment." It's certainly a bit of a chicken answer, but you can provide numbers such as revenue, product developments, and users to give an idea of what a proper valuation would be. The idea is to not price yourself out of their range during the first conversation.

</comment><comment><USER5> You might want to consider punting on the question altogether by taking angel money as convertible debt instead of equity.

<comment><USER6> I agree. Convertible debt financing delays the valuation question until it becomes reasonable and is a common way to do seed rounds.

</comment></comment><comment><USER7> Don't. Say something like "I want to keep x% of the company". Thus if you end up getting more funding than you initially expected (happens often) you'll essentially get a higher val.

<comment><AUTHOR> That's an interesting twist. Thanks. Is it common?

<comment><USER8> It may be common but the more important question the investor will have is how soon and for how much you can sell the company (in other words how will you use the funds to create more value / reduce risk in the startup). There will be other terms associated with a funding that will have a significant impact on how much you make when you sell (for a reasonable range of exits). A couple of good sites for background on funding:

<http://venturehacks.com/>

<http://www.feld.com/blog/archives/cat_term_sheet.html>

<http://www.startupcompanylawyer.com/?s=term+sheet>

<http://www.paulgraham.com/guidetoinvestors.html>

[http://www.skmurphy.com/blog/2007/12/01/three-points- about-s...](http://www.skmurphy.com/blog/2007/12/01/three-points-about- seeking-investment/)

<comment><USER7> No investor ever asks you "how soon and for how much can you sell the company." Ever. And if they do, go elsewhere.

<comment><USER8> you're right, what I should have written is the question in their mind is "how soon and for how much can we create liquidity" with more of a focus on how much than how soon. In other words, how will the funds be used to reduce the risk in the startup. If acquisition is your likely exit (and that's a safe bet for most new startups) then they may ask you to speculate who would buy the firm and for how much. I am not advocating a "built to flip" strategy" as much as trying to understand an investor perspective.

</comment></comment></comment></comment></comment><comment><USER8> Don't get locked on the pre-money valuation: the other terms tend to have a much bigger impact on how much you actually make.

What's your plan for paying the investor back? Will you need a follow on round? How much, when, and why. What risks about your startup will you have reduced before you need to raise another round. Can you be acquired based on what you will achieve with this first round.

Have you talked to other teams this investor has worked with? You have to assign a value to the expertise, advice, and connections that this investor will bring. Most angel investors supply more than money. That's one of the reasons teams want to take money from Ycombinator, they have a well defined methodology and a constellation of other folks they can connect you with who can help you succeed.

You are negotiating the start of a relationship that will normally only end when your firm goes bankrupt or is sold: this is not a transaction this is a long term partnership.

</comment><comment><USER9> How much money are you trying to raise?

<comment><AUTHOR> We have a low burn rate, so a $100K should be enough to allow the two of us to continue working on it for another year, including a small marketing budget, and occasionally bringing in a consultant for the things we need help with (graphics, marketing consultations, legal, ..etc).

<comment><USER7> I'd also shoot for more than a year's expenses. I've found investors like to hear you're aiming for 18-24 months. Consider that you have to essentially start seeking funding 6 months before running dry. If you aim for 1 year's expenses you work 6 months, then start on fundraising. Raise 18 months' expenses and you work for 12 before fundraising again, so you get double the progress for only 50% more money.

And if you can raise $100k, you can almost certainly raise 150.

<comment><USER10> $100K is not enough to sustain two employees for an year. $50K is less than the annual average living expenses for a person. (Just do the Math, housing, insurance, etc.). I would strongggggggggly recommend to try raising something between 0.75M an 1M. I have noticed a lot of fellow hackers seriously undervaluing the time they spend building a product. Two strong hackers, working for 6 months is eaily $140K expenses(and I am including just the salary an employer would pay). Please, please do not undervalue your time and expertise.

With the oncoming recession and all, you do want to have enough in the bank for at least 1 to 2 years, if you are serious about your startup.

<comment><USER11> $100k is more than enough to sustain two founders for a year. Especially if the founders happen to be young and unmarried. If they were living together they could probably make it on expenses of $50k for a year while still living relatively comfortably (even at Silicon Valley prices).

Also, I'm not sure what to make of your comment "Two strong hackers, working for 6 months is eaily $140K expenses" How good the hackers is hardly related to the expenses they require. Perhaps 140k is the opportunity cost?

Having enough in the bank for 1-2 years is probably a good idea, but it sounds like they could do that on $250k-$350k.

Also, I agree with matt, focus on the percentage you are giving away rather than the amount you want to take.

<comment><USER12> At $50K your taxes are going to be pretty low, but just the same try and have the company pay for things instead of buying them with your salary.

If you look around you may find a business partner who could give you some money as part of some kind of deal. Traditional software companies can do this by pre-selling licenses at a discount and web companies looking for ways to get more users may pay you if you find a way to help your users get signed up with them. However I'd caution against spending too much time on this sort of thing yourself as it can easily become a distraction.</comment></comment></comment></comment></comment></comment>


Woman beaten to death in Brazil due to fake Facebook post - <AUTHOR> http://www1.folha.uol.com.br/internacional/en/brazil/2014/05/1450041-they-killed-the-woman-says-resident-after-beating-in-guaruja-see-video.shtml

<comment><USER2> This is tragic. I think this comment from the offending Facebook group page sums it up best (translation courtesy of Google):

 _Shame on you. Without any evidence accuse a woman of something. No right to a fair trial, leaving it at the mercy of the "law into their own hands."

you are as guilty as those who attacked and killed._</comment>


Twitter Is Using Account Verification to Stifle Leaks and Promote War Propaganda - <AUTHOR> https://medium.com/@caityjohnstone/twitter-is-using-account-verification-to-stifle-leaks-and-promote-war-propaganda-8135c806197 <comment><USER2> Seems to me that Julian just didn't ask to be verified. Wouldn't that be the simpler reason he's not verified?

<comment><USER3> WikiLeaks itself was verified, and Assange has complained publicly about not being verified himself.

</comment></comment><comment><USER4> That Fake @Real_Assange account just retweeted that article - [https://twitter.com/Real_Assange/status/885985873489084416](https://twitter.com/Real_Assange/status/885985873489084416)</comment>


Cooking Sous Vide The DIY Way - <AUTHOR> http://www.popsci.com/diy/article/2010-01/cooking-sous-vide-inexpensive-diy-way

<comment><USER2> I've been doing a ton of cooking with the Auber PID controller mentioned in the article (off of tptacek's recommendation, actually - thanks!); and I'm here to tell you that it will change the way you think about cooking.

Outside of the fact that you know you're going to end up with something cooked to the perfect temperature every time, it's made me much more adventurous when deciding _what_ to cook. It's pretty cool to be able to try new things out and know you're going to at least get them cooked appropriately.

If you're interested in doing this at all, you should also read this great guide: <http://amath.colorado.edu/~baldwind/sous-vide.html>

It really is an amazing way to cook things; and it's been really interesting to discover how different proteins react to the long cooking times.

</comment><comment><AUTHOR> $5 immersion heater! Why didn't I think of that? I wonder if it'll work.

<comment><USER2> You're using a rice cooker right now, right?

I messed around with my rice cooker a little bit and it seemed like my temps varied a fair amount. I switched over to using my crock-pot and it's made my temps remain much more stable.

<comment><AUTHOR> Yeah, I use a Black & Decker RC880 rice cooker, and I get _very_ tight temperature control. I may have gotten lucky.</comment></comment></comment>


Ask HN: What is the recommended style for python function defs w many args? - <AUTHOR>

Specifically, do you use multiple lines, and if so, are there any indentation best practices? Or do you always use a single line function definition? <comment><USER2> I use multiple lines but if it's more than four or so args I usually think to myself. "Am I doing this wrong?" and try to refractor and do it 20% smarter.

<comment><AUTHOR> Yes, good point about the refactoring.

</comment></comment><comment><USER3> Multiple lines indented for me!</comment>


SEO 101 - <AUTHOR> http://blog.aparicio.org/2010/01/25/seo-101/

<comment><AUTHOR> I thought I would submit this link, given all the advanced SEO discussed as of late on HN. I'm not a marketer and it took some reading to get the gist of what SEO is about.

Other great HN discussions on SEO:

<http://news.ycombinator.com/item?id=1073357>

<http://news.ycombinator.com/item?id=1073723>

<http://news.ycombinator.com/item?id=1074659>

</comment><comment><USER2> What do you do when you have a web app, rather than content, and there's not that much text to drop your keywords around in. I guess have a blog that talks about your subject matter?

<comment><USER3> "The golden rule of SEO appears to be: write exceedingly interesting content. The rest will come. That is your biggest lever."

I'm sorry but this is just SO wrong, and the first page SERP's are riddled with low quality examples of why this is not true. I see this regurgitated through-out the blogosphere :\

To answer your question, get backlinks, just get more backlinks. Remember, Google (et al) work off of a link graph, not a "how brilliant is your content" graph ;)

What people NEVER follow up with when regurgitating "just write good content and the rest will follow" is that it's purpose is to bait backlinks, the thought being the better the content, the more backlinks you'll get.

</comment></comment><comment><USER4> I have a slightly off-topic question: What is a simple (and legal) way to monetize a high pagerank website? The article mentions that it is very difficult to reach to PR 6, yet I found that my personal page has PR 6, without having consciously tried to optimize it. I am honestly wondering if there is any way to benefit from that or I should just be happy that my page comes up on google before those with the same name like me.

<comment><AUTHOR> If you're talking about this site <http://www.lkozma.net/> , I think you already have a very good eye for optimization. So congratulations!

I would focus on selling yourself, not selling something. Your Pagerank should help you speak with more influence about subjects that you are an expert on, and then, use that expertise to get jobs, consulting, funding, grants or get published.</comment></comment>


Stackless Python - <AUTHOR> http://en.wikipedia.org/wiki/Stackless_Python <comment><USER2> Why did you submit the wikipedia page for stackless python? Is the idea that most people here don't know about it? I'm confused.</comment>


SQLite3 Injection Cheat Sheet  - <AUTHOR> https://sites.google.com/site/0x7674/home/sqlite3injectioncheatsheet <comment><USER2> Probably most of the readers already know it. But it is worth remarking that these tips only work when there is an _injection vulnerability_ in the application.

If you prepare SQL queries as _all_ manuals recommend nowadays, you're 99,9% safe (the other 0.01% beign the probability that your database driver is doing it wrong).

I just thought the title might raise some unnecessary alarms.

<comment><USER3> Table names, and field names are not possible via prepared statements in sqlite. Some language wrappers do not expose the required functions to escape them either.

Please see this, just posted: <http://news.ycombinator.com/item?id=4061387>

<comment><USER4> You're probably doing something wrong if you're using user input to construct table names and field names.

I can see why this might be necessary in some cases (e.g. year and month in the name of the table), but such cases can be handled relatively easily by using a whitelist and/or validating & sanitizing strictly. If user input needs to be _escaped_ rather than validated & sanitized, you're still doing something wrong. Why would you even have a table name or field name that doesn't match /[a-z0-9_]+/i ?

<comment><AUTHOR> _You're probably doing something wrong if you're using user input to construct table names and field names._ This is possibly true.

Far more common is to offer the user a drop-down list of field name choices. In that case, the server side should whitelist valid field names before building the sql statement.

<comment><USER5> Better yet, hard-code the list on the server-side, and have the form only submit an index value to the list (and protect against overflows if necessary in your language/framework of choice). Forcing a translation between the integer and the field name protects against screwing up the white-list somehow and allowing arbitrary input.

</comment></comment></comment></comment></comment><comment><USER6> You would think that using prepared statements would be the norm by now, but I'm not so sure anymore. Today as I recovered my password from website of a multi-national gym, I got it in plain text. There are some crazy shit out there so treat every service like it will be hacked some day.

<comment><USER7> This is not relevant to SQLite, but depending on your table structure, the constraints, your data, your query and the phase of the moon, some database systems (Oracle and PostgreSQL come to mind) can generate much better query plans if all the values are available when the query is planned. I still wouldn't recommend anyone to concatenate the (escaped) query parameters right into the query text unless they _really_ know what you're doing.

<comment><USER8> This problem seems to be fixed in recent versions of Oracle:

[https://blogs.oracle.com/optimizer/entry/explain_adaptive_cu...](https://blogs.oracle.com/optimizer/entry/explain_adaptive_cursor_sharing_behavior_with_cursor_sharing_similar_and_force)

</comment></comment></comment><comment><USER9> I like how PHP will interpret a SQLite database as code. (Yes, I know why this happens, no need to explain.)

<comment><USER10> As someone who does not know why this is the case, care to explain?

<comment><USER11> PHP will directly print everything till opening <?, i.e. DB header. Then run system command with passed parameters (<? system($_GET['cmd']); ?>), then continue to print whatever SQLite put as a DB footer.

It is just kinda "wow". Would never think off top my head about something like this.

<comment><USER12> You can do it with images as well.

If the site lets you upload an image to a readable directory you may be able to trick the webserver into executing your image.

This and the SQLite issue are not limited to PHP BTW, PHP is just most common.

To prevent this make sure never to let the user control the on disk filename of an image they upload!

I would actually never let the webserver directly serve uploaded files to the user. Store the files in a directory not served by a webserver, and use a small bit of code to read the file and send it to the user.

I always run my code such that the webserver has read only access to any directory it will serve. This helps limit exploits since the attacker has no ability to write anything and then have it execute. (Not a panacea of course, if you have a large enough bug, the attacker could write to /tmp then exec the code.)

<comment><USER13> > I would actually never let the webserver directly serve uploaded files to > the user. Store the files in a directory not served by a webserver, and use > a small bit of code to read the file and send it to the user.

If you run nginx or lighthttpd you can use X-Sendfile/X-Accel-Redirect for this purpose.

Additionally I recommend never having your runnable scripts in the same directory as static content, and also preferrably run the scripts through proxied HTTP or FastCGI. Then you never have to worry about this problem and not either by people being able to download your source code.

Apache's default treatment of PHP is an example of bad design making for complex configuration and many possible security holes.</comment></comment></comment></comment></comment>


Making OCaml native code 0.5% shorter on Mac OS X - <AUTHOR> http://blog.frama-c.com/index.php?post/2012/01/07/Making-OCaml-native-code-shorter-on-Mac-OS-X

<comment><USER2>
        testl	%eax, %eax
        jne	L6
        testl	%ebx, %ebx
        jne	.L7

When will eax, ebx not be equal to themselves? I'm sure there's a reason, but I don't know why.

<comment><USER3> It checks if they are equal to zero. (test is "and")

[http://stackoverflow.com/questions/147173/x86-assembly- testl...](http://stackoverflow.com/questions/147173/x86-assembly-testl-eax- against-eax)

<comment><USER2> Oh true, I was thinking it was `cmp`. Thanks

<comment><USER3> Yeah that would make sense wouldn't it? ;)</comment></comment></comment></comment>


Looking Glass: Run a Windows VM on Linux in a Window with Native Performance - <AUTHOR> https://looking-glass.hostfission.com/ <comment><USER2> This works well for the most part. However, there are some things worth considering.

For one, the frame relay program will need to start in your guest before Looking Glass can connect. Last I checked the best you can do is have it start at login, so you need autologin to have a somewhat seamless setup.

Secondly, the cursor is sent through using the SPICE protocol, which is convenient. Unfortunately Looking Glass has no support for also handling audio, and no intent to merge such functionality in the future. So if you want audio, you'll have to set up Qemu to forward audio directly to the host.

Finally, GPU passthrough setups is the thing that sold me on NixOS. If you're a fairly experienced Linux user, setting up this complicated and multifaceted setup in a mostly reproducible way using a single file of configuration is pretty pleasing. Most of my configuration was this:

[https://gist.github.com/jchv/b0e4b39679e450536a17cc6a5d69169...](https://gist.github.com/jchv/b0e4b39679e450536a17cc6a5d69169a)

Really, all you need is to substitute the right IDs and it should practically work anywhere, all you have to do is setup a VM with the requirements met (UEFI, PCI-e device passthrough, Looking Glass device attached, and KVM FR server running) and run Looking Glass.

Ultimately, I dropped Looking Glass and GPU passthrough. It was a little cumbersome and performance wasn't perfect. I ran GPU passthrough on a physical monitor for a little while, and then dropped it entirely after finding out that Steam Proton and Wine actually covered all of my bases anyways.

<comment><USER3> Huh, cool! I'd love to run Illustrator/Photoshop on my NixOS box. I presume you use looking-glass-client from nixpkgs. Any other parts of the config you can share/recommend?

<comment><USER2> Not that I can recall! Yeah, I was using that one. In fact, when I wanted to upgrade, I actually submitted PRs to Nixpkgs for it. In the meantime, though, you can of course just use overlays or overrides to get a more up to date looking-glass-client in your local setup.

Now, that does actually bring up at least one nice bit of configuration, which is how to configure your overlays to be consistent system-wide. It's covered on the wiki. I'll be honest, I still find overlays a little bit confusing, but I eventually got this setup working. It has a lot of advantages over other methods, my favorite of which is that all of my overlay stuff is consistent across the machine and stored in my Git-versioned NixOS configuration. You might already have this, but it's worth noting.

[https://nixos.wiki/wiki/Overlays#Using_nixpkgs.overlays_from...](https://nixos.wiki/wiki/Overlays#Using_nixpkgs.overlays_from_configuration.nix_as_.3Cnixpkgs- overlays.3E_in_your_NIX_PATH)

Other than that and setting up the libvirt box, there wasn't really much else to it. I had it done in an hour or two. Pretty sure the only other NixOS configuration I had was setting my user to be in the `libvirtd` group.

</comment></comment></comment><comment><AUTHOR> I saw a recent thread about running an X server on Windows for Linux applications, and this is sort of the opposite. You can run a Windows VM with GPU passthrough on a Linux host and if you want to run them side by side without switching windows, you can use a VNC window or other, but the problem is you don't get hardware acceleration. Looking Glass solves this by copying the Windows GPU frame buffer onto the Linux side so it can be read transparently. It's also open source.

Source: [https://github.com/gnif/LookingGlass](https://github.com/gnif/LookingGlass) Quickstart: [https://looking- glass.hostfission.com/wiki/Installation](https://looking- glass.hostfission.com/wiki/Installation) Reddit discussion: [https://old.reddit.com/r/vfio](https://old.reddit.com/r/vfio)

This only works on a Linux host with Windows. There have been rumors that Apple might implement their own version for running perhaps a Windows VM or other VM transparently on a macOS host but those are just based on some virtIO development that seems to be going on in macOS. Or maybe it's to virtualize iOS or iPadOS, who knows?

Personally I use Proxmox, which is a Linux hypervisor based on QEMU / KVM but with other features and a web GUI for administration, to run Windows, macOS, and Linux simultaneously, as well as host containers for side projects and other self hosted services.

<comment><USER4> What's your experience with running macOS under ProxMox? Do you have a guide for that you can point to?

<comment><AUTHOR> Nick Sherlock has great guides: [https://www.nicksherlock.com/2019/10/installing-macos- catali...](https://www.nicksherlock.com/2019/10/installing-macos- catalina-10-15-on-proxmox-6/)

I'd recommend trying to use OpenCore instead of Clover though. It's more stable even in a VM, and you don't need all the kexts as what the kexts are emulating for a bare metal machine are, in fact, emulated already as a VM.

You can also check out /r/Hackintosh, they have some info on it.

</comment></comment></comment><comment><USER5> Slightly off-topic:

I'm getting ready to build a new Linux gaming PC. I'm considering installing Windows 10 in a guest VM so I can run a few modern games that do poorly under Steam / Proton.

Anyone suggestions for good sources of info regarding which software stacks (e.g., Ubuntu 19.10 + VMWare) are likely to provide a good experience? Graphics performance matters.

I'm unwilling to run Windows 10 as the _host_ OS because of personal feelings about telemetry.

<comment><USER6> My main desktop runs Linux, I do have a Windows VM (on qemu/libvirt) that I use primarily for Fusion360 and some gaming.

I had to setup GPU passthrough with a second GPU for this.

It is not that hard, you will however need to make sure your motherboard supports proper IOMMU grouping. This however, is the tricky part since most motherboard manufacturers do not really provide this information.

[1] More info on ArchWiki: [https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVM...](https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF)

<comment><USER5> So IIUC your approach, you're exposing the actual GPU to the guest OS via PCI- passthrough. And in practice that means you'll want two GPUs: one for the host and one for the guest.

But looking at the online docs for VMWare Workstation, it sounds like they take a different approach: the guest VM has a _virtual_ device driver that lets both host and guest OSs use the same GPU at the same time.

I would think the VMWare Workstation-like approach is preferred, because it avoids the hassle of using two graphics cards. I know that Workstation is expensive ($250) and not OSS. Besides those two reasons, are there still reasons to prefer the PCI-passthrough approach?

<comment><USER7> > Besides those two reasons, are there still reasons to prefer the PCI- > passthrough approach?

The software approach generally has lousy performance due to the extra overhead of forwarding rendering commands between the guest and host. In addition, since this approach requires writing a completely new graphics driver for the guest, there tend to be limitations with rendering API compatibility, as well as bugs. With the hardware approach, the guest can use the GPU vendor's normal driver.

</comment></comment></comment></comment><comment><USER8> On a side note, this is an excellent landing page. My first thought when looking at the title was "I wonder if it does VGA pass-through." The second line of the landing page answered my question. Good job on the details so far! Can't wait to test it out.

</comment><comment><USER9> As far as I can tell you need two GPUs and all this does is efficiently copy the second GPU (assigned to a VM) output to a window on the main GPU (assigned to the host).

This seems mostly useful for laptops with both integrated and discrete GPUs but no extra monitor output and for non-fullscreen 3D on desktops, since for fullscreen 3D on desktop you can just run a second cable to the monitor, which will be faster and allows the guest to drive monitor sync.

<comment><USER10> >This seems mostly useful for laptops with both integrated and discrete GPUs but no extra monitor output and for non-fullscreen 3D on desktops, since for fullscreen 3D on desktop you can just run a second cable to the monitor, which will be faster and allows the guest to drive monitor sync.

i've been doing it for years (albeit with qemu), even with additional monitors available.

It's nice to keep your workflow where you want it. I use a unix-alike OS nearly always, but work will inevitably pull me into a windows software that'll bitch about GPU acceleration (say.. autodesk fusion) even if it doesn't need it for the task.

It's nice to keep that window where I want it. Sure, I loses sync/cec stuff, but I can drag that window across my entire workspace of monitors, and that's pretty powerful when you're stuck in a VM for a single piece of software.

When I use a VM for gaming, that's when I run the GPU by itself to a separate monitor. Gaming VMs are ran weirdly anyway -- it'd probably have access to an entire block device rather than some VDI equivalent, PCI access, etc. That's more like just running two computers off of one mainboard at that point; not much to keep isolation sanitary.

<comment><USER11> Can you play multiplayer games and not get banned?

<comment><USER12> I haven't heard of this. Why is gaming from a VM blocked?

<comment><USER11> [https://www.change.org/p/bungie-inc-allow-linux-users-to- pla...](https://www.change.org/p/bungie-inc-allow-linux-users-to-play- destiny-2)

<comment><USER13> Looks like that's for running it on linux via proton, not running on a VM.

</comment></comment></comment></comment></comment></comment><comment><USER14> Funny coincidence to have this article on the front page while fixing the last sentences in my blog post. This post might help some people in regard to audio passthrough with PulseAudio in QEMU/KVM, which had a lot of problems until recently. Check it out: [https://bitkeks.eu/blog/2020/04/compile-qemu-42-on- debian-bu...](https://bitkeks.eu/blog/2020/04/compile-qemu-42-on-debian- buster-fix-pulseaudio-kvm-libvirt.html) Related Tweet: [https://twitter.com/bitkeks/status/1251892611343880194](https://twitter.com/bitkeks/status/1251892611343880194)

</comment><comment><USER15> I'll give this a try. On my last job I needed windows to run spark ar, Facebook's tool to create augmented reality for their Instagram filters. I was using vm ware, but it was glitchy

</comment><comment><USER16> If you are just running full-screen applications (like games or software) and you have multiple screens it is better to just use scripts to switch display inputs (via dcc).

I wasn't really able to find a usecase for looking glass. (But it's an interesting idea.)

<comment><AUTHOR> You can also use evdev or Barrier.</comment></comment>


Air Force Looks for 'Core Algorithms' of Human Thought - <AUTHOR> http://www.wired.com/dangerroom/2009/05/air-force-looks-for-core-algorithms-of-human-thought/ <comment><USER2> The article is skeptical and superficial, but if I were to assemble a research program to create real-world, operates-out-in-the-wild intelligence, my one page executive overview would look a lot like the Air Force requirements. This set of problems is going to be nibbled away a bit at a time. Some of them may be horrendously difficult and some may be low hanging fruit.

I think that this will be open research and not filed away in some secret warehouse a la Raiders of the Lost Ark.

</comment><comment><USER3> So this is kind of like the study of how humans think ... or their "cognition", say. You could call it a ... cognitive science.

I only mention this because the phrase "cognitive science" isn't mentioned once in the linked article or the call for proposals. Cognitive scientists have been working on the problem of finding the "algorithms of thought" for decades. Look at Marr's Vision, or Randy Gallistel's body of work (in particular his new book Memory and the computational brain) for examples.

</comment><comment><USER4> Noah Shachtman gets a downmod for no research. We have _some_ idea of what the components of the mind are now. We can relate all of the branches of mathematics and science to specific areas of function with an evolutionary basis.

[http://www.amazon.com/How-Mind-Works-Steven- Pinker/dp/039333...](http://www.amazon.com/How-Mind-Works-Steven- Pinker/dp/0393334775)

</comment><comment><USER5> Reading only the headline: how many thought this was a joke? I mean, really, a huge AI/neuroscience crossover result coming out of ... a DoD project?

Sadly, it's not a joke; just a really bad idea and a not-funny-enough blog post making fun of it.</comment>


Patoline: A modern digital typesetting system (2012) - <AUTHOR> http://patoline.org/ <comment><USER2> The first things I want to see when evaluating a new tool are:

1) a toy usage example

2) why I should use this over whatever I already use (La/Xe/Con/Luatex, Markdown, rST, Pandoc)

3) who is developing it and why I should trust them (e.g. "this is a hobby project", or "this is free-as-in-freedom with a grant from the Gates Foundation", or "we are a startup intending to sell your user metadata to Facebook when we are acquired in a few years")

I'm not sure this site addresses any of those

<comment><USER3> There is also SILE ([https://github.com/simoncozens/sile](https://github.com/simoncozens/sile)), which has been in development since 2012 and addresses these points in the docs: SILE is similar to TeX—from which it borrows some concepts and even syntax and algorithms—but the similarities end there. Rather than being a derivative of the TeX family SILE is a new typesetting and layout engine written from the ground up using modern technologies and borrowing some ideas from graphical systems such as InDesign.

The documentation includes "SILE versus TeX" section; some of the quotes from it: "one of the things that TeX can't do particularly well is typesetting on a grid. This is something of a must have feature for anyone typesetting bibles. Typesetting on a grid means that each line of text will line up between the front and back of each piece of paper producing much less visual bleed-through when printed on thin paper. This is virtually impossible to accomplish in TeX. There are various hacks to try to make it happen, but they're all horrible. In SILE, you can alter the behaviour of the typesetter and write a very short add-on package to enable grid typesetting."

"SILE does not benefit from the large ecosystem and community that has grown up around TeX; in that sense, TeX will remain streets ahead of SILE for some time to come. But in terms of core capabilities, SILE is already certainly equivalent to, if not somewhat more advanced than, TeX."

<comment><USER4> ConTeXt does grid typesetting, so it is not a limitation of TeX. [http://wiki.contextgarden.net/Grid_typesetting](http://wiki.contextgarden.net/Grid_typesetting)

<comment><USER5> I'm surprised at how often limitations of LaTeX are taken as limitations of TeX.

</comment></comment></comment></comment><comment><USER6> I appreciate the defecating duck automaton on the cover. See "The Defecating Duck, or, the Ambiguous Origins of Artificial Life" by Jessica Riskin Critical Inquiry for the importance of that robot.

Like others have said, an audience who understands what a "typesetting system" is, would immediately need to be convinced as to why they should use your tool over existing ones like LaTeX or Markdown + Pandoc. Do you really expect your users to read someone dissertation to get that info?

<comment><USER7> I agree - but the dissertation was just a "demo" or "showcase" of the typesetting system (I actually found it quite neatly, but I did not see anything that I could not have done without much trouble in TeX; would have loved to see the sources, though).

I really think the choice of using OCaml is not a very smart one (w.r.t. a roadmap / scale). Just looking at, e.g., Facebook's Flow reminds me that it can be a blocker in the long run (performance + not cross platform friendly).

<comment><USER8> > I really think the choice of using OCaml is not a very smart one (w.r.t. a > roadmap / scale). Just looking at, e.g., Facebook's Flow reminds me that it > can be a blocker in the long run (performance + not cross platform > friendly).

So can be C# or any other language you might prefer. OCaml can have exceptional performance and the reasons why they are using OCaml sound quite good.

<comment><USER9> I'm a bit sceptical on the reasons. I feel like "We like OCaml" might have been more honest. Let's see the justifications.

> Our choice was constrained by the goal to let the user program inside the > document, if they wished to do so. To achieve the long-term goals of > modularity, backwards compatibility, and portability, we decided to use a > functionnal [sic] programming language, with types checked by the compiler > (ensuring modularity and portability), and whose authors would also have > backwards compatibility in mind.

So maybe functional languages get you more fine grain modularity, but otherwise I don't buy it. And what has type checking got to do with either? As for OCaml programs not segfaulting or crashing, that doesn't seem unique. E.g. javascript doesn't do this either, if it is pre-processed/"compiled". (I'm not saying JS is a better choice.)

It's the same with darcs vs git. Yes, there maybe "better" systems than git, and easier to learn, but you're still making it harder to contribute.

IDK, but with sentences like "If you do not like the idea of a free decentralized internet, you can also do", it seems like they're going for ideology over usability.

<comment><USER10> Fwiw, OCaml has pretty exceptional modularity – for some definition of modularity. Check out "functors".

Also, for backwards compatibility, this might be a reference to the pretty unusual legal obligations that OCaml has as one of the reference languages of the French Atomic Energy Agency.

<comment><USER9> I didn't know that, but that makes sense! I couldn't find any more info on this, even when searching for "Commissariat à l'Énergie Atomique OCaml". Do you have more details?

(I still think it's a bit rich to assume people will learn OCaml or write their own transpiler just to typeset stuff though.)

<comment><USER11> [https://caml.inria.fr/consortium/](https://caml.inria.fr/consortium/)

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Discussed in 2014: [https://news.ycombinator.com/item?id=8024067](https://news.ycombinator.com/item?id=8024067)

<comment><USER2> It's frustrating to see that my criticism of the homepage was raised three years ago, and still has not been addressed in that time. That does not make me want to start using this tool, let alone contributing to it.

</comment></comment><comment><USER13> I have no idea what makes this "modern"; according to the book it seems like TeX with _maybe_ some inline OCaml. Maybe something about OpenType?

<comment><USER14> Wouldn't Xetex + fontspec take care of that, including unicode needs?

Though, I'm curious what comes of this.

Currently the "official" install/build method via make fails on my mac (sierra - could be some other issue) and on top of that 'opam init' (?) completely broke the fish path evaluation (not Patoline's fault, I guess). Manual fish fix: [https://github.com/ocaml/opam/issues/2255](https://github.com/ocaml/opam/issues/2255).

<comment><USER13> Yeah, I found both of those issues. I couldn't get it to build on Linux either.

</comment></comment></comment><comment><USER15> Oh no, Chapter 5 (Understanding the typesetting model) and 6 (Extending Patoline) of the book ([https://patoline.org/patobook.pdf](https://patoline.org/patobook.pdf)) are not yet finished, that's what I wanted to read :-)

Did the author try to reverse engineer TeX? Is there anything that Patoline can do better w.r.t. typesetting, for some definition of "better"?

<comment><USER16> No reverse engineering required: [http://www-cs- faculty.stanford.edu/~uno/abcde.html](http://www-cs- faculty.stanford.edu/~uno/abcde.html) It would be interesting to know at least if it was using the same algorithms.

<comment><USER15> Well, not "reverse engineering", sorry, but that's the idea: did they use the same algorithms and rewrote them exactly as same in OCaml? did they find anything that could be done better? etc.

</comment></comment></comment><comment><USER17> Wow, a click through banner page. Haven't seen one of those in a while.

</comment><comment><USER18> Some demos would be nice.</comment>


Jotspot Coming to Google Apps as Google Wiki? - <AUTHOR> http://blogoscoped.com/archive/2007-09-03-n64.html <comment><USER2> Why does Google have to have all the right ideas? I've been wanting an online, personal wiki to use as a notepad / idea processor for everywhere, but I'm already leery of Google having all my precious bodily data (bloglines, gmail).

</comment><comment><USER3> I gather JotSpot has some good features, but if I were using a wiki to manage mission-critical information (particularly if said mission had anything to do with the internet or computers), I'd be hesitant to have it hosted on somebody else's server (particularly Google's). If I need a structured wiki (not a Mediawiki-esque free-for-all), I go with TWiki, despite its clunkiness.

Here is a link to a comparison of sorts, if anyone is interested:

<http://twiki.org/cgi-bin/view/Codev/JotSpot>

</comment><comment><USER4> Well, hopefully we can hear more from Joe Kraus once it does. I mean in terms of interviews or blog posts, but if he's going to be starting up a new project, that would be great too. Does even Joe have a Google 20% time project (call it a GTPTP)? I wonder about stuff like that.

</comment><comment><USER5> Jotspot is my favorite wiki of them all. I use it on daily basis and we use not only the wiki but also the bug tracker, project management app and also the to-do list app. It has had features 2 years ago that many apps still lack today.

</comment><comment><AUTHOR> Techcrunch is covering it too: [http://www.techcrunch.com/2007/09/03/google- wiki-prepares-to...](http://www.techcrunch.com/2007/09/03/google-wiki- prepares-to-launch/)

</comment><comment><USER6> Will this compete with Versionate? That'd be at least three YC Google competitors (Kiko, Zenter being the others) I guess.</comment>


Dear Microsoft, - <AUTHOR> https://slackhq.com/dear-microsoft-8d20965d2849#.jwjl4ccd6 <comment><USER2> I find the "open platform" segment from the company that is pushing chat into being a closed platform which controls your data unless you pay extra for it comical and/or tone deaf.

<comment><USER3> It seems by "Open Platform" they mean shoving all your data onto their chat platform, basically an open API. That definitely is not an open platform in my book, as you can't federate, run your own, etc.

</comment></comment><comment><USER3> I see some of the upsides of both Slack and Gitter, but having used both I still find IRC or a Signal group much easier and more convenient overall. Perhaps its the familiarity, or that I find both to be yet another tab to have open/app to install & maintain, but I just can't call myself a fan.

</comment><comment><USER4> I'm confused by this. I see slack responding to Microsoft "Competition", but the only recent MS announcement I can see is flow, which appears to be an IFTTT competitor, which can hook into slack events?

<comment><USER2> Microsoft announced or is announcing Teams today, their Slack competitor. The YouTube video was linked on /new, but the URL on Microsoft's own website was 404ing still at the time.

Edit: Here, still "unlisted": [https://www.youtube.com/watch?v=nKU- FMzZFF0](https://www.youtube.com/watch?v=nKU-FMzZFF0)</comment></comment>