Java Algorithms and Clients - <AUTHOR> http://algs4.cs.princeton.edu/code/ <comment><USER2> _...the 50 algorithms that every programmer should know._

Enough with the "everyone should know everything". I have had a fairly long and successful career as a software developer and I don't know half that stuff off the top of my head. I think it's important to know that they exist and where to look for them, but very few developers really need this on a day to day basis.

<comment><USER3> People in the education business have incentives to increase what we should learn from them, rather than learn by doing. :-) Education is very useful, but I scratch my head about the size of some of these lists.

</comment></comment><comment><USER4> Some of these algorithms (eg. Knuth Shuffle) are implemented using Java's Random, as is their StdRandom helper class. While they do state their assumptions, I think it's worth making the point that java.util.Random has traditionally been a pretty poor RNG (it was a simple 48 bit linear congruential generator with some appallingly non-random behaviour in the least significant bits). It might be better in Java 7 - I haven't looked. Anyone doing serious work with RNGs eg. for Monte Carlo sims would be advised to go elsewhere. I'm not talking about secure RNGs - that's a different ball game. Anyone doing crypto with java.util.Random has gone FAR beyond von Neumanns 'state of sin' ...

<comment><USER5> As the documentation for Random says: "Instances of java.util.Random are not cryptographically secure. Consider instead using java.security.SecureRandom to get a cryptographically secure pseudo-random number generator for use by security-sensitive applications."

<comment><USER6> Right, but it is (used to be?) dubious even for insecure applications.

</comment></comment></comment><comment><USER7> I have always found it intriguing how Java has been the language of choice to teach Algorithms and Data Structures in many universities.

I thought it was important to understand how the computer perceives these algorithms and data structures, thus making C a much better language to learn these topics. I've found learning that way much more enlightening.

<comment><USER3> My intro course used Modula/2\. (Many years ago) We were less focused on the computer interaction (memory) than algorithmic complexity (Big O notation). This doesn't mean one method is better or worse, just what we used. The advanced algorithm coursework was all about proofs, and and had no programming.

<comment><USER7> Well usually its either Algorithms course or Analysis of algorithms course. The latter, I presume is the one that you had to take, thus giving more importance to the computations over the implementation, I suppose.

</comment></comment></comment><comment><USER8> I would be more impressed if detailed pseudo code was published as that would help someone writing in a different language and would guarantee you actually learn the algorithms; now the code might as well be copy/pasted or blindly translated.

<comment><USER9> It's why I'm liking the Stanford Algorithms course[1] being taught by Tim Roughgarden: it's all pseudocode. I thought about taking the Princeton one being taught by Bob Sedgewick (author of the book you're linking to), but I don't really know Java very well and don't have a pressing need to learn it right away. The pseudocode approach has so far been great to get this self- taught programmer thinking at a higher level.

