Data-Oriented Design (2018) - <AUTHOR> http://www.dataorienteddesign.com/dodbook/ <comment><USER2> I think what's missing is something like "Data Model Patterns: A Metadata Map" by David C. Hay

It's like C. Alexander's "Pattern Language" but for data models.

> ...I was modeling the structure— the language —of a company, not just the > structure of a database. How does the organization under-stand itself and > how can I represent that so that we can discuss the information > requirements?

> Thanks to this approach, I was able to go into a company in an industry > about which I had little or no previous knowledge and, very quickly, to > understand the underlying nature and issues of the organization—often better > than most of the people who worked there. Part of that has been thanks to > the types of questions data modeling forces me to ask and answer. More than > that, I quickly discovered common patterns that apply to all industries.

> It soon became clear to me that what was important in doing my work > efficiently was not conventions about syntax(notation) but rather > conventions about semantics(meaning). ... I had discovered that nearly all > commercial and governmental organizations— in nearly all industries —shared > certain semantic structures, and understanding those structures made it very > easy to understand quickly the semantics that were unique to each.

> The one industry that has not been properly addressed in this regard, > however,is our own— information technology. ...

[https://www.goodreads.com/book/show/20479.Data_Model_Pattern...](https://www.goodreads.com/book/show/20479.Data_Model_Patterns)

I've pushed this at every company/startup I've worked at for years now and nobody was interested. You can basically just extract the subset of models that cover your domain and you're good to go. Or you can reinvent those wheels over again, and probably miss stuff that is already in Hay's (meta-)models.

</comment><comment><USER2> Two (more) things I'd like to point out:

Prolog clauses are the same _logical relations_ as in the Relational Model of DBs. ( Cf. Datalog [https://en.wikipedia.org/wiki/Datalog](https://en.wikipedia.org/wiki/Datalog) )

The next big thing IMO is _categorical_ databases. Go get your mind blown by CQL: [https://www.categoricaldata.net/](https://www.categoricaldata.net/) It's "an open-source implementation of the data migration sketch from" the book "Seven Sketches in Compositionality: An Invitation to Applied Category Theory" which went by yesterday here: [https://news.ycombinator.com/item?id=20376325](https://news.ycombinator.com/item?id=20376325)

> The open-source Categorical Query Language (CQL) and integrated development > environment (IDE) performs data-related tasks — such as querying, combining, > migrating, and evolving databases — using category theory, ...

<comment><USER3> In reading both your comments, I kept thinking about Smalltalk's Browser and Method Finder functionalities.

In Hay's book, he talks about modeling not just Object Classes, but how you can go about modeling ObjectClass classes (the metadata). In Smalltalk, this metadata is automatically available via the Browser.

In reviewing the CQL Tutorial, the Typesides' "java_functions" specification section made me think of the Method Finder (wherein you could provide an input value and the expected output value and methods that satisfied the transformation would be shown). I'm not sure if in CQL you'd be able to search for a function that satisfied criteria, but that may beyond the scope of what that system is trying to provide.

In any case, interesting threads of thought to be followed and explored.

<comment><USER2> Cheers!

Apparently Conal Elliott[1] has reached out to the CQL folks so if they get together there should be some interesting and useful stuff emerging there. I told Wisnesky they should make a self-hosting CQL compiler in CQL. ;-D Maybe modeled on Arcfide's thing[2]. Categorical APL...

[1] [http://conal.net/papers/compiling-to- categories/](http://conal.net/papers/compiling-to-categories/)

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

</comment></comment></comment><comment><USER4> When designing data structures that hold my program's state, my structures tend to become more coupled& brittle because I use them in multiple contexts and do a poor job of separating them, I want each context to have the perfect shape for each context even if they share data

It makes me wonder what happens if instead of creating a tree of data I put my data into a Datom flat data structure then used syntax like Datalog to conform data into shape for each new context

Unfortunately, I still haven't installed Datomic free to try this out because I feel dirty if it doesn't come from brew

<comment><USER5> With things like EAV and Datalog, you still end up coupled to the names and kinds of facts that you store and the relationship between entities in your structure. It turns out that there can be many ways to store facts about an entity, and model the relationships between them, which may be convenient or not depending on the context. But it does help in that it can much more easily evolve with the kinds and shapes of data that you need to store in your app as your app changes and grows.

More abstract constructs like lenses can help with this as well. By building lenses for reading that can transform to a domain context structure from your global program state, you can keep them relatively decoupled and ensure all of the glue lives only in those lenses.

I'm undecided on the utility of leveraging lenses for mutation as well; on the one hand, mutation allows one to operate strictly in the local context, but on the other hand, it requires your lenses to be truly bidirectional (which I think is harder in practice than in theory), and counts on either synchronous sync of local state and global state _OR_ eventual consistency with the rest of the app.

Going a more CQRS-esque way like Redux/re-frame allows you to not rely on the bidirectionality of your lenses and also ensures consistency in that local state is only ever driven by changes to the global state.

</comment></comment><comment><USER6> As someone who works in data warehousing and business intelligence I always feel the pain of developers thinking of data as an afterthought. Biggest issues are always not all data is persisted and not all changes are tracked in the database. The means you can never do all the reports the business want and it is always a mission to explain to business that you cannot report off data that doesn't exist or not properly stored (referential integrity). My dream has always been one day developers will think of the data first :-).

</comment><comment><USER7> Thread from 2016: [https://news.ycombinator.com/item?id=11064762](https://news.ycombinator.com/item?id=11064762)

<comment><USER8> (Not to nitpick, but the thread is from 2013; that thread said the site is from 2013, but the page itself says that it's 2018...)

<comment><USER7> In 2016 there was a discussion of a 2013 book. Now in 2019 there is a discussion of the 2018 edition of that book. I think we're sorted now!

(I originally said "thread from 2013" above but that was wrong and I edited it.)

<comment><USER8> Makes perfect sense, and words are hard. Thanks :)

</comment></comment></comment></comment><comment><USER9> I've skimmed over the book and I think it _definitely_ needs more code examples and before and afters, because whatever little code I saw is unconvincing.

In fact, when developing I don't want to think too much about mere _data_ , I want to see the algorithms and data structures and even the overall program logic. Having to worry about each individual struct member, and whether those are used properly and kept in sync is a pain and is throwing away the brilliant idea of encapsulation.

The chapter on "managers" reads like a caricature of poor OOP practices, I don't quite understand how it's become a best practice in data-oriented design :)

All in all, this seems like a clumsy way of designing things.

<comment><USER10> There's plenty of good talks and literature on the subject and why it is applicable to game development, but also more generally.

This talk by Mike Acton (Formerly Insomniac now Unity): [https://www.youtube.com/watch?v=rX0ItVEVjHc](https://www.youtube.com/watch?v=rX0ItVEVjHc)

I recommend this talk all the time, since it is the one that got me convinced to look into DoD seriously.

Also: More Mike Acton (now at Unity): [https://www.youtube.com/watch?v=p65Yt20pw0g](https://www.youtube.com/watch?v=p65Yt20pw0g)

Stoyan Nikolov "OOP Is Dead, Long Live Data-oriented Design": [https://www.youtube.com/watch?v=yy8jQgmhbAU](https://www.youtube.com/watch?v=yy8jQgmhbAU)

Overwatch Gameplay Architecture and Netcode (More specifically about ECS): [https://www.youtube.com/watch?v=W3aieHjyNvw](https://www.youtube.com/watch?v=W3aieHjyNvw)

The main argument is that you work with data so you should care about data. All a program does is take some input, do something with it, and give you an output. If you structure your program around this mindset, a lot of problems become much simpler. Concurrency is one thing that becomes much simpler to reason about now that you understand how your data is managed and moved around. Realisations that most of the time you have multiple of something and very rarely do you have a single thing. So having a lot of small objects of the same type each doing some work within their deep call-stack, rather than running through an array of them and doing the work you need to do.

I disagree that encapsulation is a brilliant idea _in general_, because it promotes hiding data, and hiding data is not inherently good. There's obviously cases, where there is internally critical, but since all your state is simply tables of data, your program is just choosing to represent that data in some way, which can make it easier to centralize a bug early.

There's obviously pros and cons, but I don't think you should discount the possibility of it being a good idea just because it questions ideas that seem standard.

</comment></comment><comment><USER11> I got this book recently in print form, its from a gamedev perspective partially, but interestingly a lot of the book will be familiar to people who work with databases, and thus a lot of the webdev world. A lot of the ideas come from how we organize data in databases and applying that to data in your code.

</comment><comment><USER12> This is exactly the wrong design pattern to follow. Translation from code to business model has always been problematic. Reducing that translation by modeling code after a business domain (not a business object) is the best way to reduce complexity and enable a longer life for a system.

<comment><USER10> Can you elaborate?

I would argue that a business domain is defined by it's data and how that data is transformed and displayed based on user input.

So simply put: 1\. Data goes into system 2\. Data is displayed to user 3\. User interacts with data (button, CLI etc.) 4\. Data is transformed based on interaction

That is ALL a program ever is. So you can model a program by just specifying the transformations that happen on each user interaction.

This can be optimized heavily if each interaction requires a large set of data to be transformed, e.g. through data oriented design you can work on big sets of data based on previous interactions and transformations and only work on data you need to work on.

It's not a design pattern. It's just a way of thinking about programs as what they are. A design pattern is something you put on top of data because you want a human understanding of business logic.

<comment><USER13> > So simply put: 1. Data goes into system 2. Data is displayed to user 3. User > interacts with data (button, CLI etc.) 4. Data is transformed based on > interaction

> That is ALL a program ever is.

Well, no, that's a fairly typical pattern for an interactive program, sure, but plenty of programs involve transformations that are not in response to user interaction, and may not even include user interaction or display to user at all.

<comment><USER10> Sure, you can cut out the user interaction, but in general it is something goes in and something comes out. I'd argue that's just a simplification and the point still stands. 1\. Data goes in 2\. Data is transformed 3\. Data is output/displayed

<comment><USER10> Also, I clearly don't know how to format lists on Hackernews...

<comment><USER8> Nobody does; there's no list support: [https://news.ycombinator.com/formatdoc](https://news.ycombinator.com/formatdoc)

</comment></comment></comment></comment></comment></comment><comment><USER14> If you are interested in tools for automatizing Data-Oriented design. Check out GeneXus. You design what the user needs from the data, and it automagically builds the normalized tables, the cruds in various languagages and deploys.

</comment><comment><USER15> I attempted to read the first section expecting that this is something that reduces the complexity of software design, and I'm completely lost here. They don't really explain what _is_ data-oriented design in a single summed up paragraph. So I turned to Wikipedia and I found this:

        In computing, data-oriented design is a program optimization approach motivated by efficient usage of the CPU cache, used in video game development.

???

<comment><USER16> One explanation is: In the search for higher performance and greater flexibility, game developers are converging on restructuring their data from hierarchies of objects into something that resembles in-memory databases.

This is based on a design philosophy that gets strict about structuring code into input-transform-output even though C++ encourages "modify parts of an object in place". Also, it get strict about cache utilization.

And so, you get the "Entity-Component-System" (which is a 3-noun term like model-view-controller) approach. The Components are conceptually the columns of the database. The Entities are the rows. Each entity only has a subset of columns, so it's actually a primary key across many tables. And, "Systems" are data transformation functions to be applied to some subset of components

So, instead of defining cars, trees and soldiers in your game as a tree of individual objects that participate in an inheritance hierarchy with a virtual Update() method, you define each actor as a subset of available components that update en-masse during the data transforms applied to arrays of raw structs.

</comment></comment><comment><USER17> The Pure Function Pipeline Data Flow, based on the philosophy of Taoism and the Great Unification Theory, In the computer field, for the first time, it was realized that the unification of hardware engineering and software engineering on the logical model. It has been extended from `Lisp language- level code and data unification` to `system engineering-level software and hardware unification`. Whether it is the appearance of the code or the runtime mechanism, it is highly consistent with the integrated circuit system. It has also been widely unified with other disciplines (such as management, large industrial assembly lines, water conservancy projects, power engineering, etc.). It's also very simple and clear, and the support for concurrency, parallelism, and distribution is simple and natural.

There are only five basic components:

1\. Pipeline (pure function)

2\. Branch

3\. Reflow (feedback, whirlpool, recursion)

4\. Shunt (concurrent, parallel)

5\. Confluence.

The whole system consists of five basic components. It perfectly achieves unity and simplicity.It must be the ultimate programming methodology.

This method has been applied to 100,000 lines of code-level pure clojure project, which can prove the practicability of this method.

[The Pure Function Pipeline Data Flow]([https://github.com/linpengcheng/PurefunctionPipelineDataflow](https://github.com/linpengcheng/PurefunctionPipelineDataflow))

<comment><USER18> Although I do agree data flow programming can be useful sometimes, it has been pointed out that data oriented design is not about data flow: [https://sites.google.com/site/macton/home/onwhydodisntamodel...](https://sites.google.com/site/macton/home/onwhydodisntamodellingapproachatall)

And taking from the other side of the view, even when you consider high performance data flow programming, there're great people pointing out going functional might not be a very good idea: [https://www.freelists.org/post/luajit/Ramblings-on- languages...](https://www.freelists.org/post/luajit/Ramblings-on-languages- and-architectures-was-Re-any-benefit-to-throwing-off-lua51-constraints)

</comment></comment><comment><USER19> This beats OOP and FP a million times.

<comment><USER20> In pure functional languages, designing around data is essentially _the_ way to get things done. Its one of the reasons why, in combination with the other factors, the average dev has to unfreeze so much of its worldview in order to understand how to actually program real programs with these langs.

<comment><USER19> Data-Oriented Design, Entity Systems stores data in a SQL or NoSQL like way. A table is an array of structs. It's sorta like MUMPs or a language with inbuilt Redis instead of variables or lisp with an embedded prolog.</comment></comment></comment>


What to Wear to Court - <AUTHOR> http://online.wsj.com/article/SB10001424052748704554104575435683853964588.html?mod=WSJ_LifeStyle_Lifestyle_5

<comment><USER2> I can't believe people have to actually be told this stuff. I don't know why you'd want to show up and not look/act like a model up-standing citizen.

<comment><USER3> The interesting part, to me, was the difference in what "upstanding citizen" means, clothing-wise, depending on your position on the case.

I hadn't thought about it much, and I was guilty of assuming more dressed-up was always better.

<comment><USER2> agreed. I guess a better term would be "believable upstanding citizen"</comment></comment></comment>


Automatically running a command whenever a file is saved - <AUTHOR> http://lenni.info/blog/2010/10/running-an-arbitrary-command-whenever-a-file-in-the-current-directory-is-saved/

<comment><USER2> I notice that you're using a polling thread keep track of modification times. I know that linux has inotify: <http://github.com/seb-m/pyinotify> and OsX has something similar with FSEvents: <http://pypi.python.org/pypi/MacFSEvents>

</comment><comment><USER3> I quite like [http://search.cpan.org/~drolsky/File- ChangeNotify-0.17/lib/F...](http://search.cpan.org/~drolsky/File- ChangeNotify-0.17/lib/File/ChangeNotify.pm) for perl. It's cross-platform (backends for linux, OSX/BSD and Win32 afaik), and is very straightforward to use.

<comment><AUTHOR> Oh great, I looked around but haven't found anything like it.

</comment></comment><comment><USER4> Sounds like incron. Which is just a cron-like interface for inotify.</comment>


Securing MongoDB Behind Nginx - <AUTHOR> http://attachmentsme.tumblr.com/post/2658871266/securing-mongodb-behind-nginx

<comment><USER2> couldn't this be done easier with just a ssh tunnel?

<comment><AUTHOR> An SSH tunnel might be what we ultimately end up using. The HTTP service layer was meant to be a bit of an abstraction as well, in case we ultimately ended up going with another key/value store, e.g., HBase or Casandra -- having said that, MongoDB is working pretty awesomely so far.

</comment></comment><comment><USER3> Anyone know what his full stack is?</comment>


Show HN: Juicy – Share Without Worries - <AUTHOR> https://itunes.apple.com/us/app/juicy-share-your-moments-anonymously/id905738693?mt=8

<comment><USER2> Can you tell us why we should be using this app?</comment>


Google employee diagnosed with coronavirus - <AUTHOR> https://www.cnbc.com/2020/02/28/google-employee-diagnosed-with-coronavirus.html <comment><USER2> Googler working in Zurich here.

FWIW all Google Zurich leads and my whole management chain insisted that people having any kind of symptom (in general, and not just for the Coronavirus) should rest at home & see the doctor to recover and prevent infecting other Googlers.

They also insisted that even "healthy Googlers" feeling insecure coming to work can fully work from home in the coming weeks, and told managers that they shouldn't prevent their managees from doing so.

This company has just always been super comprehensive regarding health conditions. If you don't feel good and just want to go back home to rest or take a 2h nap in the sleeping room you can just do it without any justification. Whenever I discuss this with friends none of them has the same freedom and trust that Google gives us.

Wishing the best to everyone in this scary period.

<comment><USER3> Can confirm -- also a Googler, but from Austin and recently Mountain View. This is both Google's default policy (not feeling well? go home) and recommendations for current conditions, with more emphasis on staying home even if you're uncomfortable. We even have a whole team dedicated to tracking this stuff and keeping Googlers safe.

It's amazing how much outright hate is being spewed here over this -- it borderlines on outright panic.

<comment><USER4> > This is both Google's default policy (not feeling well? go home)

I can't imagine many tech companies (or even salaried office jobs) having very different default policies.

That is sort of missing the point in an emerging pandemic.

<comment><USER5> You won't get Google's culture. Regardless of the HN bubble it really is employee friendly and it shows in crises like these. Our health insurance is also the best if not way better than other FAANG + Microsoft. When the travel ban happened Google security helped people across the globe. Not many tech companies would do that. Doubt Amazon would.

<comment><USER4> > Doubt Amazon would.

yikes

[https://www.theguardian.com/technology/2017/jan/31/amazon- ex...](https://www.theguardian.com/technology/2017/jan/31/amazon-expedia- microsoft-support-washington-action-against-donald-trump-travel-ban)

<comment><USER5> Bezos fighting Trump. No history there. Also did Amazon send it's own security to help employees stuck in other countries ? I'm sure they would have charged people for help.

</comment></comment></comment></comment></comment></comment><comment><USER6> Once testing actually ramps up in the US... I'd expect similar cases to pop up all over the Bay Area. The Fairfield case was infectious starting weeks ago.

The CDC site shows only 8 more tests having happened in the last few days (aka: preposterously low!). We're really flying blind until we have more data and testing. When the history of this epidemic in the US is written, it will be noted that the entire month of February was wasted diagnostically and critical opportunities to still attempt containment lost.

<comment><USER7> So it's probably the virus is spreading around the bay area undiagnosed. Has there been any reports of hospitals experiencing higher than normal volumes of flu-like cases?

<comment><USER6> Unfortunately, it will be a very small signal relative to the total number of respiratory illnesses at this time of year. Moreover, there's often a multi- week lag-time between it spreading and getting cases that get severe enough for hospitalization. Until there's a critical mass of enough infected to get sufficient number of patients with ARDS (like the woman at the UC Davis Medical Center), it may be hard to notice. The problem is, once it's noticed through this method, it's likely spread to a significant number of people. This is what happened in Northern Italy and Iran (and to some extent in Wuhan as well).

</comment></comment></comment><comment><USER8> _We have taken — and will continue to take — all necessary precautionary measures... as we prioritize everyone's health and safety_

...

 _Google's Zurich office will remain open_

So they've taken all necessary precautions except the one that would actually prioritize health and safety by asking all employees in that office (or at least those on the same floor/seating area as the infected employee) to work from home and self-isolate.

I thought the germ theory of disease was already well accepted and we had a pretty good idea of how pandemics spread.

<comment><USER9> They aren't even telling employees which group or floor the employee was in, so employees cannot even gauge their risk level.

Imagine going home to your family without knowing if you've been exposed to a disease that has a ~2% mortality rate.

...and then the company asks everyone to come back into work the next day.

Google's response here is shocking.

<comment><USER10> Not condoning Google but the mortality rate increases with every age bracket and is much lower under 50 years of age. I would assume that the Google office is quite young.

<comment><USER9> The rate of employees with young children and grandparents is pretty high.

What makes you think Google employees only care about themselves? You don't think they (and we) should care about the more vulnerable members of society that they will infect?

<comment><USER11> Young children are not at risk, unlike the flu.

<comment><USER12> less at risk is not the same as not at risk. At any rate there are children that have immunity problems that as the virus spreads I worry it will effect them - for example MBL deficiency and it's susceptibility to respiratory ailments [https://ghr.nlm.nih.gov/condition/mannose-binding-lectin- def...](https://ghr.nlm.nih.gov/condition/mannose-binding-lectin-deficiency) [https://academic.oup.com/jid/article/191/10/1697/789682](https://academic.oup.com/jid/article/191/10/1697/789682)

<comment><USER13> I think you are taking common idiomatic English and interpreting it as though it is meant to be precise.

"Not at risk" does not mean 0 risk, it means negligible risk.

For example, if I was standing on a cruise ship, am I at risk for drowning? Not really, it's extremely unlikely that I would drown. Could I drown? For sure, I could fall in the ocean, or in the pool, or pass out into a bowl of soup. Despite the nonzero possibility of drowning, if someone saw me on the cruise ship waiting in line for the buffet and yelled "be careful, you are at risk of drowning" at me, I would think they had lost their mind.

<comment><USER8> But as long as you just keep standing on the deck, you're not going to drown.

But even though the risk of infection is low, I wouldn't say that a child is "not at risk" of contracting the disease if their dad catches it at work and brings it home.

I'd say that he's "at low risk", not "no risk".

<comment><USER13> Again, not at risk means not at risk. "At risk" means more than average risk. Not at risk means the opposite in common usage, it means much below average. Nobody said anything about "no risk". "low risk" and "not at risk" mean exactly the same thing.

[https://www.macmillanthesaurus.com/at- risk](https://www.macmillanthesaurus.com/at-risk)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> It's almost unbelievable that they haven't closed that Zurich office down.

A group of employees I know at that office went out tonight in Zurich for a night out on the town.

Google's response here is almost unconscionably irresponsible. It's almost like they _want_ the residents of the city to get infected.

<comment><USER14> Is Zurich shutdown? If not, I don't see why google employees in Zurich should have special restrictions.

<comment><USER15> Chevron employee in London was confirmed infected. Chevron shutdown that London office and have all staff WFH.

<comment><USER15> Just looked up citations given the downvotes, and you're right, the employee wasn't confirmed infected. The employee is suspected to be infected, and they _still_ shutdown the office.

[https://www.cityam.com/coronavirus-chevron-tells-canary- whar...](https://www.cityam.com/coronavirus-chevron-tells-canary-wharf-staff- to-work-remotely/)

</comment></comment></comment></comment><comment><USER16> I'm not sure why is this a shocker. It's extremely likely that there will be infections in all cities of the world, after all there's no coordinated global shutdown. Planes from Milan keep taking off every 5 minutes (well, during the day, now it's quite late so the frequency has gone down): [https://www.flightradar24.com/data/airports/mxp](https://www.flightradar24.com/data/airports/mxp)

It is probably here, in your big city, too.

<comment><USER9> It is a logical fallacy to assume that because a mistake is being continuously made, that it therefore isn't a mistake.

...also, having an employee IN THE OFFICE have Coronavirus is a much much bigger risk than a random passenger from Milan.

</comment></comment><comment><USER17> In our office, in Europe, it is mandatory to work from home for 2 weeks after traveling to any area affected by the virus (whatever it is a personal or job related trip).

I do not think that USA work culture is compatible with this measure. I hope I am proved wrong and health care takes higher priority that having people siting in an office.

<comment><USER18> Unfortunately US culture is to keep working if you don't want to lose your job.

<comment><USER19> This is not true and highly depends on employer.

<comment><USER20> Around half of all workers in the US are paid hourly. "Sick day" means "no pay" for most of them.

edit: according to most recent data [0] it's actually 58.5% of all workers are hourly. Do they get paid sick leave?

[0] [https://www.bls.gov/opub/reports/minimum- wage/2018/home.htm](https://www.bls.gov/opub/reports/minimum- wage/2018/home.htm)

<comment><USER19> Sure, but if you're paid hourly, isn't "sick day/no pay" true for pretty much any country in the world?

</comment></comment></comment></comment></comment><comment><USER21> It's interesting that Switzerland has banned all events involving more than 1000 people but not all workplaces with more than 1000 people. I suppose the logic is that people travel further for events?

<comment><USER22> People are packed together a lot more closely at an event than at work.

<comment><USER9> This virus transmits most efficiently in a cool dry environment, like an A/C controlled office.

That is why the hotel in Singapore and the cruise ship were such hotbeds for transmission.

What Google is doing here is acting with complete idiocy - with ZERO regard for employee health and safety.

</comment></comment></comment><comment><USER23> And now it's in Santa Clara county:

[https://www.mercurynews.com/2020/02/28/santa-clara-county- an...](https://www.mercurynews.com/2020/02/28/santa-clara-county-announces- new-coronavirus-case/)

</comment><comment><USER24> Seems like a good time to work from home. I mean if Google can't do it then ... ?

</comment><comment><USER25> Headlines like this irk me. I expected it to be a Google employee in the Bay Area, or a major US city, not Switzerland.

<comment><USER26> Not everything revolves around the US, and not every HN user is from the US.

<comment><USER25> True enough, but CNBC is primarily a US audience, I believe. Correct me if I am wrong.

<comment><USER26> Fair enough. I think many HN users, myself included, primarily look at the headlines and not at the domain though.

</comment></comment></comment></comment><comment><USER27> Would be really helpful if the person's home city was mentioned, in addition to the name of the place they briefly passed through. "Google employee", in addition to to being reductive and dehumanizing, is vague. There's not even anything here to suggest the ill person is American, or Swiss, or what.

<comment><USER16> Why would the nationality matter?

As to city - it's Zurich, they live in Zurich (or in the extended Zurich suburbs, perhaps as far as Lachen or Winterthur or Zug).

<comment><USER27> It matters because the facts in the article are consistent with the idea that the person visited the Zurich office and returned to their place of origin, or they just live there.

</comment></comment></comment><comment><USER28> I am hearing Amazon has restricted non-essential travel for all its employees (even domestically within the US), which sounds like a bigger news than this. Maybe someone can confirm.

<comment><USER29> So has google for the most part: "it has restricted its employees from traveling to Iran and parts of Italy. In March that will expand to Japan and South Korea. The company had already prohibited travel to China, except for employees returning home." [0].

[0]: [https://www.npr.org/2020/02/28/810494030/google-employee- tes...](https://www.npr.org/2020/02/28/810494030/google-employee-tests- positive-for-coronavirus-company-expands-travel-restrictio)

<comment><USER28> Not sure how you're interpreting this thread. Most of Amazon's employees are here in the US. And Amazon discouraging US domestic travel (which obviously isn't as critical as those regions, yet) has nothing to do with what you quoted above.

</comment></comment></comment><comment><USER30> I thought Youtube comments were the cliche, then I met HN comments on the Coronavirus.

Even an attempt to understand why this particular case out of the 100,000 would be discussed is pointless given the comments.

<comment><USER31> Because a lot of people on HN work for google and upvoted the article until it ended up on the homepage. People tend to care more about things they can relate to. George Carlin had a bit about that, how when there is an earthquake in Pakistan nobody cares but when there is a car crash in front of their door they'll gawk for hours.

</comment></comment><comment><USER32> Why is CNBC still calling it coronavirus when WHO has asked for this outbreak to be called COVID-19?

<comment><USER33> because everyone is still searching for news related to "coronavirus", and also "coronavirus" is easier to say/remember than "covid-19"?

</comment></comment><comment><USER34> Epidemiology 101

Those of us who don't know history will repeat it.

<comment><USER35> What history? SARS and MERS?

<comment><USER34> Broad St Chlorea outbreak, the birth of epidemiology.

<comment><USER36> Which had everything to do with drinking contaminated water and nothing to do with person to person contact.

<comment><USER34> You shut off the choke point, let things fizzle out. As I type, people are still coming and going.</comment></comment></comment></comment></comment>


Ask HN: Parallel programs that could be optimized with genetic algorithms - <AUTHOR>

I'm developing a tool for my scientific initiation which uses genetic algorithms for optimization of parallel programs in C with Posix threads, setting mutex locks position and granularity.
I'm searching for problems that could get a real improvement from a tool like that.
The repository with the source code https://github.com/MateusZitelli/Qeopps. <comment><USER2> Since your project is a code optimizer, I assume you need code for it to optimize. Is there anything specific that you think would make a good target? Or, in other words, what exactly is a good target?

<comment><AUTHOR> I think that a good target would be a problem with many sincronization points related with many objects/variables.</comment></comment>


Dropbox Is a Total Mess - <AUTHOR> https://om.co/2020/06/18/dropbox-is-a-total-mess/ <comment><AUTHOR> This matches my experience: for the last year or so, I've had an eye out for a service like early Dropbox, before the company decided to become steadily more invasive and confusing.

</comment><comment><USER2> Already switched to onedrive. Byebye you won't be missed

<comment><USER3> Same here... I'm actually enjoying onedrive and the office.com experience.</comment></comment>


Amazon, Google employees bullish; 25% of Microsofties say things will get worse - <AUTHOR> http://www.geekwire.com/2013/survey-amazon-google-employees-bullish-future-25-microsofties-worse/ <comment><USER2> I'd be absolutely mortified if I was a Microsoft employee.

Microsoft's monopoly on desktop PCs may become worthless in the near future as the average consumer realizes they can do everything on a tablet and not have to bother with "slow and hard to use" PC.

Office/word are becoming more easily replaceable with the advent of google docs and many free/cheaper alternatives.

If their main revenue streams decline, they would have to enter a new market. Oh wait, the last time Microsoft broke into a new industry successfully was with the Xbox over 10 years ago. Ironically, Xbox is one of the few Microsoft products that I think have a long and healthy life ahead of it, but I don't think it will be enough to support much if everything else comes crashing down.

I hope someone corrects me on this because there's nothing more horrifying for me than the possibility of someone like Oracle buying up Microsoft IP/patents if they go belly up.

<comment><USER3> People have been predicting Microsoft's decline for years, but they just posted record revenues last quarter. They have a much more diverse set of profitable businesses than Apple, Amazon, or Google do - Office, Windows, SQL Server, Xbox, Visual Studio, SharePoint, Dynamics XRM, ... They have over a dozen different businesses bringing in more than $1B of revenue a year.

That's not to say that everything's rosy, of course, but people have lost perspective on what an impressive money-making machine Microsoft really is.

<comment><USER4> Almost all of those are in industries that are actively being disrupted by new innovations: Office => Google Docs; SQL Server => MySQL, PostGresQL, NoSQL; Visual Studio => Eclipse, SharePoint => The Google suite of tools, etc.

If you read The Innovator's Dilemma, one of the hallmarks of disrupted businesses is that everything's fine until they go out of business. They keep moving up-market, into market segments with higher revenues and higher margins, until they're a mainstay of all giant enterprises. And then those enterprises realize that there's a competitor out there whose product wasn't suitable a couple years ago, but has just barely been able to do the job they need it to do, and switch en-masse. And then the big company, having run out of market segments to expand into, dies rapidly. Happened to IBM in the early 90s, Sun in the early 2000s...and Microsoft is next.

<comment><USER5> > And then the big company, having run out of market segments to expand into, > dies rapidly. Happened to IBM in the early 90s [...]

Um. IBM has a $230B market cap. Apple is at $400B, Google is at $300B. Is that really the example you want to give for a "disrupted" dead company?

<comment><USER4> Read "Who Says Elephants Can't Dance", Lou Gerstner's firsthand account of IBM's historic turnaround. IBM was 3 months away from running out of cash when he got there in 1993. It survived largely because he bet the company on a pivot _out of tech entirely_ (the IBM of today is a professional services company) and into a new market where they're not subject to the same Innovator's Dilemma forces.

The same thing could happen at Microsoft, but it's unlikely with Ballmer (or any insider) still at the helm.

</comment></comment></comment></comment></comment><comment><USER6> People forget this but Microsoft is at their best when they're the underdog — just look at Lotus Notes, Word Perfect, Netscape, Apple in the 90s and OS2. If they had the right leadership and if they refocused they would be killing it.

<comment><USER7> I wonder why you were downvoted for this comment. The world might not be a better place if MSFT "wins" again in past fashion, but your observations aren't exactly wrong.

<comment><AUTHOR> Plenty of people hate Microsoft so don't expect rationality....

</comment></comment></comment><comment><USER8> Actually, I do see more upside potential for MSFT than for Amazon or Google. Google seems to be already on its peak - same for Amazon (I don't think they will go down just peaked).

Here is my reasoning:

\- Windows Phone: not really because they are great but retardness of Android phone manufacturers (especially Samsung) gives them an excellent chance to gain a significant market share

\- XBox + Skype: they might become the central entertainment and communication system in nearly every living room in the world

\- Yammer, SkyDrive, Skype, Web Office and other cloud solutions for enterprises: Definitely something companies are going to try.

As somebody else said, Microsoft is the best when they are underdog so I do understand why Larry is so concerned about Microsoft.

<comment><USER9> As an aside, why do you feel Windows phones are not "great"? Full disclosure I used to work for MS, but I have no product loyalty for any company. My previous two phones were iPhones, and for the first time ever I finally feel like I have a great smartphone with my Nokia Lumia (WP8).

I'm stumped why everyone is so down on WP8. Granted, the app store is pretty grim. If that is the main concern, then fair enough. But I feel like the phone/OS themselves are stellar.

<comment><USER10> I agree with you and I expected that WP will start eating Android's share, because until recently, Android's UX sucked. Why were consumers buying plasticky phones with the slow and unintuitive Android instead of Lumia phones? Similarly baffling was that Palm Pre completely failed as an iPhone competitor.

Some of the possible reasons:

* It was a market failure, consumers weren't choosing what was best for them.

* WP came too late.

* Thanks to its flexibility and openess, Android was able to fill various market niches.

<comment><USER9> Yeah all of that is true. WP7/WP8 taking so long is probably something they will never fully recover from. Not to mention the WP7->WP8 nonexistent upgrade path.

But my curiosity is in the phone and OS itself. People seem to hate on it, and I don't get where that hate is coming from. Taken at face value, Windows Phone 8 is a really great phone OS.

</comment></comment></comment></comment><comment><USER11> I'm not surprised Microsoft employees are feeling down. It seems most media outlets and popular blogs really have it in for Microsoft, and that must get to you after a while. No matter what they do right or wrong the media hates it at the outset.

And their management aren't really helping - campaigns like scroogled must make a lot of employees really squeam.

<comment><USER12> Just like this story. The story is a rehash of results, without any analysis. The accompanying picture does not even mention Microsoft. What level were the employees at? Which division? What is the sample size? These statistics are never ever that simple as the story makes it out to be.

<comment><USER11> I've done surveys like this before - it's usually just an email that goes around to all employees and asks them to rate the company, management, peers etc on various metrics from 1 to 5.

The picture in the article shows the top 10 most happy, which is why Microsoft is not listed.

But this is a pretty lazy, low value article.

<comment><USER12> I cannot even find the original survey. Is it available online?

<comment><USER11> This is the original article:

[http://www.glassdoor.co.uk/blog/top-10-companies-business- ou...](http://www.glassdoor.co.uk/blog/top-10-companies-business-outlook/)

</comment></comment></comment></comment></comment><comment><USER4> I want to highlight a statistical quirk that biases the results of this poll:

 _Whenever you have a self-selecting population, approval ratings are measures of the liquidity of the population, not of how good a job the organization is doing._

If you're a Googler and you hate your job, you don't stay a Googler for very long. There are umpteen zillion companies that would love to hire you, or VCs willing to fund you if you choose to do your own thing. There are a number of such ex-Googlers on Hacker News. Google software is somewhat proprietary, but the core languages, skillsets, and architectures are common to a lot of firms who would just love to pick up accumulated ex-Google knowledge.

If you're a Microsoftie and you hate your job, there's a good chance that your skills are more specialized, or you've "drunk the Kool Aid" and can't imagine a life outside Microsoft. If you think things suck...well, you might not have any other options. Or you might not _think_ you have options, having accumulated so much company-specific knowledge. And so you stay in a job that you hate even though you hate it.

It's the same with customers. The reason Facebook, Comcast, TWC, and Congress have such low approval ratings is because users are pretty much _locked-in_ to those services: even if they hate them, they can't go elsewhere. Meanwhile, the reason Google has such a high approval rating is because it's pretty simple to leave most Google products (and ones that are easier to leave, like Search and Chrome, tend to rate more highly than ones with a large degree of lock-in, like Plus and GMail).

If you want to tease out companies that are _actually_ doing things right, look for ones with both a high approval rating (indicating large liquidity) and a large & growing population (indicating that despite this liquidity, more people want to come in than go out).

<comment><AUTHOR> Oddly enough, a lot of Microsoft staff got hired by Google....

</comment></comment><comment><USER13> I am sure that Steve Ballmer was not interviewed ;-) he is more bullish than Page and Bezos together.

</comment><comment><USER14> This is an interesting metric, often forgotten. Companies are just people. What better way to gauge future success than by the mood in the room?

</comment><comment><USER15> Microsofties?

<comment><USER16> IIRC, the term used to refer to Microsoft employees is actually Softies.

<comment><USER17> That can't be helping their self-esteem either.

<comment><USER11> It's still better than being a "Wanger".</comment></comment></comment></comment>


Ask HN: What do you wish digital assistants (Siri, Alexa, etc.) could do? - <AUTHOR> I mostly use Allo/Google Now but I've spent time playing with Cortana and Siri as well. Some random things I wish they could do include: Tell me when the high/low tides will be. Do things at a later time (tomorrow at 5 message Jack to bring the frisbee) Of course we'd all like a good API to make our own stuff.<p>What would you want the assistants to do that would make them more helpful? <comment><USER2> More open/extensible APIs. I want to be able to register my own actions with them with ease. Right now Alexa seems to be the most flexible, but even then you gotta do some serious hacking to get it to work.

Another thing I was working on at Microsoft back in the day was contextual deep voice search mixed with touch. Essentially the UI pattern was tap and hold on an app, then speak. The voice command would be sent directly to the app itself so you could have it be recognized by it. Example: hold your finger on the pictures app and say, "show me Mike". It'd then bring up pictures of Mike.

</comment><comment><USER3> I would like to be able to tell any digital assistant enabled device in my home to "play latest episode of Dirk Gently's Holistic Detective Agency on the living room TV" and have it work. I feel like that's a very simple, minimal viable product, sort of request. Siri responds with "Hmm, I'm not finding anything for that."

I'd also like to be able to ask "How many steps have I taken today?" Siri responds with "I can't answer that on your iPhone but you can find it in the Health app: Open the Health app"

This may feel like a big ask considering the majority of the basics aren't covered on the platform I'm using, but compound questions would be wonderful – "show me the thirty largest US cities" "remove any that do not have a moderate climate" "which one has the lowest cost of living?"

If platforms already provide these services and I'm simply using the wrong one – oops.

<comment><USER4> I think the health one is just Apple being conservative when it comes to health data. I'm sure it's on purpose that they don't let the Health app talk to Siri directly.

However, it would be nice if you could tell Siri to play an episode of a show on a specific TV, but I think they would want you to have an Apple TV for every TV in your home, not just one to control all of the TVs.

<comment><USER5> "Siri, close [app name]" "Siri, open Google Maps and show a route to [location]"

"Hey Siri" on the Mac would be good. So would more interaction between devices - so I could set up an alarm on one particular device from any other device.

Cloud things are still clumsy from that POV. A lot more could be integrated.

My biggest (minor) annoyance is not being able to toggle switches.

I can say "Alexa, lights on" and "Alexa, lights off".

But I can't just say "Alexa, lights" and have the app read the current state and flip it - which is annoying because it would be efficient and useful, but also because it's so close, and yet so far, from living in a Star Trek TNG episode.

</comment></comment></comment><comment><USER6> A conversation should be able to establish a "Reference", as in a "frame of reference", and from that establishment a context for use of in-context words in the conversation. This would be similar to launching an app on the desktop, with the difference here being new audio cues and the end-user being able to use in-context technical or slang language in their vocal commands to the digital assistant. End-users should be able to create and package Frames of Reference and then share them, establishing shared communications (technical jargon, slang) within end-user communities. These Frames of Reference are additionally, and quite simply, Internet Of Things submissions that end-users personalize to their specific devices and interests. This effectively makes the voice enabled digital assistant the UI for the Internet of Things. I could even see the popularity of given Frames of Reference being proxies for marketing demographics.

</comment><comment><USER7> Things an actual assistant could do, like call XYZ to make an appointment on my behalf. Find the best price for my car insurance. Send flowers to my wife. Find tickets for an event.

<comment><USER8> Plan a retreat for me and my S.O. without me telling it, checking for approval, while checking both agendas for availability.

</comment></comment><comment><USER9> I'd be happy if Siri were finally able to understand a proper sentence at least most of the time. That would be helpful.

<comment><USER10> It's odd that you still can't directly type to Siri, even on the Mac. (You can indirectly type by 'editing' a previous voice query).

The compeitors: Cortana accepts both voice and text input. Google Now/Allo does too (although the new Assistant in the Pixel is only voice though). Alexa is only voice.

<comment><USER11> If you click on your incorrect voice command, Siri has a "tap to edit" link, where you can correct in text and re-execute the command.

</comment></comment></comment><comment><USER12> I whish Internet access wasn't needed for basic tasks like "play that song".

<comment><AUTHOR> I agree. Even something like a "note to self" command requires internet for Google Now.

<comment><USER13> Google are increasingly adding offline commands

</comment></comment></comment><comment><USER14> I wish it was easier to correct mistakes. Most of the time the voice recognition will only get a single word wrong, yet you need to repeat the entire question or instruction. If Siri interprets "how many pounds is 70 kilograms?" As "how many pounds is 17 kilograms?" Then I should just be able to say "no, 70" and have it corrected.

</comment><comment><USER15> I really wish that Alexa could handle push notifications. "Your order is leaving Domino's Pizza now" would be great.

</comment><comment><USER16> Be completely open source so that you could control the privacy of it.

Completely offline with local processing on the device of choice.

<comment><USER17> Protonet Zoe is trying to serve this market:

[https://experimental-platform.github.io](https://experimental- platform.github.io)

[https://www.indiegogo.com/projects/protonet-zoe-start- your-s...](https://www.indiegogo.com/projects/protonet-zoe-start-your-secure- smart-home-now/)

</comment></comment><comment><USER18> Control which gizmo handles the command when more than one are in earshot. I'd like to say "Hey champ, …" to get my phone to do something and "hey blew, …" to get my iPad to do something.

I'd also like to be able to control the auto-lock duration by voice; I don't want my iPad falling asleep when I'm not touching it in the kitchen.

Oh, and I'd like a way to get better directions information from it. Questions like "what exit do I take to get to [sporting goods store]?" would be nice to handle; occasionally I'll need computer assistance for only a tiny leg of the trip, and I'll want to minimize my reliance on a computer's instruction as little as possible.

</comment><comment><USER19> Let me add commands myself. Yes I want to be able to say "computer turn on the light" and imagine I am on DS9, but more practically I need that to free my smartphone from my hands, which is needed as a driver.

</comment><comment><USER20> Control my TV, Roku and sound bar so that I never have to look for the damn remote or open the Roku app again.

</comment><comment><USER21> In the next 5-20 years, I think "programming and IOT without screens" will allow pretty much anyone to do a lot of useful stuff on the computer without actually being present at one, or knowing the exact technical syntax for how to do it.

"Please analyze the traffic from Y and let me know if there's any anomalous traffic regarding ISIS" \--anyone

"Please start a server on local port 8080 from my computer and serve all of my birthday pictures from when I was 10 until 20, and then download the files from my phone and save it into a new album called 'Birthday Teens'" \--anyone who knows what a server is

"Please transfer the files from my computer in directory X to my phone in a new album with the same name as X" \--anyone

"Please send a request to bing for the first 50 pages of cat images, and save the files into Y directory, then open the first image" \--anyone

"Please Open up Steam and start up Skyrim" \--anyone

"After that, send a message to Henry and ask him if we wants to play again" \--anyone

"Please get me a list of all of the processes about mongo" \--anyone who knows what a computer is

"Please close the windows or tabs on reddit" \--anyone

"Please open up my school portal email" \--anyone

Thinking things into existence. That gap is still pretty big. It's easy to think of ideas, but putting them into action is hard. That gap is going to get smaller. At some point, pretty much everyone will be a commander of AI, which will be like a team of programmers working for them. When that happens, we have a reason to be scared.

<comment><USER22> What is your reason to be scared?

<comment><USER21> Simple -- people tend to think in the gutter, because there's no harm in it. I can wish you dead right now, and it will literally not materialize into anything, and because of that, I may not even feel bad about it. A problematic situation arises when thinking about something is pretty much all you have to do to make it so. There's a lot of good, and also a lot of bad that come from having that power.

</comment></comment></comment><comment><USER23> Here's a weird one that bothers me.

When Siri reroutes me because a faster route is available, describe to me what the old route was, what happened and what the new proposed route is.

Usually I have to pull over and review what's going on because it makes really dumb decisions.

Actually I guess if it navigated better that would be a better fix.

</comment><comment><USER24> I'd really appreciate a good cooking or baking assistant.

</comment><comment><USER25> There are lots of privacy issues involved, but it'd be cool if Siri/Alexa/Cortana/etc count respond correctly to something like "Remind I need to ask my brother about whatever the next time I see him", sort of a social-fencing rather than a geo-fencing.

<comment><USER26> No privacy issues involved for anyone using iOS "find my friends" or equivalent.

</comment></comment><comment><USER27> I wish they wouldn't spy on me.

</comment><comment><USER28> To be usable with non-mainstream language names. Yes, I can speak in English with it but I can't rename people/places. Which means I can't mail/message/reference them which is, to me, most exciting current use case.

</comment><comment><USER29> Go away. I'm starting to feel like I won't be able to buy a toaster that won't have a personal assistant shoehorn ed into it in a few years.

Maybe I can set them up in a circle and let them babble away to each other?

<comment><USER4> That reminds me of the Dueling Carls: [https://www.youtube.com/watch?v=t-7mQhSZRgM](https://www.youtube.com/watch?v=t-7mQhSZRgM)

</comment></comment><comment><USER30> Integration with messenger, whatsapp, etc. "read me the message I just got", "reply blabla", "send to the foo group, blabla". why is that not here yet?

</comment><comment><USER31> I _really_ want a fully-featured podcast player that syncs with an app on my phone. I want to be able to manage subscriptions, ask about new episodes, play episodes at different speeds and generally use the kinds of features that the good podcast apps have.

</comment><comment><USER32> I'd say AI is real when it can do everything my 4yr old son can understand and do. I used to think this is a low bar, But going by how slow and painful the progress has been, I'm not hopeful it will happen even in my son's lifetime :(

<comment><USER20> Could you elaborate on that for those of us who are unaware of what cognitive abilities a 4 year old child should possess?

<comment><USER22> Approx the intelligence of a cat

</comment></comment></comment><comment><USER33> Remember context and respond accordingly. It's getting better but still not great.

</comment><comment><USER34> Setting variables. "Hey Siri, set my favorite color to green" "Hey Siri, what is my favorite color"

I think it could have a lot of uses, mostly for remembering things.

<comment><USER35> Google assistant can do that. I asked it in Allo "what's my dog's name?" It then asked me what my dog's name was, and now can respond to that question whether I ask in Allo or through Google home.

</comment></comment><comment><USER36> I wish they could control laser cutters and 3D printers. It would make my job a heck of a lot easier. "Start printing the chess set in red and green on printer #2" It would be great if I could also use them for design.

</comment><comment><USER26> Use voice URLs.

A reverse specificity URL, the opposite of what we use for standard REST URL: action-object-domain. Then let apps register for actions and subsections rather than requiring platform-specific APIs.

I think I'll have this implemented by 2017Q1.

</comment><comment><USER23> I'd like reminders to work better on Siri. It puts them in this reminder app and they never seem to go away until I manuly delete them.

Also geofencing reminders seem to kill my battery and constantly make the location icon show up.

</comment><comment><USER37> work offline, no calling back to motherbase

</comment><comment><USER23> I really wish I could talk to Siri in public without feeling silly.

</comment><comment><USER38> In Allo (and similar), if I begin with when, where, who..., a ? should magically appear at the right end of the line and float along there as the question fills.

</comment><comment><USER39> It should remember where I put my stuff. E.g "X remember that I put my big Frying Pan in the cellar."

Next time I ask it, it should Response with this Information.

</comment><comment><USER40> I would really wish for a timer assistant. When I'm cooking in the kitchen with both of my hands occupied, I could just ask it to set timers.

<comment><USER41> Which one doesn't have that? That's the one feature I see people consistently mention that they _love_ about their digital assistants.

</comment></comment><comment><USER42> @raybb Out of interest, why are you asking?

<comment><AUTHOR> Just out of curiosity really. My friend just got an Echo and I really couldn't think of many ways that I would use it because they're still kinda limited. It got me thinking, what would I actually want it to do?

</comment></comment><comment><USER43> Make routine phone calls. Call school and tell them my kid will be out. Understand routine replies.

</comment><comment><USER44> Wash cloths, Iron them out, clean the house, do the dishes.

</comment><comment><USER45> Dear Siri and Alexa.

Sit down or be sat. Smite or Smite or bite.

Sit, bitch sit

</comment><comment><USER46> Use iCloud "Find my iPhone" to make my phone make a noise.

<comment><USER47> I believe you can use IFFFT to do this. I know I've seen an recipe for this before. Not exactly native behavior but it should do that.

</comment></comment><comment><USER48> OK Google, when does the supermarket XXX in city YYY open today?

</comment><comment><USER49> #1. Eliminate the need for a hub for each smart device I own.

</comment><comment><USER50> Make me a healthy breakfast.

</comment><comment><USER51> tell me which stocks to buy

</comment><comment><USER52> Teach kids.

</comment><comment><USER53> coffee</comment>


Ask HN: Desktop Linux Hardware Suggestions - <AUTHOR>

I'm about to start a new job.  They offered to supply a computer at my office.  I'd like a cheap Linux box, but all Google's suggestions for a manufacturer (System76, ZaReason, etc.) are from articles that are several years out-of-date.  I also wasn't wowed by the price point for these manufacturers -- they seemed to demand significant markups for things like SSDs above what they'd cost separately, when all they're doing is plopping the hardware in the box.<p>Is it silly to go the route of a non-mainstream manufacturer?  I'd rather not get something pre-installed with Windows, both for security reasons and for the idiotic added expense. <comment><USER2> If the company is supplying the computer, it's a bit of a false savings to worry about $100 for Windows or an extra $100 for an SSD. It's not that wasting money is good, it's that the normal costs of doing business are the normal costs of doing business.

For a business computer, I'd strongly consider computers with business class warranties - e.g. 3 years Next Business Day on-site [or better]. It just doesn't make economic sense to fool around.

Personally, I'd go with Dell. Shopping is relatively easy and straight forward. For cheapness I'd look at refurbished/scratch-n-dent/previously- ordered-new from the outlet [which is _not_ the same as DFS].

I've bought two personal machines that way. My Precision T7400 is pushing seven years old without a glitch, running out of expansion capacity or short of processing power. The Vostro I bought my son is pushing three years. Again, no substantial issues.

<comment><USER3> Have to second the Dell recommendation. People love to bitch about Dell but every single call for support has ended with me satisfied to very satisfied. And spring for the additional maintenance, it's a reasonable business expense. I recommend against buying their entry level PCs however, because upgrade options will be limited.

</comment></comment><comment><USER4> I assume you want a desktop computer? Dell has great hardware support for debian/ubuntu and RH/Cent OS. I (think) you can purchase a desktop without an OS from their SMB store. Definitely get something with a spinning platter and pop in your own SSD. It will save you a lot of money.Why not build your own desktop? If you want to get the best deal and guaranteed hardware support, read some component reviews on [http://www.phoronix.com/](http://www.phoronix.com/) and put it together yourself. Good luck!

<comment><AUTHOR> Yep, a desktop. Thanks for the link to component reviews! I haven't had any luck finding Dell boxes online without an OS, though...

</comment></comment><comment><USER5> I have Linux running on Lenovo machines. One laptop, one desktop.

Everything works. I second the recommendation to buy it with a spinning drive and replace it with an SSD.

</comment><comment><USER6> Dell T20, Xeon ECC $500 no OS, RHEL support, up to 6 disks possible, up to 32 GB RAM.

Only downside is that it is targeted at lower-power server scenarios, so will not support add-on GPUs as it only has a 290W power supply.

</comment><comment><USER7> I don't play a lot of games, so getting something with an onboard Intel GPU has made my life so much better. It just works.

</comment><comment><USER8> Maybe a Brix Pro since it has the top Intel GPU.</comment>


Preventing cancer growth with a vaccine made of wrongly coded proteins - <AUTHOR> https://www.fiercebiotech.com/research/designing-cancer-vaccine-wrongly-coded-proteins <comment><USER2> This seems like a recipe for an acquired auto-immune disorder!

</comment><comment><AUTHOR> Open Access Article: [https://www.nature.com/articles/s41598-019-50738-4](https://www.nature.com/articles/s41598-019-50738-4)</comment>


Netflix Makes Up For All Its Past Mistakes By Resurrecting Arrested Development - <AUTHOR> http://techcrunch.com/2011/11/18/netflix-makes-up-for-all-its-past-mistakes-by-resurrecting-arrested-development/

<comment><USER2> Next... Firefly!</comment>


Is the Bar Busy or Not?  Check the Webcam - <AUTHOR> http://www.news.com/Smile%2C-youre-on-a-bar-Webcam/2100-1026_3-6230898.html?tag=nefd.lede

<comment><USER2> Sounds like a business model for justin.tv</comment>


Google's Dart Programming Language Is Coming To The Server - <AUTHOR> http://techcrunch.com/2014/06/29/googles-dart-programming-language-is-coming-to-the-server/

<comment><USER2> Glad to see Google pushing Dart for the server side. It hasn't got much adoption on the client side - and I'm doubtful that it ever will.

The I/O classes and functions in Dart's standard library are well designed, and similarly to how Node works, they all use an event loop. I've done basic benchmarks on TCP server performance in Dart and Node, and Dart's performance is definitely comparable to Node.</comment>


Continuous 3D Printing Possible With Transparent Polygon Scanning? - <AUTHOR> https://www.fabbaloo.com/blog/2019/8/3/continuous-3d-printing-possible-with-transparent-polygon-scanning <comment><USER2> The sad part of this whole article is this method of scanning a laser beam had to be devised to side step a patent that uses common galvanometers instead. So there isn't any new 3d printing technology here. Only a clever method to circumvent a silly patent.

<comment><USER3> I work in the area of new intellectual property generation, and you (as was I) would be surprised to learn this is not actually a sad feature of the system.

There have been countless advancements in the sciences when people have been forced to work around existing IP and have uncovered hidden benefits when working through the actual implementation.

It is a hidden benefit of the western system of IP that China et al. have not yet caught on to.

<comment><USER4> The problem is that, in 2019, most obvious methods of scanning a laser with moving mirrors should be covered by _expired_ patents from 40-30 years ago.

<comment><AUTHOR> You have to specify application in a patent. Riken desribed it for 3D printing in 1997 see [https://sffsymposium.engr.utexas.edu/Manuscripts/1997/1997-2...](https://sffsymposium.engr.utexas.edu/Manuscripts/1997/1997-25-Yamazawa.pdf) but did not specify the use of laser diode as it was quite new at the time. It got only invented in 1996 by [https://en.wikipedia.org/wiki/Shuji_Nakamura](https://en.wikipedia.org/wiki/Shuji_Nakamura) who got a patent for the laserdiode but little rewards and fought with his employer over it.

<comment><USER4> how is "obvious thing ... with a laser diode" any different than "obvious thing ... with a computer"?

<comment><USER5> Obvious things are not patentable in the first place, so it doesn't matter what the "with a X" refers to. That the patent office continues to patent things that are obvious to a normal practitioner is a serious problem. I think part of the problem is that the field of technology is so wide right now that most patent examiners aren't good at judging whether something is obvious or not -- so they don't generally attempt it. If it's novel, then it's not obvious, is what I think they are doing.

Having said all that "with a laser diode" is categorically different than "with a computer". In the latter case, you can do any general purpose computation you like. So if you have a machine driven by a computer, you should not be able to patent it if you would not ordinarily be able to patent the machine. In other words, the driving of the machine by a computer should not be patentable, IMHO. Of course it gets complicated as you add more and more machinery to the machine -- should "computer driving a car be patentable"? Probably it should as it is not just software, even though it requires software. I think it's tricky.

If a laser diode allows you to do things you wouldn't otherwise be able to do _and that use of the diode is not obvious_ , then it probably should be patentable. However, generally if "machine with a laser" is not patentable, then "machine with a laser diode" should also not be patentable. There's got to be something special and non-obvious about the use of the laser diode.

<comment><USER6> Patent offices are patently not doing the job of rejecting obvious modifications. Of course lawyer mangling of the documents does not help with discerning whether something is new or not.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> If this is about photolitographic 3D printing with resin, then I say not much is being disrupted. Those printers aren't that expensive now; the resin itself is quite expensive though.

The price of resin isn't directly comparable to the price of plastic used for FDM printing because one can print most models nearly hollow with FDM in an automated way (e.g. with honeybomb-like infill patterns), but I'm not aware of doing the same thing with resin with ease now, making the resin prints 10X the price of PLA ones.

Better software would disrupt that tech though.

<comment><AUTHOR> expensive is a matter of taste. The envisiontec 3SP costs well over 5K euros and can go up to 100K. You can only get a a price if you ask for a quote. Carbon 3D does not sell their printers you have to lease them. Formlabs does sell you a printer at 3.5K but you can't use third party resins, so you decide. I actually know some open-hardware printers which sell for 5K.

<comment><USER8> you can get an Anycubic Photon under $500, its a decent resin LCD printer.

<comment><USER9> The patent mentioned in the article is specifically for _continuous_ SLA printing (no pauses for lifting/peeling between layers), which the photon and other similarly-priced models don't do. I have one of the cheap SLA printers, and the lifting can occupy over half the printing time depending on layer height/resin type. The continuous printing machines seem to start in the several-thousand-dollar range.

<comment><AUTHOR> the rotating reflective polygon patent is this one [https://patentimages.storage.googleapis.com/29/68/46/da50635...](https://patentimages.storage.googleapis.com/29/68/46/da50635a85b615/US9079355.pdf) I think it is even more relevant but somehow it did not get posted.

<comment><USER10> You'd think laser printers would be prior art - a rotating mirror (usually a hexagon) was exactly how older laser printers would scan across the drum to form out the print.

<comment><AUTHOR> You have to specify application in a patent. Riken desribed it for 3D printing in 1997 see [https://sffsymposium.engr.utexas.edu/Manuscripts/1997/1997-2...](https://sffsymposium.engr.utexas.edu/Manuscripts/1997/1997-2..). but did not specify the use of laser diode as it was quite new at the time. It got only invented in 1996 by [https://en.wikipedia.org/wiki/Shuji_Nakamura](https://en.wikipedia.org/wiki/Shuji_Nakamura) who got a patent for the laserdiode but little rewards and fought with his employer over it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> _Netherlands-based Rik Starmans has devised something he calls "Transparent Polygon Scanning", or "TPS"._

Does this mean the linked article is a TPS report?

<comment><AUTHOR> should have named it differently; I use a laser scanner with a prism instead of a mirror. A detailed description is here; [https://reprap.org/wiki/Transparent_Polygon_Scanning](https://reprap.org/wiki/Transparent_Polygon_Scanning)

<comment><USER11> _should have named it differently;_

Don't sweat it. I would guess that the name will amplify the amount of media attention it gets.

</comment></comment></comment><comment> gene-h I don't think it's that disruptive. One thing that the 2009 roadmap for additive manufacturing has emphasized is the need to move from point to line and area deposition[0]. This still scans a point like stereolithography has done since the beginning. We now have stereolithography machines capable of area deposition by using a DMD projector[1], often called DLP, that are approaching manufacturing products at high volume[2]. Some DLP stereolithography machines now have resolution on the order of 10 micrometers over a 160 mm by 50 mm area[2]. We're having to develop new ways to describe 3d geometry just so that we can take advantage of this resolution. So there is potential here for both fast and incredibly high resolution using DLP stereolithography. We've also seen the development that the 2009 additive manufacturing roadmap couldn't anticipate: volumetric deposition[3].

In addition, there are some potential disadvantages to prism scanning. Prism scanning can only do raster scans, we can't define the outline of a part in vector mode. Although I will admit that this may not be as much of a problem if we can control the brightness of our laser. In addition, in stereolithography it is advantageous to carry out raster scans perpendicular to each other, this is because the photopolymer contracts as it cures and scanning in both directions helps make this contraction uniform.

[0][https://pdfs.semanticscholar.org/4716/c69f0b90a158589e54248a...](https://pdfs.semanticscholar.org/4716/c69f0b90a158589e54248a524a57ad78f4a3.pdf) [1][https://www.youtube.com/watch?v=UpH1zhUQY0c](https://www.youtube.com/watch?v=UpH1zhUQY0c) [2][https://www.carbon3d.com/case- studies/adidas/](https://www.carbon3d.com/case-studies/adidas/) [3][https://www.youtube.com/watch?v=31xHZvUP1Ls](https://www.youtube.com/watch?v=31xHZvUP1Ls)

<comment><USER12> #3 is pretty neat. Paper: [https://www.epfl.ch/labs/lapd/wp- content/uploads/2018/11/ms3...](https://www.epfl.ch/labs/lapd/wp- content/uploads/2018/11/ms3790.pdf)

* * *

Inre #1–2, Is anyone selling custom parts produced on that Carbon3D printer? That is, someone that ingests a shapefile (or whatever) and mails back a part printed on one of these machines?

</comment></comment><comment><USER13> Hardware is the new frontier of open source, I'd like to see schematics/PCB versioning on GitHub, with diff viewer and stuff.

<comment><USER14> That sounds like an amazing idea and is pretty close to what I want as well.

<comment><AUTHOR> There is a blog here [https://hackaday.io/project/21933-open-hardware- transparent-...](https://hackaday.io/project/21933-open-hardware-transparent- polygon-scanner/details) also provides all the link to github files. Design are made in Freecad, Kicad, C++ and Python. My main focus is on developing prior art. This needs to be done to prevent IP and "liberate" the technology from patent trolls.

<comment><AUTHOR> Of course, what's worse than a weak start is simply not starting at all. Moreover, if you've publicly disclosed your invention, then you have only a one-year grace period to apply for a patent. You forfeit your patent rights if you fail to file within the 1-year grace period. [http://www.patenttrademarkblog.com/first-to-file-patent- rule...](http://www.patenttrademarkblog.com/first-to-file-patent-rule/)

In the EU.. you destroy immediately.. there is no grace period.

</comment></comment></comment></comment><comment><USER15> Interesting, I've used something quite similar to the scanning-through-prism technology a few years ago, though with an 8-sided polygon for the application of exposing PCB masks. We were looking at 3D printing too IIRC.

To get to the desired ~80x80cm PCB size and the accuracy needed, we had to achieve super high throughput and super low timing jitter on the UV-LEDs. Very interesting technology, unfortunately we took too long to get a smaller scale proto working and funding was cut right after we delivered that proto :-(. Calibrating the whole machine from scratch was clever too.

Learned a lot there.

<comment><AUTHOR> do you have a link?

<comment><USER15> The domain name has lapsed, but some articles remain: \- [https://www.alexandergroenewege.nl/wp- content/uploads/2016/0...](https://www.alexandergroenewege.nl/wp- content/uploads/2016/04/eindhovens-dagblad-2015-09-09.pdf) \- [https://www.linkmagazine.nl/maskerloze-pcb-machine-ldi- syste...](https://www.linkmagazine.nl/maskerloze-pcb-machine-ldi-systems-gaat- proefdraaien/)

In Dutch unfortunately. Looking at OP's article, it could very well be that we had licensed some of the tech of the Rik Starmans mentioned int he article.

</comment></comment></comment><comment><USER16> Are there things beyond modeling where 3d printing is useful? The parts I've seen using dlp or sla never seem structurally useful to me. Sintered metal printing seems like although it may be less precise might be more useful structurally?

<comment><USER17> Small scale stuff you want on premise is a decent use case. The prime example being medical/dental. Imagine a patient with a crushed jarbone. You can model and print a custom prosthesis on premise and print it in maybe 16h-38h. Compare that to sending the job to some lab, custom molds being created and waiting for the item to be delivered (while the patient is waiting).

I know it's used quite a bit for custom tooling as well. Think special tools needed on an assembly line in automotive where pausing the assembly is very expensive or lead times for some custom tool to grab a wheel while working on it and whatnot are expensive.

I think one of the biggest success stories is cutsom made hearing aids. Return rate a lot lower, easier to iterate and produce the perfect fit etc.

Another example (maybe a bit more high end) is turning some item that is made out of many parts into a single item both for cost saving and other reasons. Iirc NASA uses ultrasonic welding (which is 3d printing of sorts) for this.

<comment><USER16> I'm guessing the resin used for medical applications isn't the cheapo toxic stuff.

Neat use cases though, and certainly makes some sense. I guess I would've expected precision cnc to be faster/better for such cases though, unless you absolutely need the impossible to create voids

</comment></comment></comment><comment><USER18> Hmmm... Seems interesting (and perhaps questionable?) from an infringement perspective.

What possible recourse would the original "continuous printing" patent holder have now that this prismatic design has been open sourced, rather than used in a commercial application?

<comment><AUTHOR> patents are expensive and you don't know the results.. Patent in my name is here [https://patentimages.storage.googleapis.com/43/72/4e/1ee7792...](https://patentimages.storage.googleapis.com/43/72/4e/1ee7792f56148f/US10114289.pdf) .. but is for a plurality of sources. So I avoid my patent, I am author of :P

</comment></comment><comment><USER19> Came here for the 3D printing of unicorn animals using lasers. Disappointing.

<comment><USER20> I prefer highly significant Bladerunneresque origami unicorns.

[https://br-insight.com/library/significance-of-the-unicorn/](https://br- insight.com/library/significance-of-the-unicorn/)</comment></comment>


Anti-porn filters stop Dominic Cummings trending on Twitter - <AUTHOR> https://www.theguardian.com/politics/2020/may/27/anti-porn-filters-stop-dominic-cummings-trending-on-twitter <comment><USER2> If only he'd travelled to Scunthorpe!

I dare say for any UK based user they are still seeing their fair share of Cummings memes, jokes, rage, vitriol, etc. regardless.

Frankly any feature to reduce over-exposure to this farce will be blessed relief.

<comment><USER3> Which reminds me - what three teams in the Football Association contains cursing in their names?

Scunthorpe, Arsenal and Manchester Fucking United.

I'll lead myself out.

</comment></comment><comment><USER4> It's a safe assumption that many of the explicit verb based surnames will face the same barrier to trending. Equally proud names like Shittings, Crappings, Fuckings, Dickings, etc.

<comment><USER5> In a cemetery on Memorial Day, I noticed a rather large grave monument for the Outhouse family. It was from the mid-19th century; I'm not sure what connotation the word might have had back then. I've heard the term "outbuildings".

</comment></comment><comment><USER6> It took me an embarrassingly long time to understand this. Something to do with 4am I guess.</comment>


NLP with spaCy - <AUTHOR> http://mlreference.com/spacy <comment><USER2> This site is super cool! Love the design.

If you make a pull request with your examples in a test file I'll be sure to notify you if we break anything. The trickiest thing will be the outputs from the statistical models. If we release new models, the examples might give different outputs, even if the API hasn't changed.

A quick clarification as well:

> As implied in the spacy docs for the Token class, the is_alpha, is_digit, > is_upper, is_lower, is_title, and is_space attributes all delegate their > operations to Python's built-in str methods with similar names (such as > str.isalpha()).

This is generally true, but the values are cached within the vocabulary, for each word-type. I'm just worried this could confuse someone.

<comment><AUTHOR> Thanks! Clearly we are fans of spaCy. I appreciate the offer on the pull request and would like to do so. Also, thanks for mentioning the clarification about the is_x attributes - I'll update the pages to improve the accuracy/clarity on that!

</comment></comment><comment><USER3> This looks like some nice code examples, but it's worth pointing out that Spacy's website has really well-written documentation with plenty of code. For example, their page on generating word vectors:

[https://spacy.io/usage/vectors-similarity](https://spacy.io/usage/vectors- similarity)

<comment><AUTHOR> Yep! Completely agree that spaCy's docs are great, and have benefited from solid attention.

Our motivation in making this is to build up the site as a destination where you can map a conceptual ML problem to copy-and-pasteable code that immediately works and is readable / learn-fromable.

For the two of us (Mike Sall and I) creating the site, it's basically something we've often wanted in our day-to-day machine learning and data science work.

<comment><USER3> Totally get it, I hope you didn't take my comment as a criticism.</comment></comment></comment>


Who give its credit card to write code with the source code toolkit of Amazon? - <AUTHOR> https://console.aws.amazon.com/console/home?region=us-east-1 <comment><USER2> that title was very hard to read.</comment>


New Google Buzz API features, including a hose of fire  - <AUTHOR> http://googlecode.blogspot.com/2010/07/new-google-buzz-api-features-including.html

<comment><USER2> This looks very interesting. I liked that they provide the command line utility for quick experiments. Search results return very "fresh" social media posts.</comment>


Ask HN: Should I take a job at a bank? - <AUTHOR> I am a junior with a fairly technical background. The only offer I have been able to acquire for next summer so far is an Application Development position with a large bank, in their San Francisco office. I worked for this same company last summer in Chicago.
It pays $37 an hr, and is in a great location. I have not heard back from any other companies, and do not have any promising leads. I feel like I won't be able to find a better position than this offer I have now. However, I do not want to work for this bank again, as banks have a bad reputation.
Do people think working at a bank is valuable experience? Would it be a good work environment for tech in the bay area? <comment><USER3> Well if it's the only offer, then take it. Working for a bank is better than working at the local pizza joint for a summer job. The money is a lot better. The unique experience you'll get at a bank is the auditing (in the code sense) and all the regulations you'll navigate.

Bank programs have to run right all the time. On a game like Candy Crush, a bug might crash someone's phone. In a banking application a bug might lose someone a lot of money. The bank dev process may seem slow to how you crank things out in school, but it's like that for a reason. Ensuring correctness and complying with all the banking rules are paramount, and will probably benefit you a college student.

<comment><AUTHOR> I worked on similar things last summer. My concern is with taking the job, while continuing to look around for a better one. Is that immoral? It is at will employment, so I can do that. I just do not think anyone will pay as well as this bank.

<comment><USER4> > I just do not think anyone will pay as well as this bank

What makes you believe the best reward for you right now is to be paid as well as this bank, instead of improving your learning rate?

</comment></comment></comment><comment><USER5> a job, is a job, is a job.

I don't think any work experience can hurt you; and if it's all you can find right now... why not?

I've worked for 2 banks and a debt collection agency (all in IT) - <USER2> collectors are worse then car salesman - no job has ever said to me "omg, you worked for a bank? your the devil!" \- it's a job.

<comment><AUTHOR> Yeah, it would be good experience. I know I would keep looking around after accepting, so I feel like it is wrong to take a job with the intention to renege.

<comment><USER6> I wouldn't worry about that either. As you're compensated, just do your best and deliver value every time you're there. When you make the best of any situation, you'll find that there's so much to learn and it could really open your eyes to what's possible, including building solid relationships for the future.

</comment></comment></comment><comment><USER7> Do you like the hiring manager? Do you know if you'll be working on an interesting (if unlikely to be cutting edge) stack? Do you find the application domain interesting? (Meaning, if it's creating HR services, for example, are you stimulated by that?)

You'll learn stuff no matter what you do at your stage of career. Working at a bank will teach you how to ship reliable software in a process-heavy, risk averse environment while learning to develop your professional persona in a buttoned-down, hierarchical environment. That's not a bad thing, but it's a radically different set of soft skills than you'd get working at a startup.

The fact that you're questioning the ethics of taking a job with the intention to leave or renege on an offer says good things about your personal integrity. Keep in mind that acting contrary to your own values is a discomfiting and stressful experience.

</comment><comment><USER8> I would work for the bank - what are your worries RE: reputation? That they develop slow and aren't exciting? This comes with the advantage that they generally don't break. I would consider a software dev who worked at a bank to be quite trustworthy.

<comment><USER9> Having a bank on your résumé can't possibly be a bad thing. It shows that you can work in a professional environment. That you have been vetted and passed it. It's a sign of you being responsible, reliable and professional. I can't really see how it could be something negative.

However. The perks of working in the finance sector might make it hard to leave for another field.

</comment></comment><comment><USER10> 1) Next summer is far away dude! Why would you have to decide which job to take in 6 months now?

2) Why do you worry about the reputation of working at banks; technical challenges, or how people regard folks that work at banks?

3) you're young and if you have programming skills you probably don't have to worry about landing A job. Do what you like. Work somewhere that inspires you. Follow your passions. Don't start your career at a place you don't really like just because the location/pay is convenient. There will be times in your career/life when you'll have to settle for an okay job. Make sure to have a great job until that point.

</comment><comment><USER11> > However, I do not want to work for this bank again, as banks have a bad > reputation.

Was your first experience especially bad, with 'this' bank?

'banks have a bad reputation' sure, complex. Is this an ideology of yourself, or that others have pressed?

Forget the 'banks are bad' mantra and find something that fits you. Go to interview. Ask them about what they're doing. Tell them what you like. Create a fit.

</comment><comment><USER12> Most jobs which pay well have bad reputation: ads, banks, betting/gambling, freemium games for kids, etc. Do what you like and focus on what makes you happy.

If you care too much about pleasing others you'll end up at a workplace with good reputation but may feel sick for not getting challenged enough, not doing what you love with colleagues you may dislike in a culture you don't fit in.

So my advise is: take a job that suits you, not a job that suits others.

Finally, I've worked for a niche bank with very interesting ambitious people and fun challenges, but I guess that varies greatly between different banks.

</comment><comment><USER13> You don't make it clear if this is an internship or a full time job? As a full time job, $37/hour working for a bank in SF is going to be basically a double dose of suck. You won't be able to afford much in the way of housing anywhere close enough to have a reasonable commute, and it's not likely to be a great environment to work in (though I'd be happy to be be wrong about that).

If it's for an internship, don't worry about it. Just do what you're doing and keep looking. If it's for full time, I'd look harder.

</comment><comment><USER14> Take it. Learn to love BART. Get a one room share in Oakland. Enjoy the culture, it's waaaay different than Chicago.

Yes, working at a bank is valuable experience. No, it's not necessarily a good work env for tech in the bay area. But don't worry, you'll get there.

Well, actually that all depends on what you like and what's good for you.

Really the best thing for your career and resume is continuous and challenging work that highlights how well you learn and take on challenges. Then again maybe what you want is a day to day grind. Maybe that feels safer.

</comment><comment><USER15> > I have not heard back from any other companies...

Focus your efforts on individuals you can help, not generic companies.

Jump on Linkedin's advanced search feature. Sort for CTO's, VP's of Engineering, who are alumni from your school. Reach out to those people 1:1. Talk to them live, reach out seeking their advice. You'll be surprised how receptive they will be to your call. And that's how you'll uncover hidden summer jobs.

</comment><comment><USER16> The best things happened to my career is exactly after i took a job at the bank.

From taking a mediocre contractor's position to manage crappy enterprise piece of software to being a speaker at a conference teaching other people from international banking industry on detecting fraud and cyber attacks.

All happened within 16 months.

You'll never know - take an opportunity and squeeze the most out of it.

</comment><comment><USER17> Take it, build the experience on your resume. Learn everything you can. It may take 2 years, but you will have more choices with the experience on your resume.

</comment><comment><USER4> Don't take it. Go work for a startup, and optimize for quick feedback and learning instead.

Next summer is 7 months away. Why are you trying to secure a job so early in a field that moves as fast as tech? Uncertainty is a key part of any creation, and of life. The sooner you learn to live with uncertainty, the better off you will be in the long run, because you will attempt more frightening things.

The other reason you shouldn't take it is you can't jump in the same river twice. You already worked at this bank and you said you don't want to work for it again.

Learn to trust your gut.

</comment><comment><USER18> If you like it, then YES</comment>


Did you even read the article? - <AUTHOR> I've noticed that I have a tendency to not actually read articles posted here or on Reddit and instead skip straight to the comments. Does anyone else do this?<p>Comment sections are usually a mixed bag, but I always prefer a variety of opinions on a topic. Then if people are positive about the article I will go back and read it. <comment><USER2> I always skim through comments first to decide if the article is even worth reading. YMMV.

I browse HN daily and if I see a post that I "think" I can contribute to or is of interest, I open the comments thread first. Then if it seems fit, I read the article unless of course it is an Ask HN which I already read. I upvote it as well.

In some cases, I know I cannot contribute to the post in a meaningful way but I want to see the discussion as it is interesting. In that case, I just upvote and shut up.

<comment><USER3> I do exactly that :)

</comment></comment><comment><USER4> I very often read only the comments on HN, as they are routinely more interesting to me than the articles.

In fact, it might be worth trying out not even needing articles. Just submit a topic.

 _Discuss HN: Numerical analysis_

 _Discuss HN: Rust vs C for embedded development_

 _Discuss HN: Health benefits (or myths?) of eating kale_

</comment><comment><USER5> I skip past articles and their comments if I know that I will not understand them, e.g. details of a language which I do not know.

Sometimes I will look at articles which are about things I have never heard of just to find out what that is. Sometimes, the article does not sufficiently explain what it is, like when they only tell about the improvements over the previous release. In these cases I try to find what it is from comments.

If an article is tl;dr sometimes I look to the comments to see whether I can get the gist in brief.

For articles within my realm of interest I will usually read the entire article, then the comments.

I usually avoid making comments on articles I have not read unless the comments provide sufficient explanation for me to add my input.

I truly appreciate the intelligence and courtesy of the comments on HN and try to bring the same to it.

<comment><USER6> Seconded. Too often the headline doesn't tell me what the topic is, let alone whether it's worth reading. The comments will, though, in a hurry.

</comment></comment><comment><USER7> > Then if people are positive about the article I will go back and read it.

This strikes me as over-editing your intake feed and potentially missing out on information that _you_ might be positive about, or take action on, or...

<comment><USER8> Gotta start trimming the hedge somewhere. It isn't so much missing information as needing to pick and choose due to time constraints.

Sometimes, it is more that the article is fairly technical and I can learn more about the subject from the comments. Sometimes enough to make more sense out of the article itself.

Positive doesn't really mean happy: Positive in terms on content or good writing means the article is worth the time to read. "Long read but good" might mean to come back later. Surprisingly controversial topic? Yeah, probably should read, it'll be a positive thing to have in my brain.

And so on and so forth.

</comment></comment><comment><USER9> Only if it's interesting enough to read. Usually the comments are more interesting.

If someone summarizes or does a TL;DR, I'm even less likely to read it.

</comment><comment><USER10> I open ~10% of articles I comment on.

<comment><AUTHOR> Hell yeah dude cowboy commenting</comment></comment>


The environmental cost of keeping mail and files online keeps rising - <AUTHOR> https://www.japantimes.co.jp/news/2020/01/26/business/tech/email-global-warming/ <comment><USER2> I've a thousand or so Buy.com and Newegg ad emails and who knows how many topic reply and other useless notification emails.

I will probably never spend the time to find and delete them.

> "If I want to actually do something with my data, I have to warm it up and > move it through the data center," he said. And when you empty the email > trash, you probably aren't actually erasing the data. Multiple copies of > even decade-old emails are stored on servers around the world...

I guess it's just as well, anyway.

The title:

> The environmental cost of keeping mail and files online keeps rising

Makes me think I'm going to read about all the terrible stuff that goes into storing so much useless data. How many semiconductors are manufactured to store my and everyone else's never-to-be-read-again emails? How many HDD arrays, tape backup, enclosures, racks, packaging and transportation of all that stuff, cement, steel, heavy construction equipment, data centers, fiber cables, exchange bandwidth, employee labor and management planning, waste disposal, negative return mineral extraction and environmentally toxic precious metal recovery that can kill workers and drains into rivers, lakes and the ocean.

From the third paragraph, on:

> The problem is that all those messages require energy to preserve them.

Nope. The article is only about _climate change_ , the only type of environmental issue humanity is to be concerned with.

My ignorant 20th-century man corrected title:

"The climate change cost of keeping mail and files online keeps rising."</comment>