Fremont Tesla workers tested positive for coronavirus days after plant reopened - <AUTHOR> https://www.washingtonpost.com/technology/2020/06/09/tesla-factory-coronavirus/ <comment><USER2> It would be great if people writing articles like this (I hesitate to call them journalists these days) could take the time to provide more context.

According to the county dashboard, Alameda County had 2,564 cases on May 20, 2 days after Tesla reopened: [https://ac- hcsa.maps.arcgis.com/apps/opsdashboard/index.html...](https://ac- hcsa.maps.arcgis.com/apps/opsdashboard/index.html#/1e0ac4385cbe4cc1bffe2cf7f8e7f0d9)

With a population of 1,671,000, that means about 0.15% of Alameda County residents had been diagnosed with covid-19 at that point.

So we could reasonably expect 15 cases out of the 10,000 employees at Tesla's factory.

Why the breathless article about 2 cases?

<comment><USER3> The original article is by a writer of the Washington Post. If this doesn't count as journalism, I struggle to find examples that do.

The journalist spoke with two workers within the production facility. "One of the workers said a supervisor confirmed two positive cases to a group at the Fremont-based seat assembly facility" This is an example of just one supervisor confirming two positive cases. It is likely that there are many more.

Furthermore, "But because Tesla restarted production a week earlier, there could have been cases that were never reported to the county because Tesla was "not required to directly report known cases" before the agreement, county officials said."

<comment><USER4> We're they confirmed _not_ positive before it reopened?

Otherwise, this literally means nothing.

<comment><USER5> It means there is coronavirus at the Tesla plant. To give an example which way it goes: in Poland, the virus appeared a few weeks ago between coal mines workers. Yesterday there was a decision to temporarily shut 12 coal mines down.

<comment><USER6> > It means there is coronavirus at the Tesla plant

Possibly. The employees could have contracted the virus outside work.

<comment><USER5> Yup. But they brought it into the factory. No? Or am I missing something?

<comment><USER6> From the article:

> the company had reported several cases of the coronavirus, and the employees > affected were told to stay home.

I'm self-employed and my little software company took a sharp hit with the pandemic. Not being one to wait until all the money runs out, I took an "essential job" stocking groceries at the nearby Walmart. Every day, before employees can enter the store, they are screened. In the time I have been there, several employees failed the screening and were sent home. Two of those turned out to have the virus.

Tesla and other employers have similar screenings, so unless the employees lied about being symptomatic, they should not have been among the workforce. Add to that, the CDC just announced findings that non-symptomatic spread of the virus was very rare.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> > Musk went as far as to dare authorities to arrest him.

Is this referring to this tweet ([https://twitter.com/elonmusk/status/1259945593805221891](https://twitter.com/elonmusk/status/1259945593805221891)) that said "Tesla is restarting production today against Alameda County rules. I will be on the line with everyone else. If anyone is arrested, I ask that it only be me." ?

<comment><USER8> I'm curious if you think Tesla should still be closed now?

<comment><USER9> to the point that any business should be. as in, if they take reasonable precautions I am all for any business being opened. it is far easier to contain the issue in a factory floor than the supermarket many will be in on their way home.

that is the lunacy of the closings, they lack logic, as in rules being used and implied risk against other types of businesses opening have been glossed over for those already deemed essential.

<comment><USER10> > if they take reasonable precautions

Who decides what's reasonable? To me, "reasonable" might mean, "precautions that minimize unnecessary risk to human morbidity and mortality". Even if we were to agree on this, what do "minimize" and "unnecessary" mean? And how do we take into account second-order effects, like, maybe my workplace is primarily young people and there's relatively low risk of long-term harm, but my employees might spread the virus in the community...

> it is far easier to contain the issue in a factory floor than the > supermarket

Although this claim has some logic to it, I'm not sure it is actually true. See the outbreaks at meatpacking plants, [https://www.sltrib.com/news/2020/06/08/cache-valley- providin...](https://www.sltrib.com/news/2020/06/08/cache-valley-providing/), [https://www.nytimes.com/interactive/2020/06/08/us/meat- proce...](https://www.nytimes.com/interactive/2020/06/08/us/meat-processing- plants-coronavirus.html)

That's the thing about this novel virus. There is a lot of uncertainty.

These are all hard questions. I'm not pretending that health officials have uniformly made the right call, or even good calls. I am saying that if you think it's as simple as stating the policy "let anyone taking reasonable precautions open for business", I have a bridge to sell you.

<comment><USER11> > I'm not pretending that health officials have uniformly made the right call, > or even good calls.

Good, then don't pretend that it's wrong to push back when health officials inconsistently apply their rules and cannot justify them when challenged.

</comment></comment></comment></comment></comment><comment><USER12> Washington Post actually have more details as to where this seat assembly facility is:

The Washington Post: Tesla defied county orders so it could restart production. Days later, workers tested positive for the coronavirus.. [https://www.washingtonpost.com/technology/2020/06/09/tesla-f...](https://www.washingtonpost.com/technology/2020/06/09/tesla- factory-coronavirus/)

<comment><USER13> We've changed the URL from [https://www.kron4.com/news/bay-area/fremont-tesla- workers-te...](https://www.kron4.com/news/bay-area/fremont-tesla-workers- tested-positive-for-coronavirus-days-after-plant-reopened-report/), which points to this. Thanks!

</comment></comment><comment><USER3> It should probably be pointed out that the original article came from the Washington Post: [https://www.washingtonpost.com/technology/2020/06/09/tesla-f...](https://www.washingtonpost.com/technology/2020/06/09/tesla- factory-coronavirus/)

Furthermore it is a extremely strong coincidence that this article comes out five days after Musk seemingly randomly attacks Amazon: [https://nationalpost.com/technology/elon-musk-amazon-feud- je...](https://nationalpost.com/technology/elon-musk-amazon-feud-jeff- bezos/wcm/18d36783-0b9d-485a-b077-f02450e9b269)

It certainly matches Musk's regular habit of lashing out at his critiques...

<comment><USER14> It was completely predictable, one of the biggest TSLAQ voices on twitter called this a few days ago in a high profile way. Whenever a news outlet reaches out to Musk for comment on a negative story he goes on the attack.

</comment></comment><comment><USER11> You could pick any large company that reopened and find instances of employees who have the virus. Singling out Tesla is good for clickbait, but why should the Tesla factory stay closed when bars and restaurants in California are allowed to open?

This is the new normal. We can't stay in lockdown forever. Jobs deemed "non- essential" by white collar professionals comfortably working from home are pretty essential to the workers who have been stuck at home without an income.

Until a vaccine is developed, people will get sick even if they are social distancing and wearing masks and their workplaces are doing the right things. We shouldn't be shocked or outraged or self-righteous when that happens. Society needs to accept that or we will never recover from the lockdowns.

<comment><USER15> Restaurants and bars in specific areas with specific precautions are allowed to re-open. Musk re-opened his factory against the advice of local officials.

<comment><USER11> And yet the local officials decided not to forcibly close the factory. They could have looked good on TV taking Musk away in handcuffs, and it certainly would have made a lot of people happy, but they didn't. There is a reason for that.

Ultimately, local authorities couldn't make a compelling case that opening the Tesla factory was risky enough to justify intervening. They had already allowed a number of other businesses to open that were more dangerous in terms of covid transmission than the Tesla factory and could also be called "non- essential". Tesla was taking the same precautions that local authorities recommended for other businesses they allowed to open.

</comment></comment></comment><comment><USER16> We complain about the media then upvote this junk.

Maybe we are the problem.

<comment><USER17> Was there ever a time where you doubted that the demand for junk news was the problem? I don't complain about "the media" because they are just following the incentives their viewers leave for them. "The media" was never exclusive to high brow, balanced journalism. It has _always_ included the tabloid rags, celebrity gossip, useless trivia about sports, outrage inducing politics, etc.

Fact: National Enquirer has been A/B testing since the grandparents of the founders of Facebook were in diapers.

</comment></comment><comment><USER18> "If they'd cover it on TV news, it's probably off-topic."

This is literally a local TV evening news story.

<comment><USER19> The top story a few days ago – the humming Golden Gate Bridge (by a margin of 500 upvotes) – was heavily covered in the TV news:

[https://news.ycombinator.com/front?day=2020-06-06](https://news.ycombinator.com/front?day=2020-06-06)

[https://sanfrancisco.cbslocal.com/2020/06/06/wind-baffles- on...](https://sanfrancisco.cbslocal.com/2020/06/06/wind-baffles-on-golden- gate-bridge-creates-loud-humming-music-sound-heard-for-miles/)

I remember the local Bay Area station having the best coverage of the Mountain View fatal autopilot crash, e.g. they talked to the family and found the victim had reported several problems in the area before:

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

<comment><USER20> Probably. It's probably off-topic. Submitting whatever the evening news releases is usually off-topic. There are exceptions, of course. Sometimes the news does accidentally cover things that are interesting.

</comment></comment></comment><comment><USER21> Here's an example of how workers were pressured to come into work:

 _The state approved Tesla to work. It 's the county that is concerned. But if you decline to come to work, just know you will not receive benefits and you will be unable to apply for unemployment since we have work available. We can't force you to come in if you don't feel comfortable._

[https://twitter.com/PlainSite/status/1270110558071566337](https://twitter.com/PlainSite/status/1270110558071566337)

<comment><USER22> > PlainSite affiliates may hold long/short investments in companies discussed. > Not investment advice.

Interesting account there ...

<comment><USER21> The screenshot comes from a FOIA request from Alameda County.

</comment></comment></comment><comment><USER23> something wrong with our civilization when some people have to go in for the increased risk to their health for $15+ (and i guess it is even less than that outside of CA) just to feed their families while we comfortably and safely sit at home getting paid multiples of that and ride that great stock market. Anyway, you should have seen packed restaurants' sidewalks this weekend. The life is ready to come roaring back. It is pretty clear by now that nor the inept governments, nor aliens are going to stop the virus.

Statistically the 2 cases at Tesla is an order of magnitude less than what you'd expect giving the factory size (10000) and the population size of the Alameda county (1.6M) and the infection rate there (4000).

<comment><USER24> perhaps you can invent a society where the work needed to live can get done without any humans doing work.

<comment><USER25> We're quickly approaching that. A few generations from now it'll just be the robots - and us watching.

<comment><USER26> Unless our descendants own those robots or there is a massive shift in who controls productive property, our lineages will die off once they're made permanently redundant and shut out from what those machines produce.

<comment><USER25> Almost certainly. Thing is, as countries develop, the birth rate drops off a cliff. Canada's already at 1.5 births per woman. The US is only slightly higher. As we make more robots, we'll make less humans. Society will be forced to become dramatically different.

<comment><USER26> We already have an abundance of resources, like food and land, yet we don't efficiently allocate them such that they don't go to waste, leave people hungry or leave people homeless. The only reason people without significant assets can access food or land is because they're able to trade their time for money. People who can't trade their time for money currently go hungry and become homeless.

This is why I say that unless there is a significant change in control of productive property, when that productive property deprecates human labor, those who rely on trading their time for money will be in dire situations.

<comment><USER23> i don't want to scare you man yet you've just basically invented the Das Kapital :)</comment></comment></comment></comment></comment></comment></comment>


Resume in C - <AUTHOR> https://gist.github.com/klange/4042963 <comment><USER2> Wow, I didn't know this was valid C code, it's pretty convenient.

      school_t uiuc = {
          .school   = "University of Illinois at Urbana-Champaign",
          .location = "Urbana, IL",
          .program  = "BS Computer Science",
          .started  = 1251158400,
          .left     = 1336608000,
          .accomplishments = {
              "Minor in International Studies in Engineering, Japan",
              "Focused on systems software courses",
              NULL
          }
      };

<comment><USER3> It's a C99 feature (I think?) -- designated literals. They're absolutely wonderful.

<comment><USER4> It's supported by GCC as an extension to C90 too.

<comment><USER5> what does that even mean? Isn't C99 an extension of C90/ANSI? Doesn't GCC support the whole of C99 as an extension to ANSI?

<comment><USER6> It means that GCC will allow/support this even if you set it to std=c89 or std=c90.

<comment><USER7> Won't that only be supported in gnu89 or gnu90 mode?

<comment><USER8> No, it will be supported using -std=c89 or -std=90, unless you also specify -pedantic.

<comment><USER7> Yes, I realized after posting that -pedantic is required for strict standards compliance.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> When I was in university, I did something similar in Python. I printed it off in color and brought it to a career fair. One guy loved it excitedly. But I didn't hear back from him :(. And that's the story of how I cam to work in Java ;)

<comment><USER10> This is why when you meet someone at a networking event:

0) Have brought a pen or cell phone.

1) Always get their business card or contact info.

2) When you get someone's business card, always write down where you met them and what you want to ask or show them. Otherwise, you end up with a pile of cards and no memory of who they were from.

2.1) If you actually had them type their email into your phone, sketch out the email, but don't send it.

3) follow up within 3 days or you'll forget.

</comment></comment><comment><USER11>
        --- a/resume.c
        +++ b/resume.c
        @@ -118,7 +118,7 @@ void print_job(job_t * job) {
                }
         }

        -int main(int argc, char * argv) {
        +int main(int argc, char ** argv) {

                int i = 0;
                while (jobs[i]) {
        @@ -127,4 +127,4 @@ int main(int argc, char * argv) {
                }

                return 0;
        -}
        \ No newline at end of file
        +}

<comment><USER12> For those who don't write C, could you explain what is significant about this change? I'm guessing the earlier version was some kind of subtle bug?

<comment><USER13>
      char * argv

is a pointer to a string (or a single character).

      char ** argv

is a pointer to an array of pointers to strings. The latter is used since it allows for multiple arguments in (the number being `int argc`).

This picture shows the second example in terms of pointers:

[http://www.londonquilters.org.uk/ctext/pic511.gif](http://www.londonquilters.org.uk/ctext/pic511.gif)

<comment><USER14> Wouldn't second simply segfault when you try to access it?

<comment><USER13> Nope, neither will segfault on the initial access.

      char ** argv

is a null terminated array in C according to the C standard. (EDIT: see clarification below) C doesn't care about types at all and you can abuse this by casting pointers to different (sometimes incompatible types). The second argument to main (argv) it set up by the initialization code and has the same space as a pointer regardless if it's a string, array of strings, struct, integer etc...

The existing structure will simply be interpreted as that new type like so:

                    String1       String2    String3     String4
      char ** a2: |0x41414141 |0x42424242 |0x43434343 |0x00000000 |
                  +</comment></comment></comment></comment></comment><comment>-----+</comment><comment>-----+</comment><comment>-----+</comment><comment>-----+
      char * a1 : |41|41|41|41|42|42|42|42|43|43|43|43|00|00|00|00|

      printf("%s\n", a1);
      > AAAABBBBCCCC

That being said, some compilers (clang) will emit an error on the improper type, like so:

      test.c:3:5: error: second parameter of 'main' (argument array) must be of type
            'char **'
      int main(int argc, char * argv)
          ^
      1 error generated.

<comment><USER15> We are talking about C and not a specific compiler, so there are a lot of mistakes in your comment.

char * * is a pointer to a pointer to a char and nothing else, it might be a NULL terminated array or not at all.

C cares about types. Casting a pointer to an incompatible type or reinterpreting through an incompatible pointer is not defined in C( undefined behavior ).

Pointers of different types are allowed to have different sizes. sizeof( char* ) == sizeof( char* * ) is not guaranteed in C.

Also any program whose main is not int main( void ) or int main( int , char* * ) will result in undefined behavior.

All of this is in the latest standard.

Both, segfaulting or running completely normally can be a result of undefined behavior. That is why we really like to avoid it in C. Thus your advice is really not good for a modern C.

<comment><USER13> In the case of argv though on main it is defined to be null terminated on argv[argc] according to the standard. Assuming the pointers are the same size though what I said will work but is bad practice.

> sizeof( char* ) == sizeof( char* * )

True, I forgot that different architectures/compilers can produce different pointer sizes. Thanks!

<comment><USER15> char* * argv is NULL terminated, my mistake I though you were referring to that type in general.

</comment></comment></comment></comment><comment><USER16> Code review:

* The struct members and variables pointing at string literals should be const.

* People do break this all the time but typedefs ending in _t are reserved by POSIX.

* Your C99 style struct initializers are valid but it's notable that one popular compiler, MSVC, will not like them.

* If we are being idiomatic I would suggest pointer arithmetic to iterate instead of using a counter i.

<comment><USER17> Style review:

* Avoid using NULL in your resume. It has a negative connotation, and makes your resume look bad.

* Make use of as many existing libraries as possible, to show that you're not the kind of programmer that wants to invent the wheel on every occasion.

* Try to obfuscate your resume a little (but not too much!) As it is written here, your reader can easily guess what the program will do, and he/she will not even want to run it anymore.

* #include a portfolio of your work inside your resume.

<comment><USER18> You had me going for a moment there. I was ready to respond to your comment about NULL before I realised you were joking.

</comment></comment></comment><comment><USER19> This is a hit or miss. Say they are looking for a C coder. A bad recruiter (most of them) would just discard this as he/she wouldn't even recognize it as C code, just some junk not fitting into his/her template. A good recruiter though, or if a recruiter wasn't used - they would see this as smart and creative and definitely get you an interview.

I've seen companies shutting down/relocated because of bad recruiters filtering good programmers like this.

<comment><USER20> Personally, I wouldn't want to work for a company that uses bad recruiters (and thus probably hires bad programmers), so something like this would be doing its job.

You don't have to go this far. My CV is a HTML page, and I just refuse to convert it to Word. It hinders the recruiters who just like to buzzword search their database.

</comment></comment><comment><USER21> When I saw the title, I thought it was going to be about pausing and resuming a thread of execution or some stack.

Could an editor put the slanty thing over the e in the title?

<comment><USER22> FYI the "slanty thing" is called an acute accent.

</comment></comment><comment><USER23> Just curious, but why do you use

      initialize
      while (test) {
        ...
        increment
      }

instead of

      for (initialize; test; increment) {
        ...
      }

</comment><comment><USER24> It's cheeky, but then again it _is_ a project you can show someone. Graphic designers get to make fancy schmancy resumes to impress their potential employers, so why not programmer? Better make sure there are no bugs in it though.

<comment><USER25> Ah nothing like handing your resume over to a prospective employer and having it SEGFAULT

<comment><USER26> If they'll run unknown code without checking it first that's something you'd want to know about.

</comment></comment></comment><comment><USER27> Reminds me of Major Hayden's man page résumé[0]

[0][http://majorhayden.com](http://majorhayden.com)

<comment><USER28> Nice. Here's one I always remember (written in Haskell) - [https://ocharles.org.uk/](https://ocharles.org.uk/)

OCharles originally did it in Perl/Moose and with a module of mine (Acme::URL) which is how I stumbled across the CV in the first place - [https://web.archive.org/web/20120119150530/http://ocharles.o...](https://web.archive.org/web/20120119150530/http://ocharles.org.uk/)

</comment></comment><comment><USER29> Something like #define DATE(month, day, year) ... would help to read dates without program running.

</comment><comment><USER30> Yes, but if i is divisible by 3, you need to print... oh, never mind.

</comment><comment> X-Istence I did my entire portfolio as a C++ project at one point. Downside is that recruiters and managers looking at my site thought something was wrong on my server and they were seeing the code for the site.

I still have a copy of it online at: [http://old.bertjwregeer.com](http://old.bertjwregeer.com)

</comment><comment><USER31> For bonus points (or not, depending on the recipient's sense of humour) construct a resume that would be suitable for the underhanded C contest ([http://www.underhanded-c.org/](http://www.underhanded-c.org/)).

<comment><USER32> that would be an interesting way for malware to enter - you submit a seemingly innocent resume in C, ask the reader to compile it to see it in pretty colours/formatting. And subtlety pwning the machine in the process.

</comment></comment><comment><USER33> Just waiting for the resume in Brainfuck

</comment><comment><USER34> "They're all while loops because shut up, you're overthinking a joke." Just curious what is wrong with all the while loops ?

<comment><USER35> Nothing, really.

There's an argument that using a 'for' construct groups together the details of the loop (initialization, the loop condition, iteration update), which can aid readability.

(You don't have to search the loop body to find how things change between iterations)

Of course, nothing forces a for() loop to have iteration behavior entirely dependent on only what's in the 'for'. In my experience this seems to be discouraged, however, preferring to use 'for' only when there is a predictable and simple iteration pattern.

In the end, it's just a matter of preference and style. :)

</comment></comment><comment><USER36> This is great fun, which comes along at a nice time since I'm working through an intro to C class to revive some very stale "real language" skills I've lost years ago. I've studied through some basic dynamic data structures (linked- lists, binary trees, etc.) and was quite surprised at both how much of this I could follow AND how much I learned.

</comment><comment><USER37> Would be pretty awesome to make a Swift playground version of a CV that is animated and interactive.

</comment><comment><USER38> I really liked this project and it inspired me to write something similar in OCaml. If you are interested the link is here: [https://news.ycombinator.com/item?id=9226093](https://news.ycombinator.com/item?id=9226093)

</comment><comment><USER39> That's pretty great. It's too bad most HR tools would completely screw that nice formatting, but I'd definitely bring printed copies of that into a dev role interview! That'd break the ice right away.

</comment><comment><USER40> Great idea, but oops... the data structure thing_t is hideous. It is a "god object" for anything where differently purposed members are union'd. Also, putting char*'s into a union is a terrible idea.

<comment><USER6> > It is a "god object" for anything where differently purposed members are > union'd. Also, putting char*'s into a union is a terrible idea.

They're not differently purposed, the union is just used to define more contextual labels for equivalent fields, and thus make initialisation more readable within each domain.

<comment><USER40> There are three data structures unsystematically blended into one (that is, one cannot unambiguously tell which fields go into which "virtual" type, and cannot formally check the correctness). The name thing_t is indicative that you indeed cannot really tell what that entity is. This kind of data structure design begs for errors, while being conceptually wrong.

<comment><USER6> > There are three data structures unsystematically blended into one

The point is that they're not three completely separate data structures, they're a single data structure with context-dependent field labelling.

<comment><USER40> I get your point, but how to tell "labelling" from typing? Typing depends on semantics. This particular example only works out because the types are all strings, which is a case of sort of loose typing often used in programming. It could've been like this:

      typedef struct {
    	union {
    		company_t * company;
    		school_t * school;
    		project_t * project;
    	};
    	union {
    		address_t * location;
    		url_t * url;
    	};

etc.

</comment></comment></comment></comment></comment><comment><USER41> It would help greatly to add the appropriate accents (aigus) to the title of this submission, as I misread this to refer to "resume in C" as in "resuming a suspended continuation in C" :)

</comment><comment><USER42> It's pretty slick -- although I don't know a lot of recruiters who can convert unix timestamps to actual dates in their heads!

<comment><USER16> That's why they run the program, it formats them.

Pasting in code from the internet and running it is a little scary though. I wonder of we can spot the backdoor here. :P

<comment><USER43> It's not even running it only. Recruiters need to compile it first. :)

<comment><USER44> So it also acts as a good qualified for the company being applied to, then .. pretty wise. Why work at a place that can't compile this?

<comment><USER2> What if you need a job because your company decided to do a massive layoff?

Usually I would have fun at dumb recruiting processes, but right now I'm in no condition to be picky about getting a new job.

</comment></comment></comment></comment></comment><comment><USER45> How about storing the structures in linked lists, and printing them recursively?

</comment><comment><USER46> Cute, but it probably wouldn't make it past the HR filter.

<comment><USER47> That in itself is a good selector for companies where HR wields more power than the engineering.

</comment></comment><comment><USER48> I bet HR people will love this

</comment><comment><USER49> Cute. Effort I'm willing to spend parsing a resume: zero. Not sure if this is a net win or not.

</comment><comment><USER50> > thing_t * thing

This makes my head hurt!

I'd prefer thing_t *thing.

But it's a nice concept

<comment><USER6> Surely it should be `thing_t* thing`!

<comment><USER51> thing_t* thing_ptr, thing

imo, the star should be with the variable name. because, in this case, a reader could think that both thing_ptr and thing are pointer to a thing_t

"thing_t _thing_ptr, thing,_ other_thing_ptr" is imo more readable

<comment><USER40> If one uses the entity* notation, they must always declare each variable with a separate declaration, that is:

      thing_t* ptr1;
      thing_t* ptr2;

not

      thing_t* ptr1, ptr2 /* <= oops */;

</comment></comment></comment></comment><comment><USER52> This could be good idea, if it would lead to omission those retarded screenings.</comment>


Design Patterns: Decorator Pattern - <AUTHOR> https://henricodesjava.blog/2017/10/06/design-patterns-decorator-pattern/ <comment><USER2> So many pages on the internet attempt to explain a concept and then do so with an example that demonstrates a totally inappropriate use of the concept. I'd go so far as to say that the example is so bad that it no longer demonstrates the concept at all.

The taco example is an example of an OOP antipattern. Its classic "naive OOP", i.e. "I can do this, so I should". If the taco where in an order taking system, a "menu item" object might have an associated list of "condiment" objects, and these would probably be associations to shared objects. If this were a video game, there might be separate behavioral and rendering objects, and the "rendering object" would simply be a number of generic models etc etc. I understand its hard to provide good examples when writing a blog, but this is precisely the situation when one should do so. To describe the decorator pattern and then provide examples that are bad to the point of misinformation is just lazy.

The decorator pattern is already on sketchy ground IMHO. The wikipedia entry[1] says its to avoid separation of concerns issue, but it seems to do so by ignoring the IsA constraint. A WindowDecorator IsNotA Window. A DecoratedWindow might be a Window, and it might have a list of Decorators, but I can see all sorts of ways that a specific implementation will have a radically different class hierarchy.

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

</comment><comment><USER3> Clearly I've drunk too much functional cool aid, all these patterns that I used to like look like terrible terrible ideas now.

<comment><USER4> Serious question: do you consider _all_ the patterns in the gang of four to be terrible or are there a few you'd recommend to be more useful? As a relatively young Java developer I'd love to know what patterns have stood the test of time.

<comment><USER5> I can't speak for the original commenter, but I think that book has (unintentionally) done a lot of damage to software by getting people excited about things they have no business getting excited about. It's impossible to read that book as a junior developer and get any use out of it. What inevitably happens is the junior developer reads it, gets excited about the patterns, and injects as many patterns as they can into all of the source code they write. I've done it myself, and I've seen this happen to others time and time again.

You can accomplish writing perfectly clean, readable, and maintainable projects that multiple people work on without learning _any_ of the design patterns in that book. You will probably discover later that you were using certain patterns without knowing what they were called. The earlier you learn this, the better off you will be.

<comment><USER6> > You can accomplish writing perfectly clean, readable, and maintainable > projects that multiple people work on without learning any of the design > patterns in that book. You will probably discover later that you were using > certain patterns without knowing what they were called. The earlier you > learn this, the better off you will be.

The main value of learning design patterns is not how or when you use them, but in the way they establish a common language that people can use to describe somewhat complex designs and/or the intent behing a design in rather simple terms. Design patterns facilitate creating conceptual models of software constructs, thus they help explore ideas and communicate them with others while focusing on essential aspects and ignoring implementation details.

For instance, at first glance the strategy pattern may be seen as a fancy word to describe inheritance, but mentioning inheritance says nothing about the intent of implementing algorithms as strategies. If, on the other hand, someone says that a component will be implemented based on a strategy pattern then it's already implicit that the designer expects that an algorithm should be exchangeable with ease and also that more versions could be added later without any trouble.</comment></comment></comment></comment>


Install and Configure Windows 10 Insider Preview on Raspberry Pi 2 - <AUTHOR> https://www.thurrott.com/windows/windows-10/3492/install-and-configure-windows-10-insider-preview-on-raspberry-pi-2?utm_medium=twitter&utm_source=twitterfeed <comment><USER2> This is awesome news.

I legitimately don't understand why Microsoft didn't do this years ago with their Windows Embedded line (e.g. XP embedded, Vista embedded, etc) like you see on ATMs.

I looked into this way back when XP embedded was the latest, and there was a lot of interest but it was "impossible" to licence legitimately (it was for hardware manufacturers only, no tinkerers).

Even many "Live CDs" around that time had technically "illegal" versions of Windows embedded running, that Microsoft never cracked down on (I guess because they were only used for recovery and diagnostics). It is also why Linux "Live CDs" (DVDs/USB sticks) has now become the defacto: All of the same toys but with none of the legal question marks.

As as I said, awesome news. Better late than never I guess. Something really "right" is going on at Microsoft.

</comment><comment><USER3> Seems like a brilliant move on Microsofts' part, I don't really know many other toolsets for these platforms that is as "integrated", although I guess the standard still yet to be beaten by Microsoft is to be using the thing itself for its own development - i.e. fully-hosted onboard .. which is not what is happening here, I suppose? i.e. the IDE is on the 'real PC', and we just have a remote connection to the rPi for testing/running the bundle .. which is great, in and of itself, but its still not quite a full-blown "here is a full cross-platform build of Visual Studio for rPi2, which builds fat bins for all platform packages ..": which would be even greater, imnsho, as a long-time eschewer of all things Microsoft'ian, whose interest is being tweaked by this intrusion into what is, typically, a Linux-dominated domain. (Methinks it curious to see Microsoft competing so aggressively for this space..)

</comment><comment><USER4> Microsoft has gone all out for this - there's even SSH! The banner (?) is SSH-2.0-MS_1.000. Password is the same as whatever you have set for the web interface/powershell. Disable your keys to reduce the delay in logon as it doesn't seem to understand public keys at all.

</comment><comment><USER4> Does anyone know if you can write the SD card using dd/Win32DiskImager?

Edit: yes - [https://github.com/t0x0/random/wiki/ffu2img](https://github.com/t0x0/random/wiki/ffu2img)</comment>


Show HN: WebRTTY – Share a terminal session over WebRTC - <AUTHOR> https://github.com/maxmcd/webrtty <comment><USER2> Could anyone share a tutorial on how to set up a basic WebRTC text and/or voice chat from scratch? I've tried but failed to get a proof of concept built, and personally have not found any great documentation

<comment><USER3> As someone who has done some work with WebRTC (attempting to build a video conferencing app for work) it's hard to boil things down to a "Hello World" due to the whole ICE and signalling thing. It's unfortunate, but in order to get this client-side peer-to-peer thing working, you need to have a server in the cloud (i.e. not behind NAT) that can pass signals between the two peers.

The tutorials other people have linked to look good, just note that unless you're talking between 2 computers within your local network (and even then you'll have to copy-paste their IP addresses to each other), you'll need to either deploy a server or use a 3rd party library like PeerJS that uses one.

I hope that eventually IPv6 will obviate the need for NAT and make this whole thing much simpler, but until then, this is what we've got.

<comment><USER4> I wonder if there's any plans for peer discovery, at least locally.

I guess that's where your central server comes in - even in a perfect scenario where there's no NAT between peers.

</comment></comment></comment><comment><USER5> Neat idea to use WebRTC. Do I understand it correctly therefore no central server is involved?

I was once in need to stream my shell to some colleges and so I hacked together a tiny shellscript [http://liveshell.43z.one/](http://liveshell.43z.one/) which should work on most Linux systems without installing any dependencies.

<comment><AUTHOR> Correct, no central server. It does use google's stun server to establish the connection, but you can swap that out with another stun server with the -s flag (it's easy to host your own and there are many free stun servers)

The -o flag makes things easier but uses [https://10kb.site](https://10kb.site) to do the sdp exchange

That shell script is cool

<comment><USER6> With no TURN server I cannot see it will always work.

</comment></comment></comment><comment><USER7> RTTY made me think radio and not remote. Still fun!

<comment><USER8> It would be fun to run good old 45 baud RTTY over a WebRTC audio channel.

</comment></comment><comment><USER9> Neat! I wrote something similar [1] more than a year ago which allows you to create one or more remote shells but sharing can only be done via tmux (shameless advertising).

[1]: [https://github.com/rawrtc/rawrtc-terminal- demo](https://github.com/rawrtc/rawrtc-terminal-demo)

<comment><AUTHOR> Nice, I didn't realize there was an available non-chrome WebRTC DataChannel library at that point.

<comment> Sean-Der There have been a few libraries popup that tie libnice + OpenSSL + libsrtp + usrsctp together, it is nice that the stack is all there. Just have to jump through lots of hoops :) The creation of them also seems to be accelerating! I think the P2P excitement has helped a lot.

* [https://github.com/xhs/librtcdc](https://github.com/xhs/librtcdc) (This was the first non-chrome one afaik)

* [https://github.com/chadnickbok/librtcdcpp](https://github.com/chadnickbok/librtcdcpp)

* [https://github.com/jlaine/aiortc](https://github.com/jlaine/aiortc)

* [https://github.com/rawrtc/rawrtc](https://github.com/rawrtc/rawrtc)

* [https://github.com/pions/webrtc](https://github.com/pions/webrtc)

* [https://github.com/nodertc](https://github.com/nodertc)

* [https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs...](https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/gst-plugins-bad-plugins-webrtcbin.html)

There are also a few that aren't public, I haven't used them directly though. Only by talking to other devs.

</comment></comment></comment><comment> Sean-Der Congrats on the release maxmcd, you really built something cool quick!

The best thing about Go is those easy deploys, it would be great to drop this on a remote server and go at it. Could be helpful for getting quick shell help for a friend. Or maybe a way for people to avoid having jump boxes (and SSH only available via VPN) solutions are endless :)

</comment><comment><USER10> Some related tools: [https://github.com/yudai/gotty#alternatives](https://github.com/yudai/gotty#alternatives)

</comment><comment><USER11> I'm not an expert in web, but isn't WebSockets better for this purpose? What's the advantage of using WebRTC for text-based terminal over WebSockets?

<comment><USER12> WebRTC is mostly about peer-to-peer communication (with a focus on audio and video support alongside data), whereas WebSockets is more about client-server communication. That is, a WebSocket connection needs to be made explicitly to some kind of server; WebRTC handles a peer-to-peer connection setup somewhat transparently.

WebRTC still needs to communicate between peers in order to set up that connection. In fact, many applications using it will use a WebSocket server to handle that initial communication – basically messages between the peers that say "this is where I am and how you can connect". In the case of this WebTTY project, this initial communication is encoded in the "connection data" that needs to be shared to set up the connection, so there's no need for that channel.

</comment></comment><comment><USER13> I don't like the name. RTTY[1] is a thing, and this repo is not related to that thing.

[1]: [https://en.m.wikipedia.org/wiki/Radioteletype](https://en.m.wikipedia.org/wiki/Radioteletype)

<comment><USER14> Cat is already out of the bag :)

[https://savannah.nongnu.org/projects/rtty/](https://savannah.nongnu.org/projects/rtty/)

They do call out the potential confusion with radio.</comment></comment>


Nevada Solar Power Business Struggles to Keep the Lights On - <AUTHOR> http://www.npr.org/2016/03/11/470097580/nevada-solar-power-business-struggles-to-keep-the-lights-on <comment><USER2> NV Energy will probably have easy time fighting proposals that don't make market sense (subsidies and net metering), the tougher fight will be against the businesses, where switching to solar makes financial sense even with no subsidies [http://www.theguardian.com/environment/2016/mar/07/las- vegas...](http://www.theguardian.com/environment/2016/mar/07/las-vegas- casinos-solar-power-nevada-energy)</comment>


What's the best colour lighting for sleep? - <AUTHOR> https://www.bbc.com/news/health-50807011 <comment><USER2> None.</comment>


The Superinvestors of Graham-and-Doddsville (classic Warren Buffett article) - <AUTHOR> http://www.scribd.com/doc/2000260/SIGDV

<comment><USER2> Incidentally, for those who don't know, Graham and Dodd's Security Analysis is one of -the- books on value-based investing, equivalent to K&R for C programmers. Further, the 'g' of g&d has nothing to do with the 'g' in 'pg.'

<comment><USER3> I can only recommend that book. But do not try to act on it to pick stocks - the markets got a lot more effective since Graham wrote the book.

There's an explanation with quotes of Graham in another article from slate: "Why the world's greatest stock picker stopped picking stocks, and why you should, too." (<http://www.slate.com/id/2158085/>)</comment></comment>


The light bulb GE buried in a time capsule in 1912 still works - <AUTHOR> http://techland.time.com/2012/03/27/ges-hundred-year-old-bulb-still-bringing-good-things-to-life/ <comment><USER2> The author of the linked-to essay is incorrect, which led to the mistitled HN title précis. The time.com author wrote "Unlike batteries, film, food and beverage, bulbs apparently don't have a limited shelf life. Or if they do, it's more than a century."

The GE description is at <http://www.gereports.com/ge-opens-edison-era-time- capsule/> . It states "Among the items uncovered were five light bulbs. Three of them appeared to be in working condition."

Thus, bulbs _do_ have a limited shelf life of under a century, and this HN title should be "a light bulb GE buried ...".

I now return you to your regularly scheduled pedantry.</comment>


Show HN: An easier way to create and parse Unix Timestamps - <AUTHOR> https://stuff.shubhamjain.co/unix-timestamp-builder/ <comment><AUTHOR> Just for the background about why I made this when gazillions of such websites exist already? Simply because none of the existing ones did what I wanted — or did it effectively. It was beyond aggravating to parse the timestamp and then, account for offset hours according to the timezone. Additionally, all of them had multiple text inputs which is a terrible way to enter dates, or modify them.

This is a trivial solution to a trivial problem, but it matters because none of the existing solutions were good enough.

<comment><USER2> And what was wrong with GNU date?

      $ date
      Fri Dec 16 11:12:17 CET 2016
      $ date +%s
      1481883140
      $ date -d @1234567890
      Sat Feb 14 00:31:30 CET 2009
      $ date -d 'Sat Feb 14 00:31:30 UTC 2009'
      Sat Feb 14 01:31:30 CET 2009
      $ date +%s -d 'Sat Feb 14 00:31:30 CET 2009'
      1234567890
      $ date +%s -d 'Sat Feb 14 00:31:30 UTC 2009'
      1234571490

<comment><USER3> All the cool kids know the best way to do basic computing tasks is to enter some shit in a webpage.

We are seriously approaching "println as a service"

<comment><AUTHOR> There are significant problems with "data %whatever" approach that makes the "cool web app" a superior solution. It's the same reason why I — and many others — find it convenient to Google "500 pounds in Kgs" in place of GNU Units. Faster, intuitive and fits into my web-development workflow.

How would you go about generating timestamp for a particular date? I guess there isn't any alternative to typing the whole string ( using previous output would save that hassle but why should I have two steps when one is better)? If I have to parse a timestamp for a particular timezone how would I go about it? I am sure there is a nifty option for offset-ing hours but I don't want to hunt down the flag for it.

It's entirely possible to hack _.bashrc_, add some fancy aliases to make the terminal work better but I — and many others — don't consider it worth the arduous effort to create something that would still need terminal window, plenty of keystrokes against what is point-and-click.

<comment><USER3> > There are significant problems with "data %whatever" approach that makes the > "cool web app" a superior solution.

the GNU date command is one of many options that honestly should be quicker for most developers.

> It's the same reason why I — and many others — find it convenient to Google > "500 pounds in Kgs" in place of GNU Units. Faster, intuitive and fits into > my web-development workflow.

I didn't specifically recommend the GNU tool, (and I wouldn't actually recommend that one as the first option anyway), the point was more "whats wrong with a tool you already have on your workstation".

For your example of pounds to kg, Spotlight gives me an answer quicker than any webpage will load, doesn't rely on an internet connection, doesn't show me any ads, nor does it use this information to create a profile that says I might want to either a) buy a calculator or b) go to a BBW dating site.

Back to the dates:

Every computer language in common use and most of the obscure ones handle dates and times. If you're writing code and can't fire up a REPL or use a one- liner to convert a date to timestamp or the reverse, I'd suggest you don't really know that language.

> How would you go about generating timestamp for a particular date? I guess > there isn't any alternative to typing the whole string...<snip> plenty of > keystrokes against what is point-and-click

I'm not even sure what you're suggesting here... oh. I see.

I refer you back to the first part of this reply then.

</comment></comment></comment></comment></comment><comment><USER4> This is awesome. Best timestamp converter tool I've come across, and I've been using other websites that we're confusing but we're the top-ranked tools. Bookmarked for future usage. Nice job OP!

</comment><comment><USER5> Looks nifty. Would be nice if it handled millisecond timestamps too.</comment>


How easy did people find RTML to use? - <AUTHOR>

<comment><AUTHOR> I'm thinking about using context parsing as in "I need to go to the store tomorrow" will add the event "I need to go to the store" to the calendar for tomorrow.

But for some things I need a certain structure like this: "Wait for Bob to finish report, do whatever". And "wait for Bob" would send an email off to Bob that he needs to finish the report.

I want to know how easy it would be to train a user to follow that structure for certain things and would like to know if any users had trouble with something like RTML.

<comment><USER2> Livejournal uses something vaguely similar (a special HTML-y tag that creates an automatic link to a particular user's journal). If you use a known schema like "Getting Things Done" (<http://www.43folders.com/2004/09/08/getting- started-with-getting-things-done/> ), users can represent a task in a hierarchy of Context/Goal/Project/Task (so Store/Prepare dinner/Buy ingredients/Go to store).</comment></comment>


FYI: SARS-CoV-2 tests are 2,50€ (US$2.73) each in manufacture (German) - <AUTHOR> https://www.tagesspiegel.de/berlin/tib-molbiol-berliner-firma-produziert-coronavirus-tests-fuer-die-ganze-welt/25602142.html <comment><AUTHOR> Obviously this price says nothing about availability and production bandwidth (the lab they interviewed is specialized for quick response, not bulk.)

But it still is an interesting nugget of information and perspective. Especially if you have to pay for your own test.</comment>


Shut out at Peralta ballpark location, A's interested in buying Coliseum site - <AUTHOR> https://www.mercurynews.com/2018/03/26/report-shut-out-at-peralta-college-ballpark-location-as-now-interested-in-buying-coliseum-site/ <comment><AUTHOR> Relevance: the A's want the land at a fraction of its value (their offer, which would only cover existing debt, amounts to almost exactly $1 million per _acre_ ).</comment>


US billionaire Douglas Tompkins dies in kayak accident in Chile - <AUTHOR> http://www.bbc.co.uk/news/world-latin-america-35048095 <comment><USER2> previously posted from the Guardian: [https://news.ycombinator.com/item?id=10701981](https://news.ycombinator.com/item?id=10701981)</comment>


Former SEC Director Rips the Red Tape Off His Mouth - <AUTHOR> http://www.bloomberg.com/news/articles/2015-03-09/he-went-from-speak-no-evil-on-markets-to-harsh-criticism

<comment><USER2> I feel like this guy's messaging is about six months behind the times. Two tier markets are _so_ mid-2014.

</comment><comment><USER3> I'm struggling with the message here.

<comment><USER4> The fact that he chose to work with Katsuyama is pretty interesting.</comment></comment>


Un simulador abierto de alto rendimiento para circuitos cuánticos - <AUTHOR> https://www.ibm.com/blogs/research/2018/05/quantum-circuits/ <comment><USER2> I get an article and the title in English "An Open High-Performance Simulator for Quantum Circuits", that is the translation of the title of the HN post.</comment>


Shadershop - <AUTHOR> http://tobyschachman.com/Shadershop/

<comment><USER2> (In Chrome, this page works in my desktop, but doesn't work in my notebook.)

It's a little difficult to start drawing. Perhaps the initial page should have an example preloaded, like x/2+Frac(x).

<comment><USER3> Ctrl + 1 - 4 loads examples.</comment></comment>


Zumper allows renters to apply for apartments in a Zapp - <AUTHOR> http://www.realpundit.com/home/2014/zumper-allows-renters-to-allow-for-apartments-in-a-zapp

<comment><USER2> Radpad doesn't do any of that....</comment>


The New MFAs - 'Made for Acquisition' Startups - <AUTHOR> http://srirangan.net/2012-05-the-new-mfas-made-for-acquisition-startups

<comment><USER2> "why piggyback on someone else's success?"

because for a lot of people, making enough money to not have to work is more important than taking the risk to build a large successful company.</comment>


Ask HN: How is the IT projects landscape looking like? - <AUTHOR> - Are new projects being initiated? - Is there a recession looming? - Is the mood upbeat in your office? <comment><USER2> Its on the up and up, why do you ask?

<comment><AUTHOR> Curious to know whether hiring is picking up, down or flat...

<comment><USER2> Seems pretty robust at the moment.</comment></comment></comment>


Let's Enhance  How we found rogerkver's $1000 wallet obfuscated private key - <AUTHOR> https://medium.com/@SassanoM/lets-enhance-how-we-found-rogerkver-s-1000-wallet-obfuscated-private-key-8514e74a5433 <comment><USER2> My first encounter with a lot of the concepts of how robust QR codes are and how they work internally was Hackaday embedding logos in them[1]. Needless to say, QR codes are amazing and incredibly powerful

[1]:[https://hackaday.com/2011/08/11/how-to-put-your-logo-in-a- qr...](https://hackaday.com/2011/08/11/how-to-put-your-logo-in-a-qr-code/)

<comment><USER3> QArt is also worth mentioning: [https://research.swtch.com/qart](https://research.swtch.com/qart)</comment></comment>


Wi-Fi Protected Setup Design Flaw Affecting Millions Of Wireless Routers - <AUTHOR> http://thetechjournal.com/electronics/computer/security-computer-electronics/wi-fi-protected-setup-design-flaw-affecting-millions-of-wireless-routers.xhtml

<comment><USER2> "Buy Cheapest Related Product on Amazon"?</comment>


Yahoo Responds to Work-From-Home Outcry - <AUTHOR> http://www.huffingtonpost.com/2013/02/26/yahoo-work-from-home_n_2768600.html

<comment><USER2> Yahoo has significant issues recruiting prime talent and I don't see how this makes things better in that regard.

If there are unproductive employees within Yahoo, the onus should be on their managers to find and address the issue. Merely forcing butts in the seats from 9 to 5 doesn't give you any additional information about who is productive and who isn't.

It's unfortunate because I want Yahoo to succeed, but I see this as a negative move from the standpoint of finding and retaining great people. Mayer will get a fair opportunity to try her ideas out, but everything about this move seems very backwards and small-minded.

<comment><AUTHOR> It does make me wonder about the comments that people have made in that the effort was designed to "shed dead weight," I really don't see why those people couldn't be directly relieved of their duties?

I'm not against companies having a preference for work-in-the-office (I prefer doing it myself), but it seems awfully dramatic vs. slowly reducing the number of people working from home.

</comment></comment><comment><USER3> "If there are unproductive employees within Yahoo, the onus should be on their managers to find and address the issue."

But that would be a management decision by the same people who decided to get all their butts in chairs from 9 to 5. There are no out of band managers, they're stuck with who they have.

Unless someone fired those managers. But that would be the CEO, and there are no out of band CEOs, they're stuck with her.

Unless someone fired her, and I guess their board is good at that at least.</comment>


Venture capitalists are not record labels - <AUTHOR> http://www.jacquesmattheij.com/venture+capitalists+are+not+record+labels

<comment><USER2> Ok - VCs are not like record labels. I'm convinced. Who cares?

I know this post is by a venerable member of the HN community and so questioning his posts may get me downvoted into oblivion, but I read this post and wondered why this matters at all.

<comment><USER3> It may not matter to you. It is a well written piece and relevant to HN. Some people enjoyed reading it and/or got something out of it so they upvoted it. This is how it works.

<comment><USER2> Thanks for clarifying how HN works. I also thought dissenting opinions were welcome. My bad.

<comment><USER4> Of course they're welcome! That's why yours is the first response!

</comment></comment></comment></comment><comment><USER5> I've seen VC being called the "dark side" of entrepreneurship a few times (as in "I launched a startup, got a successful exit and I now turned to the dark side of VC"). It's of course partly joking, but probably also revealing of how VCs are seen by the startup entrepreneurs.

I really says something about the record industry when comparing that "dark side" to the recording industry is seen as derogatory to the "dark side".

Kinda reminds me of [http://tvtropes.org/pmwiki/pmwiki.php/Main/EvenEvilHasStanda...](http://tvtropes.org/pmwiki/pmwiki.php/Main/EvenEvilHasStandards) on tvtropes.org

</comment><comment><USER6> Seems to me the fundamental economic difference is that record labels control distribution, so they have _much_ more leverage than VCs.

edit, found a source: _"This pattern is mirrored in many other industries, such as the music industry, where record labels control radio / media distribution and are much more powerful than the actual artists, or the clothing industry, where small designers are beholden to retail outlets and have to take terrible terms to get distribution. The takeaway? Being the distribution platform is a lot better than being a producer."_

[1] [http://areallybadidea.com/what-i-learned-from-watching- six-h...](http://areallybadidea.com/what-i-learned-from-watching-six-hours-of- sta)

</comment><comment><USER7> Yea, so the only differences are cause by a less fluid market in the music industry than the venture finance community... Right now - as infomation asymmetries are being solved - labels are losing relevance. I guess the same can be said for VCs too...

</comment><comment><USER8> I do a lot of work with record labels. VCs are incredibly different than labels, labels do not support innovation...they support packaged hits/artists and are on the way out. But I disagree with the comment, "Imagine record labels staffed with nothing but the people from successful bands, using their money to give other artists a faster way to the top." - Not all VCs are staffed with successful entrepreneurs (some not even entrepreneurs) - I mean what even defines a successful band? By your logic - that would be hits and money - which is no longer an appropriate way to judge.

<comment><USER9> I think the phrase is quite apt if you remove the "successful" qualifier. Most likely this was just an oversight in his writing.

"Imagine record labels staffed with nothing but the people from bands, using their money to give other artists a faster way to the top."

This actually resonates with me deeply, as the record label I just launched (<http://tableandchairsmusic.com>) is staffed with 14 out of 14 artists, and we re-invest 100% of the money we make back into helping our artists grow. I wouldn't say we're successful _yet_ , since we just launched last Saturday, but we are in extreme support of innovation :)

</comment></comment><comment><USER10> This post should consider the time of the industries. It would be more appropriate to compare VC's to the record labels of the 60's up through the late 90's.

The reason the analogy is ever made to begin with is not rooted in the nuances of these two industries. It comes simply from the big hits nature of both industries and how they both survive off the massive winnings of a very small group of rock stars.

</comment><comment><USER11> He seems to be saying that they are pretty much like record labels, but they behave a lot better.

</comment><comment><USER12> As someone who's signed to a record label (Victory Records) and has talked with many other bands about their experiences with their record labels, I'd have to say that this post is mostly true in the sense that VCs and record labels are comparable... but it's way over-generalized.

There _are_ some record labels out there who really do care about their artists and do everything they can to help without tossing moral and ethical standards out the window. I know this for a fact. As for Victory, if you know about the label, well... they're not exactly known for their kindness and would probably fall into the blog entry's generalization, but I believe they are getting better about it.

It isn't nearly as black and white as Jacques is making it seem.</comment>


Accessing Gitlab Returns 403 - <AUTHOR> https://twitter.com/trinta/status/1262798605624041472 <comment><USER2> Git operations have been executing normally and we've verified the issue is resolved! [https://gitlab.com/gitlab-com/gl- infra/production/-/issues/2...](https://gitlab.com/gitlab-com/gl- infra/production/-/issues/2164) (status.gitlab.com)

Please don't hesitate to reach out to us with questions or concerns.

Lindsay GitLab Community Advocate

</comment><comment><AUTHOR> Git push and pull on gitlab repos is down, returning 403s. This is breaking CI pipelines as well.</comment>


[EXPERIMENT] I attached a file to a tweet - <AUTHOR> http://pastebin.com/1pxubqfw <comment><USER2> Long before there was dropbox, I used to claim my backup solution was to use steganography and place my data inside porn pictures that I would upload.

Then I could just use google to find my backups distributed all across the net.

You might be looking at my 2007 Quicken files even now!

<comment><USER3> how?

<comment><USER4> I have no idea if this guy is serious, (EDIT: I submitted this before I saw his response) but it's entirely possible to embed data in JPEG files via base64 + modifying exif data. It isn't really viable for large files, however, unless vastly distributed. Perl:

      use Image::img;

      my $img = new Image::img;

      $img->ExtractInfo('image.jpg');
      #$img->SetNewValue("UserComment", $yourdata);
      #$img->SetNewValue("Comment", $yourdata);
      $img->WriteInfo('image.jpg');

<comment><USER5> You don't need to use exif data. Many tools use the often ignored alpha channel of each pixel. In this case, you have X x Y bytes of available storage where X and Y are the width and height of the image.

<comment><USER6> For lossless images, you could also use the least significant bit of each color channel of each pixel to represent your binary payload. I doubt this would be noticeable, especially with a photograph.

</comment></comment></comment></comment></comment><comment><USER7> Some numbers on this:

A standard-quality .avi is about 800MB. Base64 provides 6 bits of information per character, so that movie translates into ~8M tweets. Twitter seems to limit users to 1k messages per day,[0] so that movie would take about 22 years to upload.

[0] [https://support.twitter.com/articles/15364-about-twitter- lim...](https://support.twitter.com/articles/15364-about-twitter-limits- update-api-dm-and-following)

<comment><USER8> You could greatly reduce the number of tweets by using an encoding that took advantage of the full Unicode spectrum, as opposed to Base64 which just uses the ASCII set.

<comment><USER9> wouldn't it be easier to just stick <http://> in front of a chunk of data and let the twitter url shortener take care of it for you?

<comment><USER6> But then you're not really using Twitter (their main micro blogging service) to share the file. You might as well encode your data as a lossless image, upload to Flickr, and paste the link into Twitter.

<comment><USER9> So in order to break one arbitrary set of rules, we should strictly adhere to this other arbitrary set of rules, otherwise what would be the difference between doing that, and just not following any rules at all?

.... huh? This kind of reminds me of this xkcd strip about floor tiles <http://xkcd.com/245/>

In any case, I kind of wonder why nobody hasn't just thought of PSK encoding their DVDs and walking around town blasting them out of a boombox. I'm sure that will make you loads of friends.

</comment></comment></comment></comment></comment><comment><USER10> One interesting thing about this is the question of what is a file. Depending upon how Twitter stores a tweet, does a file actually exist at their location, or only a stream of information? Under current DMCA what would they be asked to remove X number of tweets in a row? If decoded and a copyright holder (provided there is one) notices, does he have to submit 155 claims/takedown notices? What if that information is broken up, chunked and some agreed upon pattern is used ie every 3rd tweet is garbage etc?

<comment><USER11> This seems to kind of tread into the territory of DeCSS haikus [1]; if I can speak (tweet) the file, isn't that expression of my rights to free speech?

[1] <http://www.cs.cmu.edu/~dst/DeCSS/Gallery/decss-haiku.txt>

<comment><USER8> _if I can speak (tweet) the file, isn't that expression of my rights to free speech?_

Philosophically? Possibly. Legally? No, since public performances of literary works are speech too and they're still protected by copyright.

<comment><USER10> Interesting (IANAL). So what is the legal distinction, persistence? I read recently that the MLK _"I Have a Dream"_ Speech was copy-written. I assume the difference in persistence comes from the delta between if I go up to the front of an auditorium and read the speech vs if I record that speech to an auditorium and redistribute it. Twitter would be an archive-able public medium is that where its usage as a medium gets moved to illegal?

<comment><USER8> No, there's no distinction, going up to the front of an auditorium and reading the speech is copyright infringement too. According to the law, _that_ speech is not protected free speech.

(by the way, sorry, nitpick: copywritten → copyrighted)

</comment></comment></comment></comment></comment><comment><USER12> One of the more interesting chapters in the Steve Jobs book discusses the time when Jobs finally convinced the recording industry that piracy wasn't necessarily a problem because people want free stuff (though that is a portion of it) but that it was simply easier than the alternatives. (In the case of the music industry at the time, every label had their own solution and they were all a pain to use.)

This experiment (and other humorous examples like this: <http://datenform.de/blog/dead-drops-preview>) displays the complexity of trying to prevent piracy by fighting it. If a critical mass of people want something and there isn't a convenient way to get it, alternatives will arise.

Life... er... pirates will always find a way.

</comment><comment><USER13> Why limit yourself to Base64? Twitter supports Unicode quite well. The 140 character limit is actually counted using normalized Unicode code points[1].

[1]: <https://dev.twitter.com/docs/counting-characters>

</comment><comment><USER14> The question in the end is who is responsible for the 'file.' MegaUpload was shutdown because they are being targeted as the responsible party. Most sites like YouTube and others have convinced the necessary parties that they are not responsible.

Once a file is broken down into multiple parts and scattered throughout, can you be held responsible for hosting parts of files? how large does the 'part' have to be to be held responsible? what happens if a file is split into parts and posted on pastebin + github + blogs and a trackers are used to manage and build the files again?

The only thing taking down megaupload will do is create new means to allow sharing to occur.

<comment><USER15> _Once a file is broken down into multiple parts and scattered throughout, can you be held responsible for hosting parts of files?_

Yes, because each part has the same color as the original. <http://ansuz.sooke.bc.ca/entry/23>

_how large does the 'part' have to be to be held responsible?_

It doesn't matter. If the original is infringing, every bit in it is also infringing.

 _what happens if a file is split into parts and posted on pastebin + github + blogs and a trackers are used to manage and build the files again?_

Also doesn't matter.

<comment><USER16> _It doesn't matter. If the original is infringing, every bit in it is also infringing._

The following was pasted from an mp3 of Bangs by They Might Be Giants, rather than typed:

      Q

This is against the law and I should go to gaol.

</comment></comment></comment><comment><USER17> Why not just tweet magnet links instead? Surely that's better than killing Twitter with base64 encoded files? Especially images where you already have twitpic and the like.

It's an interesting idea, but I don't see what you could do with it that you can't already do better with other services.

<comment><USER18> The author's motivation is to make an anti-censorship statement, not to provide an easy means of sharing files:

> _[Piracy] has always existed and I believe it will always exist. ... Content > providers and copyright holders should just acknowledge this and try to find > a way to revolutionize the idea of content distribution and its business > model._

This seems to me to be a good way to remind people (or introduce them to the idea) that all information on the Internet, whether political speech, a copy of _The Origin of Species_ , mindless Twitter blather, or copyrighted files, is in the end the same stuff, just a bunch of ones and zeroes.

Once you've acknowledged that fact, it's a short step to realizing that you cannot disrupt piracy through technical means without also disrupting communication essential to a free society. I think that's what the author's getting at.

<comment><AUTHOR> You totally got the point of my post and my experiment! I created the experiment after reading one of my friends' reaction to the Filesonic decision about stopping file sharing. He posted on his Facebook account that this was the end of piracy. But as Pash correctly states, as long as content is digital, it's just a bunch of ones and zeroes and the usenet experience teaches us that any file could be easily translated in words and posted anywhere, including blogging platforms.

Using Twitter was just a provocative way of analyzing the issue, given that the experiment was deeply interesting also under the light of DMCA, as another user suggested. I was thinking what would happen if people started "infesting" legit websites such as Twitter or other blogging platforms with copyright protected content under the form of Mime64 messages or using any other encoding method which translates a file in text. While posting a link to a copyright protected file would justify a DMCA takedown notice, the problem would be bigger if the file would be hosted (under the form of Mime64 tweets) by the blogging platform itself.

Let's make it even more complex. What if tweets or blog posts would be posted randomly (not just by one user) and links to all these tweets or posts would be collected in a small document, something similar to a .nzb file? Could Twitter or any other blogging platform refuse a DMCA takedown notice for messages which are harmless by themselves and which are a violation of a copyrighted work only if collected together following the list of files contained in the .nzb-look-a-like file (which may be hosted somewhere else)? This would be a general counsel's nightmare.

In conclusion, the fight against piracy is the classic mouse-cat fight...piracy will never die and the only way to bypass this is to come up with a new business model for content providers and copyright holders.

I know that Paul Graham recently launched the idea of "killing Hollywood" by creating a new business model for content distribution. I think this idea should even be broader and should be about "how to kill piracy" by removing the fundamentals of pirates (which is, I think, sharing, avoid paying premium prices, etc.) by creating a new business model or method for content delivery and fee collection for content utilization.

Thanks everyone for the great comments that you posted so far.

<comment><USER8> _Could Twitter or any other blogging platform refuse a DMCA takedown notice for messages which are harmless by themselves and which are a violation of a copyrighted work only if collected together following the list of files contained in the .nzb-look-a-like file (which may be hosted somewhere else)?_

Sure they could, the tweets would still have the work's colour[1].

[1]: <http://ansuz.sooke.bc.ca/entry/23>

</comment></comment></comment></comment><comment><USER19> With some regular expression magic I extracted the data from Twitter, however, the data was in the wrong order. With this command in Linux, I reversed the order and decoded the data:

tac twitData.txt | base64 -d -i > image.jpg

I've uploaded the image here:

[http://iqsecur.blogspot.com/2012/01/sending-files-using- twit...](http://iqsecur.blogspot.com/2012/01/sending-files-using-twitter.html)

However, it seems there is an error in the image, I'm not sure if it is the process itself or the image actually has an error. A reverse search resulted in 0 results, so I'm inclined to believe the former.

<comment><USER20> The technique of splitting files into many base64-encoded chunks was popular on Usenet in the 90s (another 7-bit platform with message size limits).

This was always the problem there too - 144 parts, 3 of which were missing/corrupt and the entire transfer was rendered useless.

<comment><USER21> In operation, a user will select a set of files from which the redundant data is to be made. These are known as input files and the set of them is known as the recovery set. The user will provide these to a program which generates file(s) that match the specification in this document. The program is known as a PAR 2.0 Client or client for short, and the generated files are known as PAR 2.0 files or PAR files. If the files in the recovery set ever get damaged (e.g. when they are transmitted or stored on a faulty disk) the client can read the damaged input files, read the (possibly damaged) PAR files, and regenerate the original input files. Of course, not all damages can be repaired, but many can.

The redundant data in the PAR files is computed using Reed-Solomon codes. These codes can take a set of equal-sized blocks of data and produce a number of same-sized recovery blocks. Then, given a subset of original data blocks and some recovery block, it is possible to reproduce the original data blocks. Reed-Solomon codes can do this recovery as long as the number of missing data blocks does not out number the recovery blocks.

<http://www.par2.net/par2spec.php>

</comment></comment></comment><comment><USER22> I really don't understand what the author is trying to prove here. Countless sites let people upload and share free-form information (a few that come to mind: Dropbox, Gmail, Facebook) in ways that would be much easier for pirates to use than Twitter, and none of them are going to get shut down any time soon.

Yes, shutting down Megaupload and its kin isn't going to stop piracy. But I don't think that was ever the goal. As long as it reduces piracy by some measurable amount, which I think it will, then the censors will have succeeded.

<comment><AUTHOR> I don't think this action will slow down piracy. The average user don't even know what's the difference between Megaupload or other cyberlocker websites. The user just (I guess) types what he wants on Google and gets some website with links to these cyberlockers.

This act, on the contrary, could help induce other websites to correct their conduct or could help induce potential developers to create such cyberlockers.

</comment></comment><comment><USER23> I can't find it but I remember something that sent messages like this over Facebook chat and then, on the other end, the software pieced it all together to show the image that was transferred. Anyone else remember this? It was a video so it might be on YouTube.

</comment><comment><USER24> To this extent, why not just turn twitter into a torrent tracker? tweet out something like: <torrent id> \+ <seeder information>. You could then just perform a tweet search for that torrent id, and you'd get all the seeders in return.

<comment><USER8> There's no real advantage in that: if you can use bittorrent, you can use DHT too.

This experiment shows that unlawful file sharing would still be possible even if the Internet connections were restricted to accessing only popular websites, as long as they allow any kind of user content to be posted.

</comment></comment><comment><USER19> Tweet #91 is an error from Excel. I was going to combine the messages into the image, but I can't without the full base64 stream.

<comment><AUTHOR> Ops, sorry about that! This is the missing tweet: +WjH/aGaR2ZyNxHHQCgALlpcscmpdvHaolA381MAcfxflQB6w/w48T6mslwuk3UiIQrNEhJz6Y9a5PUPBup2EzI8ZRweY5BhhX9EPh39lCey8NRtCbZZjHkfaLcGVS3XJ6E/UVF4n/Y4

</comment></comment><comment><USER25> Considering the medium, couldn't the author just have pasted the base-64 encoded data on pastebin?

<comment><USER11> I could be wrong, but I thing the idea is that Twitter is immune to censorship, so no matter what sites get taken down, file sharing can live on in 300 baud. Or something.

...Yeah, I don't really get it either.

<comment><USER26> Well, it does say "experiment". But I think the point is summed up in this line: "I believe that piracy will always exist". The OP is showing that data is so malleable that no matter how many Megauploads you take down, there will always be a way to share it, which seems obvious to us at HN, but to a layman this might be a little more eye-opening. Or maybe he was just fucking around over the weekend and wanted to find the most ridiculous possible way to send data.

</comment></comment></comment><comment><USER27> Comment on publishing platform, not content: Instead of using pastebin.com, use <http://pen.io> (for example PAGENAME.pen.io -- no account required, and you can edit if you have the password to the page, however you can't format the text) or <http://hackpad.com> (account registration is quick and you can format your text).</comment>


New visual form ui builder for jQuery developers - <AUTHOR>

Just a quick note about a new project that may help a lot of jQuery developers.
The site is located at www.codeCanvas.org and it offers a rapid visual jQuery form/ui designer.  It's free to all and I am hoping to build a large community of tool authors.
Our press release can be seen here:
http://www.mmdnewswire.com/free-visual-jquery-and-html-designer-launch-90290.html
Hope this helps!!
Best,
Jason Burgess codeCanvas.org <comment><USER2> This is fantastic looking and I'm absolutely going to try it to make a UI.

Does it work with Twitter bootstrap if we're using it as our base?

And thanks for making this free!</comment>


UK porn bill: Throwing our privacy out with the bathwater - <AUTHOR> https://plsignore.com/digital-economy/ <comment><USER2> The tech behind the UK filter is a steaming hot pile of S anyway.

oh sure it'll filter po.rnhub.con but reddit.com/r/nsfw nope. I suspect a horny 16 year old can figure that one out

Also...the whole "type your credit card number into this sketchy looking barebones site" tactic for verification just screams amateur hour

<comment><USER3> > I suspect a horny 16 year old can figure that one out

To be fair, I think that's a really high bar. Never underestimate the ingenuity of horny teens.

<comment><USER4> [https://dilbert.com/strip/1996-01-23](https://dilbert.com/strip/1996-01-23)

[https://dilbert.com/strip/1996-01-24](https://dilbert.com/strip/1996-01-24)

<comment><USER3> Those who fail to learn from Dilbert are doomed to repeat it

</comment></comment></comment></comment><comment><USER5> "Making sure the children in our society do not regularly stumble upon damaging material while browsing the internet, is something we can all get behind."

Well I can't. Most boys get their first exposure to pornography at maybe 10-12? It's natural and doesn't cause any problems. It's crazy that sex is so vilified in our society. And I don't think anyone even understands why.

<comment><USER6> We're not talking about peeking at the underwear section any more. How about teenage boys looking at incredibly violent porn with the women presented as enjoying it.

<comment><USER5> I mean, a lot of women do enjoy it. Human sexually is incredibly diverse. There's not one shred of empirical evidence that shows that looking at sexual material is damaging or affects life outcomes in any way, shape, or form. And honestly, people don't really seem to care. They just have this puritanical morality for others, while at the same time engaging in these behaviors in private. It's total bullshit.

<comment><USER6> The women in porn aren't enjoying it.

Also, that Nigerian prince isn't going to give you millions of dollars.

<comment><USER5> I know women who have said otherwise. In fact, one of them is my wife.

</comment></comment></comment></comment></comment><comment><USER7> In 30 years, this law will look as silly as the censorship of Clockwork Orange and the likes.

In the meantime, somebody will make money in VPN services.

<comment><USER8> The more sinister thing is that many ISPs seem to basically shadow ban VPN websites e.g. you don't even get a Christianity bait message like pr0n site or 4chan(...)

<comment><USER9> I wonder what's the incentive there. I know ISPs in the UK have to block certain sites (involved in copyright infringement) but as far as I know no VPN services are included in there.

What do they gain by banning VPNs considering they already comply with the law by blocking direct access to forbidden websites?

</comment></comment></comment><comment><USER10> I understand why you would require only adults to produce porn. Child porn is exploitative and destructive and one of then worst things in digital spaces.

But what is the reasoning behind limiting porn consumption to adults. This seems like an odd restriction that is taking away agency from children and families.

The age limit and type of porn varies significantly among parents that I know. None restrict porn of their 17 year olds. Everyone has a story of blocking their 10 year old.

The sheet cost of checking everyone's id on a big section of the Internet seems to dwarf any expected benefit. It would be cheaper to hand out free pihole devices for every parent in the UK that just black holes porn and give an 800# for parents to get tech support.

In my country some places passed laws requiring grocery stores to check everyone's id for alcohol purchases. It adds 10-30 seconds to every grocery trip and every incentive in a while causes a frustration. A friend's 80 year old mother was denied being able to buy cooking wine because she didn't have her id. It is so frustrating and an example of how society could improve, even in a small way, lives of citizens.

</comment><comment><USER11> People have a hard time suspending believe when watching porn.

</comment><comment><USER12> Interesting that the article mentions GDPR, and then launches into behaviours that are forbidden by GDPR

> But how could it be cheaper? well here is where it starts to get > interesting. The second professional could, for example, employ a cheaper > way to get your ID sent to them, maybe it gets sent via a third party. > Another way to cut costs is advertising, they could get your consent to use > your drinking habits for marketing purposes. Now we can just replace > "shopkeeper" with "online porn publisher".</comment>


Ask HN: Npm slow? - <AUTHOR> Just trying to find out if npm is just slow for me. Npm install is taking forever .... but all other sites including HN works fine. <comment><USER2> What is your ping with NPM?</comment>


How To Retire At Age 27 - <AUTHOR> http://thoughtbroadcast.com/2011/09/04/how-to-retire-at-age-27/

<comment><USER2> This title is a bit sensationalist, but the points this article makes are valid. The mind is too complex to diagnose psychiatric illnesses with labels, and if we associate rewards with having one of these labels, people will game the system.

</comment><comment><USER3> As a blind person I have seen the disability system abused. Using Blindness as an example I can understand someone who has recently gone blind using Disability. It bothers me when I see people like me who were born blind and are capable of holding a job chose to get Disability instead of working. I don't understand the logic of this since it looks like your benefits max out at about $2600 a year but a lot of this depends on how much you worked in the past. I'd like to know how much the person in this article gets a month. I realize I'm lucky that I have a well-paying Software development job but I would not want to live on SSDI income. First it would reduce my quality of life while I could survive I wouldn't be able to have the disposable income for things such as vacations or new technology that I have now. Second having a job makes me feel like I am a productive member of society. I am sure it is different if you live in an area with chronic unemployment but I would feel like my worth was lower than the average person if I made the choice to live on disability when I was capable of working while all my friends were holding down jobs.

<comment><USER4> Putting a cash value on benefits is quite misleading. Once you factor housing benefits, food stamps, etc - the total should be something you can live on. It shouldn't be something you'd choose to live on, but it should be enough (otherwise it's failing those who truly need it)

<comment><USER3> True, I didn't take that into consideration. I used Social Security Disability and Social Security Supplemental income to help pay for College but didn't get any other bennefits since I lived on campus and was on my parents health insurance.</comment></comment></comment>


Boxy, a Mac Client for Inbox by Gmail, Is Live on the Mac App Store - <AUTHOR> http://www.boxyapp.co/ <comment><USER2> I am not paying for an Electron wrapper that can break at any time.

</comment><comment><USER3> Is this built on Electron? Does anyone installed it already?

<comment><USER2> It really looks like it, the line in the FAQ about unified inbox seem to indicate that this is just a wrapper around the Inbox Web app.</comment></comment>


Why does deep and cheap learning work so well? - <AUTHOR> https://arxiv.org/abs/1608.08225 <comment><USER2> A year ago, a group of us at UMD took a couple weeks to go through this paper. It's got some interesting insights, but like all theory papers right now, gaps remain. The construction they present for learning Hamiltonians of low polynomial order doesn't look a ton like any common production neural network modules, and the justification for why we would only be dealing with that Hamiltonian family in practice is unconvincing to me. That said, overall it's worth a close read. Section 2' parts A and B are the best summary of the connection between probability theory and deep learning that i have come across.

</comment><comment><USER3> Here's a related 2016 talk by Max Tegmark (second author) on connections between deep learning and physics:

[https://www.youtube.com/watch?v=5MdSE-N0bxs](https://www.youtube.com/watch?v=5MdSE-N0bxs)

The gist of it is that physical data tends to have symmetries, and these symmetries make descriptions of the data very compressible into relatively small neural circuits. Random data does not have this property, and cannot be learned easily. Super fascinating.

<comment><USER4> In that case, the fact that our minds run on similar substrates is probably non-coincidental.

<comment><USER5> Indeed, the connections seem profound. It seems to be a general-purpose optimal algorithm for, well, optimisation. And that would explain why the universe, our brains and AIs all trend toward it.

It could also be just that intelligence tends to mirror the outside world, but that seems a bit arbitrary.

<comment><USER6> > It could also be just that intelligence tends to mirror the outside world, > but that seems a bit arbitrary.

We are part of the universe, so why would it be arbitrary if our brains were structured in ways that match typical structures found in this universe?

<comment><USER7> [https://en.wikipedia.org/wiki/Panpsychism](https://en.wikipedia.org/wiki/Panpsychism)

<comment><USER6> I was thinking more along the lines that if our minds process outside information in a way that makes sense of that information, partially through simulating it, it does not seem so strange if the structures end up matching the outside structures through some form of convergent evolution.

From a cursory reading of that article I do not see it argue the same thing.

<comment><USER7> That the universe is the best simulator of itself? That say, simulating water flowing through a pipe, the system doing the simulation re-formulates itself into something that resembles the pipe and the water?

<comment><USER6> > That the universe is the best simulator of itself?

What is this even supposed to mean? Also, "pipe" and "water" are _ridiculously_ high level constructs, categorisations made by humans. Neither says anything about structures inherent to the universe.

I mean that when working with symmetries, information flow, and fundamental building blocks, certain structures just tend to pop up naturally. Hence fractals and geometrically shapes in places where you might not expect them. Or how laws of thermodynamics suddenly seems to be everywhere in biology all of a sudden now that we started looking[0][1].

[0] [http://ecologicalsociology.blogspot.de/2010/11/geoffrey- west...](http://ecologicalsociology.blogspot.de/2010/11/geoffrey-west-on- scaling-rules.html)

[1] [https://www.quantamagazine.org/a-thermodynamic-answer-to- why...](https://www.quantamagazine.org/a-thermodynamic-answer-to-why-birds- migrate-20180507/)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I really like this kind of cross-disciplinary research and knowledge transfer. It should happen more often.

It's interesting that so many equations governing different laws in different fields actually share quite a few properties, and on deeper analysis, can be explained by a single mathematical property. It makes me wonder how many insights we are missing simply because they were discovered in another field, under a different name, for a different purpose.

<comment><USER9> I recall a project (out of MIT I think) that used category theory and knowledge mapping to discover isomorphism between the knowledge graphs of different fields like math, physics, and economics.

<comment><USER10> I found something similar with topology, graph theory, ...

links??

</comment></comment></comment><comment><USER11> Learning a transformation from the full transformation semigroup is the most general case. Consider a mystery unary CPU operation M on a 64 bit register. How deep of a circuit do you need to calculate any such transformation M? According to Kolmogorov just writing out a random transformation function takes (2^64)*(64) bits to make the lookup table. log of that to get a result out efficiently. Results here were already proved in information theory. If you use a depth less than log of the lookup table you are screwed unless your function is extremely non-random.

<comment><USER12> it's not the same results, their point was to justify it on physical grounds

</comment></comment><comment><USER13> > we show that n variables cannot be multiplied using fewer than 2^n neurons > in a single hidden layer.

I don't know, but it just feels like this should have been known in CS earlier than 2016. Circuit complexity has been studied for a long time.

<comment><USER14> Depends if you want an exact multiplication or not

Especially if you have neurons with non-linear response

remember ln(a*b) = ln(a)+ln(b)

</comment></comment><comment><USER12> This is a very nice paper that puts some "meaningful" names in neural network function. I like how eq. 8 neatly describes a neural network as a readout of an energy hamiltonian and an output distribution. They show that real-world data, thats is described by low-order polynomial hamiltonians , needs a small number of units and that "depth" gives the network its compositional/hierarchical ability. Even though some of the theory goes over my head, their main arguments seem to "fit" together very nicely.

So basically a deep network can "cheaply" (i.e. not fatally expensive) describe anything that occurs in nature, which is wonderful. I wonder however what will happen when we move to higher cognition and meta-cognition which requires the readout of network states that are not found in nature, but are generated internally. Would be interesting to know if we need much more brain or a little more. In any case very intersting read.

</comment><comment><USER15> Love to see more papers like this. I remember a recent paper that showed decent model performance when the model was allowed to pick its own activation functions. It was picking wacky things like sine waves. You'd like to learn something about the model by the way it configures itself, but right now we can only understand simple model features.

<comment><USER16> That's so weird, I can't help but feel like that would only ever result in it coming up with something that initially got it a better result and the rest of the network adjusted around it and is able to carry the weight of that weirdness.

What IS interesting is that it shows just how resilient the networks that come out of this really are that they can support such weirdo activations.

But there are other elements of introspection that should absolutely be handled by neural nets, things like choosing how deep a given network needs to be should be accomplished by other neural nets specifically looking for trends while training.

<comment><USER15> Yeah, I agree about smarter parameter search and training. That was a big theme at ICLR this year.

Fwiw, here's the paper on RNN architecture generation referenced earlier.

[https://arxiv.org/abs/1712.07316](https://arxiv.org/abs/1712.07316)

</comment></comment></comment><comment><USER17> I am not a Physicist (IANAP), so maybe I'm misrecalling some definitions, but isn't the restriction to Hamiltonians a bit, well, restrictive? This limits the results to path independent potentials, which is basically nothing in the non-spherical cow world. Are the authors working from a different definition of Hamiltonian?

Does it matter if your Hamiltonian is smooth or if you are working from a discrete theory?

<comment><USER18> In this context, the Hamiltonian is just the log of the conditional probability of the input data given some parameters. In fact, such functions are much _more_ diverse than the functions defined by neural networks (which, though there are many variants, are basically all compositions of linear and nonlinear functions). The question being asked in the paper is which Hamiltonians can be robustly approximated by neural networks. The authors then argue that the class of Hamiltonians that appear in nature are simple enough that neural nets do a decent job.

</comment></comment><comment><USER19> One of my dreams is to do something similar by simplifying neural nets via (bi)simulation (something along the lines of quotient automata).

<comment><USER20> I think you will like this paper then: [https://arxiv.org/abs/1711.09576](https://arxiv.org/abs/1711.09576)

</comment></comment><comment><USER21> Man, it's good to see some actual information theory applied to deep learning for a change.

<comment><USER22> I'm sorry but this comment is just at odds with the current literature in deep learning. A few very prominent researchers have been trying to use information theoretic concepts to explain generalization for a while now-see the somewhat controversial branch Naftali Tishby developed...However many other papers apply 'actual information theory'....

[https://arxiv.org/search/?query=deep+learning+information+th...](https://arxiv.org/search/?query=deep+learning+information+theory&searchtype=all&order=&size=50)

<comment><USER23> I think the GP poster meant to contrast this paper not with other papers, but with the junk explanations for "how deep learning works" that science journalism comes up with.

<comment><USER22> trust me some of the junk explanations for how deep learning works originate from researchers. we really just don't have a convincing picture about why these networks work or don't work in a theoretical way rather than empirical/heuristic handwaves

<comment><USER11> Bollocks see my comment. We know worst case bounds for Kolmogorov random transformations of a finite set, the most complex learning task there is.

<comment><USER22> huh? not even wrong......

</comment></comment></comment></comment></comment></comment><comment><USER24> Same reason general relativity works. If you try to model results without a fundamental principle of the system's content's operation then you are going to have some limitations.

<comment><USER25> >"Same reason general relativity works."

Dark matter/energy?

<comment><USER26> Well, technically general relativity has no real problems with either of those (there shouldn't be, given that general relativity is the main justification for both). It's the quantum mechanics behind them that's not really well understood.

<comment><USER25> >"the quantum mechanics behind them that's not really well understood."

I've never heard of it being understood at all.

</comment></comment></comment></comment><comment><USER27> Large companies like Google and Facebook will easily be able adapt to the change. They have an army of lawyers and workforce for this. Smaller startup? They will face challenges. Especially European ones. Most possibly, this "innovation" will end up as one more pop-up with "Accept or Leave" message on every website you are visiting from Europe for the first time.

</comment><comment><USER28> Probably because so little is actually driven by real data and so much by marketing and hype.

</comment><comment><USER29> Here's an HTML version of the paper if you're on a phone: [https://www.arxiv- vanity.com/papers/1608.08225/](https://www.arxiv- vanity.com/papers/1608.08225/)

</comment><comment><USER30> It does not. It's about unsupervised learning and unlabeled data. It's the next frontier. Automated feature engineering for triangulated datasets is the real target.</comment>


One Idea a Day Until I Get Hired - <AUTHOR> http://oneideaaday.tumblr.com/

<comment><USER2> I'm not trying to be mean, but I honestly don't understand any of these ideas. How would they would help any of these businesses make money?</comment>