Living with Microsoft C++ Compiler Bugs and Ambiguities - <AUTHOR> http://blog.jetbrains.com/rscpp/microsoft-cpp-compiler-bugs-ambiguities/ <comment><USER2> After reading [http://blogs.msdn.com/b/vcblog/archive/2015/09/25/rejuvenati...](http://blogs.msdn.com/b/vcblog/archive/2015/09/25/rejuvenating- the-microsoft-c-c-compiler.aspx) i'm not really surprised about these kind of issues. It's impressive that VC2013 was as compliant as it was, when all template parsing was based on string interpolation instead of an AST (and simultaneously distressing that a billion-dollar company would release such a product so recently).

Is the submitted article talking about VC2015? Although i suppose they will need to keep supporting the older toolchains.

<comment><USER3> _Is the submitted article talking about VC2015?_

It's a pitty it is not stated which version - maybe it means 'all versions' \- nor possible fixes a user can use. E.g. for the 'Binding Rvalues to Lvalue References' case: using /W4 flag will yield a C4239 warning, turning on 'Treat warnings as error' will prevent using the code all together. For things like the '__VA_ARGS__ chaos' and 'Elimiated Types' on the other hand there is no fix (that I know of), but I'd argue such constructs do not have a place in modern C++ (or maybe even any C++ for that matter) anyway and they should be avoided by the users and as such should never turn into problems.

<comment><USER4> > For things like the '__VA_ARGS__ chaos' and 'Elimiated Types' on the other > hand there is no fix (that I know of), but I'd argue such constructs do not > have a place in modern C++ (or maybe even any C++ for that matter) anyway > and they should be avoided by the users and as such should never turn into > problems.

The point is that massively popular libraries (Windows SDK, boost) depend on or work around the broken behavior. This attempt to ignore the problem by calling it insufficiently modern is impractical for folks who need to care in the real world.

</comment></comment></comment><comment><USER5> I think the standards for large languages like C++ should really be developed in parallel and released together with a reference implementation - that way others would have a baseline to compare behaviour with, and it'd discourage adding features that turn out to be ridiculously difficult to implement correctly (e.g. export templates) or diverging dialects. The reference implementation doesn't have to be optimised or produce optimised code, but should be written to follow the standard closely, favouring clarity instead of efficiency.

<comment><USER6> Requiring a reference implementation with a standard is a bad idea. First off, who's going to write it? The compiler vendors are the people who'd likely do the best job, and they already have to adapt their implementations for changes --now you're making them do it twice. Another, even bigger issue, is that it actually doesn't tell you what's hard to implement. MSVC, gcc, and clang all take different approaches to their compiler, and what can be easy to implement in one could turn out to be ridiculously difficult in another (e.g., exposing a full AST via reflective mechanisms). You need a diversity of implementations, not just one implementation, to know what's actually hard to implement and what's not.

It's interesting that you bring up export templates, because that fiasco feature actually already sort of had a reference implementation. The original Cfront compiler actually supported it (admittedly, it was very buggy). The problem with export was that, at the time of discussion (~1996), no one really understood just what the impact of all of the template complexity meant--they assumed that templates were basically just a typesafe variant of the C preprocessor (or at least that most common use could be boiled down to that description; its Turing-completeness was known by then).

So, in that vein, export template was seen as a "well, this is going to be tricky, but so is name resolution in general in C++" and the overarching use case was compelling (you can hide the implementation of a regular function, why not templates?). Compiler vendors objected to the feature, but not on the basis that it was essentially impossible to implement, but rather that major design points would need quibbles. It was eventually accepted into the standard largely with the understanding that everyone would implement something close to it, if not the exact current specification.

The only thing that would have prevented export template from being standardized would have been requiring a fairly robust implementation that could have discovered that export template really did infect every part of the code base in a horrible way, and it should be noted that reference implementations generally aren't that robust. Amaya, after all, didn't prevent HTML 4 or CSS 2 from having unimplementable sections.

<comment><USER7> > The original Cfront compiler actually supported it (admittedly, it was very > buggy). The problem with export was that, at the time of discussion (~1996), > no one really understood just what the impact of all of the template > complexity

Actually I think they kind of did, as Ada already had generics and modules in 1983. And STL was born on Ada.

However, Ada compilers were once upon a time believed to be complexer to implement than C++ ones and had beefy hardware requirements, so maybe they didn't want to try that route.

Now they are trying to finally add modules. :)

</comment></comment></comment><comment><USER8> I'm a bit confused. Shouldn't this:

        X<b> x;

be this:

        X<B> x;

Or am I confusing things? Also, I assume the `</b>` at the end is a typo?

Furthermore, I wasn't _even aware_ you could access `a` the way it's being accessed in the same example; I always use `this->a`. Actually, I'd access `x` through `this->x` anyway, in case there's a lvar in the context. Although, I rarely write C++ anyway.

<comment><USER9> Yes indeed, thanks for pointing this out.

</comment></comment><comment><USER10> That #define comment behavior is interesting - I wonder if it was the cause of a nasty bug I had a looooong time ago when I was porting the driver for our Serial HIPPI NIC to the initial release of NT 4.0 (NDIS 4).

There was a crash bug that happened only every few million packets. Obviously, this was a race condition. After a lot of hair-puling and waiting for 5-30min every time I wanted to test something, I decided to simply replaced the actual locking code with a single global spinlock at every entry to see if a serialized driver worked[1].

After that version still crashed, and a lot of trial and error, I finally found out that the spinlock were never actually running. Microsoft's compiler was compiling loops like this as if it was a NOOP:

        #define SPINLOCK(lock)      \
            for (;;) {              \
                if (TESTLOCK(lock)) \
                    break;          \
            }

