Building a Regex Search Engine for DNA - <AUTHOR> http://benchling.engineering/dna-regex-search/?hn <comment><USER2> I don't know if there was any strict requirement to use Python, but you mention the difficulty in finding a library to parse regular expressions.

One of the many great features of the Rust regex crate ([https://doc.rust- lang.org/regex/regex/index.html](https://doc.rust- lang.org/regex/regex/index.html)) is that there's actually a regex_syntax crate that provides this parsing support ([https://doc.rust- lang.org/regex/regex_syntax/index.html](https://doc.rust- lang.org/regex/regex_syntax/index.html)), which can be used for purposes like this, to do alternative kinds of matching engines.

Rust's regex library also has pretty good DFA and NFA matching engines, and an Aho-Corasick engine for parts of the regex that can be decomposed into just a set of simple strings to match, as well as some fairly well optimized exact substring search to speed up search for expressions with some substring that must match exactly, so it can be fairly fast for the kinds of matches like your "TAG(A|C|T|G)GG" example.

Another, even more radical change, would be to build a finite state transducer of your data set, which you can then do regex matching on directly by taking a union of an automaton representing the regex and the FST representing your data (which is itself an automaton). I learned about FSTs from the author of the Rust regex crate: [http://blog.burntsushi.net/transducers/](http://blog.burntsushi.net/transducers/). An FST is actually used internally for certain types of searches in Elasticsearch/Lucene ([https://www.elastic.co/guide/en/elasticsearch/reference/curr...](https://www.elastic.co/guide/en/elasticsearch/reference/current/search- suggesters-completion.html)). I don't know if these would be suited to this problem as is by just building an FST from your set of sequences, or maybe using the overlapping subsequences idea to make FSTs from a larger number of shorter strings, but it would be an interesting project to explore.

<comment><AUTHOR> Insanely cool, thanks for sharing - this would be interesting to replace our final filter (if I'm interpreting correctly, a trigram index would still speed up the initial search)

And yeah, Python is a strict requirement since the rest of our code is in Python - figured it wasn't worth throwing in another language when a rough parser worked.

<comment><USER3> > (if I'm interpreting correctly, a trigram index would still speed up the > initial search)

Your trigram approach is roughly isomorphic to the FST approach. The main benefit of an FST is that it can store a huge number of keys in a very small amount of space that is still searchable without a separate decompression phase. In the case of trigrams with a low alphabet size, an FST probably isn't a big win. But say if you wanted to increase to a bigger N-gram for some reason, then perhaps an FST might help you out. It's true that Rust's fst library has a way to apply regexes to the FST for very fast search (Lucene also has this), but its subjects are terms in the FST, which in your case corresponds to trigrams. This means you still have to go through the "extract a set of trigrams from a regex to pre-filter on" dance.

And yeah, using the regex-syntax crate from Python would have been a fair amount of work. In particular, it still needs a C API before you can use it from Python, which would probably be a fair amount of grunt work.

In any case, as a computational biologist in a former life, this is very cool work. Nice job! :-)

</comment></comment></comment><comment><USER4> Bioinformatican here with couple years of bench experience. Nice writeup, but what would be the use case here? I would imagine something like automatically annotating motifs/restriction sites and then searching for them would be more useful than searching for near-exact sequence?

For example, finding all plasmids with a certain primer sequence, specific restriction sites, promoter motif...

<comment><USER5> Protein Structural Chemist (i guess) here and I'd like an even higher level 'regular expression' which would allow one to search DNA sequences likely to code for protein domains with likely secondary structure, (something like a string to search for "Secstruc" within "Exon Structure" [1]). The "likely" will always be a problem in these sorts of attempts; any genomics regular expressions should allow for the option of the statistical best hit.

[1] [http://www.rcsb.org/pdb/protein/P00918](http://www.rcsb.org/pdb/protein/P00918)

<comment><USER6> Have you looked at T-coffee? They have this new feature called expresso which might do what you want.

</comment></comment></comment><comment><USER7> I was going to say there was a faster way than regex, but I saw you were not actually using regex to parse in the way I first thought.

I work in a different domain, and I find custom state machines to the preferred way to do matching over large sets of data. Of course using something like compressed bitmap indices are also helpful.

<comment><AUTHOR> Yeah, I'm not too happy about how we're using regex inside a groovy script for the final matching - when we scale this to support larger matches we'll likely hit memory issues trying to parse the entire string at once, and I've been playing around with the idea of streaming the bases into a state machine. Is that similar to what you were referring to?

Do you have a way of generating state machines, or are they hand coded? Is it a perf optimization, or does it help integrating domain-specific logic?

<comment><USER8> What were some of the query features that caused you to choose Elasticsearch over pg_trgm, because pg_trgm supports regular expressions out of the box.

<comment><AUTHOR> We use ES for the rest of benchling search already, so that was the main reason why we stuck with ES (ngram indexing is pretty standard there).

As for why we were using ES for the rest of search: we were using it for things like language stemming, matching terms with "slop", things like {'minimum_should_match': '3<67%'} (require exact matches if 3 or less terms, 67% if more than that), searching _all to match anything in the document, etc etc. I think a bunch of these (maybe even all) you can do in PG, but it was way easier to get going with ES.

ES is also distributed, which makes scaling up and doing maintenance a lot easier - a bunch of times we just threw new nodes at it and remove old nodes that had gone bad.

</comment></comment></comment></comment><comment><USER9> Could HN help me with this.

I remember reading this really wonderful article on the levenshtein distance on HN 2-3 months ago.

basically I have difficulty understanding why the Wagner-Fisher's algorithm works - the intuition behind it - I remember it was dynamic programming but I really want to read that article again.

The format was similar to medium with wonderful diagrams :( I tried searching for it on HN but searching on HN is really difficult and it was my own fault for not saving it on Pocket.

I would really appreciate the help since it was one of those "better explained" gems.

<comment><USER10> Also curious, could it be one of these websites where they explain algorithms visually?

Have you tried [https://hn.algolia.com/?query=levenshtein&sort=byPopularity&...](https://hn.algolia.com/?query=levenshtein&sort=byPopularity&prefix&page=0&dateRange=pastYear&type=story) ?

<comment><USER9> oh wow ! didnt know there was a handy search engine for HN.

basically it explained 1-dimentional Levenshtein distance first.

That blew my mind since its much easier to think about the 1d case and then apply it for a 2d matrix.

but i remember reading only half-way through the article before had to do something else :( sorry - but I really want to read it again since it will really help me out at my work !

EDIT -

FOUND IT !

thanks a lot for that ! It was a god send !

[http://davedelong.tumblr.com/post/134367865668/edit- distance...](http://davedelong.tumblr.com/post/134367865668/edit-distance-and- edit-steps)

here is the link - you just made my afternoon !

EDIT 2 -

someone should write a book which explains all maths/algorithms concepts using just links to blog posts by most HN popularity - just a though :)

</comment></comment></comment><comment><USER11> Part of the way down the post links to Russ Cox's excellent writeup of how Google used this general sort of technique (turn a regexp into a bunch of conditions involving three-symbol sequences, search an index for them, work from there) to do regexp searching scalably for Code Search: [https://swtch.com/~rsc/regexp/regexp4.html](https://swtch.com/~rsc/regexp/regexp4.html)

You can peruse his open-source (re)implementation of the approach at [https://github.com/google/codesearch](https://github.com/google/codesearch) .

</comment><comment><USER12> You are still searching for char (256 values, 8 bit) when you only need 4 values (2 bit)? You know that cache misses dominate the search, so you need to compress the chars to 2 bit, and search in L1 cache size blocks. Esp. the inverted index will be much faster to search if compressed.

Furthermore those search terms are so highly specialized that you can easily jit the regex.

Why using the super slow python and not a fast language? I thought DNA matching is a big and important enough problem where you shouldn't toy around with dinosaurs.

[Edit: 3 -> 2 bit]

<comment><AUTHOR> Hm, unless I'm misunderstanding, the bottleneck here isn't running regex over all the sequences - it's in filtering out a large % of sequences before running a regex over the remaining ones. You're storing trigrams (3-byte keys) in an inverted index - compressing them won't get you much other than space savings. Re: caching, we're using Elasticsearch's bitmap caching to speed things up. If you search for something twice, the second time it'll take the cached bitmap from the first search and use that instead.

We use fast languages when we need them. Python is just parsing a regex to generate constraints - for DNA search, parsing a 1000-char regex is super fast and rarely an issue.

In this case, we're already at sub 100ms searches (usually sub 50ms) so I don't see much benefit from playing around with L1 caches and JIT-ing when higher-level structure already gives the perf characteristics we need.

</comment></comment><comment><USER10> Nice article!

BTW, Go has a very complete RE2 parser: [https://golang.org/pkg/regexp/syntax/](https://golang.org/pkg/regexp/syntax/) \- it even handles simplifications for you, I'm actually using it together with a RDPT in namegrep.com.

And in JavaScript you also have ret.JS: [https://github.com/fent/ret.js/](https://github.com/fent/ret.js/).

</comment><comment><USER13> Absolutely fascinating write up, stuff like this is why I still love HN, as a web developer who mostly writes line-of-business stuff this kind of programming is a long way from what I do but reminds me just how big the field is.</comment>


A VC: The Fiction of 20% - <AUTHOR> http://avc.blogs.com/a_vc/2007/10/the-fiction-of-.html

<comment><USER2> Great Line:

The scarce resource in the venture capital business is great entrepreneurs with cutting edge ideas willing to work 100 hour weeks turning the ideas into businesses. The scarce resource is not capital

</comment><comment><USER3> I always felt that VCs continue to spread the 30% minimum ownership myth to manipulate the expectations of entrepreneurs seeking funding. Good to know that my gut feeling was right.

</comment><comment> daniel-cussen Up to a point, the more VC's ask for, the less leverage the entrepreneur has to make his fortune, and the less he cares.</comment>


AI's new workforce: the data-labelling industry spreads globally - <AUTHOR> https://www.ft.com/content/56dde36c-aa40-11e9-984c-fac8325aaa04 <comment><USER2> Can't get behind the paywall - anyone so kind as to summarize the key points?</comment>


Front End Interview Handbook - <AUTHOR> https://yangshun.github.io/front-end-interview-handbook/ <comment><USER2> This looks like a great checklist when you're implementing a multi-lingual site for example. But for a developer interview, this is just terrible.

This is not the way to find out if someone can and has experience to build complex shit that is easy to manage(also by others). This whole assessment model is totally deprecated (if it ever worked at all).

</comment><comment><USER3> One thing I really miss out here: questions around behavior, especially motivation.

I conducted more than 200+ interviews as a department lead and for me the single most important skill in an ever changing frontend landscape is enthusiasm and motivation.

How do you keep up with the current trends? Name some? Ain't it tough to learn new stuff all the time? How do you deal with fatigue in this regard?

What blogs/authoers do you follow? Do you work on Open Source or private projects in your spare time? What is the current version of ECMA, Framework etc. and when does the next come out? Name 3 of the last things you learned this year as a developer.

These questions really make enthusiasts shine. If I had to choose motivation over knowledge, I would always opt for highly enthusiastic people over knowledge people. Former will easily surpass the later.

Besides that I like this idea. Very good!

<comment><USER4> No I'm not going to eat sleep and breathe development. It's a job to me. I'm not going to work 40 hours a week in front of a screen and then come home and "contribute to open source."

I will read blogs and listen to podcasts for whatever area that I choose to specialize, but I'm not going to spend time actually investigating it outside of work.

If you as an employer deem it important for your employees to keep up with the latest trends and contribute to open source, allocate some time during the day.

But, I guess this is also the reason I abandoned the clusterf%%% of modern front end development almost 10 years ago and just try to stay somewhat current with JS.

<comment><USER5> I definitely agree with this sentiment. However, if there is any development job where enthusiasm would be of a benefit, I would think the front end is a good candidate. I imagine it also depends on the culture of the workplace, too. Some may favor the "trends" that are associated with the web, while others may just want somebody as you describe.

I do not hire developers, but I can imagine that with the lower barrier to entry for front end jobs in 2020, companies have a difficult time differentiating all the new grads/bootcampers/self taught developers. It's almost teetering towards the same conversation as the leetcode problem -- merely finding a way to cut the pool of candidates given the vast amount to begin with.

</comment></comment></comment><comment><USER6> Perhaps you can add something about ARIA tags (accessibility).

Much of the web could improve in terms of accessibility.

<comment><USER7> A subject not covered nearly enough!

</comment></comment><comment><USER8> This just seems to be a list of answers to common "trivia" questions, which are becoming much less popular in interviews, and often are just one part of it, rather than a guide to a whole interview

<comment><USER9> The JS section isn't bad but I agree on most of the HTML and CSS sections.

</comment></comment><comment><USER10> This is already quite dated. Most of the content is geared towards the state of JS in 2013-2015.

<comment><USER11> Can you write a quick list of missing concepts ?

<comment><USER12> I interview for front-end at a big company (actually a different title, but effectively front-end engineers) and we explicitly do not ask trivia questions, which is what this guide focuses on. I might ask warm-up questions like "a customer says they click a button on the page and nothing happens, how do you investigate?" and that's it. The entire rest of the interview (1hr) is spent on a coding problem where we both walk through and discuss solutions, and I let them code and we talk about their code.

I truly believe that experienced engineers can learn 1000x more about someone's skillset in the first 5 minutes of them coding than any amount of trivia questions.

</comment></comment></comment><comment><USER13> I think that it would be good for this to have questions about HTTP as well, such as status codes, caching, and content negotiation.

</comment><comment><USER14> Lets be honest: if you can copy and paste from w3 schools you can probably be a front end web developer.

<comment><USER15> Are you talking about building a 90s-style website or something like Figma?

<comment><USER14> I wish people would _only_ build 90's style sites.

The way things are going is bad, here are some example sites that I find particularly difficult to use:

        - new reddit (old reddit is much, much better)
        - parley (yes, the "free speech" twitter) has a terrible UI. it takes like a year to post a tweet and you wait like 30 seconds for some dynamic spinning progress dialog to go away

The web was not invented as an application development platform. I think we have gone too far with web applications. Good web apps are simple and have low complexity. Once you start trying to make it really "modern" and fancy you're shooting yourself in the foot because of all the browser quirks. The more you use heavyweight frameworks, the more complex and crufty your work becomes.

With that said I do see the appeal because there aren't many good desktop UI frameworks either. I've worked with Qt enough to know it's plenty frustrating. On the other hand, if it's so easy to make a portable web app, why do we have things like Electron that ship a _browser_ with your web-app, aside from native experience? Wait, did I dare say: native experience, is valuable?

We are well past peak web app, we are even past peak mobile app. What even makes an app, an app? Is it that it's tailored to a smaller purpose than more general applications? Would you call Microsoft Visual Studio an app? Probably not. Is it good software, yes. Is Vim an app? I don't think I'd call it that. How about 'cat'? Nah... Apps are tailored to a specific business purpose rather than a more general use case.

Apps are a fad, but good software tools are not a fad. Build good tools, don't build apps (unless you're paying the bills)

<comment><USER15>
      > Would you call Microsoft Visual Studio an app? Probably not.

Yes. Visual Studio Code is a good example of a high-quality web app built by front-end developers.

'App' is a shortening of 'Application' popularised by iOS.

The state of the art in UI Engineering, is everything that used to be done in C++, but on the web/cross-platform using a mixture of JavaScript and WebAssembly.

Anyway, my point is that you are shitting on front-end development, yet there are front-end engineers out there developing high-quality software, and it is difficult: it requires a lot more ability than just copy-pasting from W3 Schools.</comment></comment></comment></comment>


Code As Craft - <AUTHOR> http://www.avc.com/a_vc/2010/02/code-as-craft.html

<comment><USER2> _YES!_ A VC who gets it.

His self-promotion is much more palatable when he also promotes our efforts ^_^.

Includes references to Etsy and Twitter blogs and several postings (e.g. "Anatomy Of A Fail Whale", "Making Disqus Faster").

Some good comments as well (ignoring the hate directed at Etsy).</comment>


Pushing on String: The 'Don't Care' Region of Password Strength - <AUTHOR> http://cacm.acm.org/magazines/2016/11/209115-pushing-on-string/abstract <comment><AUTHOR> Behind paywall but there's a "This is the author's copy for personal use" available at microsoft.com</comment>


Show HN: GitHub user search engine - <AUTHOR> http://www.wearedomino.com/github <comment><AUTHOR> We've built a Github user search engine to help people find great developers based on their Github activity. We've improved upon Github's own user search in a few ways:

1\. We filter out the stuff that doesn't matter: We filter out forked repos that weren't built on, and only display code that's relevant to the search query.

2\. Expanded ranking & sorting options: Developers can be sorted based on how many code contributions they've made, how many watchers their code has, or how many times their relevant code has been forked, giving you a quick way to find the most prolific coders for the technology you need, or the code most endorsed by their peers.

3\. Improved location search: You can search accurately for developers within any city, metro area, region, or country.

4\. A single click to view your code: We link directly to a developer's relevant repositories.

The search engine today includes over 40,000 Github users who have more than 50 followers. Together they've created over 470,000 repositories, with more than 12 million commits, and 14 million watchers.

We can only improve the product with your feedback and criticism, so please don't hold back. :)

<comment><USER2> Looks really cool, great work dude.

<comment><AUTHOR> Thank you, Dave. Don't forget to search for yourself! ;)</comment></comment></comment>


Congratulations HN: 10M posts and comments - <AUTHOR> https://news.ycombinator.com/item?id=10000000 <comment><USER2> Well played.</comment>


What advice would you give to your younger self to build a successful career - <AUTHOR> Might be a cliched question but I saw there's been discussion of career do overs today, and I'm very curious about the missed chances, epiphanies and realizations that experienced people have had over their careers. Do you consider yourself successful now? Knowing what you know now, what advice would you give to the younger you, who's just a couple of years into the workforce? <comment><USER2> Fucking get your degree in three fucking years and just forget about it.</comment>


Lucid lets shoppers customize cars like a video game character - <AUTHOR> https://techcrunch.com/2020/09/09/lucid-lets-shoppers-customize-cars-like-a-video-game-character/ <comment><USER2> Reading this article makes my head hurt. Has this techcrunch writer never been to a car website before or played an RPG? There is nothing special about the LUCID car builder. If you say something like "like a video game character" I'd expect something nuts like being able to adjust body panels or the height or specific colors for specific areas. You know, like how you can in video games.

<comment><USER3> I don't know, I make games for a living and I'd probably describe it that way. I got major NFSU vibes from it.

I haven't seen any 3D configuration tools for cars, but I haven't been looking either. What other brands do it like this?

Which isn't to defend the site. I went in to it wanting to be excited by it, but found the experience to be poor.

<comment><USER2> I think my favorite is by Genesis. There are a few others with 3D models. The only point I was making is LUCID isn't the first to do it and so it's not nearly as special as the article made it out to be.

Give me an option to put graphics, underglow, and a sweet body kit on my next car then I'll agree it's like a NFS game :)

<comment><USER3> Oh wow, Genesis is very similar, and much better done. You're totally right that this isn't special.

I think the Lucid environment and models are much higher detail, but that's probably the reason why Genesis runs in the browser and Lucid is streamed as video. And the streaming makes the experience _awful_.

My guess for what happened is the team built a demo for fancy VR sales kiosks that run a 2080 Ti, and porting it to the web was an afterthought.

Given that the CEO is also the CTO, and the page is an important part of the sales process, I'd go as far as to consider it a minor red flag.

They should put underglow options behind the Kanomi code :)

<comment><USER2> Agreed on the streaming issue. Especially noticeable on a phone. Genesis vs Lucid is night and day. Lucid is a big lag fest.

You know if someone actually used the Konami code on a car builder for an easter egg like that it'd totally sway my purchasing decision even if it was just for fun.

</comment></comment></comment></comment></comment><comment><USER4> Quite cool, but not sure, it's not very performant for me and blurry on 4K monitor.

I like Porsche's configurator alot more, and there's probably a handful other brands which do the same.

[https://cc.porsche.com/icc/ccCall.do?rt=1599986692&screen=25...](https://cc.porsche.com/icc/ccCall.do?rt=1599986692&screen=2560x1440&userID=EG&lang=en&PARAM=parameter_internet_en&ORDERTYPE=982121&CNR=C16&MODELYEAR=2021&hookURL=https%3a%2f%2fwww.porsche.com%2fuk%2fmodelstart%2fall%2f)

<comment><USER3> It appears to be rendered on a good GPU, and streamed over as video. They should _really_ consider doing it in WebGL with static images if they detect the graphics card is not capable.

I can I'd be impressed with the experience if it were rendering locally (on a 4k monitor with a 2070), but in its current state it is just not good.

</comment></comment><comment><USER5> Cars are dumb. There's no better car than a 3-year-old used corolla/Prius/soul/fit/Mazda3/versa/civic/etc.

Any sort of electric car won't touch these cars' pure economic advantage for probably a decade if not longer or ever.

I don't really care how good the buying experience is. The best buying experience is the one that doesn't charge me more than $10,000-15,000 for a reliable form of transportation.

Funny how we didn't even know who Lucid was until this week. Then again, I don't have to know who they are to know who they are: an off-brand Tesla knock-off.

Electric cars are cool but they aren't the solution to the mistake of automobile-based suburban-style development.</comment>


Washington Post starts Facebook ad agency - <AUTHOR> http://www.bizjournals.com/washington/news/2011/01/19/post-starts-facebook-ad-agency.html <comment><AUTHOR> Company named is called "SocialCode," but spoiler: it doesn't do any social coding.</comment>


1Password Is Coming to Linux - <AUTHOR> https://www.zdnet.com/article/1password-is-coming-to-linux/ <comment><USER2> One thing I never got about _premium_ password managers is the question of: If I stop paying for the subscription, do I still get to access my secrets? I imagine there is still some grace period to backup your stored secrets, but I still think PW managers should offer a free tier so that you can be assured you will still be able to access your secrets, regardless of payment obligations.</comment>


ni: A better `npm install` - <AUTHOR> https://github.com/imkimchi/ni <comment><USER2> I think a better NPM Install would be something closer to what Yarn does with how it de-dupes and deterministically lays out the node_modules folder.

<comment><AUTHOR> I was just trying to make a third party module out of npm, not making another dependency management. btw It'd be good to add the dedupe feature. appreciate for the feedback !

</comment></comment><comment><USER3> So, how does this really differ from npm and yarn? I think there should be a comparison table on the readme, that would really help.

<comment><AUTHOR> It's not a whole another package like yarn. It just works the same as npm install, but better than original.

</comment></comment><comment><USER4> "Ni"? And no Monty Python jokes yet???

</comment><comment><USER5> What is meant by an "unspecified dependency"?

<comment><AUTHOR> @yladiz explained it well. I had to minimize the words to a single word like "unspecified". seems like you struggled with understanding what it really means, Is there any recommendation to change?

</comment></comment><comment><USER6> I really like the spinner. Clever.

<comment><USER5> [https://www.npmjs.com/package/ora](https://www.npmjs.com/package/ora)</comment></comment>


A shift in China to less toxic coatings for containers increases shipping costs - <AUTHOR> https://www.bloomberg.com/news/features/2017-06-26/an-environmental-push-is-rocking-the-global-shipping-industry <comment><USER2> What happened to the glut of Hanjin containers after the bankruptcy? Those things were piling up in ports around the world.[1] Back in February, creditors were trying to dispose of them.

[1] [https://www.wsj.com/articles/hanjin-creditors-fighting- over-...](https://www.wsj.com/articles/hanjin-creditors-fighting-over-who-can- sell-shipping-containers-1487887301)

</comment><comment><USER3> According to a factory I discussed painting options with in Dongguan (near Shenzhen) recently, local environmental pollution regulations have made traditional approaches to anodized steel powder coating (my inquiry) effectively illegal. The processes are still 'available' through amorphous parties (no discussion of distance or environmental regulation legality). However, that's coming from a factory so take it with a grain of salt. My takeaway, if any, would be this is part of a broader shift toward stronger environmental protection efforts led by forward-thinking regional governments, not Beijing.

<comment><USER4> Correct me if I'm wrong, but I thought Beijing sets the broad emissions/pollution targets and then leaves it up to the regional governments to decide how to make it happen. If the regional leadership does well they get rewarded, and if they fail they get replaced.

</comment></comment><comment><USER5> Side note: at places like automotive plants where solvent based paints are applied in the US, you are required to "burn" the air to reduce the VOC (Volatile Organic Compounds).

If your VOC burner is off, you can't paint cars - the EPA levies a SERIOUS fine, like thousands of dollars a minute.

Even with the VOC burner on, paint shops always smell funny.

<comment><USER6> I thought the auto industry had mostly already switched to waterborne paints in the past decade or so. (Maybe the changeover is still not complete?)

<comment><USER7> Waterborne paints can still contain high levels of VOCs

<comment><USER5> High compared to water, but not compared to solvent based paint.

<comment><USER8> Err, 100% false.

If you helped with the changeover, you should know this.

VOC is not the same as HAPS.

(Nor is VOC in any way related to how harmful the compounds are to people)

Trivial example: Acetone is VOC exempt in the US.

It's pretty trivial to make a 0 VOC solvent based coating using acetone.

They tend not to because it's not horribly friendly to use, due to, among other things, how quickly acetone flashes off.

In truth, water based or solvent based doesn't really change the VOC level _that_ much these days, nor would it really matter to _people_.

A lot of the auto paints are 2k urethanes. a 2k water based polyurethane is still gonna be isocyanate + something else.

It doesn't really matter whether it's 0 VOC or not. You are going to use a supplied air respirator (minimum) because breathing isocyanate is a really bad idea.

So the idea, often floated, that lowering the VOC helped people's occupational exposure, is usually unsupported by evidence, at least in the auto industry (i'm only familiar with wood and auto :P).

The auto industry did not used to spray water based 2k urethanes. Now they do. Spraying and breathing a post-cat lacquer with n-butyl acetate in it + some acid, is infinitely better for you than spraying + breathing a water based 2k urethane with isocyanate in it.

Are there cases it ended up better for people? Sure, of course. But most of that is completely and totally independent of VOC content.

Because of course, most coatings manufacturers, surprise, optimized for legal VOC content, often at a cost to harmfulness to humans.

Note that, of my professional wood coatings, my water based and solvent based still have exactly the same amount of VOC (2.75lbs). Are there some that don't? Sure. They are mostly crap, because nobody has come up with magic ways to dissolve or emulsify various polymers and catalysts :)

So i can't get a water based post-cat conversion varnish that is anywhere near as good as a solvent based one. The chemistry to do it simply doesn't exist.

I can get a water based 2k urethane that has as nice (or nicer) properties than that conversion varnish, but at a high possible cost to my health. I'll pass.

<comment><USER5> I was involved on the IT side, not the materials side. I was probably thinking of hydrocarbons, not VOC.

Also as far as I know, the clear coat is still solvent based, but I may be mistaken about that.

Thanks for the detailed comment.

</comment></comment></comment></comment></comment></comment><comment><USER9> It feels weird when ever I read stuff where China is doing things to improve or protect the environment where as US is doing the opposite. Like we are living in a mirror world.

<comment><USER10> How is the US not improving as well? Renewable energy usage went up from ~9% to ~13% from 2002 to 2013[1]. The growth in photovoltaics continues[2]. The portion of electric cars as part of the fleet is going up[3] etc.

It is true that the US could be doing better, but it's not doing the opposite of what China is doing when it comes to energy & environmental improvements.

1\. [https://en.wikipedia.org/wiki/Renewable_energy_in_the_United...](https://en.wikipedia.org/wiki/Renewable_energy_in_the_United_States)

2\. [https://en.wikipedia.org/wiki/Growth_of_photovoltaics](https://en.wikipedia.org/wiki/Growth_of_photovoltaics)

3\. [https://en.wikipedia.org/wiki/Electric_car_use_by_country](https://en.wikipedia.org/wiki/Electric_car_use_by_country)

<comment><USER11> Trump just pulled out of the Paris climate accord. It was in the news for days?

<comment><USER12> Trump may make the national optics look bad, but that doesn't change the optics completely at the state and city level.

For instance, on the renewable energy angle, according to the American Wind Energy Organization, five states now regularly generate 20%+ of their energy from wind. ([http://www.awea.org/MediaCenter/pressrelease.aspx?ItemNumber...](http://www.awea.org/MediaCenter/pressrelease.aspx?ItemNumber=9999)) That number would've been unthinkable 10 years ago.

(Note that the windy states tend to be Republican voting rural mid-west ones. That doesn't mean that Trump isn't going to stop mocking wind energy (as he just recently did). Rather, it does mean there is bipartisan support in these states for wind energy, and that Trump's negative comments on wind in Iowa didn't go down very well with Iowans and Iowa politicians from both sides of the aisle -- [https://apnews.com/a2b500b82d5a44eeb9759ca31d0b4a33](https://apnews.com/a2b500b82d5a44eeb9759ca31d0b4a33))

Having a national leader that seems hostile to anything environmental certainly doesn't help matters, but it's not all doom and gloom.

</comment></comment></comment></comment><comment><USER13> There's nothing in this article about why the containers need to be painted. Could the shipping companies just paint their logo on rather than painting the whole container and save a bunch of money?

<comment><USER14> A coating of some sort is probably necessary to limit rust and keep the containers is good shape longer.

<comment><USER6> My understanding is that shipping containers are usually made of COR-TEN steel, which forms a protective layer when it does rust (similar to the protective oxide layers that form on aluminum and stainless steel). But considering the containers are exposed to sea salt spray pretty much continuously, it makes sense that the additional protection of a coat of paint is necessary.

<comment><USER15> No, that's not going to work.

 _CLIMATES NOT TO USE COR-TEN®:

COR-TEN® steel requires alternating wet and dry cycles to form a properly adhered protective layer. Areas that have salt laden air, high rainfall, humidity, or persistent fog are typically not the proper environment for COR- TEN®._

[http://www.corten.com/frequently-asked- questions.html](http://www.corten.com/frequently-asked-questions.html)

<comment><USER2> Aware of that one. The trail bridge at Pilarcitos Creek on the California Coastal Trail in Half Moon Bay was made of unpainted Cor-Ten steel. That will not last in the coastal zone, where it never dries out. The bridge collapsed when park staff drove a tractor across it.[1] No injuries, but the heavily used trail was out for most of two years.

The new bridge is made of marine-grade aluminum.

[1] [http://www.hmbreview.com/news/groundbreaking-for-coastal- tra...](http://www.hmbreview.com/news/groundbreaking-for-coastal-trail- bridge/article_5211eb44-6791-11e5-98ef-bb4dfb1108b4.html)

</comment></comment></comment></comment></comment><comment><USER16> All these labor intensive jobs that involve exposure to toxic chemicals should ALL BE replaced by industry robots, no?

</comment><comment><USER17> Is there vertical integration in the shipping + container industry?

I imagine Hyundai, Maersk, etc. could buy or start some container manufacturers, but it sounded like in the article that they were just going to unhappily deal with it.

<comment><USER18> Maersk used to produce their own refrigerated containers. I think this has stopped as Chinese manufactures are just way cheaper than doing this yourself. Maybe the highly specific 'super freezer' containers (stuff to transport fish at - 60 Celsius see [http://www.maerskline.com/~/media/maersk-line/reefer- cargo/f...](http://www.maerskline.com/~/media/maersk-line/reefer- cargo/frozen/superfreezer.pdf)) are still created themselves, but doubt it.

Regarding this article: either you lease more containers to handle a peak season, or you choose to just have a bigger container fleet. I question if it really makes sense to lease containers only during a peak season. If you already bought those containers last year then increased prices this year doesn't affect things as much as this article pretends: you still have your entire container fleet. Containers yet reused and written off over many years (e.g. 8+.. though just guessing), it is not a one-off activity!

</comment></comment><comment><USER19> FTFY, Bloomberg: "A shift in China toward less toxic coatings for containers has shifted costs from health care costs for employees to shipping costs for customers"

<comment><USER20> Ok, we inserted 'shipping' above.

<comment><USER19> Thanks! My comment was more directed at the Bloomberg article and authors, which institutionally see situations like this as a "cost increase" because they don't consider the existing environmental/ health consequences to workers as a "cost" (but of course it is).

But I appreciate you taking my comment seriously.

</comment></comment></comment><comment><USER21> Except it had no day to day change for 4 years. And he wont be here in 4 years.

<comment><USER22> "I continue to believe Mr. Trump will not be president" \- Barack Obama</comment></comment>


Apple in Talks to Buy Cobalt Directly from Miners - <AUTHOR> https://www.bloomberg.com/news/articles/2018-02-21/apple-is-said-to-negotiate-buying-cobalt-direct-from-miners <comment><USER2> Apple actually does this with a few different commodities. It sources Aluminium directly from mines and smelters in Australia [1], and prefers these type of deals over buying materials on dubious secondary markets like it is forced to do for Tantalum for batteries [2]. Before he became CEO, Tim Cook ran the entire supply chain for Apple and before that for HP/Compaq and he became a master of doing big deals to lock up global materials supplies to make it much harder for competitors to compete [3]. As a consequence Apple is known to have one of the most efficient large scale supply chains in tech.

[1] [https://www.businessinsider.com.au/how-apple-forced- microsof...](https://www.businessinsider.com.au/how-apple-forced-microsoft-to- build-a-tablet-2012-6)

[2] [http://www.newsweek.com/2015/02/13/where-apple-gets- tantalum...](http://www.newsweek.com/2015/02/13/where-apple-gets-tantalum- your-iphone-304351.html)

[3] [http://fortune.com/2009/02/19/report-apple-has-cornered- the-...](http://fortune.com/2009/02/19/report-apple-has-cornered-the-flash- memory-market/)

<comment><USER3> You kind of expect, with their possibly the best supply chain teams and economy of scale, Apple will be getting some advantage over other players. Example they are possibly the largest NAND and DRAM purchasers, and yet it doesn't seems to be reflected in their product. I.e the NAND prices for Apple should be cheaper then say Lenovo, HP or Dell.

I have had the same theory about Apple's diseconomies of scale long before Gruber publish it [1], although we may have no way to prove it, this Cobalt story may just be another example. Apple are willing to pay a premium for it, as long as the supply is stable.

[1] [https://daringfireball.net/linked/2017/07/17/iphone-2017-sne...](https://daringfireball.net/linked/2017/07/17/iphone-2017-snell)

</comment></comment><comment><USER4> This seems less about scarcity and more about Apple protecting their brand.

> ...child labor is still used in parts of the mining industry.

> ...Apple has stepped up its engagement with cobalt suppliers after the > origin of the metal in its supply chain came under scrutiny from human > rights groups.

A great many of Apple's customers care a lot about this kind of thing. Also, Apple may genuinely feel like they're obligated to be a leader in this area.

<comment><USER5> I'm not saying it doesn't happen, because it probably does, but it would be a surprise to me if using child labour is really cost competitive. I'd expect a couple of small and desperate suppliers. Do you have a link handy?

Mining for bulk materials (iron ore, coal, copper, aggregates, etc) is going to be 100% mechanised at the scale that big buyers are interested in. If cobalt is still mined by the vein then maybe child laborers get used because they are smaller, but as battery production is getting serious child labour just won't work.

Take gold; you couldn't supply gold to a bullion bank with child labour because they do not produce fast enough. Big gold suppliers are happy with an orebody with grades measured in parts per million, and child cannot move a tonne of dirt as quickly, cheaply or consistently as a machine.

<comment><USER6> > Mining for bulk materials (iron ore, coal, copper, aggregates, etc) is going > to be 100% mechanised at the scale that big buyers are interested in.

Why do you assume that? It seems to be not the case for cobalt: [https://www.washingtonpost.com/graphics/business/batteries/c...](https://www.washingtonpost.com/graphics/business/batteries/congo- cobalt-mining-for-lithium-ion-battery/)

Mechanization makes sense in much of the world because there is a high up front cost, but the ongoing costs are dominated by energy and maintenance costs. If those costs are higher than the general labor cost then why would you mechanize?

Congo has been dominated by civil war for a long time, that generally depresses the cost of labor.

<comment><USER5> > Why do you assume that?

I'm a mining engineer. If a western company has a choice between using manual labour and mechanised they will choose mechanised because it is cheaper, faster and more reliable. They don't care what the law is, because human mining is barely competitive even at small scales.

Yes, it is a fact that there is child labour is used in some third world mines. I'm observing that it doesn't make sense to me that it is large-scale, because it only makes sense if the margins are huge, the volumes physically small and if there is an impoverished workforce.

If Apple is going to negotiate with someone directly, it doesn't make sense to me that that someone using child labour, because purely economically they shouldn't be cost effective. They would be a marginal, higher-cost producer. Isn't there a more cost-effective producer that Apple could negotiate with?

If there is a situation where human labour is cost effective at a scale Apple finds interesting, I am professionally curious because I didn't expect it to be possible. Hence a request for links. Even before negotiating, are their suppliers of serious quantities of cobalt that use human labour?

</comment></comment></comment></comment><comment><USER7> Maybe it's time to reopen the cobalt mines close by here [1]. Today it's a museum but at one point it supplied 80% of the worlds cobalt needs, mainly for colouring.

I wonder at what price level it would become profitable again. It was closed in 1898.

[1][https://en.wikipedia.org/wiki/Blaafarvev%C3%A6rket](https://en.wikipedia.org/wiki/Blaafarvev%C3%A6rket)

<comment><USER8> Long-term contracts are one of the better ways to encourage new supplies. There are a couple of new lithium mines in the US/Mexico which opened after signing contracts with Tesla.

Cobalt is a small enough % of the price of things that use LiIon batteries that it's a good candidate for paying extra to ensure a reliable, non- conflict-area source.

</comment></comment><comment><USER9> Poor Gorillas.

Their habitat is threatened by rare metal miners in Congo.

It was already bad without electric cars, just with phone battery demand.

[42] [http://www.wired.co.uk/article/grauers-gorillas-bushmeat- con...](http://www.wired.co.uk/article/grauers-gorillas-bushmeat-conflict- minerals-technology)

[64] [http://www.mining.com/illegal-mining-in-congo-wiping-out- gor...](http://www.mining.com/illegal-mining-in-congo-wiping-out-gorilla- populations/)

</comment><comment><USER10> Where are these new battery technologies that are invented every 6 months, according to the news?

<comment><USER11> They are in your phone.

10 years ago it was almost impossible to find a phone with a battery of over 1500 mAh. Today the standard size is 3000 mAh.

While the capacity has doubled, the volume of the battery has stayed the same or diminished.

There are phones with 5000, 6000, and even 10000 mAh batteries on the market today.

That's how I know that everyone complaining about thinner phones and reduced battery life is kidding themselves.

Thinphones are the top sellers, thickphones with batteries that last for days are not.

<comment><USER12> > thickphones with batteries that last for days are not.

Point me to a recent one with a recent build of Android that receives regular security updates from a reputable builder and I'll buy it immediately. I'd line up outside a building like it was Black Friday to buy a Galaxy 8 or Pixel 2 with an integrated 10000mAh battery.

But, alas, this magical unicorn "thickphone" doesn't exist on the market, even if some random Chinese manufacturer that will be gone tomorrow makes one with a four year old SoC and a three year old build of Android with no security updates since the phone's release two years ago...

<comment><USER13> lg v20 with an aftermarket battery. I regularly go three days without charging.

</comment></comment></comment></comment><comment><USER14> Which cobalt mining companies in particular is Apple engaging with? Any on the NYSE?

<comment><USER15> I'd guess Nevada Sunrise. Get to em before Tesla does...

</comment></comment><comment><USER16> This is scary and shows the growth of electric cars might not scale. The world's richest company, Apple, is buying up supplies of a dwindling resource that anything that uses a battery needs. This is the boost for others to research other car technology or a new battery that is always 10 years away for the last 20 years.

<comment><USER17> Mining guy. Don't be scared there is plenty of cobalt. HPAL tech has come a long way and plenty of laterite Ni-Co around the place. Lots of it close to the surface too.

I'm working on with a couple of companies already reviewing old drill cores for Co.

<comment><USER18> _Mining guy. Don't be scared there is plenty of cobalt_

Recycling could also easily kick into gear if/when prices rise high enough. See one of my favorite recent books, _Junkyard Planet_ , for more: [https://www.theguardian.com/books/2014/jan/18/junkyard- plane...](https://www.theguardian.com/books/2014/jan/18/junkyard-planet-adam- minter-review)

Right now, many people don't bother recycling older phones and laptops because they can't get any money for them. If/when prices go high enough, we'll see recycling kick into high gear. The day you see Best Buy advertise "$10 for any phone!", you'll know we're actually seeing a sustained price rise.

<comment><USER16> Actually, it cost money in my city to throw away any electronic item. So either you pay for it to get thrown away on "Electronic Trash Day" or you hide it in the trash.

</comment></comment></comment></comment><comment><USER19> I don't see how this helps with the child labor problem that they were criticized for by Amnesty International. How do you "buy directly from the miners" and verify that the miners are actually the miners doing the work? I mean, is Apple going to send people into the mine to buy the ore as it falls from the pick?

<comment><USER20> No, but they will have unscheduled and unannounced visits to the mines to ensure that the workers there are not children. Unless the mining company somehow has a mole working inside the company, it'll be hard to react that quickly to a surprise visit. That's what they do with their other suppliers that they have direct connections to. They're attempting the same with Foxconn and, supposedly, it's improved the conditions for those workers significantly.</comment></comment>


The Photoshop of Sound - <AUTHOR> http://www.newyorker.com/magazine/2015/02/23/wizards-sound

<comment><USER2> John Meyer was one of the first people to analyze contemporary problems in large-scale sound reinforcement from a purely scientific standpoint. For example, Meyer and and his friend and colleague Bob McCarthy created the SIM [1] audio analyzer, which allows sound designers to optimize systems using tools other than their ears.

[1]: [http://www.meyersound.com/product/sim/sim3/](http://www.meyersound.com/product/sim/sim3/)

EDIT: if anyone has any interest in the topic of sound system optimization, I can elaborate a bit. These days, system tuning can be an incredibly cool and very scientific process.

<comment><USER3> What can be achieved in a home set up with a DAW, a mic, and free tools? Is there any point?

<comment><USER2> Getting into the physical meat of it is tough, since most of the tools we use (measurement microphones, high-quality AD/DAs, software, etc.) are expensive. The theory can be a bit more accessible – though like most things, it often doesn't click for people until they get a chance to do it themselves.

The industry standard textbook, were something like that to exist, would be Bob McCarthy's "Sound Systems: Design and Optimization: Modern Techniques and Tools for Sound System Design and Alignment." [1] It's dense, but a great read, and should be accessible for people with a decent knowledge of the concepts behind FFT and basic signal analysis.

If you're just looking to play around a bit, you could try downloading a demo of SMAART 7 [2] from Rational Acoustics. It's basically a soft dual-channel FFT analyzer. We use it to compare a generated signal (usually in the form of pink noise [3]) with a returned signal (a copy of that signal sent to a speaker and returned to the analyzer through a reference microphone.) By comparing these two signals, we learn basically all we need to about how sound is acting in a given space: we know it's latency; it's frequency response due to signal processing, the physical nature of the speaker cabinet, and air loss; and it's phase response due to the same. The difficult part of the process is interpreting that data and using it to make informed decisions about how and where to modify signals and speaker positions.

[1] [http://www.amazon.com/Sound-Systems-Optimization- Techniques-...](http://www.amazon.com/Sound-Systems-Optimization-Techniques- Alignment/dp/0240521560)

[2] [http://www.rationalacoustics.com/store/smaart.html](http://www.rationalacoustics.com/store/smaart.html)

[3] [http://en.wikipedia.org/wiki/Pink_noise](http://en.wikipedia.org/wiki/Pink_noise)

<comment><USER4> Is this somewhat similar to how Audyssey's MultEQ (which my surround receiver has) works? What is your opinion of that product? I can't imagine it uses a very expensive microphone. The receiver was only about $500.

</comment></comment></comment></comment><comment><USER5> Great article, but I wonder if Meyer signed off on the title's clumsy metaphor. Sampling a noise signature and feeding the profile back into a room is nothing like any Photoshop application process I know of. Besides, if we're talking about retouching, then isn't it pretty common knowledge that professionals now use Lightroom?

<comment><USER6> The metaphor is fine. An aspiring musician could take a photograph of them performing at the local town hall and _Photoshop_ it to make it look like they're playing Carnegie Hall. This sort of image manipulation is still done in Photoshop. It's not possible in Lightroom.

(By the way, the full product name is _Photoshop Lightroom._ Just sayin'.)

<comment><USER7> I think the main point of the comment about the metaphor it was not about lightroom versus Photoshop, but rather that real-time acoustical processing has very little to do with retouching an image, conceptually.

The true "Photoshop of sound" would be something like Logic. Something comparable to what this guy creates, for video, would be more like a real time signal processor, whatever programs are popular for that. But I suppose it wouldn't make a good headline as few would understand a reference to a popular program for real-time video processing.

<comment><USER6> Fair call, however I'd argue in that case your objection is to the word _sound,_ not _Photoshop._

How about "The Photoshop of acoustic spaces"?

<comment><USER7> That's suggestion has made me rethink my interpretation. I was rejecting 'photoshop' applied to sound because sound is a medium that necessarily involves time, like video, whereas a single frame 2d image has no notion or possibility of time being involved.

However, in rethinking this, one could make an valid analogy of a 'photoshop filter' applied to the acoustic design of a restaurant. Given that the restaurant's layout is static, it's more like a filter on a 2-d single frame image than a filter applied to dynamic sound or video.

</comment></comment></comment></comment></comment><comment><USER8> Many people have sensory perception issues where loud, noisy environments can be difficult to cope with. I personally can feel quite stressed and burnt out after a couple of hours in a noisy restaurant, trying to hold a conversation. I even try and avoid shopping centres at busy times, or cubicle farms for that matter for similar reasons.

</comment><comment><USER9> How much of this can't be accomplished simply through use of materials -- a modest amount of sound-absorbing material and avoiding hard surfaces goes a long way.

To say nothing of avoiding the practice of many restaurants and "social spaces" of piping _additional_ noise into the space.

Acoustical tile (or wall hangings) represent a far lesser surveillance threat.

<comment><USER10> Having worked in many restaurants in college I noticed how much louder some were than others simply by using carpet. I pay attention just for fun and having carpet and breaks between areas (either high backed booths, plants or complete walls) makes a huge difference. Also the height of the ceiling and whether it's dampened or not.

We used to do the whisper trick at a mexican restaurant I worked in. You could eavesdrop on conversations if you mapped it out properly. Sadly a customer could also hear you talking inappropriately as well.

<comment><USER9> The epiphany for me came from a place -- all hard surfaces -- which installed canvas hangings from the ceiling. The width of the dining room (6-7 meters), at about 1.2 meter intervals, and about 0.5 meter wide.

With no other changes, the drop in reflected sound was stunning.

The owners removed them a year or two later, and the place became a constant din.

</comment></comment></comment><comment><USER11> [http://photosounder.com/](http://photosounder.com/) is another "Photoshop of Sound". [https://www.youtube.com/watch?v=mVuX1POU6Dw](https://www.youtube.com/watch?v=mVuX1POU6Dw)

<comment><USER12> Metasynth has been doing this stuff for a lot longer.

[http://www.uisoftware.com/MetaSynth/index.php](http://www.uisoftware.com/MetaSynth/index.php)

I saw/heard a demo of a Yamaha active concert hall system back in the late 80s, so the Meyer system isn't unique - although I'm not sure if Yamaha ever worked out how to commercialise it outside Japan, or inside restaurants instead of concert halls.

</comment></comment><comment><USER13> Will we soon seek out restaurants where there's not one of these systems to possibly record your every word?

<comment><USER14> People are already carrying their personal mobile surveillance devices everywhere they go.

</comment></comment><comment> k-mcgrady It's nice to block out the odd loud jackass but wouldn't this kill the 'atmosphere' of a place?

<comment><USER15> From TFA:

"Each table is in its own sonic zone," John explained. "But it's not isolated." He mentioned a colleague's earlier attempt to address restaurant noise, which succeeded in suppressing chatter but led to a muffled, sterile environment: "Everyone hated it—the room ended up being completely dead." Instead, Constellation undertakes a process akin to the Photoshopping of an image, with undesirable elements removed. John explained that there are two components to a sound as it resonates: the early reflections, which contain most of the intelligible information; and the later reverberation, which is blurrier. "Right now, with those loud people right behind me, we're hearing only their reverb energy—it's not enough for intelligibility. Early reflections have been cut out: you can hear voices but not what they're saying." The effect is conviviality without chaos.

<comment> k-mcgrady I read TFA. I still think that might ruin the atmosphere.

<comment><USER16> You're flat out wrong. This type of system can be responsive to so many elements that it can literally be tweaked to just cut back the most distracting consonant sounds or whatever and only to the degree that is desirable. In other words, it can be tweaked to get whatever balance people feel is best, including reinforcing the cacophony. So, no, it doesn't necessarily ruin anything — it's just a matter of who controls the settings and what they choose to do with it.</comment></comment></comment></comment>


Tengen: Atari Games vs. Nintendo (2015) [video] - <AUTHOR> https://www.youtube.com/watch?v=fLA_d9q6ySs <comment><USER2> The Gaming Historian does a great job. Especially fond of his video on Satoru Iwata (former President of Nintendo)

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

</comment><comment><USER3> Well if we're posting links to documentaries here one from the BBC about Tetris. The Tengen vs Nintendo suit comes up. I haven't watched it in a while but IIRC the editing makes the Tengen guys look like that had some really bad luck thinking they had a legit license and it also makes Nintendo seem like a bunch of jerks for being so mean about it, as if there was no way to figure out any kind of mutually beneficial outcome. Also IIRC Tengen's version is considered better than Nintendo's

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

<comment><USER4> The Digital Antiquarian had a really interesting series on the origin of Tetris and the complicated mess of licensing agreements that resulted from business negotiations across the Iron Curtain. Lots of really fascinating individuals in there bouncing around between the corporate heavyweights.

[https://www.filfre.net/2017/06/tales-of-the-mirror-world- par...](https://www.filfre.net/2017/06/tales-of-the-mirror-world- part-1-calculators-and-cybernetics/)

</comment></comment><comment><USER5> I still miss my Atari 2600, back when it made sense to put a wood-style finish on a games console and when you could play Breakout using a paddle dial thingy instead of a joystick.

<comment><USER6> The paddles are exactly the reason I recently rebought a 2600. The feel is as close to moving a physical object as can be. I noticed some of that feel is lost through a modern TV. I tried a tube tv and I nearly double my recent breakout hi score on the first run. I dont care what anyone says about perceptible latency, it made a huge difference. Emulation with a mosue doesnt even come close to capturing the feel. And the local multiplayer (up to 4 at once) games are a blast.

<comment><USER7> IIRC the paddle's circuit was a simple resistor/capacitor combo that was tied to the beam scanning timing of the TV. It felt physical because it kind of was.</comment></comment></comment>


CryptoSeal Privacy VPN logging policy clarification - <AUTHOR> https://www.cryptoseal.com/blog/cryptoseal-privacy-vpn-logging-policy-clarification.html

<comment><AUTHOR> Also, I'm sure someone will mention it, but I wasn't able to figure out how to change the top link in the Pelican blog generator, which is why it doesn't link back directly to www.cryptoseal.com. If anyone knows how, that would be awesome. Otherwise I'll mess with it later.</comment>


The UK government's Github - <AUTHOR> https://github.com/alphagov/ <comment><USER2> No, the _Government Digital Service_ (<http://digital.cabinetoffice.gov.uk/>) GitHub account.

They're building a new, single Government website, currently in beta at <http://www.gov.uk>, to replace the current <http://direct.gov.uk> and other government websites.

<comment><USER3> From a presentation I caught earlier this year they're planning to start rolling this out later on in the year. The approach they've taken is very refreshing on eye and quite joyful to use - the new vat rate page[0] compared to a current vat rate page[1] is a nice example.

Also, it's been featured here before, but it's worth adding that I love how visible they've made their design principles[2].

[0]: <https://www.gov.uk/vat-rates>

[1]: [http://www.direct.gov.uk/en/MoneyTaxAndBenefits/Taxes/Beginn...](http://www.direct.gov.uk/en/MoneyTaxAndBenefits/Taxes/BeginnersGuideToTax/VAT/DG_190918)

[2]: <https://www.gov.uk/designprinciples>

<comment><USER4> It only looks refreshing because it lacks detail. Anyway this whole project is blatantly political. Directgov was a product of the last government so why not spend money making a new one and show how we've made all government services go online in a web2.0 fashion when we could fix the current one.

<comment><USER2> >It only looks refreshing because it lacks detail.

It doesn't lack detail. It just lacks unnecessary detail.

>why not spend money making a new one and show how we've made all government services go online in a web2.0 fashion

Uhm, gov.uk is a response to a report suggesting "Revolution not Evolution", among other things. It is not being done because the government wants to leave its mark, it's because Directgov is horrible.

[http://www.cabinetoffice.gov.uk/resource- library/directgov-2...](http://www.cabinetoffice.gov.uk/resource- library/directgov-2010-and-beyond-revolution-not-evolution)

<comment><USER5> I'd like to agree with you but nope it clearly does lack detail, looking at that page I've a few instant questions

* If I'm a business how do I get my VAT right?

* What goods/services are VAT exempt

Now they're a little specific because I deal with VAT regularly but the fact that the VAT rate is 20% is easy to show and it's a headline piece of information. However tax and everything else involving government is always complicated and presenting it simply is incredibly difficult. The questions that a user landing on that page will want answering are diverse and as much as I'd like it to be as simple as showing a simple table with some data I doubt whether that's going to answer the question the average user has. The current directgov page is full of links to and information that might help, the new snazzy page - nope nothing.

I don't think this is purely political I honestly believe there are people trying to make government sites more simple but I also don't think just throwing away whatever information _you_ don't need is not particularly helpful. The reason most gov websites are hugely complicated/confusing is because gov is hugely confusing/complicated and while I applaud any effort to simplify the presentation simply dropping a bunch of information and claiming you've solved the problem doesn't cut it.

<comment><USER2> There's more than one search result for 'VAT', that's just the quick answer, although you're right it's a little lacking in links to more info. But in which case, submit feedback.

</comment></comment></comment></comment></comment></comment><comment><USER6> There's also the US Government's Github including the White House:

* White House: <https://github.com/WhiteHouse>

* Other Federal Agencies: <http://gsa.github.com/federal-open-source-repos/>

Some state and local ones are listed at:

* <http://wiki.civiccommons.org/Public_Software_Repositories>

</comment><comment><USER7> Now I'm not bashing anything by this comment, but I'm surprised they built it in Ruby/Rails.

It doesn't really match the traditional integration paths that they're going to have to deal with across direct.gov.uk and I'm genuinely not sure it'll scale up that high if they are pushing people down that route.

We all know what happens once a year when we have to do our tax returns and that's all on a huge Java EE cluster apparently.

<comment><USER8> Is it not the intention to replace directgov, rather than integrate with it?

<comment><USER7> Yes. I am considering the integrations which are going to have to be moved from direct.gov.uk to their new Rails platform.

</comment></comment></comment><comment><USER9> I am utterly utterly overjoyed seeing this, even with caveats.

Government has been described as the engine of a lawn mower and the brakes of a Rolls-Royce - so it's good to see the brakes off for a while.

I do worry about those brakes though. In the design principles they disparagingly refer to an article on beekeeping as not a core focus for government (you did not know Ron Paul was a RoR guy did you?).

But beekeeping is on the live site because it represents a constituency of the live governemnt. Although they are under the cabinet office and so theoretically able to say no, I think hoping you can slim down government through web design is a bit - optimistic.

Dirctgov started off as optimistic as these guys - and what is not on github is the decision making process - when their mailing list is world readable as well as their code then we shall have open government

till then, the beekeeping lobby will have it's way - eventually.

</comment><comment><USER10> I wonder what the legal background of this is. My understanding that every work created by the UK government is protected by crown copyright which is only waived in certain very specific cases (and this is not listed amongst those). Can anything under crown copyright really be considered open source?

(It doesn't say anywhere that it is, by the way, although there is a BSD-style license).

<comment><USER11> As you suggest, I would imagine crown copyright still applies but is simplu being licensed out.

Pwrhaps ironically, the existing direct gov page has information on permitted uses of crown copyright materials.

<http://www.direct.gov.uk/en/SiteInformation/DG_020460>

</comment></comment><comment><USER12> How much of it is UK-specific? It would be interesting to have other countries forking these tools ;-)

</comment><comment><USER13> I was really excited to see this.. then saw that most of it was in Ruby. Sad4us.

<comment><USER14> At least you were able to see what it was in. That alone in a massive step forward. And I don't see any problem with Ruby - at least it isn't some proprietary Accenture framework.</comment></comment>


Lessons Learned Bootstrapping Harmony - <AUTHOR> http://orderedlist.com/our-writing/blog/articles/lessons-learned-bootstrapping-harmony/

<comment><USER2> "Seeing progress without doing any work yourself is priceless in regards to motivation."

I used to think I could always be a lone wolf. I'd hire out people when necessary but otherwise, I thought, it'd be just me.

But, after either selling off for not much or losing motivation to work on several products I solely created, I finally decided pg was right. The right partner is priceless.

<comment><AUTHOR> Definitely.</comment></comment>


Firmware exploit can defeat new Windows security features on Lenovo ThinkPads - <AUTHOR> http://www.pcworld.com/article/3091104/firmware-exploit-can-defeat-new-windows-security-features-on-lenovo-thinkpads.html#jump <comment><USER2> We need more Zero-Days. The bureaucracy of white-hat "notify the company first" has been used to delay all sorts of huge vulnerabilities, while giving nation state actors sufficient time to exploit before they're publicly patched.

</comment><comment><USER3> >> "The exploit, dubbed ThinkPwn, was published earlier this week by a researcher named Dmytro Oleksiuk, who did not share it with Lenovo in advance. This makes it a zero-day exploit -- an exploit for which there is no patch available at the time of its disclosure."

Anyone know why Lenovo wasn't given a heads up?

<comment><USER4> From his article about this

>Patch for this vulnerability is currently not available, I decided to do the full disclosure because the main goal of my UEFI series articles is to share the knowledge, not to make vendors and their users happy. Also, I don't have enough resources to check the vulnerability on all of the Lenovo computers, so, if you have ThinkPad — it's likely vulnerable, in case of other model lines I'd recommend to wait for official advisory from vendor. It's very unlikely that this vulnerability will be exploited in the wild, for regular customers there are much more chances to be killed with the lightning strike than meet any System Management Mode exploit or malware.

>[http://blog.cr4.sh/2016/06/exploring-and-exploiting- lenovo.h...](http://blog.cr4.sh/2016/06/exploring-and-exploiting-lenovo.html)

I would have assumed that it would also have to do with the Lenovo malware they intentionally installed on their computers.

</comment></comment><comment><USER5> This requires root, or physical access, and enables take over of even deeper systems (UEFI). Did I understand that correctly?</comment>


Embracing the Laws of Physics: Three Reversible Models of Computation - <AUTHOR> https://arxiv.org/abs/1811.03678 <comment><USER2> The language they introduce, Π, is essentially a simple concatenative programming language where all of the primitive combinators happen to be reversible; the graphical depiction is essentially the same as graphical linear algebra¹, which is no coincidence. Concatenative combinator calculus is related to combinatory logic—specifically, it's a variation that replaces _application_ of combinators with _composition_ , leading to a bunch of nice mathematical properties. Both of these logics have the nice feature that you can _syntactically_ restrict the substructural rules of contraction (dropping), exchange (swapping), and weakening (copying): for example, a well- formed program that doesn't use the K combinator to drop a value is _guaranteed_ to be linear, i.e., not destroy any information. This isn't true in ordinary lambda calculus, where you can use a variable zero or many times, so you need additional checks on the uses of a variable to determine whether a function is linear, affine, &c.

I like the theory of concatenative programming languages because they provide an elegant compositional/dataflow-oriented style of programming, have deep connections to linear logic, Hughes' "arrows", effects & coeffects, and quantum/reversible computation, while _also_ admitting very efficient implementation on classical hardware.

I'm (very slowly) working on a statically typed low-level concatenative language that's meant to provide all the nice high-level typed functional language features like higher-order functions, pipeline-style programming, and effects tracked in the types, while requiring no runtime support such as a tracing garbage collector—the ultimate goal is to allow a restricted subset that doesn't even require a heap allocator, so you could use it to implement e.g. a kernel or device firmware. I hope that concatenative languages find their way to the mainstream as the basis for programming quantum and extremely low-power computing devices (which we will need in order to reduce emissions).

¹ [https://graphicallinearalgebra.net/](https://graphicallinearalgebra.net/)

</comment><comment><USER3> >> _Proposition IV. That axiom of metaphysicians which is termed the principle of contradiction, and which affirms that it is impossible for any being to possess a quality, and at the same time not to possess it, is a consequence of the fundamental law of thought, whose expression is x^2=x_

> _This "law" is reasonable in a classical world but is violated by the > postulates of quantum mechanics_

I think this might be a little bit of a stretch, if a particle is in a superposition of states it's not contradictory about which state it is in, it's just in a superposition of both. I think a good analogy for that would be your keyboard, which is located at the Q key as well as the M key.

</comment><comment><USER4> The Feynman lectures on Computation provide good background on reversible computation from the perspective of a brilliant physicist.

[https://www.scribd.com/doc/52657907/Feynman-Lectures-on- Comp...](https://www.scribd.com/doc/52657907/Feynman-Lectures-on-Computation)

</comment><comment><USER5> for background:

[https://en.wikipedia.org/wiki/Reversible_computing](https://en.wikipedia.org/wiki/Reversible_computing)

[https://en.wikipedia.org/wiki/Fredkin_gate](https://en.wikipedia.org/wiki/Fredkin_gate)

[https://en.wikipedia.org/wiki/Toffoli_gate](https://en.wikipedia.org/wiki/Toffoli_gate)

<comment><USER6> Shameless Plug: [https://arxiv.org/abs/1810.08865](https://arxiv.org/abs/1810.08865)

</comment></comment><comment><USER7> Hmm would software like Nix function as a practical example of 'reversible computing'?

<comment><USER8> No: Reversible Computing embraces the (quantum mechanical) notion that information cannot ever be lost ( _cfr_ the "Black Hole Information Paradox"), and that therefore the output of a computation can only be a _reshuffled_ but _complete_ permutation of the input. Nix (for example) allows you to delete stuff and/or initialise a variable by zeroing it out and thus obliterating information. A reversible computing paradigm would not allow this. (In practical terms this information is dissipated as heat when memory deletes information.)

<comment><USER9> I am confused by the downvotes. The above post is correct even if not using the clearest of phrasings.

But I would like to nitpick: You really do not need to involve quantum mechanics. These effects are present in classical thermodynamics. They are just more explicit in quantum mechanics.

</comment></comment></comment><comment><USER10> " both these fundamental physical theories imply that information is a conserved quantity of physical processes and hence of primitive computational operations."

No, actually they do not. Jayzus. Peer review is obviously dead.

<comment><USER11> Anyone can post on arxiv.

Quantum computation is reversible in terms of applying unitary gates to qubits.

However doing IO - breaking entangled states, or interacting with the outside world, is not reversible in a practical sense.

<comment><USER10> Like classical reversible computing (which theoretically can mean P=NP), quantum computation fails to exist in the actual world; probably for the same reasons.

I think it's not quite true anyone can post on arxiv, and I wager 10 quatloos that this goes into some non-obscure physics journal and is presented to great acclaim, despite being as dumb as a bag of hammers.</comment></comment></comment>


Creating a Robust, Reusable Link-Checker - <AUTHOR> http://adventures.michaelfbryan.com/posts/linkchecker/ <comment><USER2> I've done a similar project, it takes a website and output broken urls using Scrapy: [https://gist.github.com/mdamien/7b71ef06f49de1189fb75f8fed91...](https://gist.github.com/mdamien/7b71ef06f49de1189fb75f8fed91ae82)</comment>


How a hacker's typo helped stop a billion dollar bank heist - <AUTHOR> http://www.reuters.com/article/us-usa-fed-bangladesh-typo-insight-idUSKCN0WC0TC <comment><USER2> We have come to accept massive incompetence by the financial industry as the norm: There are the systemic failures every ~10 years (S&L's in the 80s, LTCM in the 90s, the Great Recession in 2008), incredible levels of fraud (and that's only what was detected), computerized heists costing tens of millions of dollars or more, money laundering, etc.

The industry can't be trusted and needs to be cleaned up and properly regulated. Their self-image as brilliant people who are 'masters of the universe' is remarkable.</comment>