[1]: [https://class.coursera.org/algo-004/](https://class.coursera.org/algo-004/)

<comment><USER10> I preferred Bob Sedgewick's because of the emphasis on coding techniques which ultimately proved to be much useful for coding interviews. Having taken a course similar to Analysis of Algorithms, I felt the strong emphasis on the theoretical aspects of Big Oh to be cumbersome and did not contribute as directly to my ability to answer technical questions as compared to Sedgewick's approach which covers examples of sorting through animations and looking primarily at his Java code.

</comment></comment></comment><comment><USER11> I think this will be a great resource for those participating in the ACM-ICPC competitions. A nice collection of all the standard algorithms and data structures that one should be able to implement in a heartbeat.

</comment><comment><USER12> Can anyone recommend a good book for experienced developers to learn java from? I've done work in Obj C, JavaScript and Ruby. I initially had little interest in java but there are a lot of coursera classes that assume familiarity with it.

Basically, I'm looking for a book that doesn't spend chapters telling me what variables, loops and functions are.

<comment><USER6> If you're conversant in Javascript and Ruby, you know most of the hard parts of Java already. Find a normal Java book, read the chapter about generics, and you'll be fine.

</comment></comment><comment><USER13> I've read a number of algorithms books. CLRS, Skiena's Algorithm Design Manual, Algorithms and Data Structures in Python, and Sedgewicks' own Algos in C and Algos in Java.

This book (simply called "Algorithms") is the most lucid of them.

For someone learning today, I would recommend Algorithms and the Skiena book.

</comment><comment><USER14> Code targeted at students without proper error handling and without performance considerations. Nice anyway.

<comment><USER15> This is the code to go with their book on Algorithms, which does cover performance considerations.

</comment></comment><comment><USER16> I'd love to know which of those algorithms still make sense in Python/Ruby/Javascript, or if their runtimes are slow that you would never, for example, implementing sorting in Python.

In other words: why do implement sorting in Java but not in Python/JS?

<comment><USER17> In Java, you should almost always use the standard sort, which I believe is Timsort these days. This book is written in Java mostly because that's what CS students know, not because it's uniquely well-suited to the material.

(That said, it's certainly not a bad fit.)

</comment></comment><comment><USER18> Very good list of algorithms.</comment>


Ask HN: What is happening with the stock exchange in the last two days? - <AUTHOR> The stock exchange has been closing with high increases in the last two days and to me it looks completely irrational. Right now it is clear that the impact of the virus has been greatly underestimated and that it could be greater in USA with respect to Europe. Despite this incertainity the stocks exchange has been closing with high positives in the last two days. Why is it so? Did we already reach the bottom and are we stabilizing? What do you expect in the next 3 months? <comment><USER2> Looks like a bear rally:

[https://www.investopedia.com/terms/b/bear-market- rally.asp](https://www.investopedia.com/terms/b/bear-market-rally.asp)

Some previous bear rallies have lasted for weeks (like in 1933)

There are some strong forces in the future including 5 trillion dollars in stimulus, a bottom forming in energy, and Saudi Arabia folding its hand (cards) within the next month. And of course the virus and its mostly predictable and a few unfathomable and unpredictable outcome possiblitys.

</comment><comment><USER3> It's a fake out wait for the pull back. Maybe tomorrow when they announce the jobs number. Today the DOW fell by 800 points to close. Most the major stocks were hitting strong resistances and failed. This looks like a pull back to me. I was short on $DIS and getting hammered but it still looks like that may pay for Apr 17.

Let's see how Friday closes. We need to close above resistance levels for key stocks/indexes.

<comment><USER4> tomorrow? wait till US registers >1K dead per day

<comment><USER5> Not saying that you are wrong but, what makes you so confident? Italy has been almost approaching 1,000 deaths a day for a few days now, and yet their stock market has been rising ~12% since March 20th, after dropping 40% since February. Why wouldn't their market drop more since they have so many deaths with no sign of stopping?

I am fully expecting the stock market to drop more as we move forward, but it's much less clear to me how one specific event (like the one you or gp are mentioning) could have a direct impact on tomorrow's prices.

In 2009 the market started recovering way before the real damages to the economy started disappearing (e.g. unemployment rate actually went back to ~5% just in 2015, and by that point the stock market was in full rebound for years).

<comment><USER3> That's the thing with the market. Whatever you think is right is wrong. That's why most people lose when day/swing trading.

For example this jobs report that came out should have caused issues since the numbers were crazy and that was as of Saturday. Next week it is going to be way worst but the market brushed it off. The market is not rational.

</comment></comment></comment></comment><comment><USER6> Markets are highly volatile and largely driven by emotions. The impact is not yet fully seen and will manifest in the next 6-12 months. In the short-term, cash is the most valuable asset. In the long-term, it doesn't matter as much.

</comment><comment><USER7> Can anyone tell me why stocks are _up_ after 3.2m new jobless people as of 3/21, and 10 year treasury yields are down? It looks like people are rushing towards _both_ stocks and 10 year notes.

<comment><USER8> I read that the stimulus bill is offering a forgivable loan for small businesses if they don't layoff. Basically taxpayers paying for employees salary. Let me see if I can find the source...

This could be one of many reasons.

[edit] here we go, forgivable loan of up to 10 million, based on the company payroll [https://www.inc.com/kevin-j-ryan/inc-chamber-of-commerce- sma...](https://www.inc.com/kevin-j-ryan/inc-chamber-of-commerce-small- business-town-hall-recap.html)

</comment></comment><comment><USER9> People like me are buying.

Because people will still pay interest.

And even if some "bailout" happens the money will go straight to the banks.

So why not buy a very discounted financial institution now and then get the rise on stock by govt bailout?

<comment><USER10> Because the situation is out of control and the madman President of the US doesn't have the ability to establish confidence.

Any outcome is possible right now, including nationalizing a shitshow too big to fail bank.

You're better off speculating in consumer staples that are cheap. There's a lot of misery ahead, places like McDonalds are a potential good investments. Still better if you have cash is to wait for the waves of bankruptcies and whatever emerges.

For example, every US state that depends on income taxes is broke for the next quarter (the deadline for taxes was pushed to July), and the relief bill doesn't close the gap. That alone will impact Medicaid payments and municipal government.

</comment></comment><comment><USER11>
      |  it looks completely irrational.

yes

</comment><comment><USER12> We now have several rapid diagnostic options including disposables. There is much less cloudiness on the scientific front. I'm not sure why else.

</comment><comment><USER13> shorts taking profits.. remember, you have to buy to close a short position.</comment>


ScrumPad- A project ecosystem, first of its kind - <AUTHOR> http://blog.scrumpad.com/2009/10/scrumpad-way-project-ecosystem.html ScrumPad is gearing up to disrupt two markets- project management tools and IT projects marketplace, by combining the two. The value proposition is allow companies to source and manage projects- internal or outsourced from the same place. Ultimately, ScrumPad wants to be the hub of IT project activities. <comment><USER2> if you're going to all the effort of writing blogs and posting here etc etc, why not make at least a couple of the "scrumpad"s link to the actual product?!

edit: ffs - even the <http://www.code71.com> in the "about" isn't clickable.</comment>


Serverless Event Gateway - <AUTHOR> https://serverless.com/blog/introducing-serverless-event-gateway/ <comment><USER2> Somewhat OT: I want to create an auth system (username, password, login, logout) using a serverless architecture with Cosmos DB as data storage. Each user will have it's own document and logging in will set a flag in that user document, or maybe in a session document. Login with Facebook would also be nice. Anybody know of such a pattern or best practices?

<comment><USER3> There is a great authentication boilerplate that is set up for AWS. It might not be so hard to extend it for other platforms. Here is a blog post I did showing how to use the boiler plate with FaunaDB for authentication and authorization.

[https://serverless.com/blog/faunadb-serverless- authenticatio...](https://serverless.com/blog/faunadb-serverless- authentication/)

<comment><USER2> Thanks, this is the kind of stuff I was looking for.

BTW, I looked a bit at FaunaDB pricing. If I understood corectly, 1 mil requests costs $10.

In Cosmos DB, also if I understood corectly, 1 month of 400 req/second, so 400 x 86400 x 30 ~= 1 billion requests costs $25.

I don't know much about FaunaDB, and very likely you can't compare things the way I did, for once, Cosmos DB has separate storage costs which seems included in FaunaDB, spikes in usage require extra provisioning in Cosmos, but it's still a 3 orders of magnitude pricing difference. I'm not saying you're not worth it.

<comment><USER3> The big question is whether you have traffic that is steady state or spiky. Steady state traffic is more economical to service with FaunaDB Enterprise on your "own" hardware. But then it is not fully managed.

That said, our goal is never to have a customer turn away because of price, so reach out at firstname.lastname@example.com and I can take a look at your numbers more closely.

</comment></comment></comment></comment><comment><USER4> Where would the event gateway be deployed? It looks like it could be any provider and anywhere right? Essentially, giving me the ability to take my entirely serverless architecture and giving me servers to manage. Alternatively, it may be a Kubernetes type deployment. OR, what my guess is, the first step towards getting people to use the serverless platform, which will handle hosting this for us.

<comment><USER5> Yes, they're planning a hosted version in addition to the open source version.

</comment></comment><comment><USER6> The real huge importance of event gateway is that we can finally debug and run integration tests locally.

Not a mention of this in the article..

</comment><comment><USER7> Im wondering what are the use cases here. Why someone would keep different functions in different providers while she requires the communication between them.

<comment><USER8> The example given at the emit conference was: You have a lot of code running in AWS, but all of a sudden, you would like to start using some nice features around google ML, and for this you need integration with google cloud.

Over a longer period, the idea is that there is an oligopoly of PaaS providers and if their features don't match 1:1 perfectly, your business may need a hybrid approach.

<comment><USER5> > The example given at the emit conference was: You have a lot of code running > in AWS, but all of a sudden, you would like to start using some nice > features around google ML, and for this you need integration with google > cloud.

I'm at the conference, and this isn't a great example. You don't need to set up a Google Cloud Function to use the Google ML APIs (or pretty much any Google APIs), you can just use them over the REST API.

<comment><USER9> I think an advantage could be if you wanted to push the message from a lambda function into a google cloud pub sub topic which a google cloud function would consume possibly?</comment></comment></comment></comment>


How do founders initially split equity? - <AUTHOR> https://startupsanonymous.com/question/how-do-founders-initially-split-equity/ <comment><USER2> This is a very relevant question to the startup I'm involved with now. We just registered the business at the chamber of commerce yesterday: it's myself and one other person. Fact of the matter is that I'm going to be initially working on the startup part-time and my partner is thinking of going in full-time.

After giving it a lot of thought, we've decided to go with a 50-50 equity split and to differentiate on the basis of salary. Essentially, I've agreed to no salary for the first 12 months at the least, since I'm going to be paid well by my full-time job. My partner will take a salary to make ends meet in that period. We are both happy with this setup at the moment, but if anyone has any ideas of pitfalls that we should avoid, I'd love to hear from you.</comment>


Employees who practice mindfulness meditation are less motivated - <AUTHOR> https://boingboing.net/2018/06/17/tune-in-turn-on-slack-off.html <comment><USER2> Earlier discussion:

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

Additionally, was there a need to submit the same thing twice? Article here and the paper here:

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

<comment><USER3> Thanks - I like that previous thread better.

</comment></comment><comment><USER4> Direct link to NYT article: [https://www.nytimes.com/2018/06/14/opinion/sunday/meditation...](https://www.nytimes.com/2018/06/14/opinion/sunday/meditation- productivity-work-mindfulness.html) . I found it a bit more informative.

</comment><comment><USER5> I do agree with the conclusion of the article to some point. I think it (mindfulness as the result of the meditation) must really depend on each person and each character.

Anecdotally, in my case, mindfulness as a result of meditation and similar mind-calming practices (like jogging, stretching) helped me to advance my career from a dev to a team lead and eventually helped me to get a courage to pursue my dreams of being an entrepreneur.

I can conclude that in my case, it did not decrease my motivation but helped me to:

1\. overcome my anxiety and become a better employee

2\. see what I truly want and get rid of the mental stuff the others (meaning the corporation) imposed on me (following the said corporation's goals)

<comment><USER6> And fwiw, Mindfulness meditation exacerbated my anhedonic depression to the point where I was no longer able to take care of myself.

Before the well-meaning but condescending comments arrive: no, I was not 'doing it wrong. If my experience threatens anyone's romantic view of meditation, kindly keep it to yourself.

<comment><USER3> Studies have found that getting issues like what you experienced as a result of mindfulness meditation is extremely low – so, you cannot blame it on meditation. Also, I have been to many retreats and I am yet to see someone who had a negative episode during a retreat.

<comment><USER6> 'Studies?'

Post them, or it will be safe to assume you are lying in reaction to the threat to your ego.

<comment><USER3> Here are three articles:

(1). Wong, S. Y., et al. (2018). The Safety of Mindfulness-Based Interventions: a Systematic Review of Randomized Controlled Trials. Mindfulness, 1-14.

(2). Creswell J.D. (2017). Mindfulness Interventions. Annual Review of Psychology. 68: 491–516.

(3). Shonin, et al. (2014). "Are there risks associated with using mindfulness in the treatment of psychopathology?". Clinical Practice. 11 (4): 389–92.

</comment></comment></comment></comment></comment><comment><USER7> Anecdotally, a couple years ago I was meditating every day, for about an hour. Sometimes a little longer. I noticed a marked decrease in my ambition in myself (since mindfulness is all about increasing the awareness of your thoughts and emotions).

</comment><comment><USER8> more context of your own existence held firmly and consistently in mind will reduce motivation for all sorts of intrinsically unrewarding tasks. this is the same reason why some people who take psychedelic drugs reorient their lives away from consumerism etc.

think about it for a second. you're a modestly self-aware animal, living on some tract of land on some planet during a blink of time. your day-to-day context and frame of mind ignores this fact -- it's too broad of a worldview to live in. but once you are in the habit of considering your own thoughts as natural and impersonal phenomena like light scattering on a mountainside, you start to live in that worldview anyway.

you observe the phenomena of your body going to work; you observe the phenomena of your mind while it is at work, and observe its stress. observation usually implies separation between observer and object, however.

in mindfulness, the two are the same. the sobriety of a wider and more naturalistic perspective as provided by mindfulness makes explaining the phenomena of anxiety trivial. anxiety at work is an emotion which drives the worker to generate revenue. task motivation is similar. you don't need to be an expert at mindfulness to detect the relationship between work and anxiety. these observations will not trigger someone to explicitly thoughtfully conclude that being motivated to perform a task at work is not worth the effort. but these observations will silently undermine the sense of urgency that comes with not being able to see very far in front of your nose.

the answer to the question "what's the point of being alive" is not forthcoming with mindfulness. in my experience, it just makes the response much easier: "not this."

</comment><comment><USER9> I think many forms of stress, if lowered, will cause productivity to go down by some metric. The issue is the metric is so hard to get right. When people get stressed they do busy work that may look productive but are not especially productive in reality.

<comment><USER10> Which raises the question: How motivated must you be to be productive? That is, does a drop in motivation cause a like drop in productivity.

Put another way, just because you're being productive doesn't mean you're doing the right thing. Perhaps mindfulness means less work but better results?

</comment></comment><comment><USER11> I think this is one of those results that doesn't seem _too_ surprising once you start thinking about it, as the article notes:

> Mindfulness is perhaps akin to a mental nap. Napping, too, is associated > with feeling calm, refreshed and less harried. Then again, who wakes up from > a nap eager to organize some files?

I imagine the benefits of mindfulness/napping/etc. aren't about motivating employees to work harder or faster on that business memo, but rather that employees are less likely to feel miserable while editing said memo.

</comment><comment><USER3> This study is a typical example of a very low-quality study on mindfulness. They have used one single meditation session (just a few minutes of it!) for participants in the experiments, and these participants were also new to meditation! With such a brief time on meditation, the chances are these people would have felt sleepy/lazy and that explains well the results they found! Hundreds of studies have shown that meditation improves many variables that contribute to motivation.

</comment><comment><USER12> Title is wrong. After reading the article, what the journalist meant is not "motivated" but "productive".

(You can still be motivated about many things except your work)

<comment><USER10> Agreed. The difference is ultimately priorities. That is, what gets energy and attention.

The fact is, to __not__ give work all your energy and attention takes motivation. It's different. But it's still motivation.

</comment></comment><comment><USER13> Stress is a hell of a motivator.

<comment><USER14> Cocaine is a hell of a drug, according to Rick James.

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

</comment></comment><comment><USER15> is burnout still recognized as a problem? or better yet, post-industrial revolution, humans are described in machine terms like 'productivity' and 'effectiveness' rather than classical human virtues like patience, prudence or wisdom. If humans allow themselves to be measured by some metric only, work is then a literal rat-race.

</comment><comment><USER16> • State mindfulness had no overall effect (good or bad) for performance on same tasks.

</comment><comment><USER17> " A central technique of mindfulness meditation, after all, is to accept things as they are. "

That is a debatable point. From a Buddhist perspective, the goal is not so much to _accept_ things as they are, but to _perceive_ things as they are, which means letting go of your accretions of illusions attached to things. The fundamental mechanism of capitalism is to foster a sense of eternal dissatisfaction with your material state, but Buddhist thinking is directed toward relieving yourself of this, and encouraging the realization that more attachments means more discontent.

<comment><USER18> I agree with the comment about "a bit of column a, a bit of column b"

By default we are immersed purely in illusion. I'm sure you have your own mental image of a person who is entirely immersed in the illusions presented by media etc etc. Often these illusions are driven by needs/wants which are interpreted as all being needs. Full Buddhist perspective is that all but the most basic for survival are wants, not needs, but that is at odds with capitalism and the survival of the species. If we don't have some way of technological advancement, we may live happy simple lives, but eventually something cosmic will happen that the species can't handle and thats it. With technology that can change, which is where capitalism comes in. Capitalism reminds that in the bigger picture, there is a need for anything the helps survival.

Given that, at least personally what I take away is, capitalism motivates us to do things we don't "need" to do, but may be very important one day. To the extreme, it implies that everything is needed and anything short of perfect may as well be death. The other side of the coin is nice but vulnerable. Together - use mindfulness to stay rational and aware - and pay attention to capitalism to understand and situate yourself into the future. Together they are quite powerful - I feel I live a pretty happy life enjoying the benefits of both.

TL;DR stress motivates, but sucks. mindfulness is good but doesn't build the future. together in the right balance they're amazingly powerful</comment></comment>


Free AI-generated headshots put stock photo companies on notice - <AUTHOR> https://www.theverge.com/2019/9/20/20875362/100000-fake-ai-photos-stock-photography-royalty-free <comment><USER2> I used to fancy myself a starving artist (emphasis on "starving").

These pictures suffer from a common newbie-artist problem!

One of the concepts of early stage drawing I noticed is "symbol drawing". This is where a person knows how an eye should look, and where an eye should go on the face, and so draws an eye on a face-shaped oval. They repeat this for the other eye, a nose, a mouth, etc. They are often sad with the results.

A person who practices incorrectly will try to do photorealistic eyes, noses, mouths, etc but use the same 2D composition technique. No matter how realistically they can render components, their composition is off because they are ignoring the _structure_ of a face that causes subtle differences in the shape of each of the components _when projected onto a sheet of paper_.

Our mind is so capable of 3D modelling that when we look at a face we don't notice the changes in perspective leading to changes in component shape and shading. The great artist skill is to build up those 3D to 2D projections and avoid the 2D composition (except in stylistic choices).

I suspect that the networks rendering these faces, and the underlying biological phenomena they are designed against, are "symbol" recognizers, rather than "structural" recognizers.

<comment><USER2> Furthermore, I'd go so far as to say that the _reason_ these faces "feel" weird sometimes is that your mind is reconstructing the _structure_ of the fictitious persons' bodies and warning you that they have bones that are misshapen and lumps under their eyes, and teeth that point strangely, etc.

A biological response might be "misshapen eye ... likely parasite detected, avoid this person" or "mismatched emotional cues ... likely brain damage / person unpredictable, avoid"

<comment><USER3> There no parasite that causes facial deformities, and mismatched emotional cues are a fundamental part of humour/acting. It makes as much sense to rationalise the unbidden disgust at unexpected facial structure with disease justifications as it does for the far more likely "person appears to have been damaged during youth/juvenile period by violent/poor nutrition & is of a low social class".

<comment><USER4> Thanks for leading a vanguard of anti-racism against deepfakes.

Moving your left eye, nose, mouth, and right ear independently of each other is fundamental to acting?

"Unexpected" is a milder term than "never before seen on a human seen, nor interpolated".

<comment><USER3> > _Thanks for leading a vanguard of anti-racism against deepfakes._

Buddy, I appreciate it. You know how hard it is when you're surrounded by doofuses who can't even read well enough to tell the difference between race and class and who don't even understand how to read in good faith much less do it, and stomp all over themselves trying to epic own people with 'facts' that are just straw men created from their flawed understanding of existence outside of their bubble? It's tough, not gonna lie.

</comment></comment></comment></comment></comment><comment><USER5> This is about headshots, a very specific category of stock photos. I have a question about stock photos more generally:

If an ai company looked at thousands of examples of commercial, copyrighted stock photos, then created an ai that would make similar stock photos, but have a method that prunes or selects generated photos that are sufficiently distant from any example as no not be obviously derivative, could they conceal their "theft" and sell their stock photos free of legal risk?

More generally, can AI wash itself clean of copyright infringement by showing that it was "inspired" but not derivative? I guess a judge could compel you to reveal your training set, but at some point do you think there will be general ai that can have the argument that it only seeks "inspiration" and does not "knock off"?

<comment><USER6> You've hit on a very confusing and debated topic :)

I tried to do some research into this awhile ago. What I found is that you (generally, kind of) are able to use copyrighted work to make another work as a "transformative work". For example: you can look at an image of a person and use that as _inspiration_ to draw the same person (as long as you aren't tracing). However! that's still kind of a gray area.

ALSO: how does that apply if you are using the exact pixels of 1,000,000 images to make new ones? I don't think anyone has a definitive answer yet.

My guess is that it will have to be decided in some high profile court case before we get real answers :)

<comment><USER5> Yeah, I think that while this seems like a small question right now, it will be incredibly impactful how it is decided for the future.

Imagine if Micheal Jackson made one album, but a week later AI's made thousands of albums that sounded just as good and original (or better!) but were categorized as inspirations. Imagine how that would change the incentives of creation to know it will be consumed by the hive mind in mere moments.

<comment><USER7> Imagine the great benefit to humanity by having all those Michael Jackson quality albums.

I don't think it would change incentives much. Michael Jackson is a brand. Having procedurally generates Michael Jacksonish type music might be nice for elevator companies, but won't impact his ticket sales that much. There are always lots of similar bands trying to emulate the most popular. Sometimes they success (Creed v. Pearl Jam) but many times the only way I would learn about them is by finding them in the dollar bin. I'm not sure what the present day equivalent is of the dollar CD box.

</comment></comment></comment></comment><comment><USER8> My fav so far [https://drive.google.com/file/d/1GaWX-n82P9LU2QMEwxmq2XEJWjR...](https://drive.google.com/file/d/1GaWX-n82P9LU2QMEwxmq2XEJWjRt5EL3/view)

<comment> 52-6F-62 Beautiful.

[https://drive.google.com/drive/folders/1WPsVkdt4qDxjV2itBgw_...](https://drive.google.com/drive/folders/1WPsVkdt4qDxjV2itBgw_DXkTdU- esEwY)

</comment></comment><comment><USER9> Looks like someone has rebranded 'thispersondoesnotexist.com', thrown together an advert and turned it into a startup.

<comment><USER10> Why not?

This is useful, makes promotional/demo material more fun

</comment></comment><comment><USER11> [http://www.whichfaceisreal.com/learn.html](http://www.whichfaceisreal.com/learn.html)

Little tutorial previously posted on HN teaching you how to spot the fakes. The tell is usually around the hairline for me.

</comment><comment><USER12> There was a post about some "Could you determine if this person is AI- generated or a stock image?" and turns out, that yes, it's very possible.

Most noticeably in 3/4 of the images in the article, the subject's gaze does not work out. Their eye lines never converge.

</comment><comment><USER8> It deserves some titles: * "Let me calm my hair" [https://drive.google.com/file/d/1_M3CXoqlxCyo2Pdg8FTCkdCPlcZ...](https://drive.google.com/file/d/1_M3CXoqlxCyo2Pdg8FTCkdCPlcZyucO6/view) * "Do you like my beard?" [https://drive.google.com/file/d/1olx8X3FlXpPdoCT5EmsjCWqWc2b...](https://drive.google.com/file/d/1olx8X3FlXpPdoCT5EmsjCWqWc2b5xELm/view) * "What are you thinking about?" [https://drive.google.com/file/d/1i5KnWXm0ewpqZ6toEeYlCW0JLRT...](https://drive.google.com/file/d/1i5KnWXm0ewpqZ6toEeYlCW0JLRTdleJ6/view) * "Sticky fingers" [https://drive.google.com/file/d/1QtTv37P40a2e9w7Qa37XweT-v26...](https://drive.google.com/file/d/1QtTv37P40a2e9w7Qa37XweT-v269kKB3/view) * "Ear and shoulder" [https://drive.google.com/file/d/1MlJP4q_BLcyhYjuJudztDzUY0pv...](https://drive.google.com/file/d/1MlJP4q_BLcyhYjuJudztDzUY0pvX- oYf/view) * "My new glasses" [https://drive.google.com/file/d/1n2QCS_cjeMCfiEFqs2fYGgNKm0T...](https://drive.google.com/file/d/1n2QCS_cjeMCfiEFqs2fYGgNKm0TyMJy6/view) * "f* off asshole" [https://drive.google.com/file/d/1GaWX-n82P9LU2QMEwxmq2XEJWjR...](https://drive.google.com/file/d/1GaWX-n82P9LU2QMEwxmq2XEJWjRt5EL3/view) ...and other treasures.

</comment><comment><USER13> It would be interesting to mix in real photos then have another AI try to pick out fakes from real ones. They can learn from each other.

<comment><USER14> Apologies if you know this already, but ...

That's likely exactly how these pictures were generated.

Generative adversarial neural networks (the typical approach for this type of problem) have two nets that compete against each other.

One net tries to generate images that look like the sample data, the other one tries to tell them apart.

</comment></comment><comment><USER13> I wonder how long it'll be before we see AI photos being used in fake social media accounts.

The use of these specific ones would be easily detected, since the dataset is available to everyone and companies can cross-reference. However, if the program becomes commercially available, unique fakes can easily be created.

<comment><USER15> Read an article about it, that's already happening

</comment></comment><comment><USER16> Creepy fun:

[https://drive.google.com/file/d/1eRrINyuPZ3B0_m8VTdmfkETGQdD...](https://drive.google.com/file/d/1eRrINyuPZ3B0_m8VTdmfkETGQdDt0VLH/view)

<comment><USER17> [https://doc-00-7o-docs.googleusercontent.com/docs/securesc/a...](https://doc-00-7o-docs.googleusercontent.com/docs/securesc/a28mupvffueiakoeo9l7qmec6bcplddf/62f3cih9chglp2jtum6ujrrbl1laohqb/1568988000000/05505109503746716616/15400632679111012794/1JKoYoqMIbsaj0jZNvpUzFQCHrWPKf35s?e=download&nonce=2ek4uk7d0rb8s&user=15400632679111012794&hash=r5283aecct50f3ponfar0nlfp7bui13g)

<comment><USER18> Fixed your link[0]

PS: Linking from your already downloaded url will generally be tied to your account session.

0: [https://drive.google.com/file/d/1JKoYoqMIbsaj0jZNvpUzFQCHrWP...](https://drive.google.com/file/d/1JKoYoqMIbsaj0jZNvpUzFQCHrWPKf35s/view)

</comment></comment></comment><comment> freebie-poo-poo Just goes to show that it's extremely trivial to clean up the final product with a few passes for quality assurance.

Single handedly, even. This is something one person could do on their own.

And yet they didn't even bother to try.

If they really intend to sell such images, it's extremely unprofessional to leave the botched examples in the mix, despite efforts to rationalize why they should be included.

Based on that, I suspect it's one person acting alone, and it's a get rich quick effort to take the money and run.

</comment><comment><USER19> Is there any work out that is able to generate human bodies alongside the faces? The only thing I've seen close to this is the X-ray app. [https://www.theverge.com/2019/6/27/18760896/deepfake-nude- ai...](https://www.theverge.com/2019/6/27/18760896/deepfake-nude-ai-app-women- deepnude-non-consensual-pornography)

</comment><comment><USER20> There's also "This Person Does Not Exist[1]", which has been discussed a few time before[2], here.

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

</comment><comment><USER21> There's an artifact that looks like a scar on lots of these, e.g. : [https://drive.google.com/drive/folders/1WPsVkdt4qDxjV2itBgw_...](https://drive.google.com/drive/folders/1WPsVkdt4qDxjV2itBgw_DXkTdU- esEwY)

</comment><comment><USER22> Are these photos derivative works?

<comment><USER23> In the article:

> Zhabinskiy is keen to emphasize that the AI used to generate these images > was trained using data shot in-house, rather than using stock media or > scraping photographs from the internet. "Such an approach requires thousands > of hours of labor, but in the end, it will certainly be worth it!" exclaims > an Icons8 blog post.

</comment></comment><comment><USER24> FYI - They are not free for commercial use per the "Terms and Condition" link even thought it says on the homepage "for any use." It is for personal use only.

</comment><comment><USER25> there's something really frightening the way they look. like Frankenstein images patched together from dozens of others.

<comment><USER26> Some are spot on - but most have a tiny bit of uncanny valley going on. Unmatched eye direction, wide faces or artifacts.

<comment><USER27> my thought too, but i'm still pretty impressed. Usually, the "uncanny valley" problem sticks out like a sore thumb but these, on average, are very good.</comment></comment></comment>


Show HN: Geodata API for country and city select drop-downs - <AUTHOR> https://github.com/shivammathur/countrycity <comment><USER2> Please add option for state also</comment>


Ask HN: What do you do when you're depressed for a day? - <AUTHOR>

I'm a founder of a funded company. We have plenty of runway left, will probably be able to raise another round, etc. Have a small team of really talented people. But the past couple of days I've been completely down in the dumps. Like... barely able to get out of bed and function. A lot of it comes from my frustrations with the product that I keep playing over and over in my mind - I'm not sure how we're going to "win." It makes me want to crawl into a hole and die.
But I know I can't do that. I have to go talk to users and our employees and pretend like nothing is wrong (maybe nothing is?) I mean we have a long way to go, but we're on the right course.
I just don't know what to do on days like today. I don't know how to keep going. <comment><USER2> Listen to some podcasts while doing some manual labor.

Cut weeds in the yard. Move some dirt. Dig a ditch.

</comment><comment><USER3> I get my ass of my chair and go out. Get a friend or just solo and go to someplace new, preferably on the open. Don't believe other developers the sun outside won't kill you.

I live in a city and just a one hour car ride there are countless of different awesome places to visit, old fortresses, 1000 meters mountain peaks, spa centers and many more. I haven't managed to visit them all and I have been trying and I am pretty sure that there are great places that would give you the inspiration you seems to need.

Your business is still there, it will wait for you. Don't forget you founded that company and you own it, not the other way around!

</comment><comment><USER4> Have you taken any vacations? Are you maintaining work/life balance day-to- day?

Your job can be tough, it can be discouraging, and it can make you feel responsible both for and to a ton of people on a ton of different levels. But you need to make sure you're taking care of yourself along the way.

If you're like most founders, you're probably overworking yourself and burning out. Of course you're not going to see the path to success once you've done that. Take a few days off and do something interesting and self-fulfilling. Then come back and take a fresh look. You may be surprised at how much more optimistic and ready you are.

</comment><comment><USER5> I found sleep and exercise are key. I'm not saying you have to go to they gym every day, but find something that works for you. For example, I like to take Saturday off and hike when I can.

As for actually getting work done, I find a change in environment is crucial. Even just going to a coffee shop with the intention of only working there is enough to put me in the right head space.

Most likely everything is fine. You have funding, you have runway, you have a team. In the long run 90% of your immediate worries won't have an effect. So just find those crucial 10% and go all out on them. :)

</comment><comment><USER6> Stay away from the TV. Stay away from anywhere you can fall asleep. You don't need sleep. You need to do something that lets you talk to your inner voice like mowing the lawn, exercise, walking, riding bikes whatever. Talk to your inner voice about your goals and dreams and who and what you love. Spend time with family or loved ones. Call in sick to work.

</comment><comment><USER7> I usually drown my sorrows in a TV show binge (Modern Family, usually) and try to stay around other people as much as possible so I don't lose my sanity.

</comment><comment><USER8> Try mindfulness or yoga. Headspace and Calm.com helped me a lot to get started, and there is a 30-day-yoga-challenge series on Youtube.

</comment><comment><USER9> My troubles seem to have very low self esteem. If I can point finger and laugh at them they retreat in a corner and sulk there for weeks :)

10 minutes of laughing is a part of my daily routine. It brings in much needed supply of fresh air and fresh perspective.

</comment><comment><USER10> Talk to somebody who has some knowledge and view of your company, inside or out. Sometimes we think things are much worse than they are, and another point of view can be helpful. Also, it's hard to shoulder that kind of thing alone.

</comment><comment><USER11> Some ideas from my experiences.

1\. Take a deep breath.

2\. Take a walk and regain some perspective.

3\. Do something that makes you feel successful.

4\. Tackle one of the biggest concerns of your product head on.</comment>


A Compiler for 3D Machine Knitting - <AUTHOR> https://www.disneyresearch.com/publication/machine-knitting-compiler/ <comment><USER2> I would really love it if this were paired with a renderer. As a knitter, I often want to see what designs knit out to without actually, you know, knitting.

</comment><comment><USER3> Disney Research comes up with some pretty cool stuff. I loved their 3d printed speaker idea from a couple years ago. [https://www.youtube.com/watch?v=zralu3wYUTU](https://www.youtube.com/watch?v=zralu3wYUTU)

</comment><comment><USER4> Fantastic initiative. My wife works in knitwear and I've been cooking up a disruptor for what is frankly a lagging industry. Current best-in-class software can be seen at e.g. [http://www.stoll.com/stoll_software_solutions_en_4/pattern_s...](http://www.stoll.com/stoll_software_solutions_en_4/pattern_software_m1plus/3_1)

<comment><USER5> Is there more you can share at the moment? My wife sometimes works with Stoll software and we are thinking about buying a double bed from them in the near future.

</comment></comment><comment><USER6> Compiler... 3D... and Knitting all in the same sentence.

What a time to be alive.

<comment><USER7> Just think of the nice bit of historical symmetry in that what is seen to have been the first programmable machine was a loom [https://en.wikipedia.org/wiki/Jacquard_loom#Importance_in_co...](https://en.wikipedia.org/wiki/Jacquard_loom#Importance_in_computing)

</comment></comment><comment><USER8> Reminds me of the plush toy cloth pattern generator, [http://www.geocities.jp/igarashi_lab/plushie/index-e.html](http://www.geocities.jp/igarashi_lab/plushie/index-e.html)

This would create a pattern, they have an example of sewn cloth, and inflatable balloons they built.

which was kind of a decendent of teddy 3d [http://www.cs.toronto.edu/~jacobson/seminar/igarashi-et- al-1...](http://www.cs.toronto.edu/~jacobson/seminar/igarashi-et-al-1999.pdf)

This is a lot more about the UI (which i still think is amazing 17 years later), not so much about the compiler.

</comment><comment><USER9> Just don't turn on -funroll-loops.

</comment><comment><USER10> Is there a 3D Knitting service, similar in spirit to Shapeways, that allows you to send a design file of some sort, and they'll send you a knitted item?

<comment><USER11> This seems like a great startup opportunity...

</comment></comment><comment><USER12> I wonder how does it compare with off-the-shelf commercial knitting design software.

<comment><USER13> Agreed. How are knitted objects normally made on these machines? Are they using the "assembly" instructions?

</comment></comment><comment><USER14> Reminds me of the openKnit project. [http://openknit.org/](http://openknit.org/)

<comment><USER2> They have a new, soon-to-be-launched kickstarter company at [http://kniterate.com](http://kniterate.com). I really, really want a machine as described that works.

</comment></comment><comment><USER15> Combined with proper user body data collection techniques, this could create real customized apparel.

<comment><USER16> That's going to be cool. Combined with Disney, I imagine this becomes tailor- made Disney-branded clothing without the tailor. Their boutique shops like to let you customize.

</comment></comment><comment><USER17> I want to see this paired with a Kinect. Walk into a store, select a sweater off the rack that you like. Scan the tag at a kiosk. Get scanned. Customize the fit and color. Come back in a couple of hours with a new garment.

<comment><USER18> You don't need a compiler for that. Simple patterns have increase/decrease points to adjust to the normal variations in the human body shape.

You'd need a compiler if you wanted matching sweaters for your dog, chicken, and you.

</comment></comment><comment><USER19> Most of Disney research is as sophisticated as cute.</comment>


Ask HN: How to Find Technical Talent for Virtual Reality Application - <AUTHOR>

We are working on a VR based Android App, and we are looking to hire someone with technical background and passion in Virtual Reality(Unity3D, Game Engine, Shaders, Artifial Intelligence stuff) But it is so hard to find developers in this domain. Tried Angellist and some VR forums but in vain. Does anyone know or can refer anyone in this space? Any help would be appreciated. <comment><USER2> Are you looking for entry level talent or someone with more experience? I've been looking to move into the gaming industry a while now (from web development). I have been teaching myself C++/3D game development in my free time and I have a couple of small freelance gaming projects under my belt (one of them used Unity).

Also, to add to this discussion: There doesn't seem to be many good places for people to connect with the type of talent you're looking for. I've been looking for a while now and have managed to find very few such listings. gamasutra's job board seems to be one of the few places with a fair few jobs.

<comment><AUTHOR> Our main considerations were: 1\. Local (SF Bay area) 2\. Good background in AI and Game engine/apps 3\. VR experience is desired not necessary 4.Loves to solve unsolvable problems of future 5\. Good cultural fit

</comment></comment><comment><USER3> Put some numbers like $100k or 7% equity etc. in your ad. There are plenty of Unity or C++ game developers out there. Not all of them have 6 years of experience but they can still code.

<comment><AUTHOR> Yes, we did and we did get some applicants but they did not have relevant experience or background in Game or AI. We offered equity and compensation but are having hard time finding quality applicants.

<comment><USER4> I think nowdays you have the next variants:

1\. Hire an HR to find you inhouse specialist (it costs a lot)

2\. toptal.com - top 3% developers (it costs a lot)

3\. odesk.com - really need to be a good manager and HR in one face to find a good one developer.

4\. remoteyoda.com - the best variant for small businesses.

<comment><AUTHOR> Thanks for your list

</comment></comment></comment></comment><comment><USER5> Game Developer Conference? Siggraph?

<comment><AUTHOR> Siggraph and GDC is a mess... its hard to talk to people let alone finding good developers. I have tried to find folks but could not. Obviously we are no Oculus or Valve to afford booth or have ads yet. It would be good to reach out via those mechanisms once we grow

</comment></comment><comment><USER6> how about hiring current employees of oculus\valve etc ?

<comment><AUTHOR> I have been trying that.. thanks for advice.. will keep trying harder.</comment></comment>


Slovianski-language that a Slav should be able to learn in 7 days - <AUTHOR> http://steen.free.fr/slovianski/index.html <comment><USER2> This looks like the Interlingua of slavic:

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

<comment><USER3> Whoa. My native language is in the Romance group, and I could pretty much muddle through a paragraph of Interlingua with no help. I think the comprehension level was about 90%.

</comment></comment><comment><USER4> I am Bulgarian and I find that very hard to read. Much harder than Russian or Serbian. Many of the phonemes could be simplified to be made more universal. It feels very influenced by Polish, though, so I'd probably be easier for Central Europe Slavic countries.

<comment><USER5> I'm Russian, and I can read and understand about 90% of their sample texts. It reminds me Serbian (though I don't know it or any other Slavic languages, and I've read more Serbian and Macedonian than any other Slavic language, so maybe there's a bias because of this).

BTW, Bulgarian is harder to read for me than Serbian or Macedonian.

<comment><USER6> Yep, totally agree. I'm Russian too and language is completely understandable.

<comment><USER7> Same here... it feels like Ukranian to me, but the only Slavic language I know is Russian.

</comment></comment></comment></comment><comment><USER8> <quote> As in all natural Slavic languages, nouns in Slovianski have three grammatical genders (masculine, feminine, neuter) and two numbers (singular, plural). </quote>

That's not true - Slovenian has three numbers: singular, dual and plural.

But then - Slovenian is maybe not a natural Slavic language?

<comment><USER5> Wikipedia says that Proto-Slavic language (the proto-language from which Slavic languages later emerged) had dual. But it was lost in every Slavic language except for Slovene and Sorbian:

 _Of the living languages, only Slovene and Sorbian have preserved the dual number as a productive form. In all of the remaining languages, its influence is still found in the declension of nouns of which there are commonly only two: eyes, ears, shoulders, in certain fixed expressions, and the agreement of nouns when used with numbers._

[http://en.wikipedia.org/wiki/Dual_(grammatical_number)#The_d...](http://en.wikipedia.org/wiki/Dual_\(grammatical_number\)#The_dual_in_the_Slavic_languages)

</comment></comment><comment><USER9> Does anyone know of a similar artificial language to unify the Scandinavians?

Swedish, Norwegian, Danish and Icelandic are similar enough that it should be possible to create a language that could be passably understood by all speakers -- call it "skandiska"...?

<comment><USER10> A linguist would probably say that Scandinavia already has a common language, and that Swedish, Norwegian and Danish are mere dialects of the same Scandinavian language. They are considered different languages mainly for political and historical reasons, but since they are mutually intelligible (with the possible exception of drunk Danes) "Scandinavian" is really a single language from a linguistic perspective.

Icelandic is a different story, of course. Thankfully, though, the Icelandic speak English rather well...

<comment><USER11> Danish and Norwegian are dialects, Swedish qualify as a separate language. "Nynorsk" ("New Norwegian") is a new language designed specifically to qualify as a new language, mainly for political reason (Norway was a colony of Denmark).

<comment><USER10> That all depends on your definition of "language". For most linguists, all that matters is mutual intelligibility. For others, a language is a "dialect with an army and a flag", i.e. a political construct.

A Swedish person like me most of the time have no trouble at all understanding spoken Norwegian, and reading both bokmål and nynorsk is quite easy. Spoken Danish requires some effort and getting used to, but it is still quite possible to have a conversation.

</comment></comment></comment></comment><comment><USER12> For me (Polish) it is very understandable, but if I were to say what it seems like - I would say that it is like Slovak/Czech with some Russian (mostly verbs).

However, these are the three slavic languages I had most contact with. I can speak some Russian and I can recognize Slovak and Czech (but I wouldn't be able to tell one from the other). And I guess this might be similar for other slavic HN readers - they might speak one or two extra languages, they might have had contact with two or three more. This means that similarities described here ("sounds like ...") will be greatly influenced by the level of contact between nations.

</comment><comment><USER13> This is pretty silly given that if you teleported any slav living in the range of Gdansk to Podgorica and Ljubljana to Ekaterinburg, it would probably take them a couple of weeks to gain enough proficiency to buy groceries. Hilarious misunderstandings will undoubtedly occur but if you take out the severe outliers like Bulgarian and Macedonian, this is about as useful as another hole in the head. Russian serves reasonably well as a Slavic lingua franca, in the few marginal cases such a thing is needed to begin with.

</comment><comment><USER14> One of the values of Esperanto is as a learning tool for Western European languages--according to one study, students with 1yr Esperanto + 3yr French instruction speak better French than students with 4yr French instruction.

Since I am about to start learning Bulgarian, I am particularly interested to know if this language has similar properties with respect to Slavic languages. Obviously since it's only been around since 2006 there isn't a comparable 4-year study, but even anecdotal evidence would be appreciated.

</comment><comment><USER15> Surprisingly easy to understand for me (I'm Pole). Interesting idea.

</comment><comment><USER16> Co do języka, to nie mam wiele do powiedzenia /bo przecież kieliszek wódki i każdy się doskonale porozumie/, ale cieszy mnie niezmiernie, że mamy tu tylu słowian...

<comment><USER17> My biggest problem with understanding some Slavic languages (I'm a native Russian speaker) is the fact that I'm not sure how some of these consonants and vowels are pronounced. j, ż, ę, etc.

<comment><USER16> I think only Vietnamese is more of a disaster than when it comes to shoehorning a language into the Latin script.

I used to have a script that Cyrillicized Polish, for the benefit of my Russian speaking friend, who found it made it possible to half-understand things.

This might help: <http://www.youtube.com/watch?v=aJI6JDAxUd4>

</comment></comment></comment><comment><USER18> I'm English and have lived in Poland for the past five months, and I _like_ this! As much as I'm enjoying the challenge that Polish presents, the grammar doesn't half kill my head sometimes. That and I'm still finding my natural inability to roll my Rs embarrassing in public ;)

</comment><comment><AUTHOR> ...and a non-slav in 30 days

</comment><comment><USER19> I could read that with no problems.

<comment><USER3> What's your native tongue?

</comment></comment><comment><USER20> That's funny. I am fluent in Russian and can read/understand and speak some Polish and that text is understandable as-is. So at least one way it works really well.

</comment><comment><USER21> I'm surprised that Klingon wasn't considered sufficient - it has been around since 1979.

<comment><USER22> Generally speaking, a language where every phrase contains the connotation "I am barely refraining you from killing you where you stand", excepting the phrases that flat-out contain "I am killing you where you stand", are not the best languages for international human peace and brotherhood.

<comment><USER23> Amazing fact: After most of the Klingon-speaking scenes in Star Trek, the crew had to wipe spittle off the respective actors' faces.</comment></comment></comment>


Jenga Pistol - <AUTHOR> http://woodgears.ca/jenga_pistol/ <comment><USER2> If you haven't seen Mattias' website before, you should take some time to look at all of the other cool stuff he's built:

[http://woodgears.ca/tools.html](http://woodgears.ca/tools.html)

This guy is awesome.

<comment><USER3> I especially love his marble machines. They're absolutely mesmerizing.

<comment><USER4> His Lego domino row building machine is pretty neat too. It does its job pretty well, with only a few Lego blocks used. [http://woodgears.ca/domino/index.html](http://woodgears.ca/domino/index.html)

</comment></comment></comment><comment><USER5> Mattias has a great youtube channel. Highly recommend subscribing. [https://www.youtube.com/channel/UCckETVOT59aYw80B36aP9vw](https://www.youtube.com/channel/UCckETVOT59aYw80B36aP9vw)

<comment><USER6> I don't do any woodworking but love to watch his videos.

Inspiring guy. He seems to make his money from selling his woodgears software program, plans for some of his woodworking projects and from Google for being a Youtube partner.

Pretty cool.

<comment><USER7> What's really cool is that this is his hobby. He was an early BlackBerry employee. He retired to do this full-time.

</comment></comment></comment><comment><USER8> mattias' approach has really influenced how i think about software engineering. not entirely surprising considering he is also a software engineer. i think his youtube channel is really worth checking out. he has even invented several new, amazing tools, like the "pantorouter" for cutting perfect mortise and tennons (among other things) with a router. [https://www.youtube.com/watch?v=8wZ1v4PIsYI](https://www.youtube.com/watch?v=8wZ1v4PIsYI)

the way he solves, and even identifies, the problems in the woodworking domain are, i think, very instructive for how to think about some aspects of software design.

</comment><comment><USER9> My 15 year old brother made one of these a couple of years ago. He saw a video that demoed it with the plans available for $5 but he looked at the video and went and made it from mind.

It was so powerful, almost hilariously so!

He actually said on Facebook earlier: "I made one of these before it was cool."

</comment><comment><USER10> I've been half-joking with friends about going out to the desert and playing "gun jenga". Good to know the physics are in our favor :)

<comment><USER11> With an actual firearm and bullets, it might not be; bullets don't have a lot of mass.

<comment><USER12> For this purpose, isn't it force, not mass, that matters?

F = mv^2, so the velocity of bullet is a very large factor, especially when the terminal ballistics allow for most or all of the energy to be dumped into the target.

And the history of cartridges, the ability to "reload", make your own custom load, and the ability to stand off to let air resistance bleed off velocity, means you'd likely be able to apply the exact amount of energy you'd want.

<comment><USER13> No, impulse is what matters here, and that is mv.

And force is ma. You must be thinking of energy.

<comment><USER12> Yeah, I'm thinking of energy, but in this case I'm assuming the terminal ballistics will dump all the bullet's energy into the block that's hit (that it won't penetrate all the way through the block). Impulse is force over a period of time; in this case, doesn't it equals the same thing?

</comment></comment></comment></comment></comment><comment><USER14> If you're interested in this kind of stuff, this German guy has a great channel on Youtube: [https://www.youtube.com/user/JoergSprave](https://www.youtube.com/user/JoergSprave) (his slingshot cannon is especially impressive)

</comment><comment><USER15> It's kind of interesting how the dynamics of the game completely change with the pistol. Since you can get rid of entire rows now, you have rows of same orientation stacked upon each other all of a sudden.

<comment><USER16> You can get rid of entire rows without using a Jenga pistol, too. You just have to be fast.

</comment></comment><comment><USER17> Struck me that it's like a physics flash game (a la Blosics).

<comment><USER18> This just in: life imitates art.

</comment></comment><comment><USER19> Have I told you about the Jenga block catcher© I'm building?

</comment><comment><USER20> What a creative person!

</comment><comment><USER21> A Jenga shotgun to be used with those oversized sets would be far more impressive. lol

<comment><USER22> Wouldn't work. Shotgun shells spray in a cone shape.

<comment><USER23> If you are using shot, use a slug and it would be fine.</comment></comment></comment>


Browser extension that shows cognitive biases with every new tab - <AUTHOR> https://brainytab.com/ <comment><USER2> Forgot to say: creator here - happy to answer any questions about BrainyTab :)

I wrote a blog post about why we built it, but I'll summarise it here.

A while ago, my wife and I became interested in Cognitive Biases and we wanted my wife to do more digital marketing. We wanted to work together and after she didn't let me buy a copy of the Cognitive Bias Codex because it wouldn't fit our home, we decided to build a browser extension to get constant reminders that these biases exist. Initially, we built MyCognitiveBias but then we had feedback asking for more features and more topics. So we built BrainyTab and added Mental Models and Dark Patterns and we're looking to add more (e.g. Game Theory games).

Happy to answer any questions you guys might have.

Thanks

</comment><comment><USER2> Thanks for the mention @wgx.</comment>


Why Email and Cars are heading down the same road - <AUTHOR> http://blog.frontapp.com/why-email-and-cars-are-heading-down-the-same-road/

<comment><USER2> > "Parking? Solved! Once we arrive at our destination, the car can self-park > while we go on with our day."

Doesn't solve the worst part of parking: reserving that much space for car storage.

The author's vision seems to be one in which everyone owns a self-driving car. Why own the car? Just pay for use, Uber et al. can handle logistics. Only the reserve portion of the fleet should be parked, like buses.

<comment><USER3> Yep. Why should the cars be parked? Why should we own cars? All we actually need is a very high % chance of getting access to a car whenever needed. If it were 99.9%, and wayyy cheaper than owning a car, why own the car?

<comment><USER4> In order to control what happens in the car when you're not in it.

I would expect driverless taxis to end up like public toilets.

<comment><USER5> You don't have to register at the toilet with your ID/driver's license. You do however, have to do that when you use e.g car sharing, and the first question the system usually asks you, is: "is the car clean?". If no, then the previous renter will be liable. So this is already a solved problem.

</comment></comment></comment></comment><comment><USER6> The notion that we don't "pay atrociously high fees" to own and operate cars is a pet peeve of mine. People look at bus fare, for example, and think it's a lot, but compared to the _actual_ cost per mile of driving (payments, insurance, fuel, maintenance, &c), it's often cheaper, even for short trips.

And this doesn't even get into the costs of pollution (including noise pollution), deaths, injuries, and poor health associated with sedentary lifestyles.

</comment><comment><USER7> The optimism surrounding self-driving cars is just mind-boggling to me. Decided to drive to work this morning (usually take the train). Siri totally shit the bed and took me on a 45-minute scenic tour through DC. Took me off the highway too early onto busy local streets, kept trying to take me onto a road that was closed for construction, and tried to get me to turn left at a T intersection of two 2-way roads where only right turns were allowed. Just an utter disaster.

And it's not unusual. Siri loves to take my mother in law on harrowing trips through the ghettos of Baltimore.

<comment><USER8> Using Siri as a counter argument for self-driving cars completely misses the point. You ignore Vehicle-to-Vehicle communication and using a multitude of sensors besides phone GPS. IDK why you think Siri is the epitome of sophisticated trip pathing, there are better options out there and solutions that will continue to be improved.

<comment><USER7> I don't think it does. The technology we have for self-driving cars in the near term relies on a known map, and the route-finding core of that technology isn't going to be appreciably better, any time soon, than what's in Siri. You can improve the technology by adding vehicle-to-vehicle communications, etc, but now you're pushing out the "5-6 years" timeline that people keep throwing around.

I have no doubt that in 50 years we'll have self-driving cars. It's not an intractable problem by any means. But I have friends who were researching self-driving cars a decade ago, as part of the DARPA Grand Challenge, and in many ways those techniques were more sophisticated than what's on the table for commercialization in the near-term. It's going to be a very long slough from here to there.

</comment></comment></comment><comment><USER9> > But traffic jams won't even be a problem anymore: freed from the wheel, > we'll be able to make phone calls, work on a computer, or have a business > meeting from inside our car (and maybe a doctor appointment, cf cosmopolis).

This just seems foolish. If i'm on my way home to my daughters birthday party, then traffic is traffic. If I"m on the way to the airport, then traffic is still a problem.

I can already make a call when driving and I can already take Uber or a taxi allowing me to do the things the author mentions any time I wish.

Self driving cars don't solve any of those problems. Self driving cars have many uses, but the author's use cases aren't any of them.

Traffic is still a problem regardless of whether or not i'm driving.

<comment><USER10> I think that the answers to a lot of these problems lie in extremely complex algorithms and a drastic change in technology. Instead of each person owning and operating a car that operates exactly the same way that cars do today, I imagine pod-like cars that can connect and disconnect with any other car. Then, if every car knew where every other car in the area was headed and could coordinate, they could join and travel together, then disconnect and reconnect until each reaches its destination. So essentially a hybrid between trains and cars.

Yeah, I know, science-fictiony and a stretch of the imagination, and I don't expect to see anything resembling this in my lifetime, but I do think there are ways that self-driving cars could operate in a much more efficient network-based system than with each driver making their own decisions based on what is immediately around them.

<comment><USER11> The biggest cause of traffic is wrapping each individual person in a 6 by 10 foot steel cage. [http://giftrunk.com/gif/public-transit-vs- gridlock](http://giftrunk.com/gif/public-transit-vs-gridlock)

</comment></comment></comment><comment><USER12> This is a fun analogy to think of, but it stops at the comparison of the ubiquity and resistance to change for the things.

Replacing cars with driverless cars is fundamentally different because it also involves a massive replacement of infrastructure and safety regulation at a level that humankind has never before seen.

Wrapping email protocols in innovative clients doesn't seem like the same thing at all.

<comment><USER13> The argument is that self-driving cars would reuse existing roads, fuel, service, and manufacturing infrastructures that have been developed for existing cars. And, adoption can be incremental. Start with cars which drive themselves highway only, and require a capable driver to be at the wheel at all times. That may be soon. Gradually add more use cases at the speed of engineering, regulation, and social acceptance.

Some of the hard things to change in the world are hard because they require many people to change their behavior in coordination. Cars to self-driving cars doesn't. Email to Email with innovative clients doesn't. Introducing a new communication protocol does (though of course it's not impossible). Of course, this is only one aspect of a complex world.

<comment><USER12> Let's consider just one aspect of this that I see as a show-stopper out of the gate: networks.

Driverless cars, even even in a narrowly adopted context, like a single highway, will need to be networked. Not only will they need to be networked during the time that they are on that highway, for cars in close proximity, it needs to be a network with 99.999999999% uptime. At a minimum, the cars will need to have a transponder with nearly zero bandwidth (like planes); but more likely, this connection will need to send more data than just position. GPS isn't nearly accurate enough unless cars can be spaced 100s of feet apart.

Do you know of any networking technologies that you would trust with your life?

Compare driving on a highway to being in a plane. In a plane, there are usually _minutes_ following a worse-case equipment failure or total loss of communication. In a car, there are seconds or less.

<comment><USER14> Nobody suggests driverless cars are working open-loop from GPS coordinates; no current driverless cars work that way. Its generally a combination of gps, local sensors including sonar, radar and cameras, and car-to-car networks. The UofIowa Driving Simulator has done studies of trains of cars linked by short- range networks, where they coordinate braking and acceleration to achieve inter-car distances of a few feet.

<comment><USER12> Sure, in principle; my point is that even the best networks fail way too much for this to be practical. In the context of this particular thread, I'm saying that implementing driverless cars even in a narrow context is a non-trivial infrastructure upgrade, whatever form it takes. These networks will need to have reliabilities and uptimes on par with medical or nuclear safety systems.

<comment><USER13> We don't need any networks. Self driving cars will always need to be able to share the road with normal cars. That mechanism will support the case of sharing the road with other self driving cars too. Networks can add fancy features, but they can happen on their own time, incrementally.

</comment></comment></comment></comment></comment></comment><comment><USER15> A declaration of love to emails! Original but very true comparison. Mail will always be the base and the best way to communicate

</comment><comment><USER16> [https://news.ycombinator.com/item?id=8535919](https://news.ycombinator.com/item?id=8535919)

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

Both deleted. It appears this was submitted, then deleted, then submitted again, until finally it got traction. So the item is of interest, obviously, but is this a god thing to be doing?

</comment><comment><USER17> There's also a bit of pleasure in driving for many, sports cars, convertible's, that pleasure doesn't correlate to emails, there's no sports car email client. maybe not? =/

I've got a feeling that as cars start driving themselves, us motorheads/car- fanatics will be like horse owners, relegated to car farms (tracks with much larger garages and warehouses attached).

</comment><comment><USER18> I've had this exact position about cars for a while, but never took the time to think about emails that way. Makes per-fect sense for me.

<comment><USER19> Are you a genius?

</comment></comment><comment><USER20> "Driving in Circles: The autonomous Google car may never actually happen."

[http://www.slate.com/articles/technology/technology/2014/10/...](http://www.slate.com/articles/technology/technology/2014/10/google_self_driving_car_it_may_never_actually_happen.html)

</comment><comment><USER21> Self driving email? Yes please.</comment>


The Front-end Checklist 2018 - <AUTHOR> https://lzomedia.com/blog/post/frontend-checklist-2018 <comment><USER2> This shows up for me as pale grey on white (or there might be a 90% opacity white overlay over black on white text.) On safari mobile, fwiw.</comment>


Ask HN: Review my app: dmbox.in - <AUTHOR>

Short: this app emails you your twitter direct messages (noise-free mails!) and allows you to answer them right from your email client (just reply).
Long:
I'm a smartphone power user (I roam between a BB, an iPhone and some other gadgets) and also a twitter power user. I use twitter direct messages as an evolution of the traditional SMS (love push mail). It's awesome to have the same messaging platform available from almost everywhere.
This service (http://dmbox.in) requires you to link your twitter account (OAuth) and to fill your email, then mails to you your direct messages to you in a timely fashion. You can send an answer to that DM by just replying to the email.
It's quite simple, but also fast. Polling is done asynchronously using node.js, the whole thing is mostly PHP-backed (okay, not the best language out there, but I'm pretty good at it). The point is to be non-invasive and be used from any mobile phone or desktop client (and in this case doesn't requires you to change your twitter email address, while staying almost real-time).
Any suggestions? Insults? :-) <comment><USER2> interesting...

I personally wouldn't find a lot of use for it because I have twitter DM's sent to my cell already. But people who don't hook their cell up to their twitter (or have multiple accounts) might find a use for it.

Something I have been looking for is a way to have any @myname mentions sent to me in a DM. Set up a service to do that and I'd be interested.

</comment><comment><AUTHOR> VPS provider just went nuts, and now I have to go to bed.

I'll pick Slicehost next time. Crap.

<comment><USER3> what vps provider do you use? i'm thinking on hosting at netbeans, but not really sure whether it is good or not.

</comment></comment><comment><AUTHOR> Clickable: <http://dmbox.in/>

</comment><comment><USER4> The website doesn't work or is it just me? (Tunisia, North Africa)

</comment><comment><AUTHOR> It's back!</comment>


7 Food Hacks to Stay Alert Without Caffeine - <AUTHOR> http://zenhabits.net/2008/02/7-food-hacks-to-stay-alert-without-caffeine/

<comment><USER2> Taking a vitamin B complex will give you a good boost of energy for a few hours. Beyond that, if you don't regularly take a multivitamin, now is a good time to start. I'd bet many people would be surprised at how much better they feel after a couple of days of taking one -- it seems that plenty of people have vitamin and mineral deficiencies in their diets that they aren't even aware of.

</comment><comment><USER3> > Go Meatless.

No.

> reduce the amount of meat in your diet.

No.

Other than that it's a decent list.

</comment><comment><USER4> If you did nothing else except #3, you'd be halfway home.</comment>


Solar Manufacturing Oversupply: Likely Exacerbating [pdf] - <AUTHOR> https://doc.research-and-analytics.csfb.com/docView?sourceid=em&document_id=x691349&serialid=L3f%2bdcbQOUfpFcJ2bz9CDEuCoQT2wz09vthmZKbV4oU%3d <comment><USER2> Hopefully an oversupply of solar panels will make grid-tied battery storage even more attractive. This could in turn cause a positive feedback loop, propping up the solar market as storage takes off.

<comment><USER3> [http://www.greentechmedia.com/articles/read/this-is-what- the...](http://www.greentechmedia.com/articles/read/this-is-what-the-utility- death-spiral-looks-like)

</comment></comment><comment><USER4> That's not too much of a bad thing on the consumer end. Hopefully a few of the smaller players won't catch on and fail.

Then we can all pick up solar panels for pennies on the dollars.

<comment><USER5> Yeah, as long as it doesn't systemically weaken the solar industry over the next decade, which I don't think it will do, then it should probably be a great thing.

There are new markets opening up as storage becomes cheaper too; lots of people in developing countries will be able to power their homes and businesses without having to wait for a grid to be built out. Having these markets leapfrog straight to solar and wind will be great for everybody.

</comment></comment><comment><USER6> Considering we need about 30x the solar currently installed to made a real dent in fossil fuel usage, I'd call what we have now an under supply.

<comment><USER7> Supply vs demand though. Even if we need 30x current solar capacity to make a dent, if there isn't adequate demand, then it is still an over supply

<comment><USER8> Supply and demand are in equilibrium. As the supply increases the price will drop and the demand will increase to match. This is exactly how we want it: more solar panels sooner for cheaper.

While that's what we want from an ecological perspective, this price drop will also drop the manufacturer's profits (possibly down to a loss), and from _their_ perspective it really is an "oversupply".

<comment><USER9> It means for supply to continue to expand while maintaining equilibrium, manufacturers must continue to lower its costs, year after year relentlessly. The oversupply is a hint some of them are having trouble doing just that.

</comment></comment></comment></comment><comment><USER9> An oversupply means demand for solar panels that can be produced at a profit is less than the supply of solar panels. If they can't produce the solar panels for a profit, eventually the companies will be too broke to further expand supply. The supply of solar panels will sit at an equilibrium, limiting Humanity's move to solar energy.

Solar panel manufacturers must continue to become more efficient every year to drive demand. An oversupply is not an economical problem - The world knows it needs much more solar energy than it is currently using. The problem is a technological one.

Solar panels must use less than a certain amount of goods and services compared to existing energy sources for it to be economical for society to switch to it. You could enact a law to forbid the use of coal energy tomorrow, allowing only solar energy, but it would work as well as the Khmer Rouge forcing city dwellers onto farms - which would only result in mass starvation because city dwellers lack the skill to farm using less than a certain amount of goods and services. i.e. profitably. The technology is not there yet in terms of replacing all energy use with solar power.

</comment><comment><USER10> Would a valid alternative interpretation be that capacity to perform installations is lagging behind capacity to manufacture panels?

<comment><USER11> It depends on if there is demand for the installations.</comment></comment>


Blogging about Midori (2015) - <AUTHOR> http://joeduffyblog.com/2015/11/03/blogging-about-midori/ <comment><USER2> See also "Safe Systems Software and the Future of Computing" by Joe Duffy, the closing keynote at RustConf 2017:

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

Midori and Rust have several striking similarities, and Microsoft's recent uptick in interest in Rust (and Rust-like languages) bodes well for improved software quality.

<comment><USER3> "Three safeties: memory, type, concurrency, for _all_ code."

Right. I've been saying that for, sadly, decades now, ever since my proof of correctness days. I sometimes word this as the three big questions: "how big is it", "who owns it", and "who locks it". C is notorious for totally failing to address any of those, which is the cause of many of the troubles in computing.

Then, for way too long, we had the "but we can't afford memory safety" era, or "Python/Java/Javascript/whatever are too slow". It took way too long to get past that. Ada was supposed to address safety with speed, but it never caught on.

Rust looked promising at first. Huge step in the right direction with the borrow checker. But Rust was captured by the template and functional people, and seems to have become too complicated to replace C and C++ for the average programmer. We have yet to see the simplicity and stability of Go combined with the safety of Rust.

Duffy makes the point that slices are an important construct for safety. Most things expressed with pointer arithmetic in C are expressible as slices. I once proposed slices for C [1] but the political problems outweigh the technical ones. I'd like to see a C/C++ to Rust translator smart enough to convert pointer arithmetic to safe slice syntax. I've seen one that just generates C pointers in Rust syntax, which is not that useful.

The Midori people seem to have gone through the effort of understanding why "unsafe" code was being used, and tried to formalize that area to make it safe again. When I looked at Rust libraries a few years ago, I saw "unsafe" too often, and not just in code that interfaces with other languages.

Duffy writes, in connection with casting "For example, we did have certain types that were just buckets of bits. But these were just PODs." (Plain Old Data, not some Apple product.) I referred to these as "fully mapped types" \- that is, any bit pattern is valid for the type. True for integers and raw characters. Not true for enums, etc. One way to look at casts is to treat them as constructors to be optimized. The constructor takes in an array of bytes and outputs a typed object. If the representation of both is identical, the constructor can be optimized into a byte copy, and maybe even into just returning a reference, if the output is immutable or the constructor consumes the input. So that's a way to look at sound casting.

Once you have that, you can separate allocation from construction and treat a constructor as something that takes in an array of bytes, consumes it, and outputs a typed object. Constructors are now isolated from the memory allocator.

For arrays, you need some way to talk about partially initialized arrays within the language. Then you can build arrays which grow as safe code.

That takes care of some of the common cases for unsafe code. It looks like Duffy's group got that far and went further. I need to read the papers.

[1] [http://animats.com/papers/languages/safearraysforc43.pdf](http://animats.com/papers/languages/safearraysforc43.pdf)

<comment><USER4>
       partially initialized arrays

I agree that partially initialized data structures are important for low- level, performance-oriented programming. But it is not clear how to do this within a Rust-style type-based approach to memory safety. Naturally, one can always wrap the problematic code that deals with partially initialised data in an unsafe-block, but you can already do that in Rust. By Rice's theorem we know that we cannot have a feasible typing system that allows us always to deal with partially initialised data in a safe way, but could there be a compromise, covering most of the standard uses of partially initialised data (e.g. what you find in a standard algorithm text book like CLRS, or a standard library like C++'s)? I don't see how right now, because the order of initialisation can be quite complex, too complex to fit neatly into well- bracked lifetimes a la Rust.

Have you got any ideas how to do better?

<comment><USER3> Sure, having dealt with this formally in 1981 with machine proofs.[1]

In the Pascal-F verifier, we treated array cells as if they had a "defined()" predicate. Clearly, if you have a flag indicating whether an array cell was defined, you could handle partially initialized arrays.

Then you prove that such a flag is unnecessary.

We had a predicate

        DEFINED(a,i,j)

which means the entries of the array a from i to j are initialized. Theorems about DEFINED are:

        j<i => DEFINED(a,i,j) // empty case is defined

        DEFINED(a,i,j) AND DEFINED(a,j+1,k) => DEFINED(a,i,k) // extension

        DEFINED(a[i]) => DEFINED(a,i,i) // single element defined

        DEFINED(a,i,j) AND k >= i AND k <= j => DEFINED(a[k]) // elt is defined

Given this, you can do inductive proofs of definedness as you use more slots in an array that started out un-initialized.

To do proofs like this, you have to be able to express how much of the array is defined from variables in the program. Then you have to prove that for each change, the "defined" property is preserved. Not that hard when you're just growing an array. You can construct data structures where this is hard, such as some kinds of hash tables, but if you can't prove them safe, they probably have a bug.

This was new 40 years ago, but many others have been down this road since. Rice's theorem isn't a problem. That just says that you _can_ construct _some_ undecidable programs, not that all programs are undecidable. If your program is undecidable or the computation required to decide it is enormous, it's broken. Microsoft puts a time limit on their static driver verifier - if they can't prove safety after some number of minutes, your driver needs revision. Really, if you're writing kernel code and you're anywhere near undecidability, you're doing it wrong.

[1] [http://www.animats.com/papers/verifier/verifiermanual.pdf](http://www.animats.com/papers/verifier/verifiermanual.pdf)

<comment><USER4> Thanks.

We were talking cross-purposes. I was thinking about partially initialized arrays in the context of a Rust-like type-checker. I don't think the analysis you ran in 1981 in a prover is possible in 2020 in a type-checker, at least without putting most of the bits dealing with partial initialization into unsafe-boxes.

It would be great if Rust-style type-based lifetime analysis could cope with partial initialization.

</comment></comment></comment></comment></comment><comment><USER5> > My biggest regret is that we didn't OSS it from the start, where the > meritocracy of the Internet could judge its pieces appropriately.

This would have been interesting, but it's not too late. Correct me if I'm wrong, but there isn't anything stopping Microsoft from releasing this research to the public today. It seems like something the "new" Microsoft of 2020 would be likely to do.

<comment><USER6> There was a copy of the code for Singularity, the predecessor to Midori, on CodePlex. Not sure if it ever got moved to Github.

It has to be said, though. It's more like "source available", not open source. I can't remember what the license is specifically, but it's not a proper open source license.

You could see it, build it, and play with it, but you couldn't do anything else with it. No sharing changes, no derivatives, etc.

Singularity would be a neat place to start working on a managed code OS, though.

I would prefer that they properly open source Midori.

<comment><USER7> You can judge it, though.

<comment><USER6> It was a really cool project. The software isolated processes concept is something that I really like.

</comment></comment></comment></comment><comment><USER8> Everyone I have worked with from the Midori team has been very impressive. Regardless of the direct success of the project, I believe it (to some extent) improved the quality of Microsoft's engineering culture.

<comment><USER9> Engineering culture especially in he Windows NT kernel was always impressive. A search for David Cutler the lead behind Windows NT immediately also talks about engineering.

That said, Midori influenced later many team, including the .NET one.

</comment></comment><comment><USER10> One comment at the time: [https://news.ycombinator.com/item?id=10545353](https://news.ycombinator.com/item?id=10545353)

Related from 2016: [https://news.ycombinator.com/item?id=11054912](https://news.ycombinator.com/item?id=11054912)

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

2015: [https://news.ycombinator.com/item?id=10576697](https://news.ycombinator.com/item?id=10576697)

2013: [https://news.ycombinator.com/item?id=6983649](https://news.ycombinator.com/item?id=6983649)

</comment><comment><USER11> My experience with Midori people was a little like the jokes people tell about BMW owners and vegans.

You knew who they were because they wouldn't stop talking about Midori. It's a neat project, I liked hearing the stories.

<comment><USER12> I was on the Midori team for just a year, and this is certainly true for me. I think that it's a combination of things, the project itself was very cool from a pure technical perspective, and the team was made up of brilliant engineers, most of whom appeared to have nothing to prove, so technical discussions revolved about technical merit not ego.

<comment><USER11> There was a fair bit of ego.

Turns out when you have a project staffed with extremely high up engineers and no real production deployment, it's easy to keep up engineering standards. The idea that a normal team with normal issues wasn't as good seemed to really upset one of the midori people I worked with.

<comment><USER12> I'm certainly not saying that there was no ego on the team, but rather that (in comparison to the rest of MS over the 14 years I was there) engineers weren't as ego involved in technical decision making

I definitely recall seeing passionate discussions with engineers whose levels ranged from 62 to 69+ where the technical merit of the arguments was the gold standard, not what the most senior engineer said. In contrast, my experience working with partner and DE level engineers in other parts of MS was that of "what I say goes"

<comment><USER11> Nah, this was the sort of guy who decided to leave the team (not midori this was years later in a different org) and then figures it's okay to act like a jerk on the way out the door. Some (junior) engineer on another team made a bad suggestion. Wasn't enough to say no, he had to tear a strip off him. To the point the manager of the other team asked if they could talk about it (he refused).

Guy was passionate and smart and just a lousy leader.

<comment><USER12> Okay, I guess I'm talking about the culture on the team as I experienced it, and culture definitely comes from the top in this case. I'm sure that some individuals behaved differently in other environments.

</comment></comment></comment></comment></comment></comment><comment><USER13> Why was it called midori? My only knowledge of this word is that it means green is Japanese.

<comment><USER14> There is also a lightweight web browser called Midori.

<comment><USER15> And a melon based drink, which I never associated with japan but probably is (japan views melon as very much a delicacy)</comment></comment></comment>


Six Things To Keep In Mind When Talking To Venture Capitalists - <AUTHOR> http://www.sotechiespaces.com/2011/10/901/

<comment><USER2> This is an egregious copy/paste job.

Original article: [http://www.inc.com/articles/2010/09/inside-the-mind-of-a- ven...](http://www.inc.com/articles/2010/09/inside-the-mind-of-a-venture- capitalist.html)</comment>


Apple posts up iPad Guided Tours - <AUTHOR> http://www.engadget.com/2010/03/29/apple-posts-up-ipad-guided-tours-lots-of-guided-tours/

<comment><USER2> It's striking how they don't use an article before the word "iPad". For example, they say "reading on iPad" instead of "reading on the iPad". Are they trying to make it sound alive?

<comment><USER3> I like how the link below the guided tours is "Watch the iPad video." That "the" must kill Steve.

<comment><USER4> That's because it's "the video", so also "the iPad video". When speaking proper Steve the noun iPad isn't used with an article, but that's the only exception.

So, "you watch a movie on iPad", but you "go to the store and buy an iPad". "iPad has over 50.000 applications", but "The iPad firmware is buggy". It's oddly consistent.

</comment></comment></comment><comment><USER5> Here's the direct link if you want to wget it or "Save As...".

529 MB, about 30 min

> [http://movies.apple.com/media/us/ipad/2010/tours/apple- > ipad-...](http://movies.apple.com/media/us/ipad/2010/tours/apple-ipad- > guidedtour-playall-us-20100329_848x480.mov)

<comment><USER6> Is it this series on youtube? <http://www.youtube.com/watch?v=YT2bD0-OqBM>

<comment><USER7> Yes. "Originally" from <http://www.apple.com/ipad/guided-tours/>.

</comment></comment></comment><comment><USER8> I am really considering buying one for my father's 50th. He's a professional programmer at an Israeli Startup and not the biggest Apple fan but I did convince him to buy a couple shares back pre-iPhone. What do you guys think?

</comment><comment><USER9> Every video features someone with their legs propped up on a desk or ottoman. I predict Apple will release iOttoman - a portable piece of furniture to prop your feet up no matter where you use the iPad.

</comment><comment><USER10> This struck me:

> Numbers has a special formula keyboard.

Can any app have a custom keyboard widget (that retains all the standard features)? I'd like to try building an iPad APL IDE...

<comment><USER11> Yes, but you're responsible for creating all of the graphics for it. Including the keys, and the background of the keys.</comment></comment>


I Used the Web for a Day with JavaScript Turned Off (2018) - <AUTHOR> https://www.smashingmagazine.com/2018/05/using-the-web-with-javascript-turned-off/ <comment><USER2> If you are just delivering images and text in a blog then I expect your site to work fine without JS.

I dont get when I go to what appears to be quite a simple blog and it's completely unusable without JS...

When that's the case I'm just not going to bother with your site / blog.</comment>


I got my hands on the Librem5 Phone - <AUTHOR> https://www.youtube.com/watch?v=1haFGa7ZyPs <comment><AUTHOR> Like I expected, nice and thick and I imagine a solid metal feel. The black finish is beautiful!!! I can't wait to have my own.</comment>


I am unreasonably proud of this recursive anonymous quicksort done in Matlab - <AUTHOR> https://gist.github.com/2590371

<comment><USER2> Nice.

I find it annoying to have to EITHER -write one file per function and completely crap up a directory OR -write multiple functions in one file that can only be called by code in that file (nested functions / subfunctions)

The clear solution is to write utility functions as anonymous functions. The major limitation of anonymous functions is that they evaluate an expression and cannot contain statements... unless you use eval()!

        %come to the dark side

        if_ = @(cond, then_fn, else_fn) ...
                eval('if(cond) then_fn(); else else_fn(); end');
        %this can make code better and it can make code terrible;
        %whether it is a better terrible than the MATLAB you have
        %to deal with on a regular basis is unclear.

</comment><comment><USER3> Good stuff. I sometimes have to help my girlfriend who's a cognitive psychologist set up her experiences on MATLAB and coming from the Ruby world, it's always quite brutal.</comment>