But it worked after I made this change:

        -    for (;;) {
        +    while (1) {

Empty for loops were dropped... but only in macros. Now I'm wondering if it was getting commented out in some subtle way.

[1] There was some concern about hardware errors, as a similar PCI chip we were using failed to notice changes in the PCI GNT# if it change REQ# in the same clock cycle.

</comment><comment><USER11>
        This may have been a bit of a discouraging post with respect to MSVC,
        but do not worry — in a subsequent post we'll take a look at MSVC-specific
        constructs which, while not necessarily standard-compliant, are nevertheless
        interesting and often quite usable

bah. Everything about the MSVC compiler is pretty much terrible.

Having some extra non standards compliant features in no way mitigates its terribleness.

The only good thing we can take from these articles is that yes, the guys at Microsoft have acknowledge how bad the situation is, and are actually trying to do something about it.

honestly? I'll believe it when I see it.

Breaking backwards compatibility is a nightmare because lots of libraries depend on the very particular way the MSVC compiler works; but that means you can't actually fix bugs.

So long story short, there's probably never going to be a 'good' version of MSVC. It'll pretty much be stuck with its peculiarities forever.

Maybe one day we'll get a 'new' compiler that can sit along the legacy one and actually compile, you know, the C++ standard. I'm not holding my breath, but hey, we can daydream...

</comment><comment><USER12> Making their preprocessor compliant with (modern) C and C++ standards is on their roadmap though (and two-phase lookup is too):

[http://blogs.msdn.com/b/somasegar/archive/2014/06/03/first-p...](http://blogs.msdn.com/b/somasegar/archive/2014/06/03/first- preview-of-visual-studio-quot-14-quot-available-now.aspx)

Also (nowadays) MS admits that their implementation of __VA_ARGS__ isn't compliant:

[https://connect.microsoft.com/VisualStudio/Feedback/Details/...](https://connect.microsoft.com/VisualStudio/Feedback/Details/1029464)

<comment><USER5> I'm not a big C++ user, nor terribly fond of the language in any case, but IMHO the "single-phase lookup" MSVC is doing for templates is conceptually much simpler to understand (and apparently implement) than the standard 2-phase: instantiating a template is literally a textual substitution, which is intuitively what I'd expect and understand templates to be.

<comment><USER13> With two-phase lookup errors in code that does not depend on template arguments are caught earlier (when the template is defined) than with one- phase lookup (when the template is instanciated). Which is why template code written for Visual Studio might not compile with a standard conforming compiler.

>instantiating a template is literally a textual substitution

I'm being pedantic here, but that's not quite the case. Example:

      template <typename T>
      void foo()
      {
        T t;
        ...
      }

      foo<int[2]>();

With simple textual substitution this would result in a syntax error, as

      int[2] t;

isn't valid C++ code.

</comment></comment></comment><comment><USER14> Awesome; I didn't know you could use macros to define REM as a comment in Visual C++!

<comment><USER15> Me neither! Here's another cool macro trick: [http://journal.stuffwithstuff.com/2012/01/24/higher-order- ma...](http://journal.stuffwithstuff.com/2012/01/24/higher-order-macros-in-c/)

<comment><USER16> That's worthy of its own article.

</comment></comment></comment><comment><USER17> I understand that we get in a mess with different compilers not supporting the standard with cross platform code so MSVC should be changed.

But with respect to binding RValues to LValue references, why is the MSVC way not the standard? At first glance the MSVC way appears way more intuitive.

For instance if I have code: update_X(X()); I would expect to be able to refactor it to this safely: { X x; update_X(x); }

</comment><comment><USER18> join the club: g++ and clang++ also have different opinions about what's acceptable.</comment>


Things We'll Be Able To Do Once IE6 Is Dead - <AUTHOR> http://www.sitepoint.com/blogs/2009/04/14/10-cool-things-well-be-able-to-do-once-ie6-is-dead/

<comment><USER3> Contrary to the article inline-block on inline attributes is supported by IE6 according to the Quirksmode tables (<http://www.quirksmode.org/css/display.html>); unsurprising as it was originally a non-standard IE-specific attribute. Firefox 2 was the browser everyone was waiting for in order to use it.

We'll have to wait until IE7 dies until we can forget about the hasLayout problem, sadly. (<http://www.satzansatz.de/cssd/onhavinglayout.html>)

<comment><USER4> I think IE7 users will upgrade faster than IE6 users for these reasons:

1\. The quick release between IE7 and IE8 means that users who have recently upgraded (or have adjusted) to IE7 haven't got stuck in their ways just yet and have recently encountered change.

2\. IE7 users have already (tended) to show a willingness to upgrade and learn a new system (either Vista or IE7 on XP).

3\. IE8 is being rolled out as a critical update so the willingness and recent experience of change should influence IE7 users more than IE6 users.

4\. A major reason for not upgrading IE6 is legacy code written for IE6 - <USER2> should be less of an issue on IE7.

5\. IE8 isn't nearly as different from IE7 as IE7 is from IE6.

</comment></comment><comment><USER5> Or, "10 cool things you can do right now because you no longer support IE6."

</comment><comment><USER6> Sadly, Firefox 2 isn't dead (and apparently still accounts for 40% of Firefox usage), so inline-block is even further-away than the death of IE6. I recently had to take out a bundle of inline-blocks I had put in for a client's intranet site after finding out that they wouldn't even consider updating past 220.127.116.11. Why go through the major effort of transitioning to a new browser and then doing QA and testing for all your existing web-apps, but then not put in the small amount of effort involved in keeping said browser up-to-date? I've never seen a single site, no matter how complex, break on a Firefox upgrade.

<comment><USER7> Not sure where you're getting your 40% number, but my sites see less than 3% of users using FF2 (these are sites which still see 20%+ IE6 use, so not skewed towards developers).

This stats page shows FF2 use at 3% of total, which would be around 7% of Firefox users. <http://www.w3schools.com/browsers/browsers_firefox.asp>

<comment><USER6> If you're curious, I got my stat from here: <http://www.w3counter.com/globalstats.php>

</comment></comment></comment><comment><USER8> It's only one data point, but I have a few popularish (for the niche) sites in the (Ruby) programming niche, and averaged over a few sites, over about a million pageviews over the last several months, about 2.5% of visitors were using IE 6. From others I've spoken to, this is about average for techie / programming sites.

So.. if I didn't want to support it, I wouldn't. Well, I would, but I'd just show bare styling to them. The sort of user who's still on IE 6 doesn't really care about pixel perfect layout anyway, right? (Except for the poor closet geeks "stuck" on IE 6 in the workplace, but that's an even smaller percentage.)

</comment><comment><USER9> I though it was getting to a point now where IE6 support was more for intranet and business sites. Is it a case of everyone supports it because everyone supports it, or people still use IE6 because it's supported?

<comment><USER10> I am starting to come to the conclusion that all the downsides of not supporting IE6 are for the most part mythological (particularly outside of corporate intranet situations like you identify).

I mean, if you "don't support" IE6, what is the worst thing that happens? Some stuff doesn't look right for a portion of your audience? These people already have a seriously degraded internet experience, are they going to notice that the padding on your floats is all messed up?

I am pretty certain that you are leaving revenue on the table if you choose to ignore IE6 as a business, which is a valid objection to my argument. But how much?

And how much costs are you leaving _off_ the table by freeing your designers and developers from supporting IE6, and allowing them to do other amazing things with their precious time?

Give me two almost-identical websites with two similar, business-oriented audiences, then have one site support IE6 and the other basically ignore it (and use the excess development/design time to build other features). I don't know about you, but I'd put my money in #2.

<comment><USER7> The problem is when you use CSS for interface elements (such as dialog boxes, UI controls, etc), a broken IE6 implementation may mean those users can't use the site at all.

How relevant this is to your income, of course, depends on the site. For a blog, it may not matter at all, but there's a good reason why Facebook is notifying IE6 users of a degraded experience. They use a _ton_ of CSS/Javascript for their UI, and I'm sure the cost of supporting IE6 is very measurable and very high. But they probably can't just tell IE6 users to go away entirely.</comment></comment></comment>


Ask HN: What to do with spare domains? - <AUTHOR>

I am curious if anyone has any ways of making money with their unused domains?  Parking for advertising never worked for me.<p>What should I do with my unused domains that I want to keep? <comment><USER2> You could install Wordpress with an RSS to blog post plugin. At the very least some content could go on them with AdSense around it. I have about a dozen of these that earn a few bucks every month, basically just enough to pay for the hosting and domain renewals. In the process, you should get a little boost in page rank when you do actually use them because of their age.

</comment><comment><USER3> point them to your active domains you are using?</comment>


Ask HN: Please review my new startup: www.Concurra.com - <AUTHOR> http://www.concurra.com <comment><AUTHOR> Looking for any feedback on this new project of mine that is being launched this month. It's the best thing since sliced bread for digital marketers looking to make their websites convert better.</comment>


Hunting memory leaks in Python - <AUTHOR> http://mg.pov.lt/blog/hunting-python-memleaks

<comment><USER2> So, 'zope.app.error.error._temp_logs' was filling up with data. So that's a memory leak in Zope, not Python.

The article does show a graphical, partly automated technique for tracking this stuff down though, which is nice. Really though, it's just another example of common mistakes from static/global variables or singletons.

</comment><comment><AUTHOR> "...Python is a garbage-collected language! How can it leak memory?... The trouble is that sometimes an object created by the test is referenced from a global variable, and that keeps it from being collected"

<comment><USER3> More proof that global variables are bad.

<comment><USER4> To me it seems like it's more proof that bad developers will continue to be bad, regardless of the language they're working in.

</comment></comment></comment><comment><USER5> I found a few thread leaks in my work's java suite. Unfortunately it was due to the fact that our thread monitor (good thing we put it in) started spazing out. I asked "why so many threads", and found the answer "because we created daemon threads and lost reference to them, there was nothing to stop any of them, so they kept getting created, and re-created, etc, and they all kept running for the entire suite."

Now if I could figure out why rebuilding the database takes 7 minutes vs 20 seconds that it used to take i'd start really saving time during dev.</comment>


IT job seeker exercises his right to see files - <AUTHOR> http://www.smh.com.au/it-pro/expertise/please-explain-job-seeker-exercises-his-right-to-see-files-20131005-hv1ub.html

<comment><USER2> Don't know about arrogant -- but seems to have gone out of his way to create a dense and generally indecipherable resume:

 _Designed architecture to align business units to leverage common platforms, workflows and technologies in order to improve operational efficiencies and capabilities Modelling of architectural states using ArchiMate 2.0 ..._

Sheesh.

Also:

 _I 'm an innovative, entrepreneurial technologist who has worked from a broad range of organisations and in several domains-- from startups to government... I am enthused by cutting edge and innovative ideas, and am constantly learning, adapting, and researching new opportunities and technologies._

Nice, but effusive self-promotion is worth approximately its weight in electrons to those of us just out looking for someone in the "Smart-and-gets- things-done" mold.

Friendly advice, Adam: nobody wants to hire an "Enterprise Solutions Architect." Get up to date with some generally recognizable skillset -- Rails, Django, DevOps, iOS, whatever -- just make it _nuts and bolts_ and _recognizable_ \- and, importantly, _create a portfolio_. Stop the tireless self promotion -- and let your skills (and visible projects) speak for themselves.

</comment><comment><AUTHOR> Under Australian Privacy Principals, he can indeed request to see his any personal data on file and request to have it modified if it is inaccurate. [1]

However, they can charge a "reasonable fee", but they cannot charge to get access to his information. [2] PeopleBank are charging him $75, and he must come into their offices. That is _not_ reasonable, and I would be reporting them to the National Privacy Commissioner. I most certainly hope they haven't charged him to gain access to his information!

1\. [http://www.oaic.gov.au/privacy/privacy-act/national- privacy-...](http://www.oaic.gov.au/privacy/privacy-act/national-privacy- principles)

2\. Note that it states it in item 6.4 [http://www.oaic.gov.au/privacy/privacy-resources/privacy- fac...](http://www.oaic.gov.au/privacy/privacy-resources/privacy-fact- sheets/other/privacy-fact-sheet-2-national-privacy-principles)

<comment><AUTHOR> Oh, and another thing:

While Peoplebank can charge a "reasonable" fee for updating the information, I would argue that $75 is excessive. I'd love to see a breakdown of how they have charged this. As for the argument that they are using a relational database, this is ridiculous. They don't input their data via raw database SQL, and I'm certain their systems allow for updating of information via some sort of web front end. I'd be asking them to justify their charges.

</comment></comment><comment><USER3> _One had labeled him as "arrogant", a judgment he believes has resulted in automatic blacklisting for jobs through that agency._

I've seen a hell of a lot worse in regards to recruiter notes on particular candidates. That being said, personally I don't see anything wrong with that particular agency labelling him as arrogant. Maybe he is? Maybe this comes across during interviews and makes it difficult for him to connect with recruiters or employers.</comment>


PUT vs POST in REST - <AUTHOR> http://stackoverflow.com/questions/630453/put-vs-post-in-rest

<comment><USER3> With POST you're creating a resource within the resource identified by the Request-URI. The server is responsible for creating a URI for the new resource you created.

        POST /forum/http/

         - creates a new post into the HTTP forum

        POST /photogalleries/cats/

         - uploads a new photo into the cats photo gallery

With PUT the client knows the resource's URI. The client uses it to create or update the resource. The easiest why to visualize this is to think of a filesystem

       PUT /forum/http/post-vs-put

        - upserts a post identified by "post-vs-put" into the HTTP forum

       PUT /photogalleries/cats/smelly-cat

        - upserts a photo identified by "smelly-cat" into the cat's photo gallery.

<comment><USER4> To be precise, there's really nothing that you can determine from the resource you're POSTing to. A POST to /forum/http/ could create a new cat picture in /yaykittens/ for all we know.

It's meant to be a catchall method, used for anything the others don't specifically cover.

</comment></comment><comment><USER3> I've often thought of creating a "Cult of HTTP" that goes door to door and hands out pamphlet versions of Chapter 8 of "RESTful Web Services" to web developers.

[http://my.safaribooksonline.com/book/web-development/web- ser...](http://my.safaribooksonline.com/book/web-development/web- services/9780596529260/rest-and-roa-best- practices/bestpractices#X2ludGVybmFsX0ZsYXNoUmVhZGVyP3htbGlkPTk3ODA1OTY1MjkyNjAvMjE1)

<comment><USER5> Include pamphlets of the Webmachine Decision Flow: <http://webmachine.basho.com/diagram.html>

</comment></comment><comment><USER6> This was a nice take-away for me: "PUT is idempotent".

<comment><USER7> Yes, but I have the nagging feeling that it should say "PUT is defined as being idempotent, so it's the responsibility of the programmer to implement it that way." Some frameworks may implement it this way, which is good, but it's something to test for if we want to assume idempotence.

</comment></comment><comment><USER8> I think either way is okay. It depends on how you want to structure it. Most web APIs aren't entirely RESTful anyway. It is also important to note that a lot of hosting providers don't support other verbs than GET or POST (ie Low- REST) [1].

[1] <http://www2008.org/papers/pdf/p805-pautassoA.pdf>

</comment><comment><USER9> 1\. What do you do if you wish to hide a query from the HTTP access log? Normally I would use POST rather than GET, but if I wish to make my API restful I have to ensure that POST is for create, and GET is for read.

2\. Does PUT data also not appear in the HTTP access log?

3\. What do you gain from doing everything this way? There are a lot of developers that won't have any idea what all of these HTTP request codes and methods actually are.

<comment><USER10> Figure out how to log only what you want. Don't let your choice of an inflexible logging system affect your external API.

What do you get? Well many things, but specific to your inquiries: using GET tells the client of your API that the request is cache-able (for better performance -- a browser won't cache POSTs), and it tells that client that it's safe to call without unintended consequences. A search engine spider should be safe to just hit every uri via GET that it finds, because those are supposed to be read-only.

</comment></comment><comment><USER11> And once you've agreed on PUT vs POST, you can start the arguments on PUT vs PATCH !

<https://github.com/rails/rails/issues/348>

</comment><comment><USER12> I would love to match curd with rest and I dnt find any ptoblems after that.

Create - Put, Update - Post, Retrieve - Get, Delete - <USER2>

<comment><USER3> If you want to put HTTP methods in terms of SQL CRUD then think of it this way.

POST is like a INSERT on a table with a auto incrementing primary key, you insert the data into the table and the SQL server tells you what the data is identified as. When you POST to a web service, the web service tells you what the data is identified as.

       For SQL:

       INSERT INTO people (first, last) VALUES ("Eric", "Moritz");
       SELECT id FROM people WHERE first = "Eric" and last = "Moritz";

       For HTTP:

       > POST /people/
       > Content-Type: application/json
       >
       > {"first": "Eric", "last": "Moritz"}

       < HTTP/1.1 201 Created
       < Content-Location: /people/1
       <
       < {"first": "Eric", "last": "Moritz"}

PUT can function like an UPDATE on a table using it's primary key. For instance:

       For SQL:

       UPDATE people set first = "Eric" where id = 1;

       For HTTP:

       > PUT /people/1/first
       > Content-Type: text/plain
       >
       > Eric

       < HTTP/1.1 200 OK
       < Content-Type: application/json
       <
       < Eric

A PUT can also be used to create a resource:

       For SQL:

       INSERT INTO people (id, first, last) VALUES (1, "Eric", "Moritz");

       For HTTP:

       > PUT /people/1
       > Content-Type: application/json
       >
       > {"first": "Eric", "last": "Moritz"}

       < HTTP/1.1 201 Created
       <
       < {"first": "Eric", "last": "Moritz"}

<comment> T-R Great description - sorry, I accidentally downvoted when I meant to upvote.

</comment></comment></comment><comment><USER13> Old questions in SO, generate interest in HN? Isn't N supposed to be NEWS?

<comment><USER14> At the risk of being down-voted by the HN-hive mind (this place is seriously getting as bad as reddit)...

There is a subset of developers in the valley who pride themselves on trying to build the perfect REST API. Arguing over things like PUT v. POST, laughing at people who have to use ?_method= hacks to get around corporate firewalls, and trying to pack as many query parameters into the path as possible. Things like this SO thread really get them excited, so its a magnet for upvotes.

The problem is, while technically correct, this is counter-intuitive to how you should be building an API. Unless you are going to be providing fully functional libraries in all the major languages, your number one goal is making it so damn easy your average contract programmer from Accenture (who often don't even know POST exists) could use it. Unless you have a compelling wealth of data hidden behind your API (Google, eBay, Amazon, etc.), or extreme user demand (Flickr, Facebook, etc.), you have to make the bar to entry as absolutely low as possible or you will never get traction.

<comment><USER15> The problem with many articles about REST is that they revolve around the question how to make your API more RESTful, and rarely answer why (and if) it actually makes sense to do so.

I think that proper use of HTTP methods is one of the core ideas of REST, but I understand that one might have to take shortcuts like _method to satisfy real-life needs while calling it RESTful to satisfy the buzz-word hungry PHB.

Let's just agree not to do something like GET /foo?_method=DELETE</comment></comment></comment>


Leaked Apple emails reveal employee complaints of sexist, toxic work environment - <AUTHOR> https://mic.com/articles/154169/leaked-apple-emails-reveal-employees-complaints-about-sexist-toxic-work-environment <comment><USER2> > _Danielle is an engineer at Apple — and like many of the women in the > company, she works on a male-dominated team. On a Tuesday morning in July, > when men on her team began to joke that an office intruder was coming to > rape everybody, Danielle decided to speak out about what she described as > the "very toxic atmosphere" created by jokes about violent sexual assault. > The coworker who first made the joke apologized, repeatedly assuring her > that something like this wouldn't happen again. But his assurances did > little to instill confidence. (...) this rape joke was the final straw: The > next day, Danielle escalated her complaint about the offense to the very > top: Apple CEO Tim Cook._

So it wasn't targetted at her (or some woman in particular or even women in general, more of a quip like: "we're all fucked now" on a missed deadline or something), it was told as a joke, and the (single) person who told it apologized.

And she snitched them to the CEO.

More like "Leaked Apple emails reveal self-centered employee who can't take a joke".

That is more toxic.

And, yes, there are jokes about all things, including rape, racism, violent assault etc. Even from someone like Louis C.K, who is no Lenny Bruce. Jokes are supposed to deal with the dark things in life. Are people only supposed to do PG-13 jokes now in case someone gets offended?

</comment><comment><USER3> This is a duplicate, and I feel like this comment from the other article shows how ridiculous this is

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

<comment><USER4> It's great that there is a decent pushback to define what is normal and what isn't. I'm fearful that the pushback might come from men today, but we're reaching the day women routinely participate in the self-derision of overreactions.

</comment></comment><comment><USER5> Muh safe spaces</comment>


Cloudfrag - Game Servers On Demand - <AUTHOR> http://www.cloudfrag.com/

<comment><USER2> Seems like an interesting concept, but at the same time one that has limited use. I could see this having niche use among users that need a server for a match or just want to play for a day with some friends, but in both those cases users have seemingly better options. Serious gamers often have servers to practice on, so they wouldn't be in great need of this service. Casual gamers often prefer to just hop on to a public server instead of configuring their own. Maybe if a group needed a server for an event? But even then LAN servers might be the way to go.

The best use for this would probably be a one-time online event like a 24-hour marathon or something of that sort that unites a group of players rarely, but on a somewhat large and controlled scale. It seems like an interesting idea, but probably not one that will see a lot of use, at least that is my perspective as a gamer.

<comment><USER3> Thanks for taking the time to write up your thoughts. I think the niche is a bit wider than that - the response from gaming community has been positive so far, so it suggests quite a few people are having this problem.

Wrt 24 hour marathons/planned games, that is something I am planning on targeting more specifically after the beta.

Thanks again for sharing your thoughts, I appreciate it even though I hope you are wrong ;-)

Mike @ Cloudfrag</comment></comment>


U Can't Talk to Ur Professor Like This - <AUTHOR> https://www.nytimes.com/2017/05/13/opinion/sunday/u-cant-talk-to-ur-professor-like-this.html?action=click&pgtype=Homepage&clickSource=story-heading&module=opinion-c-col-right-region&region=opinion-c-col-right-region&WT.nav=opinion-c-col-right-region <comment><USER2> The pedagogy point didn't get explained and harped on well enough.

How you interact with people, the words you use, the grammatical and dialect choices you make, and the tone you take all influence how people see you. Being able to put the "standard, professional English" face on your work and interaction is an incredibly valuable skill. Various flavors of vernacular English, casual address, and informal rapport isn't incorrect, wrong, or inappropriate - it just doesn't have the same sort of effect on the people who will later demand a particular sort of interaction with you.

In short, there's communication habits that will make it incredibly difficult to maintain white-collar employment, and one of the things that college does is teach students to use white-collar professional communication habits.

<comment><USER3> > isn't incorrect

Agreed

> isn't inappropriate

I Disagree. "Inappropriate" is relative to the situation. Your entire point is that students should learn to recognize the appropriate register for the situation and switch into it.

<comment><USER2> Agreed, I didn't make my point quite as clearly as I'd like to. What's likely clearer is saying that it isn't "inherently incorrect or inappropriate". Certain registers have certain effects on people, and it's valuable to have more interpersonal tools and better understand how they work.

>Your entire point is that students should learn to recognize the appropriate register for the situation and switch into it.

I don't really want to coerce people into using particular registers for situations. I do want them to better understand what the results of their actions are - if they want to poke at upper-class sensibilities by deliberately using a particular register, that's their prerogative. (I am, however, a little confused by why they're spending the time and effort at college)

<comment><USER3> Right, "sould learn" is more perspective than you or I meant.

</comment></comment></comment></comment><comment><USER4> This is a really tone-deaf argument that doesn't recognize the context that modern colleges exist in. Consider that most classes that freshmen and sophomores attend are either taught solely by TAs, lecturers, or other non- professors, or there is a class of 500 and the only personal contact the student receives is with the same.

In this context, when students spend the _first half_ of their post-secondary education learning a method of interacting with people who are excluded from True Academia, understanding that yes, you can be quite a good instructor without these norms (which, by the way, instructors can't or don't enforce because they don't feel empowered to by their institutions), it is not difficult to see why students resist the call for these norms once they start to interact with "real professors".

Any professor who is calling for student respect in this way without respecting that the institution of academia itself has been significantly denigrated is only addressing a symptom of a much deeper problem.

<comment><USER5> Indeed, when I was an adjunct, I never interacted with a professor either.

</comment></comment><comment><USER6> > Worse than the text abbreviations was the level of informality, with no > address or signoff.

I some times avoid giving signoff or address so-as to avoid wasting a professional contacts time. I assume my contacts may have information overload and will appreciate a short, to the point, email rather than long run-on emails where the point is hidden somewhere between all the syntax. Email isn't an academic paper after all and brevity is typically welcome.

<comment><USER7> "Yours, cyphunk" or "kind regards, cyphunk" add hardly any length to the email, but indicate that you have in fact finished what you meant to say and that you didn't mash [send] by mistake.

<comment><USER6> It's not hard to to write or read. They feel disingenuous though. The truth is email's are not like letters. A letter of at least one half a page should be the minimum, but an email longer than two paragraphs better be seriously interesting. We've carried over the etiquette of letter writing into a medium where using that etiquette feels much more manufactured.

</comment></comment></comment><comment><USER8> "In 1834, Harvard students rebelled when some of their classmates were punished for refusing to memorize their Latin textbook. They broke the windows of a teacher's apartment and destroyed his furniture. When the president of the college cracked down and suspended the entire sophomore class, the juniors retaliated by hanging and burning him in effigy and setting off a rudimentary explosive in the campus chapel."

What happened to the United States I love?

<comment><USER9> Sugar and TV happened.

</comment></comment><comment><USER10> I'm all for people getting called what they want - and the staff in question have earned the professional rank they're insisting on, so it's only polite to follow their wishes.

The broader point that formal academic titles matter generally (outside the particularly cultural environment these professors find themselves in) is much less convincing, though. As a graduate student we referred to the most senior faculty by first name without a moment's thought - and without loss of respect for their professional skills. That was simply the cultural norm in our department, and we conformed. As an undergraduate at a different university staff preference varied, but our respect was generally conditioned on teaching competence, not what title they'd chosen. I now have my own PhD and a university research job, and frankly my status compared to undergraduate students is high enough just with that, without insisting on them referring to me as "Doctor".

Likewise, the value of being able to signal your understanding of formality (and your lower position) by dressing formally for a job interview doesn't mean that it's necessary for workplaces to insist on collar-and-tie every day. Norms change.

<comment><USER11> Graduate students are colleagues -- they write papers with, present alongside, and publish in the same journals and conferences as professors. The expectation of formality is rightfully less. Undergrads are a whole different story; >90% of them have no future in academia and you are training them to succeed in a the working world. A large part of that includes grovelling and kissing ass. Despite not being a very formal person at all I found myself strongly agreeing with this article.

<comment><USER10> Sorry - I should have been clearer. I'm in the UK, where there is a pretty sharp distinction between the taught Masters, taken both by intending academics and by others (but in neither case are you in any real sense a colleague of the faculty) and the PhD programme proper (where you are, albeit a very junior one).

Academics in my department were on first-name terms with both the MSc and PhD students, though in other ways the nature of the relationship was as different as you describe.

TBH, my experience of pre-academic workplaces was also that people would be referred to by name rather than title. I know that varies a lot depending on where you are.

</comment></comment></comment><comment><USER12> I feel like there is a big difference between the grammar/informality issue and the first name issue. I think students using bad grammar or texting language is unacceptable, it's just disrespectful. But I think students being on a first name basis with teachers is — in some ways — actually a good thing. The relationship between student and teacher should be one of collaboration in pursuit of learning, not an authoritative one.

<comment><USER13> > The relationship between student and teacher should be one of collaboration > in pursuit of learning, not an authoritative one.

Collaborating and having an authoritative relation are not mutually exclusive. Teaching is essentially an asymetric relation, and it is important for the student to understand that he is not in a back-and-forth process, but in a receiving position.

Of course, there may be situations where this is not true, but it makes sense to optimize the communication protocol in spite of it, because the alternative is more harmful.

<comment><USER12> I respectfully disagree. Even if you don't think it is truly a symmetrical relationship, introducing an arbitrary separation makes it harder for students to develop relationships with their teachers. And learning is definitely enhanced by relationships between students and teachers.

</comment></comment></comment><comment><USER14> > Explaining the rules of professional interaction is not an act of > condescension; it's the first step in treating students like adults.

If you have to spend several paragraphs explaining how something isn't an act of condescension, you may have just spent several paragraphs apologizing for committing acts of condescension.

I suppose this article makes me crabby because it's written solely with the needs/wants of the professor in mind. The author initially wanted to be the "cool" teacher. It's a teacher's "job to correct sloppy prose". Formality helps defend the _university 's values_ "at a time when they are under continual assault." A professor has to "establish that I belong here" because "I'm the first and only black teacher they've every had."

How about the students? What's the most effective way to get them collaborating with each other and thinking critically about the material to which you've introduced them? Especially given that lectures have been shown to be one of the _least_ effective means of teaching?

You do remember the students, right? Those people taking on burdensome debt in a desperate hope to gain permanent employment long after taking your class? I'd say if "firstname.lastname@example.com" finds it worthwhile to send you a question over email, you should put in the maximum possible effort your professorial brain can muster to write helpful and meaningful response. If you really think that response starts with, "it's time to retire that address," at least consider that your priorities are so out of whack that it may be time to for _u_ to retire _ur_ address.

</comment><comment><USER15> In the most recent episode of econtalk ([http://www.econtalk.org/archives/2017/05/tyler_cowen_on_1.ht...](http://www.econtalk.org/archives/2017/05/tyler_cowen_on_1.html)) Tyler Cowen had the very interesting thesis that less formal dress codes make it harder for outsiders to fit in and makes it harder to climb there ladder. Instead of just wearing what's prescribed for your role you now have to decide yourself what might be seen as appropriate and maybe even decide how to stick out or what clothing match your desired perception and ambitions. He pointed out that as a immigrant from a foreign culture you'd be relieved to just get a simple answer like "white shirt and black tie".

I wonder if the same principle might be true for language. Having formal rules how to address someone might make it easier to do the right thing and not having to waste brain power on something like that.

</comment><comment><USER16> > Formal etiquette was not aimed at ensuring respect for all. It was, in part, > a system to enforce boundaries of race, class and gender at a time when the > growth of cities and mass transit forced Americans into close quarters with > strangers. Codes of behavior served "as checks against a fully democratic > order and in support of special interests, institutions of privilege and > structures of domination"

Hence the argument for a uniform mode of address. Oh wait, we already have that: the email address itself. Why does anyone need more than that?

> You will never offend or annoy someone by being overly formal and polite.

You'll offend all the anarchists, and libertarians, and hippies, and probably some other people.

<comment><USER17> > You will never offend or annoy someone by being overly formal and polite.

I get that the average person in the English-speaking world might claim that, but Europeans and many other peoples whose languages have a tu/vous distinction are well aware that sometimes you can inadvertently offend or even intentionally belittle someone by actually using the more formal way of address. Context is everything.

<comment><USER18> Even without the distinction intentionally ignoring context can be used to be offensive.

I guess not really for a student talking in a formal way to a professor. But then you can just be formal in an overly mechanical way to imply that you are merely going through the motions and don't actually intend to convey any respect.

</comment></comment></comment><comment><USER19> What do college professors expect? Anyone can easily go to college now and many kids receive absolutely no education during their former years.

I remember being in AP English in 11th grade. We had to grade papers for the regular English class. I distinctly remember grading a paper that was using "red" to mean "read". This was common and not unusual.

But, you know what? These kids went to public universities because apparently we don't need garbage men anymore so if you have a 2.5 GPA and a 16 on the ACT, you can get into college.

<comment><USER20> The issue goes much deeper than "anyone" can go to college. Their is a huge education disparity between wealthy zip codes and poor zip codes. So, yes you were in an AP English class. How many of your fellow classmates do you think were on free and/or reduced lunch? How many students in the regular English classes were on free/reduced lunch?

The educational disparity is the real root of this problem. You add in that the average salary of a teacher after 5 years of experience is less than nearly any job after 5 years of experience.

This feeds into educational disparity even further as the good teachers want to teach in a wealthier school district as it is a much easier position to be in. More support from teachers, "smarter" kids, ability to get paid more as the taxes from that area can afford better teachers.

Contrast that with poor school districts and you get the exact opposite. You have a variety of kids from troubled homes, you don't know if they had or can afford breakfast, you don't know if they have even a remotely okay home environment to do homework in.

So sure, "anyone" with a pulse can get into college but the real issue is not that. It starts much, much earlier in the education system.

It took me a long time to figure out how fortunate I was to grow up in a wealthier school district, and the fact that I worked my ass off to get where I am now but I'd be lying if because of white privilege + a wealthier zip code I wasn't exposed to more opportunities that made busting my ass pay off more.

<comment><USER21> > Their is a huge education disparity

I agree with your overall point, but given the "proper language" nature of this thread I feel I must: _there_ , not _their_.

<comment><USER20> Hahahaha. Damnit. Goes to show, even with a graduate degree(in progress) there, their and they're still screwing with me

</comment></comment></comment></comment><comment><USER22> Prof. Worthen missed one thing that may be helpful. When a teacher or other professional helps a student with something, it's always appropriate for the student to say "thank you."

I think it's important to have an email client with a way to Undo the Send button for half a minute or so. That way there's a second chance to get it right.

I love the William Raspberry quote. I grew up reading his columns. He was a rare voice of sanity in DC where I lived with my parents, during the Nixon / Watergate train wreck.

</comment><comment><USER23> Regarding "blithe informality", are we also incensed that I'm allowed to go to work in khakis rather than the classic suit-and-tie combo? On Fridays I even wear jeans! :)

</comment><comment><USER24> Maybe it's a culture gap, but certainly everyone called the lecturers by their first name when I was in college recently (Ireland).

<comment><USER25> I went to a (very small, very odd) college which took the other route: all participants in the class - teachers and students - addressed each other as Mr. or Ms. <family name>.

</comment></comment><comment><USER26> I was a lecturer at a community college. I was mostly referred to by my first name. Sometimes I was referred to by Mr. LastName (sorry Dr. LastName in this thread), and I quickly said, hey it's just FirstName.

</comment><comment><USER27> What's common sense for one student may not be for another. My mother who teaches at the local university, has seen emails that are very gracious, to emails that start off with Hey Prof, ...

<comment><USER28> There's a great resignation letter featured in the Scottish papers this week that is rudely polite.

[https://www.eveningtelegraph.co.uk/fp/weird-abrupt- scottish-...](https://www.eveningtelegraph.co.uk/fp/weird-abrupt-scottish- gran-writes-ill-no-back-resignation-letter/)

</comment></comment><comment><USER29> What I find fairly strange in American academia is that professors are addressed by their last name, but students by their first name. In Austria, for example, there is no situation in which you address someone differently than they address you, except for addressing children. It would be very disrespectful for an adult to address another adult by their first name, but insist that they be addressed by their last name, as if you were a child.

<comment><USER30> Same here in Germany (but I graduated a few years ago).

It's kind of the same as in any workplace (by default, with exclusion of the IT sector and maybe some more, also construction sites) - you'll always use Mr/Mrs (Ms not so much anymore, I think that went away in the 80s :P) until you or someone else offers you the possibility to be on a first name basis [0] (example link in case you've never heard of this particularity of German speaking countries).

[0]: [http://www.dw.com/en/the-du-sie-dilemma-in- german/a-16494631](http://www.dw.com/en/the-du-sie-dilemma-in- german/a-16494631)

There are exceptions, of course, but in general (exceptions see above) I'd say using the first name in a formal/business setting is totally more uncommon than in the US.

In general I really do wonder about mentioning social media and text messages as a possible reason. We had text messages in high school in early 00s. We also had social media when I was still studying, I simply refuse to believe that everything has deteriorated this much in just 10 years. (Oh wait, I'm getting old and 'Get off my lawn', right?) :)

</comment></comment><comment><USER31> Tl:dr Older form-culture losing significance for a newer generation, older generation grumbles about young impetuous whippersnappers.

<comment><USER32> Correct language usage is not a previous -> current generational issue. We are witnessing the dumbing down of culture or in other words: _Idiocracy_ is becoming a documentary.

<comment><USER33> Contrived formalities for more egalitarianism? Sounds like a good trade.

<comment><USER34> Tyler Cowen argues that the rule of casual is an impediment to upward mobility: [http://www.businessinsider.com/wearing-casual-clothes-at- wor...](http://www.businessinsider.com/wearing-casual-clothes-at-work-to-show- wealth-2017-2)

</comment></comment></comment></comment><comment><USER35> Really? Calling a professor by their first name is a faux pas in academia? Here in Brazil if you call a professor by "Mr. Last Name" they'll think you're a weirdo.

And you know what I think? Why does any random loser get to write an article in the nytimes these days? Back in the good old days it used to be only interesting stuff got written in there. Now I have to waste my time digging through the trash to find an interesting article once a month.

<comment><USER36> "Mr. LastName was my father's name! Please, call me Dr. LastName."

</comment></comment><comment><USER37> This article is a joke. The New York Times is a joke.</comment>


Show HN: Raster Image Editor - <AUTHOR> http://yinyangpaint.com/ <comment><USER2> That is sweet :)

I am the author of www.Photopea.com . I remember my first steps creating it :) Would you be interested in making some plugins for Photopea?

<comment><AUTHOR> Thanks.

Your project is very intriguing. I might be interested in contributing--but I'm hesitant to dedicate more time and energy to this kind of software after sinking so much time into YinYangPaint without seeing much reward for my efforts. Email me at firstname.lastname@example.com and let's talk sometime.</comment></comment>


Ask HN: How do you handle your US taxes as an expat? - <AUTHOR> For Worldwide income tax payments, and form submission are you using a service?
Or do you do everything yourself?
I looked at H&R block and they want to charge 300-500 USD. Do other platforms out there exist? <comment><USER3> That's about the going rate for _cheap_ expat tax prep.

US tax is insanely complex as an expat, and if you get it wrong - <USER2> unintentionally- the penalties are massive (look up FBAR).

This is why so many are expatriating.</comment>


Ask HN: Is the YC application frenzy justified? - <AUTHOR>

I'm applying to YC for the first time and wondering about the need to "hack" your YC application.
My thinking: 1. The YC guys are all really smart and at this point are great at sorting good from not-so-good companies 2. They say they are primarily looking for good people who have determination. It seems that simple answers to the application form will give them the data to make that call. 3.  We don't want to spend time hacking getting into YC, we'd like to rather hack building a great company and assume they can judge our ability to do that without frills.
=> At this point we've spent about 1 day on our application and we're keen to move back to working on our company. Is that crazy? Does YC want high levels of polish (multiple hours on your video?), or are they polish immune?
I think YC is definitely worth spending lots of time on, I'm just not sure if it's important to them. It seems quite feasible that in spite of all the "get into YC" articles they'll be able to make the call on a naïve interpretation of their application questions. <comment><USER2> Frankly, RE: "hacking the app"

You will most likely be found out pretty quickly and you're just wasting people's time if you do get through. If you have a good idea, stick with that. If your idea isn't good enough, improve it.</comment>


No Engineer will ever be happy with a line of code that he didn't write himself. - <AUTHOR> http://www.gamasutra.com/blogs/BenjaminQuintero/20100625/5446/Now_I_Know_How_Epic_Feels.php

<comment><USER2> On the other hand, I'm only happy with a line of code that I wrote myself until the next time I look at it.

<comment><USER3> It is good to be humble, but better to be realistic. Why the parent's self- deprecating sentiment is so popular is beyond me. "I hate my own code" seems to confirm the "to each their own" view, but some ways of doing things really _are_ objectively (but perhaps not measurably) better than others.

When I write code, I write it as well as I can, and I will usually be happy with the result. Then I write more, and as the nature of the problem I'm trying to solve becomes clearer to me, I think of better ways to model the problem and the solution. Later, when I come back to the older code, I will rewrite it to fit the new style.

I am not, at that point, unhappy with the old code. It was written with great care. The fact that I changed my perspective and will proceed to rewrite it with great care does not change that.

I am unhappy with code on a daily basis, but rarely my own. I fully and proudly own up to this, and my intention to rewrite other people's code is not some kind of primitive urge to exercise my power.

It's simply that most code isn't written with care or foresight at all. Those who write the code usually protest the rewrite with "why change it if it works?", but with that kind of thinking you might as well write everything in assembly.

I write code with great care, and I imagine that all who do so would gladly accept suggestions for improvements. That's the kind of humble I think we should be shooting for.

<comment><USER4> The problem is that many people aren't given the time and circumstance needed for them to write code as well as they can. When a feature needs to be demoed on Friday morning for the large contract to be closed you do what needs to be done to get something that runs and promise yourself you'll fix it when you have time (yet knowing that that time may never come). You know what you did is objectively bad, but you know that to do it objectively better would take longer (probably because it would require you to fix some other rushed part of the code produced under similar circumstances).

</comment></comment></comment><comment><USER5> I think this is related to a variety of factors, some of which seem counter- intuitive at first:

1\. writing new code is often easier and faster than reading and understanding somebody else's code well enough to modify it

2\. wildly varying differences in talent and knowledge and skill sets between different programmers and teams. A follow-on guy may be much better, or much worse, or just have a totally different skill set at which he excels

3\. old code may "work" and be satisfying a lot of old required behavior but some of that behavior is no longer actually required. a rewrite can get rid of the bathwater while keeping the baby.

4\. fashion. the new guys want to redo it OO. the later new guys want to put in more Design Patterns. the later new guys want to add Unit Tests. Then rewrite being totally TDD. Then add Aspects. and so on. Meanwhile.... the core behavior actually needed by the business stays, well, about the same.

<comment><USER6> True, although I think writing new code tends to be _more fun_ rather than actually faster...

<comment><USER5> good point. forgot the fun part. but it can sometimes be both more fun _and_ mo' faster. :)

</comment></comment></comment><comment><USER7> This is why I have found that strong interfaces and assembling teams and developers around those libraries and interfaces, helps them to isolate code away from the developers own code. What this does is get's the team used to looking at other developers code as a block box library in much the same way you would look at a third party jar in java or a gem in Ruby.

When it becomes a library to them, then they stop thinking about it in terms of code and start thinking about it in terms of components that provide functionality. In the enterprise SOA is very aligned to this concept where disparate teams stand up services and the interface become other teams end point in and out of the black box.

Teaching developers to black box code can go along way to curing the I did not write it attitude and forces the developer to document how to use there black box.

<comment><USER8> Yes. Having pretty clear, hashed out guidelines and a component style to your architecture can do much to ease the itch some might feel to rewrite things.

Clear documentation and a parameter list to the black box you're calling are all you should need to get started on a new piece to the system.

</comment></comment><comment><USER9> That doesn't look like a problem with replicated and rewritten code; that seems a symptom.

If you don't have somebody "watching the kids" (and with the clear authority and technical abilities to "go all Moe on the other Stooges", when that's needed), kids will have a habit of replicating software. Always have. Kids do tend to get themselves in trouble. That's why you have to watch them. The kids will tend to skimp on documentation and testing and integration, and on refactoring before release, and on consistent APIs and nomenclatures and formatting and development practices.

You can sometimes spot these projects from afar, too; the projects that shipped, and didn't get cancelled. Look for inconsistent or confusing UIs, or poor documentation. For frequent patches, repeated patches, or regressions. Edge cases. A lack of integrated debugging. Problematic upgrades. All can be areas that tend to be short-changed.

Being the "Moe" guy in a project tends to be political; if you're doing it right, you're probably everybody's target. You're balancing what the engineers and the testers and the managers and the customers and the schedule and budget and the egos will permit, and each group is going to be unhappy about something.

</comment><comment><USER10> I think this article misses the point.

He is taking a position as "non-engineer" and stated its goals as clear as water: He considers engineers superfluous(ludicrously overstaffed) but will consider himself indispensable. He tries to justify his position to "making their work-week 20 hours"(and later fire them as they are not necessary, because they only work 20 hours!!)

He is making generalizations, and as such he is right and wrong at the same time.

I could sense the engineers fear to lost their job, and his eagerness to justify it.It is a bloodless war, a power war in the company.He want more power(and money, look!, I got rid of those unnecessary people, I'm worth a lot) and less power and responsibility for the others.

Engineers are people, some are smart, some not. They could look at code and marvel themselves if it is good quality, like a experienced painter when he sees a master piece, or will love to modify it if it is trash, like it uses to be because "there is no time" for making it right.

He is being emotional thinking as the engineers are for protecting their selves.

</comment><comment><USER11> The sooner an engineer gets over this he will get alot more done.

</comment><comment><USER12> The engine was designed to be a simple toolkit; dropping assets into a folder and writing a couple scripts. Entire training applications could be written without touching a line of C/C++.

Sounds like he cloned (at least some) of the system behind Unity3D. I have used that on a couple of projects and if I had a chance to push code to their repository I would have done so too. Worst piece of crap since Win ME.

Anyway the explanations he come up with aren't very useful: he hasn't talked with the developers at all, because if he had he would have known that we change the libraries because they aren't powerful enough. The only way they can become powerful enough? By being so general they might as well use C++.

</comment><comment><USER13> in this sentence "engineer" is interchangeable with about a million other skilled professions.

we prefer things done _our_ way. whodathunkit! this is not limited to engineers.

<comment><USER14> A chef might not like another chef's take on a dish, but unlike an engineer, you do actually have to prepare a dish each time someone wants to eat it. This alone is enough to make it worth looking at in further detail.

<comment><USER15> Then replace Chef with Architect, Composer, Writer, Director and etc.: a building is made once, once a piece is published it's done (except for revisions, i.e. updates in the software world) or releasing a film. The point is still correct -- there are a lot careers this post could be interchanged with.

<comment><USER16> Software is different because it combines three properties: 1. You have to maintain it over time, 2. It is technically possible to destroy it and start from scratch, and 3. It is difficult to objectively evaluate the cost of doing that in advance.

<comment><USER15> Buildings need to be maintained, have additions made, walls knocked down, be restructured; Writers often revise their work and release new editions; Directors release remastered films with new technologies, or their own cuts.

Buildings are often knocked down and built in a different manner; books and compositions scrapped; and "technically" the same could be said for films.

And you really think that anyone of the examples I've listed is objectively easy to evaluate the cost of doing them in advance? Buildings and films go over budget all the time, and Writers and Composers are just like software developers: they can be freelance or work on their own, just as easy or just as difficult to evaluate.

Software developers really need to stop thinking they're (we're) special. We're not.

</comment></comment></comment></comment></comment><comment><USER17> For the most part I've actually gotten over this problem. Now I actually get stuff done!

</comment><comment><USER18> The only code I find myself having to rewrite is something that is both (a) broken and (b) undocumented. If it's documented, with lots of comments letting me know what the original coder was thinking, I have a fighting chance of fixing the problem.

If it's not broken, I'm not fixing it. I've got way too much other code to write to worry whether or not something is elegant or pretty.

<comment><USER19> ...or not unit tested, which would have often provided an extra layer of documentation that may have helped.

</comment></comment><comment><USER20> Maybe, but there is such a thing as _truly_ bad code.

</comment><comment><USER21> Not me... does it make me a non-engineer then?

</comment><comment><USER22> They aren't engineers.</comment>


Caching To Scale Web Applications - <AUTHOR> http://venkateshcm.com/2014/05/Caching-To-Scale-Web-Applications/

<comment><AUTHOR> _> In fact, effectiveness of caching is arguably main reason for developer confidence to ignore premature optimisation or to postpone fixing probable performance issue until detecting an issue._

Actually caching is only a side of a multifaceted concept. Hence when one writes code, usually one isn't aware of all those different ways one's code is going to be optimized by the environment/setting.</comment>


Why did 30 yo former Microsoft engineers apply for YC? - <AUTHOR> https://medium.com/p/d639607056f6/

<comment><USER2> How did you guys reach out to your prospects - 15% interview conversions is pretty good ..

<comment><AUTHOR> Thats a topic for another post :) - hit me @ firstname.lastname@example.com and I will share the emails we used ..

One line answer - think what is in it for the reader and personalize to their scenarios[DO NOT MAKE THEM THINK]

</comment></comment><comment><USER3> nice thanks for sharing</comment>


Ask HN: What is a good starting salary for a Data Scientist? - <AUTHOR> I was looking at data science positions, and I want to know what salary would be reasonable. What is an appropriate salary for a data scientist with 7 years programming experience (but not as a data scientist) working in a large city? I would like to make this a poll, but lack the Karma. <comment><AUTHOR> If someone with 200+ karma would make this a poll, I would appreciate it.</comment>


Show HN: Chrome Extension; Hover tickers/companies for market data, news - <AUTHOR> https://chrome.google.com/webstore/detail/dewey-the-context-assista/hfipllcfgflbbohoilndhoagcdinfeio?hl=en <comment><AUTHOR> Chrome Extension that scans the page you're browsing for tickers and company names (currently covering the S&P 500 (large-cap), S&P 400 (mid-cap), and QQQ (Nasdaq 100).

The matched tickers/keywords are subtly highlighted, and hovering over them retrieves market data (e.g. day and 52-week trading range visuals, historical valuation) as well as a curated feed of news and tweets related to the company.

Would love any feedback!

</comment><comment><USER2> Looks promising. When you say you only collect the URLs and HTML title tags does it mean this doesn't invade privacy at all if your DB is leaked ?

<comment><AUTHOR> Correct -- we don't collect any user information, just the URLs and titles of pages where Dewey is activated. We don't even assign a unique user ID because we're only trying to determine which articles are most popular.</comment></comment>


Two Cats Live by Themselves in Silicon Valley Studio - <AUTHOR> https://sanfrancisco.cbslocal.com/2019/01/13/2-cats-live-by-themselves-in-1500-mo-silicon-valley-studio/ <comment><USER2> That's quite sad.

The cats should at least have a pet sitter come play with them every day. They SHOULD NOT be left to live by themselves in a studio. That's cruel.

When we travel, we hire one. Domesticated cats need a human presence if you want to get them back as happy cats.

I sincerely hope it is just a temporary setup and that they'll make better plans to get their cats in with them.

(I don't know much about that, but maybe some dog tutoring will help?)</comment>


Stop Fabricating Travel Security Advice - <AUTHOR> https://medium.com/@thegrugq/stop-fabricating-travel-security-advice-35259bf0e869 <comment> tushar-r >If the officer demands that you turn on your device but the battery is dead then it mean that you are unable to comply. Ah ha! A clever loophole that no one has ever thought of before.

Yeah....about that:

[http://www.etihad.com/en-us/before-you-fly/us- preclearance/](http://www.etihad.com/en-us/before-you-fly/us-preclearance/)

All guests travelling to the US, UK or Canada from Abu Dhabi International Airport are required to turn on all electronic devices in their possession prior to boarding. Guests must ensure that all electronic devices in their hand luggage or on their person, including mobile phones, tablets and laptops, are charged to minimize any potential disruption to their journey.

Abu Dhabi Airport does not have a facility to store devices, which cannot be powered up and Etihad Airways cannot take responsibility for devices which are left behind.

This requirement is part of enhanced security measures by the authorities of these countries. Failure to do so may result in not being allowed to take the device(s) onto the aircraft or being denied access to fly.

<comment><USER3> I seem to recall a story from several years back about bombs being disguised as laptops. Requiring devices to be powered on was a simple strategy to make sure they weren't completely fake.

[1] [https://www.google.com/amp/s/amp.cnn.com/cnn/2016/02/11/afri...](https://www.google.com/amp/s/amp.cnn.com/cnn/2016/02/11/africa/somalia- plane-bomb/index.html)

[2] [https://www.fedscoop.com/tsa-targets-explosives-disguised- tr...](https://www.fedscoop.com/tsa-targets-explosives-disguised-travelers- electronics/)

I wouldn't be surprised if all electronics had to be powered on for that reason. (Snooping aside.)

</comment></comment><comment><USER4> > Good travel advice to follow in a later post…

Do not travel to the US until they treat non-citizens as people.

<comment><USER5> Good grief -- do you know how many non-citizens easily enter the US every day? Thousands. The vast majority have zero issues at all. The reason that these occasional issues even make the news is because it's outside the ordinary; the media cherry picks some sympathetic character, "He's a respected Holocaust historian!" and they turn it into a representative data point that the immigration enforcement system is off the rails. Combining that with an anti- Trump narrative, they get more page views and another news cycle to lament the failure of US policy.

75 MILLION non-citizens visit the United States each year and 41% of those entered via New York, Miami or Los Angeles.

On a typical day, less than 1000 people are refused entry. Some of the reasons for refused entry include not having sufficient funds to support themselves for the duration of the trip, suspicion of being an intended immigrant without a visa for that purpose, ties to criminal organizations, having overstated a previous visa, having a dangerous infectious disease, having been found guilty of crimes of moral turpitude (rape, fraud, child mokestation,) having been found guilty of a major crime, a lack of proof (in the case of tourists) of continuing ties to their origin country.

This hyperbole about non-citizens not being treated as people is just nonsense.

In Schengen (and many other countries, such as Korea), you can get randomly stopped for visa and passport checks, especially in Germany, Austria and Switzerland. If you overstay a Schengen visa for even a few days, you can sometimes expect to endure a more inconvinient immigration experience when attempting to leave the area (especially in Germany.) You have U.K. immigration working on Eurostars leaving from Brussels South and also allows them to actually work in the station. You have Belgium-UK information sharing and coordination on that route.

There have been instances of U.K. Immigration denying entry to an American woman carrying a cello because she was to play in a free concert at a university in Leeds. They deemed that unpaid activity "work," detained her for 8 hours and deported her back to Chicago. Other academic performers have been denied entry when carrying large instruments as well.

My point: immigration everywhere has seemingly arbitrary, ridiculous incidents. Should we just stop traveling anywhere?

<comment><USER6> "a lack of proof (in the case of tourists) of continuing ties to their origin country."

As a US citizen who has traveled to nearly 60 nations, I have never met a more accusatory, aggressive, macho, angry, often-times rude reception than in my land of birth, and I'm a native-born citizen!

While what you say, regarding Schengen border controls, may be somewhat true, the nature of their "extra procedures" is completely different in quality to the American counterpart. One doesn't find the systematic large-scale militarized detention center processes nor attitudes. We are the most aggressively suspicious nation and yet no one seems to question 1) if it's even effective. Barring warrant nabs, which a simple ID scan can produce, what actual harm to the public is being prevented and at what cost to our national values and business productivity? (to say nothing of the MOOD)

2) if, in fact, foreigners are actually coming over to the USA with the explicit intent to harm the nation and how you could possibly stop that at a border, if they were to comply proceduraly. I would warrant that most people will be hostile to hostile and intrusive questions asked by an irate and overworked angry border beaurocrat whose only daily joy, as pointed out in the article, is in exercising their power to expel someone etc...

3) What about Ben Franklin's famous quote and our national values? "Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety."

I think that it's clear as the nose on my face that recent top-level directives and a general change in leadership and policies has resulted in a more rigorous entry process to the USA and the work culture for these officers has changed from "be polite cheerful and thorough" to "give em a hard time"

If we can get some acknowledgment of this point, that would be great :D Why such a sycophantic attitude towards those abusing power?

<comment><USER7> > As a US citizen who has traveled to nearly 60 nations, I have never met a > more accusatory, aggressive, macho, angry, often-times rude reception than > in my land of birth, and I'm a native-born citizen!

I don't disagree with your other sentiment but this part made me laugh. My anecdotal experience has been that it varies considerably depending upon the staff member but generally they are as bored as immigration at every foreign port I've entered (Sample size of 40+ US entries as a permanent resident at LAX, ORD, ATL, SFO, IAH, and several land border checkpoints with Canada. Foreign experience has been NZ, Australia, Hong Kong, Vietnam, Malaysia, UK, Spain, France, Denmark, and Germany - all major entry points) and never had issues with US immigration, including one time when a green card expired while I was out of the country.

I've been grilled more aggressively by UK and Danish immigration! I always assumed that this was just part of their training to catch people looking to overstay though.

We have a mix of US and New Zealand passports and I've always put the NZ one on top - the agent usually starts admiring the design as I hand it over and the conversation starts on a friendlier note!

</comment></comment></comment></comment><comment><USER8> >>People who don't own laptops, tablets and/or smartphones yet travel internationally don't exist anymore.

Let me introduce you to my mother.

No, she's not 80 either, mid 60s. Total technophobe. Owns a PC and infrequently sends me emails IN ALL CAPS WITH NO PUNCTUATION. Someone gave her a dumbphone this year, she hates it and has put it in a drawer.

She loves her international travel though.

<comment><USER9> I travel with no laptop or cellphone as well. That part of the article was really bizarre.

</comment></comment><comment><USER10> > _Do not lie to federal officers. Do not attract attention._

Aren't those in conflict? If you want to not attract attention you want to lie _an appropriate amount_ , like everyone else does. No more, no less.

For instance, pretending you respect the security personnel and don't mind obeying their idiotic rules.

Some of the responses given to other rules don't seem...responsive. For instance, somebody who travels with a freshly-reset phone to restore later certainly _might_ get extra vetting as a result...but SO WHAT? Going through a secondary screening is MUCH BETTER than having to give up your actual data. Isn't it? Given a choice between NOT letting them get your data and LETTING them get it, in most cases NOT letting them have it seems FAR safer, for the exact same reasons that it's a bad idea to let the police search your home without a warrant. You don't know what they plan to DO with your data access, so you might want to prepare for the worst.

<comment><USER11> The article is about foreigners. It's not just a choice between letting them get your data and not letting them get it. Not letting them could also mean being you turned away and never reliably be able to enter the US for the rest of your life. For most people, that's probably worse than having your device and Facebook accessed.

</comment></comment><comment><USER12> A lot of the bad travel advice I've seen reminds me of legal conspiracy theories in general: there is an underlying belief in the existence of magical incantations or ingenious solutions that will stop law enforcement agents in their tracks.

<comment><USER13> Reminds me the use of "SWIM" (someone who isn't me) on drug-related message boards to avoid self-incrimination.

</comment></comment><comment><USER14> You know, this all _sounds_ right, but so did the alleged "bad" advice at first.

There's a lot of uncertainty about this topic right now, and the author fails to point to any examples or experiences from real-actual-travels to verify any of the advice being given here, rendering the article as baseless as the kinds of advice it's attempting to call out.

In truth, I believe he should take a cue from his own headline.

<comment><USER15> The Grugq is more credible than most social media randoms, although I grant that it's hard to know that if you aren't aware of his bona fides.

<comment><USER14> I'm sure that's true. But it doesn't change my core argument: Every time we write something that reaches a wider audience (social-media-randoms and pseudo-randoms alike), we have an opportunity to stress to the reader that they should check these facts for themselves - either by pointing to data and examples (which my original comment accused our friend grugq of failing to do), or by simply stating to readers that they should be wary of bad travel advice and look into it.

Now that I flesh out my argument, I realise I'm scapegoating this article a bit, and my real lament is that there AREN'T enough accounts and examples of what to do in these awkward border situations. The only commentary I've seen from legal professionals is that there "hasn't been a case" yet, which would flesh out the meaning of the types of demands border agents are allowed to make.

It's a pretty tricky problem. Democracies are good at improving things inside their borders, but that stops -at- the border, and the current situation is the proof. I'm at a loss for now as to how it's going to improve.

</comment></comment></comment><comment><USER16> > "Carrying no devices ... interrogated for hours."

Right. So citizens who are aware that the CBP can now peer into their personal affairs decide to leave their devices at home as a matter of privacy and principal. Therefore, this makes these citizens suspicious enough to be interrogated for hours, because:

> People who don't own laptops, tablets and/or smartphones yet travel > internationally don't exist anymore.

Give me a break.

</comment><comment><USER17> > Because it is normal for people to travel with blank devices, in no way will > the CBP officer suspect that you have something to hide.

It is common for businesses to issue employees blank laptops specifically for international travel.

<comment><USER18>
        > It is common

Cite?

<comment><USER19> At one time is was common at Facebook to give employees traveling to certain countries burner laptops and given recent US policies I expect more companies to enact such policies.

</comment></comment></comment><comment><USER20> > People who don't own laptops, tablets and/or smartphones yet travel > internationally don't exist anymore.

Why would I take my electronics on a leisure trip? Isn't it enough to depend on them during work hours? Does this really rouse suspicion at CBP?

<comment><USER21> I don't know why this is downvoted. This is standard practice by many people who travel, especially if traveling with the whole family.

<comment><USER22> They go to a foreign country voluntarily with no comms devices whatsoever?

<comment><USER23> I didn't the last time I went on vacation in Europe. My cell phone carrier also is atrocious and charges usurious international roaming charges, so that was a contributing factor, but it's really nice to unplug and go off the grid on vacation. You just have to do things the old fashioned way - print out your reservations and itinerary, get some maps.

<comment><USER24> > My cell phone carrier also is atrocious and charges usurious international > roaming charges

I sometimes get temporary SIM's when abroad, for this reason.

</comment></comment></comment></comment></comment><comment><USER25> Not having a phone is not going to seem suspicious. Even in the US, there are still people who don't own cell phones. About 5% according to the Pew Research center, after I took the difficult step of Googling it.

Plus, some people don't have an international phone plan, or compatible charger, so they just leave the phone behind.

<comment><USER26> But what's the number of people who don't own a cell phone _and_ travel internationally. For example Amish people will be in the first category, but not the second. Same with many older people.

<comment><USER19> Given the state and costs of international roaming this is when you are least likely to have your phone. "Sorry officer, my phone is at home. Or is carrier locked and given roaming costs it is going to be cheaper for me to buy a phone and pay as you go plan here. Are they any shops in the concourse that you might suggest for getting one?" A pocket camera and list of phone numbers completed the set. Obviously don't lie if you actually have a phone, but not having one is not sufficient ground for detention.

</comment></comment></comment><comment><USER27> This guy says that I would be arrested by the CBP if I want to visit my brother because I do not see the interest of device other than a camera going to Florida (near the beach), and no phone because my old nokia is not dual band (I find the TCO of modern smartphones way to high for my slim budget).

OK I do take a laptop 0.8 with infinite battery, full OCR and cheap printer: it is called a notebook and a pen (cost 5$).

Hence, thrifty persons are all suspect when going to the USA according to the author.

Nice mentality!

He is right in a way, I cannot afford to visit my brother so I wouldn't really have the problem, but when I my finance will get better, I will not revert my habits: electronic devices are a cost and time sink thus I learned to live less.

<comment><USER26> > that I would be arrested by the CBP

That was a sarcastic bit. Later:

> If you are completely naked of any digital devices but aren't 2 or 80 years > old, then you are extremely anomalous. Most probably someone that should be > interviewed by secondary CBP screening…

Secondary screenings happen all the time. Especially for anomalous people. I keep getting one.

</comment></comment><comment><USER28> I don't travel that much anymore, but as recently as 5 years ago I traveled many weeks a year for work. So I have an old travel backpack with a laptop sleeve and about a dozen pockets, I've cut off some straps and buckles as they have become frayed and useless but I still use it, mostly in my office, hung on a hook to keep certain items like survival gear, knives and firestarters away from my kids (I work from home and you can see where this is going)

We traveled across the U.S. last week for an important family even. At the 11lth hour in a moment of thrift and panic as I realized my 5 children had commandeered my normal carry-on and luggage, I snagged the old travel backpack, dumped its contents on my desk and began packing.

13 hours later as my happy brood gathered at the benches on the other side of the lemmings line I realized something was wrong as the scanner belt kept going back, and forth, and back with the scanner maw right around, I guessed, the location of my ill-fated backpack.

15 minutes later when an elderly TSA agent finally found the 10 inch 1/4 inch thick black coated survival blade[0] in between the padded lining of the laptop sleeve and the back pad (a perfect place for an idiot, paranoid, delusional to hide an implement of murder) I was certain I was in for the full cavity treatment much as my ragged backpack had been.

I'm convinced the only reason i was able to check my carryon WITH the knife inside it after being perfunctorily and even gently escorted back to the check in counter is because I myself was so convinced of my innocence and lack of contraband.

When asked if I had anything sharp or dangerous in my pack I answered a quick and unabashed "nope" fully convinced of my own lie and maintained this demeanor until 15 seconds before they pulled the knife from thin air - <USER2> being persuaded of my deceit after seeing the fully empty bowels of my pack and remembering its former contents.

[0][https://www.topsknives.com/media/catalog/product/cache/1/ima...](https://www.topsknives.com/media/catalog/product/cache/1/image/650x/040ec09b1e35df139433887a97daa66f/d/w/dw33-11.jpg)

</comment><comment><USER3> Also I heard that there is a legal precedent that if the government confiscates your drugs you can attack them and demand reparations and they will have to pay.

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

</comment><comment><USER29> > Usually phrased as "I don't know my password it is in a password manager > which I can't access." Or, "there is 2FA setup and I don't have my second > factor." Or other similar technicality. This approach seems to be based on > the belief that the password itself is the ultimate goal of the system, when > it has been clearly stated that the goal is access to the content of the > digital device or the social media account as a requirement for entry into > the US.

So what is the recommended solution then if I use a password manager? I don't know any of my passwords and for most websites I'd need the password manager on my laptop to login. Should I reset my social media passwords to a password that I can remember before traveling, so that I'm able to surrender the password if asked at the border?

<comment><USER26> > So what is the recommended solution then if I use a password manager?

Open the password manager, find the password, and write it down.

<comment><USER29> I don't have my personal laptop with me when travelling (because personal phone and work laptop is sufficient). So that's not really an option.

</comment></comment></comment><comment><USER30> Perhaps I just missed it (it's late), but I couldn't find anything in the article backing up the author's claims about how those strategies would play out.

Was this just a record of his thought experiments?

</comment><comment><USER31> A different article should have been written to a different audience, namely, the border agencies in the US. Seriously, asking for passwords to social networks and websites crosses the line, in fact even examining the content of the devices is walking the line.

Border protection agents should worry about real world threats - bombs, weapons and such. Not virtual ones. It's totalitarian.

</comment><comment><USER32> 'the grugq' has left us with a complete cliff-hanger:

"Good travel advice to follow in a later post…"

<comment><USER33> which will be composed of just one line: "just avoid the US for now"

</comment></comment><comment><USER34> What if they ask for your online account passwords?! What should one do?

<comment><USER35> Not travel to the USA.

<comment><USER34> I live in the US

<comment><USER36> I think the advice still holds, unfortunately. Don't travel across the US border :/

<comment><USER35> The situation is far worse than that:

[https://www.aclu.org/other/constitution-100-mile-border- zone...](https://www.aclu.org/other/constitution-100-mile-border- zone?redirect=constitution-100-mile-border-zone)

<comment><USER37> This applies only if you "recently" crossed the border - allegedly, but if CBP ignores the law, you can't really do much, and the courts usually side with them.

</comment></comment></comment></comment></comment></comment><comment><USER38> What about having two (or several) sets of devices, each sets having "a life", software installed and used etc?

A laptop and smartphone for travel and another set for home.

</comment><comment><USER39> I am curios if they can make you log in (thus reveal all your secrets) to THEIR generic Android or iOS phone if you don't carry your phone on purpose.

</comment><comment><USER40> Not that I think those pieces of advice are particularly good but what does the author suggest other than surrender?

His post is basically saying "There is nothing you can do about it just surrender.".

<comment><USER41> An aching desire for reality to be different doesn't imply that the advice isn't correct.

</comment></comment><comment><USER42> So anyone that routinely wipes their device or doesn't travel with them is a criminal, and your best bet is to just comply and hope they're lazy. How does following any of that advice help the civilian? I only see how a lower adoption rate helps the border patrol.

</comment><comment><USER43> It's only meant to intimidate people. There is no way it could serve a real security purpose.

</comment><comment><USER44> IANAL either, but the author seems to have missed the point of the "I don't know my password it is in a password manager which I can't access" one (or, indeed, the blank device — but this one has numerous advantages). Yes, this will piss off CBP and they will punish you for it, and especially I wouldn't recommend it if you're not a US citizen but are desirous of entering the US. But if you're a US citizen, CBP isn't about to risk their position in court: they will not detain you indefinitely for noncompliance especially when you have an entirely plausible (and true!) explanation for your inability to comply.</comment>


Meta Stack Machine vs. Meta State Machine - <AUTHOR> https://groups.google.com/forum/#!topic/comp.lang.forth/RI3A1cr8zq4 <comment><USER3> Clicking through to the relevant github:

[https://github.com/udexon/5CSM/tree/master/SMOCL?fbclid=IwAR...](https://github.com/udexon/5CSM/tree/master/SMOCL?fbclid=IwAR2-1oq_y-d3SeHVbLMr1WHqjuj_t9armmTcLOU4bINBJPwmZa91WbpfddE)

This is gibberish.

> I also coined the name Inverse Shunting Yard Algorithm (ISYA) to describe > the operations of [the system]...In my not so humble opinion, ISYA might be > the most significant algorithm since [the Shunting Yard algorithm] -- as it > can potentially "unify" ALL programming languages: Programmers need only to > write programs in Forth-like reverse Polish notation; using nSM, the program > written in RPN is translated into the host programming language and > executed. This has immense implications on beginners learning programming > languages, as well as large teams, as using RPN helps to consolidate codes > written in multiple programming languages.

This just in: it's possible to represent a syntax tree in different ways.

> The main motivation lies in mobile GPU cryptocurrency mining. By rejecting > OpenCL, Google has caused a huge unfortunate side effect -- tens of millions > if not hundred of millions of Android mobile phone with GPU effectively > become underutilized...[This project will]...utilize the hundred of millions > of GPU in Android phones, especially for cryptocurrency mining. [It] will > provide the much needed Forth-like interactive development enviroment to > develop cryptocurrency mining programs ON THE MOBILE DEVICE ITSELF, as well > as potential novel optimization schemes, as described below.

Ah, yes, that's just what the world needs -- a way to make sure your phone is so hot and power-hungry at all times that you can fry an egg on it.

> Forth code optimization is a manual process, while C code optimization is a > black box, automated process based on algorithms written by compiler > developers...[This project] can make C code optimization a manual process > like Forth, opening up the black art of code optimization to a wider > audience.

Don't you just hate it when your compiler makes the right choices for you? Wouldn't you rather have to manually allocate registers every time you build your binary?

<comment><USER4> A few years ago I had an encounter with a guy on Quora who was claiming to have invented a way to reverse SHA-256 used in Bitcoin because you can use a SAT solver to do so.

He claimed to having done so.

I was not entirely sure if he had a condition or if he was just trolling. He was technical enough to put the arguments in a way that essentially looks absolutely plausible for someone who is not familiar with the problem.

He's still a puzzle to me.

<comment><USER5> There is a similarly crazy person who's moderately famous in my country - <USER2> claims he has "a much better instant search algorithm way faster than Google", but sadly because of the mafia and the Illuminati and probably also the Jew- freemasons no one wants to give him capital. He is also smart enough to seem to know what he's talking about, knows hard facts about common search algorithms and actually can code. I wonder how does that happen - he is not even trying to foul investors.

<comment><USER6> I think I've heard of this guy, but theres probably more than one. They describe how to _search_ faster, not produce results faster.

Whats really silly is, its already as fast as it needs to be: Google has long since admitted their bottleneck isn't reading all the websites and parsing them (they could point their entire Death Star-esque amount of raw network and disk bandwidth and DDoS the entire Internet at once, every single indexable webserver)...

Its actually storing them coherently in their database(s). They have to store them before they can process them (thus reading them back while other storing is happening), and then reading their OTHER database of searchable metadata.

Databases Are Hard(tm). Next gen databases like Spanner and BigTable didn't get invented because reading websites was hard (where "better search algos" fits in), but because coherently handling a large database of said fetched results was hard.

Actually, it isn't even Databases Are Hard(tm), its the Laws Of Physics Are Hard(tm). 90% of whacko claims I can dismiss because either that, or I'm reasonably sure P != NP.

</comment></comment></comment></comment><comment><USER7> Try out Abstract, State Machines for math stuff. They've already had over a decade of research and field use. They were also rated easy to learn, like TLA+, for programmers vs stuff like Coq or Isabelle. There's also tooling for them like Asmeta. Here's some links:

[http://www.di.unipi.it/~boerger/Papers/Methodology/BcsFacs07...](http://www.di.unipi.it/~boerger/Papers/Methodology/BcsFacs07.pdf)

[http://asmeta.sourceforge.net/](http://asmeta.sourceforge.net/)

Also, type abstract state machines into search on [https://lobste.rs](https://lobste.rs) for quite a few examples I put on there. We have lots of practical, formal, methods submissions plus some folks that do it professionally in there. Just click formalmethods tag.</comment>


Google Adds App Store for Analytics - <AUTHOR> http://mashable.com/2010/05/04/google-adds-app-store-for-analytics/ <comment><USER2> Is it just me, or is this really difficult to understand? What exactly is this? I saw hourly stats from analytics, which is cool, and I saw some in depth stuff concerning AdWords campaigns from within Analytics.

None of these things has anything to do with an "app store". Does this have something to do with Android?

<comment><USER3> You could always read the post, ya know.</comment></comment>


Ask HN: Where do I go from Godaddy? Need to upgrade SQL Server Space - <AUTHOR>

Hey all,
Im in need of more SQL space and Godaddy just isn't cutting it on the cheap anymore.
I am currently only making about $10.00 a month which isn't enough for a true server, but I am in desperate need to go above and beyond of Godaddy's 200MB SQL Server limit.
Can anyone point me to a 'ON THE CHEAP' SQL Server solution that uses a Windows box?
I run a Microsoft Stack, so I won't be able to used a Linux box.
Help!! ??? <comment><USER2> try a small vps. i don't know much about windows vps providers, but this looks like the least expensive option:

<http://vpsland.com/winplans.html>

<comment><AUTHOR> thanks, looking into now..</comment></comment>