Karate: Test Automation Made Simple - <AUTHOR> https://github.com/intuit/karate <comment><USER2> "Made simple". Well...I tried it and it's by far the most complex, sprawling, cluttered, "everything under the sun" testing framework I've ever encountered.

I kinda liked the premise, but take "simple" with a truck load of salt.

<comment><USER3> Further it's not helped by the fact that author's attitude is that of a whiny baby[1]. His entire strategy of publicising his work is taking a huge shit on the current industry wide standards[2][3]. Also see his reaction to this post itself[4].

[1]: [https://twitter.com/techgirl1908/status/1136645315090456576](https://twitter.com/techgirl1908/status/1136645315090456576)

[2]: [https://hackernoon.com/the-world-needs-an-alternative-to- sel...](https://hackernoon.com/the-world-needs-an-alternative-to-selenium-so- we-built-one-zrk3j3nyr)

[3]: [https://twitter.com/ptrthomas/status/1034794832571510784](https://twitter.com/ptrthomas/status/1034794832571510784)

[4]: [https://twitter.com/ptrthomas/status/1295009968425336832](https://twitter.com/ptrthomas/status/1295009968425336832)

</comment></comment><comment><USER4> I can't help but note that Intuit, who profits off of complexifying the "simple" tax code, cannot see the complexity in their "simple" test automation framework. Conway's Law strikes again.

</comment><comment><USER5> I've recently used Karate for contract testing and I have mixed feelings about it. In my case it served me reasonably well. Usually my go-to choice for contracts is "REST Assured", but in that recent project I had more complex JSONs and I had to write rather lengthy validation rules manually. I felt that rest assured's java-based syntax could quickly turn against me so I was looking for an alternative and someone suggested Karate.

Pros:

* the resulting code was relatively short

* once we got used to Karate the relatively complex tests were quick to write

* the whole framework is really flexible, you can describe complex json structures using just DSL and you can always call a Java method if you are missing something.

Cons

* some of the commenters here already noticed a lengthy README.md - well, you need to read this whole file before starting any work. The framework is reasonably well documented, but you need to ingest the documentation as a whole before attempting to write a test. You cannot just search for "how can I do ___ in Karate", I mean you can try, but you are unlikely to find an answer this way.

* entry point while short is rather steep. You need about 2-3 days before you begin to understand what's going on in the code

* the code is unreadable for bystanders. Good luck with understanding "#[] #(^SOMEVAR)" or "#[_ > 0]"

* the architecture: the whole thing runs on Maven/Java. Java interprets Karate DSL, which can contain Javascript(!) which can call Java again! Yes, you can make a chain of calls Java->DSL->JS->Java! To be fair, it makes the whole framework really flexible, but still, wtf.

Will I ever use it again? Maybe. I'd say it's specific tool for rather specific tasks. It can serve certain purposes quite well. But if you are wondering what framework you should use in your next project - there are much safer choices out there.

</comment><comment><USER6> Readme should probably have word "Java" somewhere in the first line.

</comment><comment><USER7> Gherkin is supposed to be for expressing human problems in a human-readable form, that also happens to be useful for computers. Using it to specify technical details of APIs (as opposed to, I dunno, writing some code to hit those APIs) seems like a really weird choice.

<comment><USER8> Common question, addressed here: [https://hackernoon.com/yes-karate-is-not- true-bdd-698bf4a9be...](https://hackernoon.com/yes-karate-is-not-true- bdd-698bf4a9be39)

</comment></comment><comment><USER9> Doesn't seem to support property-based testing, which is my default go-to for automated testing, so I'll give it a miss.

(I've had good experiences with QuickCheck for Haskell, Hypothesis for Python, ScalaCheck for Scala, JSVerify for Javascript)

<comment><USER10> That is pretty easy to integrate as they claim to support "data driven" testing.

</comment></comment><comment><USER11>
      Their first example for BDD is just painful to look at.

      Transforming the "business" language into a "developer" language so that "there is no glue code" is missing the point of BDD.

      Imagine putting that example in front of a user and asking: "Is this what you want?". Even if the end user is the developer using your API it makes little sense.

      As usual, I mat be missing something here - but it seems it's basically moving the "glue code" to the Gherkin level, making using the Gherkin useless.

<comment><USER8> see my other comment: [https://news.ycombinator.com/item?id=24183517](https://news.ycombinator.com/item?id=24183517)

</comment></comment><comment><USER12> given that some test people might be reading these comments - is anyone aware of a configuration for test frameworks that: 1\. lets users opt code out of the testing footprint (I know this is a given), but also 2\. monitors opted- out code for being called a certain number of times, therefore meaning it's depended upon, therefore meaning it SHOULD be tested, and gets flagged?

I feel like this would be the way to go to minimize non-valuable testing while allowing you to discover code thats becoming more leveraged and therefore more critical to test.

<comment><USER13> 1\. In any testing framework I've used, this is (as you said) a given. The exact mechanism you have for slicing and dicing your tests varies, but this is usually well supported IMO.

2\. This feels like the job of a code coverage tool to me (and it's something I would like as well), but most coverage tools I've seen don't quite have the granularity you're looking for. In certain ecosystems you could hack something together pretty quickly (e.g. the `trace` module in python).

Correct me if I'm wrong, but this idea sounds like you'd like to bias your tests away from small units and toward integration tests (and a similar tool could be useful for dead code elimination and a few other tasks). I know they're not a panacea in general, but in your personal experience what problems have you found in fine-grained tests that outweigh their benefits?

<comment><USER12> Thanks for the reply;

I'm a believer in "right-sized" testing, meaning balancing the cost of test creation and updating against the value the tests provide. I believe tests provide the greatest value when they are testing: * public methods * critical business logic * highly reused core logic

in other words, "code for others".

For code that's used for one specific page render or something similarly isolated, I think it's more questionable whether to bother going for 100% code coverage.

The latter category is where I'd like to "trust but verify" with devs permitting them to opt out of unit tests where they believe the code isn't critical, but have some confidence that we would catch code if it became more central and then enforce testing requirements.

</comment></comment></comment><comment><USER14> Choosing java as the runtime for the framework is laughable when you want people not to care about the technology that the binary is running on. It requires you to install the java runtime, or run a bloated container, just to run the api testing. If you want the runtime to be invisible, don't ask me to install a runtime.

</comment><comment><USER15> Having done some chidokai, first thought on seeing the site is "wow, that's a poor stance". YMMV</comment>


Show HN: Lets Make a 3D Game: Make It Fullscreen - <AUTHOR> http://learningthreejs.com/blog/2011/11/17/lets-make-a-3d-game-make-it-fullscreen/

<comment><USER2> Before I start my rant, let me say well done! I enjoyed the game and liked the deomonstration of fullscreen 3D browser games.

The game itself is pretty cool and demonstrates nicely the possibilities of browser-based gaming, though I get the impression that Javascript and WebGL aren't really going to displace native games anytime soon.

It runs at a very acceptable framerate of ~35 fps on my computer. This sounds good until you realise that I can run Skyrim on medium-to-high settings and get a similar (and sometimes higher) framerate. This game only uses 30 to 40% of my gpu, but the graphics are very simple. Skyrim uses 20 to 100% depending on the scene complexity, but even its simplest (20% cpu usage) scenes are more complex than this one. I've also tried lots of other WebGL demos and the common theme was usually low framerate but with low GPU usage, so my conclusion is that its not WebGL thats at fault , but Javascript - that is, the GPU renders what its given blazingly fast, and its the JS game logic and physics that caps the performance. I imagine most internet users won't have an expensive gaming graphics card like I do too, so my performance is probably even at the higher end of the spectrum, rather than representative...

I've played witht the ImpactJS game engine (not webgl, but 2d canvas drawing) and the performance analysis tool shows that rendering is always a tiny tiny portion of the frame time. Logic isn't all that much more (but I never had anything terribly complex either) and "system overhead" (stuff like garbage collection) was where most of the frames processing time was spent. I imagine that JS is also forced to give up cpu time more often than a native game would be - to keep the browser responsive.

tl;dr - cool game, but I don't believe Javascript performance is even close to really taking on native games. Yes, its improving, but it will be a few more years at best before its really good enough to make a difference.</comment>


Chute (YC W12) Nabs $2.7M To Become The Twilio For Media Content - <AUTHOR> http://techcrunch.com/2012/07/24/chute-seed-round/

<comment><USER2> I did some work for an ecommerce consultancy a couple of years ago where we were literally looking a a customer's request for "ability for customers to upload photos of themselves wearing our clothing" and saying, "Why isn't there a white box image service?" Now there is.

To those who have not dealt with user-generated media content, it is easy to underestimate the amount of effort involved in building a secure, monitorable system. Building an image grinding pipeline is non-trivial, even though all the open source tools are of high quality. Once users start uploading photos, marketing will realize that they need to be cropped, resized, and enhanced. As soon as your users upload the first pieces of questionable content, you will have to build an image moderation app. Then, you have to build a feature where the user sees his own photos on the site privately when logged in because users hate the lack of immediacy. Then, your marketing people will ask for video. Totally separate pipeline. Then, someone will upload custom-generated 40Kx40k single-color jpgs to see if your image crunching pipeline allows denial of service attacks. Once you get your first upload of child pornography, your legal team will become much more interested and ask how you are ensuring the destruction of these images from all your servers. Now, you'll learn that a reasonable portion of your bandwidth is being used to serve up deep-linked content for sketchy sites. Oh, and other stuff will happen too. Then, you'll see the value of Chute.

<comment><AUTHOR> This is definitely a great look into all the things we are working on and trying to manage.

Thanks for sharing your insights, definitely a great help in understanding why user-generated media has been very difficult for brands and agencies to leverage so far.

</comment></comment><comment><USER3> I don't think they know what Twilio is.

The article has close to zero content about the company, from reading Chute's own website it looks like it provides an API service for managing rich-media UGC content.

<comment><AUTHOR> Ha, it's an interesting point actually. I'm pretty amazed at the wonderful job Twillio has done establishing itself as the "normal" definition of API and platform.

Obviously, they're not synonymous, but seems a convenient enough of a hook I guess.

Then again, it's main TC that opts for that analogy.

</comment></comment><comment><USER4> Can someone explain what Twilio for media content means? Twilio is essentially API-driven telephony infrastructure. It doesn't look like Chute allows you to use an API to drive real-world audio-visual infrastructure (that would be cool!), but is rather User-Generated Content with some do-it-yourself APIs and libraries.

<comment><AUTHOR> Hi, one of the Chute founders.

It's definitely not how we describe ourselves, but I think the analogy they're gunning for is simply around exposing an infrastructure for a specific media.

User-generated is definitely a broad use of Chute but certainly not the only one. It's also being used where you have your own media (photos, etc.) that you want to publish and have a bit more flexibility in both how they're used and the info you can gather from the usage.

</comment></comment><comment><USER5> I just used a site with Chute for the first time yesterday (<http://www.refer.ly>) and it blew my mind how easy it was to grab photos from the various cloud like places I upload them to (facebook, flickr, etc) and use them right there on Referly through Chute's widget. Instead of having to do the old "Right click, save, upload" method. It is ridiculously easy and awesome. Well done, Chute.

<comment><AUTHOR> Always happy to hear that and would love to learn more about how we can make it better and simpler.

</comment></comment><comment><USER6> Met Gregarious at StartupFest in Montreal. Great guy, and awesome startup. Happy to see they got some seed funding.

Now if only Gregarious could figure out which bus stop to get off at. :-P

</comment><comment><USER7> What are the benefits of Chute over a service like filepicker.io?

<comment><AUTHOR> This is a great question Kevin.

I think it comes down to a couple of things.

1\. File Requirements 2\. Workflow

If you're looking to simply capture any binary data, Chute is not the ideal option. While we will offer access to even more sources than we have today, we're not focusing on the capture of documents, presentations or other non- media docs.

If you definitely need media, then we think we're a great solution since our tools only work with those types of files. That means that not only do we spend a lot of time working through how they arrive and get processed, but also in how delivered back to your users.

This leads me to my point about workflow. We've seen and learned that every app wants to use media files in different ways. That creates a number of unique challenges as a platform: authentication, rights management, terms of use, custom metadata, custom profile data, 3rd party processing ,etc.

For many, and we'd venture most, media apps - simply putting the file online won't be enough. It will have to go through a number of steps and more often than not, there's a need to capture additional data as part of the intake. Put another way, a media file's life only begins when it gets "online".

We're focused on those use cases first and foremost and think we'll be the ideal fit for anyone who needs the same thing.

<comment><USER8> What markets are you focused on with Chute?

<comment><AUTHOR> We have two primary audiences today: brands/publishers and developers.

While there's a great deal of support for developers already, we know that there's a lot more that we can do and will be rolling out a great deal of new content soon.

<comment><USER8> Hmm...those are two fairly different audiences. What makes you think you can support both at once. Why don't you just focus on one?

</comment></comment></comment></comment></comment><comment><USER9> Congrats, Chute looks like something which can become synonyms with images. On the other hand its interesting how Twilio is always used as the placeholder for API.

</comment><comment><USER10> Congrats on the funding, Gregarious!

Chute definitely seems like an interesting company, and I'm glad it's not just-another-photo-sharing site. Looking forward to seeing what else comes from your camp!

</comment><comment><USER11> I don't see the pricing for Chute.

</comment><comment><USER12> absolutely no pricing info available.. hard to dig into this</comment>


Laravel 4 Beta released - <AUTHOR> http://four.laravel.com/

<comment><USER2> It looks very nice. If I happen to write a project on PHP, I'll sure give it a try.

They didn't tag v4.0 release on github, hence the zip package link is 404.

<https://github.com/laravel/laravel/archive/4.0.zip>

You can instead fetch master:

<https://github.com/laravel/laravel/archive/master.zip>

</comment><comment><USER3> I love Laravel, it's the simplest and most expressive PHP framework that I've used, and it does everything I want it to do out of the box. I really like that Laravel 4's API is practically identical to Laravel 3, too.

Btw you can browse the code on GitHub if you don't want to download it: <https://github.com/laravel/framework>

</comment><comment><USER4> The beta hasn't actually been officially announced yet. As of this comment it's still in a pre-beta stage. Taylor will announce the beta sometime on Monday, as per the following tweet: <https://twitter.com/laravelphp/status/289880193580032001>

</comment><comment><USER5> Awesome. I was waiting on documentation before trying this out. I love that they're using Composer now.

</comment><comment><USER6> Exciting! I've been using Laravel for all my new freelance PHP projects, and I'm really happy with it.

</comment><comment><USER7> Form and HTML helpers have been removed it seems, I wonder why?

<comment><USER5> Since Laravel 4 is Composer based, these have been extracted away. There are ports of the old HTML and Form helpers from Laravel 3, as well as a new package built with Laravel 4 support in mind. See this for more details: [https://github.com/jasonlewis/jasonlewis.me/blob/master/arti...](https://github.com/jasonlewis/jasonlewis.me/blob/master/articles/laravel-4-illuminating- your-laravel-3-applications.md#the-loss-of-html-and-form)

<comment><USER7> Still, shouldn't they decide on some kind of default? (Even if it's third party). What will happen to laravel bundles if everyone uses different form libraries in those bundles? (I assume there will still be something different from composer for bundles?)

<comment><USER4> Well considering bundles have been dropped in favor of packages it shouldn't really matter. There should never be any conflicts because packages should be namespaced in a vendor/package fashion, meaning one package can use Form helper A and another can use Form helper B without conflicting.

</comment></comment></comment></comment><comment><USER8> Can't seem to find a changelog, got a link for whats new?

<comment><AUTHOR> Its a complete rewrite, and there is many new concepts. The syntax is however almost the same. A good list of new features can be found here: <http://phpmaster.com/whats-new-in-laravel-4/>

</comment></comment><comment><USER9> PHP frameworks are finally becoming sane. Instead of re-inventing the wheel ,they share popular components wether it is from doctrine , symfony , etc ... The PSR stuff and composer is a huge step in the right direction , we are getting there , at last. another promise framework is Silex based on Symfony , it's easy to wire any symfony component through services and unlike Laravel it doesnt rely on Static methods or Singletons. silex.sensiolabs.org/

<comment><AUTHOR> The problem with static and singletons have been adressed by the creator, Taylor Otwell. Heres a quote (<http://forums.laravel.io/viewtopic.php?pid=3237)from> him regarding the static methods in laravel 4.

"Yeah, this [static methods/singletons] is something I have thought about a lot.

I have gone from everything totally static, to everything totally dependency injected, to somewhere in between. The criticisms of static methods are certainly valid. If you'll notice in the Laravel core code, the router, session handling, and database stuff is actually pretty thoroughly dependency injected. When the Laravel core creates the session payload, it injects the driver. That allows me to unit test the framework more thoroughly since I can inject mocks and stubs.

Problems I have run into with using DI throughout the framework is that you start to fight against the global state that exists within PHP itself. For instance, functions like "file_get_contents" and "file_exists"... you have to have some way to mock those.

I have actually moved Laravel totally off of static methods before to see what it would be like, and it's not too bad. I think in the future it's possible more classes will be moved off of static methods.

To dig deeper into Laravel, there is actually an abstract "Facade" class that makes you think a class is static when it's not. For instance, when you do "Session::get", you are actually hitting the Laravel\Facades\Session class, which is resolving the session payload out of the IoC container and then calling the method you want. It's a trick to give you convenient access while still keeping the framework somewhat testable.

So, I totally agree with the articles. The struggle so far has just been to find a good balance point for Laravel. Writing testable code is still up to the developer to an extent. You can use the IoC container to inject a database connection instead of just using the DB static methods. However, things like the Input, URL, File, etc. classes still being static could lead to some testability problems. I've broken encapsulation on the Input class just to make it a little more testable. You can set the Input just by saying "Input::$input = array()".

This is probably way more information than you wanted, but just letting you know this is something I have thought about a lot. Symfony2 has probably done the best job of keeping things testable that I know of. I think Laravel's testability is decent as it stands, but I know there are things that could make it better."

<comment><USER9> file_get_contents is an interesting one , it creates variables out of thin air ( though i think the scope stays "local") when called from a function.

<comment><USER10> file_get_contents only returns the content of the given file; you must be speaking about something else</comment></comment></comment></comment>


The Disturbing Privacy Dangers in CISPA and How To Stop It - <AUTHOR> https://www.eff.org/deeplinks/2012/04/cybersecurity-bill-faq-disturbing-privacy-dangers-cispa-and-how-you-stop-it

<comment><USER2> I'm not sure I have a problem with companies under attack sharing IDS logs. This whole EFF post seems like a stretch. I think "threat information" is pretty clearly not my mom's personal e-mail, unless my mom is some kind of Tibetan supporter and China has been dropping her 0days daily, in which case it might be nice to have the government send my e-mail provider a heads up or for my e-mail provider to warn other people who might be affected.

Can we save the grandstanding for actual privacy issues?

<comment><USER3> A law that grants immunity for sharing vaguely defined information for a vaguely defined purpose, and then authorizes the government to use that information for vaguely justifiable purposes is not an actual privacy issue?

<comment><USER4> No, it's not, because the law of the land already allows service providers to voluntarily share information about the usage of their service (ie, email if they operate an email service) to the government without restriction, so long as that sharing is incident to an effort to protect their own service.

In other words: service providers can share any information that is ostensibly about abuse of their own services; what they can't do is feed information about e.g. drug trafficking conducted over their service to help build a case against drug trafficking.

CISPA also relies on voluntary sharing and is also framed around efforts to protect services.

That doesn't make it a good bill. I don't think it is, and I "oppose" it (for whatever that's worth). But I oppose it because it's an ineffective measure, not because it's a threat to the Internet.

</comment></comment></comment><comment><USER4> I've been pretty consistently disappointed with how EFF has been portraying this bill (which I don't support), to the point where it's causing me to re- evaluate the EFF as a whole.

The ACLU has had a much more measured response. Instead of trying to mobilize opposition to the bill by depicting it as "SOPA 2" (which it clearly isn't), they provided a list of suggestions for narrowing and refining the language in CISPA. The new draft reflects many of their concerns.

At its heart, CISPA is mostly a publicity measure meant to provide its sponsors with a veneer of having "done something" about the growing threat to industry by determined nation-state attackers (which is a real, if perhaps overhyped, threat to our national security). The kernel of intervention in CISPA --- the _only_ thing CISPA actually "does" --- is an "official" provision for sharing information between service providers.

Some things you should know before you make up your mind about how dangerous that sharing is:

* It is already _broadly_ allowed by the pre-PATRIOT 1986 Electronic Communications Privacy Act, which requires only that information be shared in conjunction with an actual effort to maintain services by the provider of the service itself, establishes no limits on the amount of information share _or who it's shared with_ , explicitly carves out the ability for providers to share information with officials acting under color of law during criminal investigations (without a warrant!), and makes no mention whatsoever of anonymizing or stripping PII (ironically unlike CISPA).

* It reflects already- in- place common industry practice: providers are already sharing often-detailed information about attacks.

* The "monitoring" of your emails is already so commonplace and widely accepted that it forms the basis for products like Google Mail; the capture and sharing of your email during criminal investigations is, sadly, already allowed without a warrant in many US venues!

It is one thing to suggest that the state of affairs for electronic privacy is sad indeed, and to militate in favor of better laws. Count me in.

It's another thing entirely to attempt to twist every meaningless, do-nothing piece of legislation to come out of Washington as an attempt to rewire the Internet in favor of the MPAA, which is exactly what the EFF appears to be doing here.

I felt like the concern over SOPA was slightly overblown but at least fundamentally valid. Here I see virtually no validity to the concerns, and any epsilon of valid concern that is present is so outweighed by hysteria that the net effect on civic discourse is negative, not positive.

Support organizations that aren't trying to play off your emotions.

<comment><USER5> _I've been pretty consistently disappointed with how EFF has been portraying this bill_

 _The ACLU has had a much more measured response_

Say what? [http://www.aclu.org/blog/national-security-technology-and- li...](http://www.aclu.org/blog/national-security-technology-and- liberty/kicking-stop-cyber-spying-week) Sounds to me like they're singing from the same hymnal (and the ACLU page specifically says that they're joining the EFF, among others, in opposing CISPA).

 _It's another thing entirely to attempt to twist every meaningless, do- nothing piece of legislation to come out of Washington as an attempt to rewire the Internet in favor of the MPAA, which is exactly what the EFF appears to be doing here._

Say what? The linked page specifically acknowledges a proposed amendment to remove "intellectual property" from the relevant spot in the text -- while reminding us that said amendment has not yet been voted on. If CISPA were to pass with that phrase "intellectual property" intact, _of course_ content owners would do their best to use it for their purposes. How far they might get, I don't know, but I think we can all agree that the amendment, once accepted, will be a valuable clarification.

Basically your argument seems to be that CISPA isn't a big deal because it's not much worse than ECPA. This is an important point, I agree. But if the goal is to improve online privacy generally, it seems to me that further steps in the wrong direction need to be opposed successfully _before_ there can be any hope of positive movement.

If the arguments against CISPA are ultimately arguments for revising ECPA and PATRIOT, those arguments need to gain currency. People need to be sensitized to them and to think about them. That's going to take time and many battles. You seem to think we should skip this battle and save our powder. I am more inclined to the view that even if this is not the most important battle, every victory helps and this is not the time to concede anything.

<comment><USER4> That ACLU blog post is from today; I hadn't seen it, and was citing a much more measured policy statement from several months ago. I find today's blog post equally as disappointing as EFF's coverage.

I fundamentally disagree with the argument that we should pick sides and strive towards victory for victory's sake. That's a bad policy mechanism, but more pragmatically, it also creates fatigue, attenuates opposition to real issues, and generates a deficit of goodwill. While I don't think the legislative sponsorship of CISPA is done in good faith, I think its industry backers genuinely do feel like something needs to be done about online attacks.

Though you clearly disagree with me, I think you've done a good job of summarizing my points. I'd only add this: my problem is less with opposition to the bill (I think it's a bad bill) and more with the way it's been covered by EFF, Demand Progress and Boing Boing.

<comment><USER6> One other problem I had with the original was how it would actively prevent any state level privacy laws from coming into effect to improve things. While I can certainly sympathize with the idea that, for simplicity's sake, such laws probably ought to be federal, that explicit preemption in the original was also worrying, because it would cut off one route towards better privacy. Perhaps they've amended that--I confess that I've not yet read the latest draft just yet--but that was a worry I had about the original.

Ultimately, I think what we really need to do here is to push for better privacy laws, rather than fighting off every half-baked half-measure some legislator comes up with, and if I've understood you correctly, we agree on that.

<comment><USER4> Yep, I think we agree. ECPA2012 sounds like a great goal.

</comment></comment></comment></comment></comment><comment><USER7> the House votes on the bill on April 23, which is a week away. any opposition which happens needs to happen fast. (I think that's probably deliberate.)

<comment><USER8> A week from now, the bill will be about a week shy of being five months old. This doesn't sound lie a rushed vote to thwart opposition.</comment></comment>


Ask HN:  Who do you follow for inspiration and advice? - <AUTHOR>

I'm a DHH/Jason Fried 37signals acolyte - but I suspect there are more folks I should be reading as a learning entrepreneur.   Whose blogs / twitter feeds do you follow? <comment><USER2> I like to follow a bunch of local startup entrepreneurs on twitter, especially if they tweet good links and content.

Also follow a bunch of CEO's / leaders of startups in your industry, and any "celebrity" techies like Mark Cuban, Kevin Rose, maybe a few VCs too.

Makes for really great daily flipboard reading.

</comment><comment><USER3> I really enjoy the Ruby Rogues podcast team (assuming you have a similar background due to DHH).</comment>


When is proof by contradiction necessary? - <AUTHOR> https://gowers.wordpress.com/2010/03/28/when-is-proof-by-contradiction-necessary/ <comment><USER2> See also Andrej Bauer's "reply article", Proof of Negation and Proof by Contradiction: [http://math.andrej.com/2010/03/29/proof-of-negation-and- proo...](http://math.andrej.com/2010/03/29/proof-of-negation-and-proof-by- contradiction/)

In short, there are two different logical principles, and ordinary mathematicians call both of them proof by contradiction. However, constructivist (aka intuitionist) mathematicians make a distinction between them: they "believe in" proof of negation, but not in proof by contradiction.

A lot of work has been done about formalizing mathematics in constructive logic. One big component of this is figuring out which uses of proof by contradiction are avoidable, and which one are essential (in the latter case the theorem statement has to be weakened for the constructive version). But this is all about proof by contradiction in the narrow sense. The usual proof about the irrationality of √2 is valid constructively.

<comment><USER3> The "problem" is basically that constructivists don't believe that this is a valid inference:

¬¬ϕ ⇒ ϕ

<comment><USER4> What is the justification for not believing that from a double negation of A follows A is a valid inference?

I took formal systems in university some years ago and remember something about different axiom systems and how one school of thought rejected one particular rule of inference but was this the one?

I am trying to think of a world where this rule is not valid and not succeeding.

<comment><USER5> The simplest intuition is to exchange "truth" as the airy concept of "is valid/reflects the world" with "I possess tangible evidence to the case".

So, "2 + 2" is true because I can generate tangible evidence of it, but "the Collatz conjecture" is not true because I cannot. It's also not false. To be "false" I'd have to have tangible evidence of "the Collatz conjecture is false", a counterexample. This "I lack evidence" as neither truth nor falsehood is the characteristic of intuitionistic/constructive logic that makes it so interesting.

To be clear, there is now an element of time involved. Or, as others have stated, constructive logic reflects the "communicative nature" of proof. What I should have said a second ago is "The Collatz conjecture is not true (for me) (right now) (because I personally don't happen to have evidence for its validity yet)". If you had a (valid) proof it'd be true for you and once you communicated that proof to me it'd be true for me.

So in the case of rejecting "not not P => P", it's merely a statement of the fact that "not (not P)" failing to actually generate any evidence for "P", it merely shows that there isn't "not evidence". If you live in a world where things must be true or false (e.g., excluded middle holds) then this is sufficient, but if you demand I show you _why_ "P" holds, then "not (not P)" is unsatisfactory.

</comment></comment></comment></comment><comment><USER6> I'm not sure "try not to use [proof by contradiction] unless you really need it" is the optimal conclusion. In "Meta Math"[1], Gregory Chaitin explores the question: "What makes a mathematical concept desirable?"

Simplicity was the solution. The best theorems seem obvious in retrospect, because they are reduced into relationships between existing concepts.

I would recommend trying all angles of attack when searching for a proof. If it starts to take too long or you hit a dead end, try a different angle. Even if you discover a proof, try your other opening moves, look for a more elegant solution.

I believe Wolfram Alpha converges on this solution by performing some sort of weighted, breadth-first search on the permutations of an equation.

I highly recommend "Meta Math"[1] if you are interested in theories about entropy and algorithms that generate proofs.

[1] ("Meta Math", Gregory Chaitin, [http://arxiv.org/pdf/math/0404335.pdf](http://arxiv.org/pdf/math/0404335.pdf))

<comment><USER7> > I'm not sure "try not to use [proof by contradiction] unless you really need > it" is the optimal conclusion.

Oh, that's only a guideline for presenting your proves. Not for coming up with them in the first place. Mathematicians do exactly what you are suggesting already.

The first prove one finds is usually quite ugly, and then comes the simplification. Writers call it editing, programmers refactoring.

<comment><USER8> Many proofs by contradiction are simply results of wrapping a constructive proof:

Suppose premises/axioms (B, C, ...) which don't depend on the value of A. Then, B=true AND C=true ... implies A=true by some logical argument, such as

A Or Not (B And C And ...) = True

In this case, the proof by contradiction is

Assume A=False But B=True, C=True, ... (Since they dont depend on A) Apply above constructive argument So A is true, _A CONTRADICTION_

Proofs by contradiction can often be of this type so the first and last lines can be removed.

The question is, what other types can there be?

</comment></comment></comment><comment><USER9> All difficult conjectures should be proved by reductio ad absurdum arguments. For if the proof is long and complicated enough you are bound to make a mistake somewhere and hence a contradiction will inevitably appear, and so the truth of the original conjecture is established QED.

\-- John Barrow

</comment><comment><USER10> I don't like the conclusion that students should avoid proving by contradiction unless they really need it.

I almost always start with contradiction as my initial method of choice when taking exams because you don't always have time to completely rewrite your proofs. Contradiction helps with this since it naturally encompasses proving by contrapositive also. Because if you're trying to prove that p->q, you can assume p and ~q and getting to ~p is a contradiction since p^~p (and this is the same structure as a proof by contrapositive if you got to this line without assuming p). And of course if you find any other absurdities along the way sooner, you're done quicker.

This is nice because a proof by contrapositive is more or less equivalent to a direct proof. So simply by always starting with proof by contradiction, you cover the cases where the theorem:

\- is simple enough for you to find out exactly why it's true (direct proof hidden in the contrapositive).

\- is complex and wide reaching enough for you to hit an absurdity quickly

<comment><USER7> > I don't like the conclusion that students should avoid proving by > contradiction unless they really need it.

Where is that conclusion drawn? This is an blog post for research (and armchair) mathematicians, not students trying to sit an exam.

<comment><USER10> Last paragraph:

>In which case, perhaps the advice that I give to students — proof by contradiction is a very useful tool, but try not to use it unless you really need it — is, though not completely precise, about the best one can do.

<comment><USER7> Oh, ok. I interpreted that as advice to students writing up their proves, not trying to find them.

</comment></comment></comment></comment><comment><USER11> First, let's assume that proof by contraction isn't necessary, ...

:-)

</comment><comment><USER12> Pretty unrelated, but proof by contradiction has been really useful for me in real life. It gives you a way to look at logical facts, and remove many axioms, because it relies on empirical evidence and a set of assumptions that you are trying to _invalidate_.

In that way, it avoids issues with deducing things from a set of pre- prescribed beliefs. In fact, it fights against them.

</comment><comment><USER13> My intuition – proof by contradiction means we have to use one step that inverts the set of values for which the statement is true – so whether we need a contradiction step depends on the cardinality of this truth set. Perhaps it depends on the relationship between the 'truth set' of our premises and our conclusions (e.g. the square root of 2 is one number, but all of the rationals is infinite) Supporting this intuition, getting rid of proof by contradiction leaves us unable to construct uncountable sets. Maybe some proofs need several contradiction steps (i.e., when their truth set cardinality is aleph-2,3, etc.)

<comment><USER12> Yea, but, I mean, the isn't the diagonal argument just an extension of proof- by-contradiction into countable sets?

The same way that induction is the extension of syllogism into countable sets?

</comment></comment><comment><USER8> When both X and Not X lead to contradictions, we have a paradox.

But what if Not X leads to a contradiction and we can't seem to find a contradiction when we assume X, but we aren't sure there isn't one? Have we proven X by contradiction, or is it really a paradox and there is some nonsensical operation somewhere?

I remember wondering something likethat before.

<comment><USER14> In that case, you have proven X by contradiction. If you're rigorous enough, you can rule out the 3rd option. As wondering if you're in a situation where your axioms are inconsistent, well that's actually the world mathematics lives in. Godel's Incompleteness Theorems show that, besides some weak axiom systems, the only systems of axioms that can prove they are consistent are the ones that are inconsistent. So we can only tell when systems are inconsistent, never when they are consistent. You just kinda hope it's not all inconsistent.

</comment></comment><comment><USER15> Why can't you prove irrationality as follows:

All rational numbers have the property that their square is not 2. (Should be a simple proof by induction on the denominator.) The square root of two does not have that property, and is therefore not rational.

Is the contradiction hiding in my implied definition, my implied induction proof, somewhere else?

<comment><USER16>
        All rational numbers have the property that their square is not 2

==

       2 not in {r^2 for r in rationals}

==

       sqrt(2) not in {r for r in rationals}

==

       sqrt(2) not in rationals

It seems to me that you handwaved away the entire proof in your first sentence, without really proving anything.

<comment><USER15> I did, although the statement I gave can be proven without contradiction. I gave a proof in a different reply.

</comment></comment></comment><comment><USER17> I especially liked the discussion under Example 1 about reformulating "negative" sentences into "positive" sentences.

The briefest amount of work in mathematical deduction or symbolic logic will cause you to raise an eyebrow whenever anyone insists "you can't prove a negative."

Every negative statement has a positive formulation buried within it. Or, no negative statement exists that lacks a positive formulation, and vice versa.

</comment><comment><USER18> And then you have linear logic (which is to constructive logic what constructive logic is to classical logic), with its two kinds of conjunctions and two kinds of disjunctions, one of which is difficult to understand but does have excluded middle again.

</comment><comment><USER19> Personally, I'd rather like to see a formal proof than a proof that is "optimal" according to some vague metric.

</comment><comment><USER20> Minor mistake in stating the theorem about p^2 = 2 q^2.

As stated, p = q = 0 is a valid solution.

</comment><comment><USER21> Empirical sciences are based upon this, you can only prove theories to be false and you do that by demonstrating a contradiction regarding its predictions and the observations.

</comment><comment><USER22> Outside of math and logic, in the world of science, not only is proof by contradiction necessary, it is the ONLY way of proving anything.

<comment><USER7> I have a strong suspicion you are mixing up different categories.

<comment><USER22> What categories? I'm differentiating between math/logic and science.

<comment><USER7> Just to clarify: I assume your original comment was an allusion to Popper's falsification?

<comment><USER22> yes.</comment></comment></comment></comment></comment>


"...we discovered a 5,800-line SQL query..." - <AUTHOR> http://msdn.microsoft.com/en-gb/magazine/jj553510.aspx?utm_source=Coder+Weekly&utm_campaign=49389e87f3-Coder_Weekly_Issue_26&utm_medium=email <comment><USER2> Only skimmed the article, but this question came to mind:

If your database API generates a 5800-line query for a common use case, isn't that a flaw in the API?

Given this data, I'd advise anyone planning to use this framework to instead consider avoiding it and using a better API or even writing SQL manually if necessary.

</comment><comment><USER3> Dang it, I was hoping that some poor fool had actually written a working (albeit poorly performing) 5,800 line query. But nooooooo.... some weird beard code generator wrote it. That's not quite the multi-car pile-up I was hoping for.</comment>


Deprecating our AJAX crawling scheme - <AUTHOR> http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html <comment><USER2> Don't believe the hype. Google has been saying that they can execute javascript for years. Meanwhile, as far as I can see, most non-trivial applications still aren't being crawled successfully, including my company's.

We recently got rid of prerender because of the promise from the last article from google saying the same thing [1]. It didn't work.

1: [http://googlewebmastercentral.blogspot.com/2014/05/understan...](http://googlewebmastercentral.blogspot.com/2014/05/understanding- web-pages-better.html)

<comment><USER3> Todd from Prerender.io here. We've seen the same thing with people switching to AngularJS assuming it will work and then coming to us after they had the same issue.

[1] This image is from 2014, when Google previously announced they were crawling JavaScript websites, showing our customer's switch to an AngularJS app in September. Google basically stopped crawling their website when Google was required to execute the JavaScript. Once that customer implemented Prerender.io in October, everything went back to normal.

Another customer recently (June 2015) did a test for their housing website. They tested the use of Prerender.io on a portion of their site against Google rendering the JS of another portion of their site. Here are the results they sent to me:

Suburb A was prerendered and Google asked for 4,827 page impressions over 9 days Suburb B was not prerendered and Google asked for 188 page impressions over 9 days

We've actually talked to Google some about this issue to see if they could improve their crawl speed for JavaScript websites since we believe it's a good thing for Google to be able to crawl JavaScript websites correctly, but it looks like any website with a large number of pages still needs to be sceptical about getting all of their pages into Google's index correctly.

1: [https://s3.amazonaws.com/prerender- static/gwt_crawl_stats.pn...](https://s3.amazonaws.com/prerender- static/gwt_crawl_stats.png)

<comment> grey-area Perhaps this could be down to response times too, they might crawl much quicker if given static HTML very quickly?

What were the page render times for the two types of page?

</comment></comment></comment><comment><USER4> So they're actually evaluating all js and css Googlebot is consuming. That's insane.

Can we forget about any new competitors in search engine land now? Not only do you have to match Google in relevance you'll actually have to implement your own BrowserBot just to download the pages.

<comment><USER5> The hints were littered everywhere that they did this.

Google does malware detection. Not on every crawl, but a certain percentage of crawls. At my old social network site, they detected malware that must have come from ad/tracking networks because those pages had no UGC. This suggests they were using Windows virtual machines (among others) and very likely using browsers other than a heavily modified curl / wget and a headless Chrome.

They started crawling the JavaScript-rendered version of the web and AJAX schemes that use URL shebangs. This was explicit acknowledgement that they were running JavaScript and did advanced DOM parsing.

They have always told people that cloaking (either to Google crawler IP blocks, user-agent, or by other means) content is a violation and they actively punished it. This suggests they do content detection and likely execute JavaScript to detect if extra scripts change the content of the page for clients that don't appear to be Googlebot.

They have long had measures in place to detect invisible text (eg. white text on white background) or hidden text (where HTML elements are styled over other HTML elements). This suggests both CSS rendering and JS rendering.

<comment><USER6> > They have long had measures in place to detect invisible text (eg. white > text on white background) or hidden text (where HTML elements are styled > over other HTML elements). This suggests both CSS rendering and JS > rendering.

No, this actually suggests it's not doing either. Both invisible and hidden text the way you've described it would be implemented with a CSS style. Not using that style would mean the text would appear as normal. I understand you probably meant that the JS was injecting the text in, which is fully possible, but that's neither hidden nor invisible text.

<comment><USER7> The parent is talking about them penalizing sites that use such hidden text that would normally show to the crawler but be invisible to an actual human looking at the page.

</comment></comment></comment></comment><comment><USER8> Wow, I built a project that rendered JS built webpages for search engines via NodeJS and PhantomJS. Rendering webpages is _extremely_ CPU intensive, I'm amazed at the amount of processing power Google must have to do this at Internet scale.

I really hope this works, lots of JS libraries expect things like viewport and window size information, I wonder how Google is achieving that.

<comment><USER9> I'm wonder if they're cutting out a lot of the rendering that PhantomJS is doing. Not to say that any type of rendering is cheap but I'm guessing they have a limited version of a JS rendering engine that does just enough to index the page.

I bet they'd also skip on all the FB like buttons and other common social media elements that don't impact the content.

<comment><USER10> They're starting to consider page load speed as a factor in rankings, which would lead me to believe that they're letting all the social buttons / trackers / media load.

<comment><USER11> How do you know a page has loaded? A complex page with ads, AJAX, WebSockets may be constantly busy. Most social buttons, ads, etc. are now loaded by callbacks, that usually finish after the page has rendered.

<comment><USER12> Most of that data flow, barring user interaction is much more limited compared to the initial load of controls, iframes, images, etc... you can visibly see the drop off..

If you look at the network tab in chrome dev tools, you can see when the dom ready event fires, the window load event, and when it really feels the content was done loading. That final load time is when the data flow lulls out for a bit.

</comment></comment></comment></comment></comment><comment><USER13> This is good-one of my current projects for a customer is entirely AJAX/JS rendered and we were worried that Googlebot would have a fit with it.

<comment><USER14> We recently built a site for a customer in Ember and their SEO guys were concerned about indexing. I wasn't sure how it was going to work out, but in the end Google has been able to index every page no problem.

<comment><USER13> Do you know if they sent Google a sitemap? Our client is insisting on a sitemap that has pointers to every-single-product. Something on the order of 2MM+ product pages. It seems like a bit much to me

<comment><USER9> Keep this in mind [https://support.google.com/webmasters/answer/183668?hl=en&to...](https://support.google.com/webmasters/answer/183668?hl=en&topic=8476&ctx=topic)

> _Break up large sitemaps into a smaller sitemaps to prevent your server from > being overloaded if Google requests your sitemap frequently. A sitemap file > can 't contain more than 50,000 URLs and must be no larger than 50 MB > uncompressed._

</comment></comment></comment></comment><comment><USER15> This was the missing piece for Polymer elements / custom web components. Now that Google has confirmed it's indexing JavaScript, web-component adoption should take off.

<comment><USER12> I want to like polymer/web-components... I just find that it kind of flips around the application controls that redux+react offers. I'm not sure that I like it better in practice.

</comment></comment><comment><USER16> Gary Illyes @goog said this was happening Q1 this year, and like others mentioned lots of other direct/indirect signals have pointed this way.

[http://searchengineland.com/google-may-discontinue-ajax- craw...](http://searchengineland.com/google-may-discontinue-ajax-crawlable- guidelines-216119) March 5th: Gary said you may see a blog post at the Google Webmaster Blog as soon as next week announcing the decommissioning of these guidelines.

Pure speculation but interesting... The timing may have something to do with Wix, a Google Domains partner, who is having difficulty with their customer sites being indexed. The support thread shows a lot of talk around "we are following Google's Ajax guidelines so this must be a problem with Google". John Mueller is active in that thread so it's not out of the realm of possibility someone was asked to make a stronger public statement. [http://searchengineland.com/google-working-on-fixing- problem...](http://searchengineland.com/google-working-on-fixing-problem-with- wix-web-sites-not-showing-up-in-search-results-233310)

<comment><USER17> I'm betting that they finally solved the scalability problems with headless WebKit. Google's been able to index JS since about 2010, but when I left in 2014, you couldn't rely on this for anything but the extreme head of the site distribution because they could only run WebKit/V8 on a limited subset of sites with the resources they had available. Either they got a whole bunch more machines devoted to indexing or they figured out how to speed it up significantly.

<comment><USER12> I'd say both are pretty likely.. another round of lower-power servers with potentially more cores... more infrastructure... Combined with improvements in headless rendering pipelines. I haven't looked into it in well over a year now, but last I checked dynamic updates took about 2-3 days to get discovered vs. server-delivered being hours for a relatively popular site.

I'm guessing they've likely cut this time in half through a combination of additional resources, and performance improvements. Wondering if they'd be willing to push this out as something better than PhantomJS... probably not as it's a pretty big competative advantage.

I know MS has been doing JS rendering for a few years, they show up in analytics traffic (big time if you change your routing scheme on a site with lots of routes, will throw off your numbers).

</comment></comment></comment><comment><USER18> Currently I use prerender.io and this meta tag:

        <meta name="fragment" content="!">

I don't actually use #! URLs, (or pushstate, though I might use pushstate in the future) but without both of these Google can't see anything JS generated - using Google Webmaster Tools to check.

Does this announcement mean I can remove the <meta> tag and stop using prerender.io now?

<comment><USER19> We have a similar setup and were wondering the same thing (though we use push state). Today we were actually trying to figure out a workaround for 502s and 504s that google crawler was seeing from prerender. We just took the plunge and removed the meta tag because over 99% of our organic search traffic is from google. Fingers crossed!

<comment><USER3> I'd love to help here if I can. I'd also love to hear the results of you removing the meta tag! email@example.com

</comment></comment></comment><comment><USER20> Any idea how related this might be to Wix sites getting de-indexed?[1]

[http://searchengineland.com/google-working-on-fixing- problem...](http://searchengineland.com/google-working-on-fixing-problem-with- wix-web-sites-not-showing-up-in-search-results-233310)

</comment><comment><USER21> This might be obvious to anyone who has done SEO, but can Googlebot index React/Angular websites accurately? I was always under the impression that the isomorphic aspect of React helped with SEO (not just load times.)

<comment><USER22> If a modern browser can render your site accurately, then Google can index it.

<comment><USER12> It's always lagged in my experience... I'm hoping this announcement means that lag is under a day instead of the 2-3 it was a bit over a year ago.

</comment></comment></comment><comment><USER23> Finally. It was obvious we would have to get to that point eventually, it just wasn't clear when.</comment>


Semantics, LESS, and Sarcasm - <AUTHOR> http://vincentjordan.com/2012/03/semantics-less-and-sarcasm/ <comment><USER2> Love LESS, SCSS, stylus etc. LESS though is a great idea that was not implemented well. The grammar of the language is ambiguos and it has a ton of bugs.</comment>


NaNoGenMo is back for 2014 - <AUTHOR> https://github.com/dariusk/NaNoGenMo-2014

<comment><AUTHOR> If you have any interest in participating this year, definitely check out last year's entries -- ranging from the obvious (markov models, twitter scrapes) to some very interesting ideas (substituting the dialogue from one book into another, isolating fight scenes from The Odyssey, making a text adventure play itself).</comment>


HTML5 Reset - <AUTHOR> http://html5reset.org/ <comment><USER2> Mayer's "I like to reimplement every style from scratch" turned into "You have to reimplement every style from scratch" (otherwise unspecified incompatibility bogeyman will bite you in vague ways).

Is "resetting" of font, applet and center really needed for new HTML5 pages?

Default styles are in the HTML5 spec. Actual stylesheets of all major browsers are available in their source repos or via introspection. For compatibility reasons there's really no need to reset everything "just in case". There are few specific styles which are annoyingly inconsistent. None of them are on kbd, u, strike, tfoot, label and dozen other elements that reset nukes.

I found that reset causes more trouble than it solves. Form elements don't react consistently to reset styles - it's better to keep browser's defaults.

WYSIWYG editors don't play nicely with reset (and sooner or later client might ask you for such editor).

And finally designers rarely bother to actually do what Mayer recommended for reset. They leave some styles reset to useless defaults, which makes it unnecessarily difficult to use pure semantic HTML later. Lack of outline is harmful to keyboard users.

For HTML5 reset it would be useful to set default styles for section, article, header and other elements that are unknown to HTML4 browsers. It doesn't do that...

</comment><comment><USER3> A reset that achieves a blank page that involves +8 requests and 21KB of text.

I'm all for it, but it should weigh much less.

Does it really need modernizr and jquery?

Could it not have merged the css files that call each other?

</comment><comment><USER4> I'm not really a fan of the underscore/dash naming scheme that they are using to keep the files on the top of the directory listing. Also, if you're going to do that, why have it be dash for the top level and underscore for the second levels?

</comment><comment><USER5> How can a site showing some HTML5 reset templates be so ugly. Unreadable font, blue navy, some white stars floating randomly. Common.

</comment><comment><USER6> God I hate resets.. Every time I see one of these I want to reach through my screen and slap the creator, then say go learn css before talking.

They make me, the developer, work so much harder, cause me so many more headaches, make my fingers type more, adds so much more code to the codebase, has all sorts of useless crap, and did I mention they make it harder on the developers?

regardless I took a look.

I downloaded the bare-bones one just to take a look around. 3 css files none more then 60 lines. using the always frowned upon @import command.

The _print css made me laugh. There is a main.css and a core.css. The core.css is empty and the main.css just says to import core.css. A lot of good thats gonna do.

I have no idea why a "HTML5" reset would have style sheets for IE5?

Horrible.. waste of time, to even use. Even worse because it has the nasty, awful meyerweb reset.

<comment><USER7> >I have no idea why a "HTML5" reset would have style sheets for IE5?

It's a template, you're supposed to remove the bits you don't need.

</comment></comment><comment><USER8> Hmm, something funky is happening when I zoom in or out using Chrome. Some of the fonts change font-family when zooming and then changes back to the correct font when the zooming animation is finished.

</comment><comment><USER9> This is far more than just a reset: it's a starting template.

</comment><comment><USER10> awesome thanks!

</comment><comment><USER11> This is what's great about the web. Not only is the code in plain text and freely shared, but when you give it away, everyone just complains about it.

<comment><USER12> But surly the whole point of commenting on a post is to share our collective wisdom about whether or not code (or advice) is good.

The function of a HTML reset file is to ensure browsers on all systems behave the same way, but in this instance it appears to me that the author hasn't tested his own page on windows or perhaps just in Chrome, which would suggest that it might not good advice to use his reset file.

<comment><USER11> Yeah, you're probably right, and it is a pretty ugly page.

</comment></comment></comment><comment><USER13> Please use a font that's readable on windows. :(

<comment><USER14> I'm not a fan of the white-on-navy, but it was readable enough in Opera on Windows.

<comment><USER12> I can read it, but performance of the page is terrible in Chrome.</comment></comment></comment>


For the Love of the URL - <AUTHOR> http://gran.do/blog/for-the-love-of-the-url

<comment><USER2> Could you please share the code that updates the URL of the blog post without adding each entry to history? I take it you used history.replaceState?</comment>


Adobe will bring the full Photoshop to the iPad - <AUTHOR> https://www.theverge.com/2018/7/13/17567886/ipad-photoshop-release-date-apple-photo-editing-adobe <comment><USER2> Porting photoshop to iOS/ARM could also in part be motivated by a known or perceived Apple transition from Intel to their own ARM chips.

<comment><USER3> This sounds most likely to me. Port to IOS on ARM coupled with the rumors of IOS APIs being added to MacOS. Sounds like a first step to ARM migration overall.

<comment><USER4> It's not a rumor. Apple announced they were doing just that at WWDC and they showed two or three apps ported from iOS to the next release of MacOS.

<comment><USER5> There was no official mention of MacOS running on ARM.

<comment><USER4> _....coupled with the rumors of IOS APIs being added to MacOS_

This part isn't a rumor. It's been confirmed by Apple.

</comment></comment></comment></comment></comment><comment><USER6> I'm an iOS user. But frankly, iOS sucks for this kind of work. I tried. Copy pasting is slow, file handling is unnecesserily clunky (just give me a file browser Apple). And exporting always needs some kind of workaround because I can't just pop in USB drives (which my wife's Surface Pro gladly accepts).

<comment><USER7> You say you tried, but it sounds to me like you didn't try hard enough.

I'm a hobbyist photographer, and I do the vast majority of my photography work on a 9.7" iPad pro, with a Pencil. I'm constantly editing 24mp RAW files in Affinity Photo, which is about as close to full-fat Photoshop running on the iPad as you can possibly get, and let me tell you: It's fantastic.

I turn on my camera, I shoot some images. I open up Cascable, which connects to my camera's wifi, and I pull down some images. I flip through them and find one I like, the one I want to edit, so I click on that one and click "share", and then select Affinity Photo.

Affinity Photo opens. It's 95% of the power of desktop photoshop, albeit organised in subtly different ways. I do the things I would normally do: White balance, HSL, blemish touchup and even frequency separation. I click export, and save to camera roll.

It's in the camera roll, and I select it, and I share it over email to some friends, and to discord, and to instagram.

I don't get where the problem is.

<comment><USER6> I tried all sorts of work, from text editing to drawing and music creation. They all kind of work but they are needlessly complicated. On the PC/Mac I can edit a sample in Audacity and just drop it into my DAW, in most cases probably via Drag'n Drop. On iOS I'd have no guarantee if that's even possible for the two apps I'm using.

Copying an edited photo (or drawing in my case) to a flash drive involves an external computer. It's not that it's _impossible_ it*s needlessly complicated and clunky. I don't ant to try hard enough, I want the device to make my work easier.

</comment></comment></comment><comment><AUTHOR> Affinity Photo on the iPad made quite a splash and was Apple's software of the year in some category. I guess it showed Adobe that there is real money to be made.

And Affinity Designer for iPad has just been released.

<comment><USER8> I imagine it's less about money to be made but rather about fearing money to lose. Affinity offering a more and more well rounded solution with their Photoshop, Illustrator and now upcoming Indesign competitor, most of which are already on iPad today. With a Lightroom competitor in the works, I imagine Adobe is worried people will leave them completely for Affinity because of some customer's hatred of the subscription model, and lack of iCloud and other Apple specific tech. If affinity designer didn't release their app yesterday and announce publisher I'm sure Adobe wouldn't have leaked this news today. Excited for all the competition.

<comment><USER9> I will leave Lightroom and and InDesign the moment Affinity releases their equivalents. No, I don't care about hundreds of existing LR presets, I'll do everything to free myself from Adobe's arrogant lock-in.

</comment></comment></comment><comment><USER10> I am not a customer for this but I see the value. An iPad Pro is easier for me to always have available, I feel it is less intrusive on my life than always having an open laptop handy.

My must have iPad apps to be somewhat independent of a laptop are: OmniGraffle for producing diagrams, Prompt for SSH shells, Microsoft Office 365 apps for dealing with material from other people, TextTastic and Working Copy for github, etc.

My use of a laptop with external monitor is really limited to doing software development.

For creative types, tablets with apps like Photoshop should help cut the cord to being tied to a full blown computer.

Microsoft Whiteboard was announced today, and I like the idea. I think Apple needs to step up and provide similar group collaborative tools. Apple does a great job of smooth workflow between iPhone/iPad/MacBook but they have opportunities for improvement in collaborative tooling.

</comment><comment><USER11> Well that's disappointing :(, I would have expected the full Photoshop experience to be ported to the web instead, not in Apple's locked garden. Sigh.

<comment><USER12> Browsers don't have the power or the speed to run the most demanding loads that Photoshop require (especially without using more memory than needed)

At some point you really need to manipulate image data (from/to disk) in weird ways that's just not possible in a browser

Try opening a .jpg file that's bigger than available memory in PS and see how that goes (harder now as memory is not so constrained) as opposed to other softwares

<comment><USER13> This is not even true in the classical JavaScript world. A 10 year old tiling image viewer (think of any map viewer) proves the opposite.

Given we have WebAssembly and friends nowadays, you can think of the browser as a X86 VM host if you whish, with similar limitations (= no relevant limitations for running PS).

<comment><USER14> You can't really load giga bytes of data in a web page without that page dying. The issue isn't really what Javascript can or cannot do (though speed is obviously a concern). Even if you manage to stream the data somehow you still need to persist it locally, and I'm pretty sure no browser allows that kind of quota. Photoshop feature complete is not going to run in the browser soon.

If what you said was true we would already have late Xbox 360 and PS3 like games running in the browser...with acceptable performances on high end hardware, which is clearly not the case.

<comment><USER15> Why do you need to persist it locally?

<comment><USER14> You need to load the app at first place. Launch Photoshop CC and check how much memory it takes. Then open a 200 MB psd.

</comment></comment></comment></comment></comment></comment><comment><USER16> I wonder what the battery life will be like for a full Photoshop session with a decent number of layers and filters being rendered in real-time while editing a reasonably large photograph.

<comment><USER17> You can already run heavy games on iOS devices that tax the system even worse (audio, network). So based on this it should be couple of hours minimum.

</comment></comment><comment><USER18> Mouse/trackpad cursor support, keyboard shortcuts, and robust filesystem access are required to intelligently use Photoshop. Does Adobe expect that iOS will eventually get there?

<comment><USER19> iPads support keyboards. Wacom's entire business is predicated on mouse/trackpad being inferior to styluses for many uses of this and similar software.

And... while there are some pretty easy UI wins Apple could make there [eg: the special handling of 'photos' in many apps makes treating them as 'just files' awkward] the iOS 11 system seems reasonable for most common workflows. Do you have any specific complaints?

I'm sure adobe would like the ecosystem to get better for them over time, but there's nothing blocking their software from being useful on the iPads of today.

</comment></comment><comment><USER20> Didn't they try this before? I had a copy of the Photoshop Touch(?) app previously. It was on iOS and Android. I think it was 32bit though, so no chance it still works on iOS.

<comment><USER21> It was very very limited and clunky. Perhaps they later added more Adobe Cloud integration, but that alone wouldn't help much.

</comment></comment><comment><USER22> I think this feels like a step forward, but I bet it's going to be a while before this is usable for heavy PS work. The main issues for me are that I use photoshop with as many keyboard shortcuts as possible and if I need a bt keyboard then to me it's already more cumbersome than a small laptop. Plus, photoshop clobbers RAM. There's no way you could use it at speed on a wee tablet.

</comment><comment><USER23> Well, I expect this is the beginning of the end for macOS. iOS and macOS have been converging for a long time. First Photoshop runs on iOS, then Apple makes larger and larger "i" devices until there's one with a 27" screen that sits on your desk, then there's no reason for macOS. At that point everything happens inside one of Apple's sanctioned App Store apps.

<comment><USER24> That's a definite and worrisome possibility, yes. But the App Store is 10 years old now, and they haven't required it on macOS so far, so there's hope!

</comment></comment><comment><USER25> I'm interested to see how the UI paradigms will transfer to a touch oriented device.

</comment><comment><USER26> I wonder if people will drop Photoshop from their list of deficiencies when the topic Tablet vs. PC comes up. Often, some people bring up the lack of productivity tools like PS, X_Cad, writing and building code etc.

<comment><USER27> My Photoshop workflow depends on its ability to act as a plugin host for third party workflow tools and to integrate with the rest of a professional toolchain. So, for me, Photoshop functionally remains a PC/Mac application. (This applies to most applications ported to iOS or even the Web with such fanfare -- I _still_ use Office plugins here and there...)

<comment><USER28> It's the same with music software.

It's wonderful that Reaper has a native Linux version! I might just go with Linux when I have the means to build a dedicated mixing and mastering computer, though I'll miss the ease and quality of SerumFX. Unfortunately, few VST developers have taken advantage of the new Linux support in the VST SDK. And then there's Ableton Live. All of it runs on Windows and Mac. None of it is likely to see an iOS port.

I need my _whole_ workflow to come along. None of it is trivially replaced.

<comment><USER27> I didn't even _think_ of music stuff. I use Logic Pro at the moment as my primary mixer for the video stuff I do (mostly because the remoting capabilities are nicer--Logic Remote is a lot nicer than Lemur or other OSC stuff) and...well, now I'm a little queasy.

</comment></comment></comment></comment><comment><USER29> Interesting - wonder if Android too?

I wish Sketch or Figma had iPad/pro support too.

<comment><USER4> The Android high end tablet market is basically non existent.

<comment><USER29> yeah.. but you can actually use a mouse!

<comment><USER4> For precision pointing there is the pencil - yes it is sub optimal.

</comment></comment></comment></comment><comment><USER30> The complete Photoshop is a pro-level app that makes a lot of sense on an iPad. Illustrator would also be great. Easy enough to write out a new PDF, but so hard to edit an existing PDF.

<comment><USER27> I think Illustrator would work much better than Photoshop. I don't know too many people who don't have third party plugins in their professional (nontrivial, couldn't-just-use-Pixelmator) workflows, or don't need pretty fast storage for stuff like batch jobs. Illustrator tends to be used more as- is, in my experience.

</comment></comment><comment><USER31> Hopefully, this means we've reached some critical mass of Mac apps moving over.

Because the iPad is the future of computing, much the same way the GUI superseded text interfaces.

<comment><USER32> After some initial craze in the first years, I rarely even see an iPad (or any other tablet) in the wild anymore. Smartphones getting bigger seem to have already replaced them.

<comment><USER33> It is a really valuable tool for knowledge workers. If you study medicine for example a lot of courses provide you with tons of slides with low information density. The last thing you want to do is carry them around as printed out stacks of paper. You need to be able to annotate them and draw little diagrams on them. For that an IPad Pro is perfect.

</comment></comment></comment><comment><USER34> s/full Photoshop/full Photoshop functionality/

I guess it would be hard to move the application as it is

</comment><comment><USER35> I can't even fathom using photoshop without keyboard shortcuts... iPad keypads are not useful.

<comment><USER36> The iPad will happily connect to a standard Bluetooth keyboard, and I'm almost certain it'll include keyboard shortcuts in this fashion (at least if they're planning on _any_ professional user using it!)

</comment></comment><comment><USER37> That's 100% marketing talk. There will be no native running "full" Photoshop. Maybe it will be cloud hosted like on chromebooks but porting the behemoth that photoshop is is not gonna happen.

<comment><USER36> I'm not sure why that'd be the case.

I don't doubt that Photoshop on a desktop machine will usually perform better. But the latest iPad Pro models have six-core 2.3GHz processors and 4GB of RAM. It was only a few years ago that were were doing pro photography work with machines of that specification.

The challenges are definitely going to be building a productive and useful UI using the iPad's input constraints. This is something that might be more effective on a device like the Surface. But I'm sure there are ways to build a good user experience on an iPad, so we'll need to wait and see what happens.

<comment><USER37> This is not a pro tool. It is called PRO like Windows 10 PRO there is no way an ipad can handle pro resolution (10k+). The input methods available right now are not fit to do pro work.

<comment><USER32> Exactly. From gf's experience, doing her many-layers/high-resolution work even in older Photoshop versions on RAM lower than 16GB is a nightmare. At 16GB it barely starts to be usable.

We're working on a 2D game. Some years ago, when PCs had lower amounts of RAM, games didn't even had to include full HD assets. These days you may even target 4K. While you're at such resolution already, you may even go a bit further and keep it at printable quality for easy marketing. This eats lots of resources, no iPad will be up to such task. It will work fine for occasional, amateur editing, with low resolutions and low amounts of layers, but definitely not in our professional case.

<comment><USER36> That's a really specific case. But the idea that a heavily multicore device with gigabytes of RAM is suitable only for "occasional, amateur editing" is just laughable.

<comment><USER32> Well, part of my argument was that this isn't really a very specific case: these days if you do any screen-targetting work that consists of many layers, you will have a very hard time doing it on 4GB RAM.</comment></comment></comment></comment></comment></comment>


Ask HN: I asked for a raise, they offered me phantom stock. What next? - <AUTHOR> I have advanced degrees in math and computer science and have been working for a very successful, independently owned software company. I was employee number 39 and the company has grown significantly since I started and my role in the company is critical.
Earlier this year, my predecessor who was with the company for nearly two decades parted ways. He left over disagreements during the growth process and compensation/equity. The company is independently owned and the stock is highly concentrated in one party (70ish %) with another 10% owned by investors who are prominent in the industry and the rest owned by the principal employees (CTO owns about 10%, the rest owned by 5 individuals).
When I started I was 'low-balled' a salary in lieu of opportunity. I have always valued industry influence and visibility over money, but I have received insignificant raises since I started (COLA stuff).
I have fully assumed the role and responsibilities of my predecessor without additional compensation, and I asked my boss to address this last week. He responded today and instead of offering me the raise I asked for (which was fair and modest), he offered me a 1% share in the company's profits (phantom stock / cash bonus plan). I don't believe equity is an option for me at this point, and for critical employees this has been my boss's MO for retention. The word on the street is that he is stingy and avoids even fair salaries; we are all underpaid for the level of work we do, work heavy hours, and have been successful in years past.
So, going back to the deal, I value the 1% profit sharing at about 15-20K from last year. There is potential for that value to increase, but factors affecting how I address its future value: (1) we have a majority of market share and a solid position in the industry, (2) we plan to grow significantly (doubling the size of the company in the next 5 years).
Is this a good deal or a bad one? I have had some doubts about the company's management since my predecessor left (he may have envenomed me) and I have since looked for employment elsewhere. I have received starting offers about 30-50K more than I am currently paid with signing bonus.
What questions should I ask to make this decision? Should I ask for a greater share (1% -> 2%?) I am not skilled or experienced with negotiating and my boss is very good at it. Any advice is greatly appreciated. <comment><USER2> You might want to consider deleting this post and resubmitting anonymously. As it stands, your comment history reveals both your name and your employer's name.

That aside, my advice would be to move on if you're being offered significantly higher compensation for your work. Also it sounds to me like your work environment (i.e. your boss) seems to be having somewhat of a negative emotional effect - maybe it's best to leave rather than spend time feeling pissed off with the place? Life is short.

<comment><AUTHOR> Thanks for the heads up. Not sure how to submit anon though.

<comment><AUTHOR> After thinking about this, if someone from my company were to read this they would be able to identify me. I'll take my changes I guess.

<comment><USER3> Indeed; a "negative" outcome wouldn't so negative in the greater scheme of things.

</comment></comment></comment></comment><comment><USER4> Does he pay a bonus? Seems low. I would leave - he doesn't deserve good people around him and apparently doesn't need someone as good as you say you are - otherwise he wouldn't take such a big risk with such a small bit of money from his point of view.

And yes I would just tell him "In order for me to stay here, I need X Y and Z."

Just be humble and matter of fact. If you think you deserve equity but the cap table can't support it, ask for the equivalent in bonus. However it sounds like you want an ownership stake at some level based on the level of input you give.

It's hard to start something from nothing and maybe he doesn't value you as an entrepreneur spirit and thinks you are a happy wage slave, and is just testing you spirit here. If you are that important to his growth, and you are willing to walk away - things might change very fast. Or perhaps you work a cog really well, need lots of org support around you to function and don't think that well on your own - and that is why he is toying with you. Or he's just a stupid founder, but if he's that successful, probably not.

<comment><AUTHOR> He does pay a bonus, but it isn't defined, meaning I don't have objectives that I am trying to meet and based on those defined criteria a bonus is awarded. The bonus is historically pretty good (10-20 % of salary), but I hate the uncertainty. I'd rather have the income now.

Do you think it would be unreasonable to ask for a retaining bonus?

-After your update: I've noticed he likes to toy with people. Regarding my position, I'm the lead calculation architect (no one in-house is capable and the system is very complex). And we are thinking of creating a new software branching off the existing product (we have one product atm) that will address the market share we don't touch.

<comment><USER4> OK if there is a new product being designed off your core role - if you want more money - you need to engage yourself in more of a leadership role.

Do you have ideas of what will make success in this? And how you can build a team/organize the current parts and execute something FASTER? That will drive reveneue/market share/xxx quicker? Remember, the faster something is created (in a lean point of view) - the higher chance of success. Can you help up the % chance of success. If that is the case, present that case in a concise way from a business logic point of view, the details of the code/engineering are irrelevant at this point. And tie your compensation or ownership to executing this plan, and start thinking about Why, and Value to the business. Until you do that, you don't really deserve more money - as someone else is doing that thinking for you. Until you can understand the actual value to the bottom line you bring and Why things should happen - you are just a cog in a wheel. Maybe a really big important cog, but it's not even remotely close to your machine that you are a cog in. Make it yours, present it and convince them you can take a load off his mind. Then you can share in the executive pay. If you want more money as an engineer, you may have hit the glass ceiling here, and should join an org (google type) that rewards it's engineers in this way. And I mean think about the spirit of this rant - just start communicating from a value point of view (value in terms of bringing lift to the business in faster more meaningful concrete ways) - and things probably will change. Or you will leave and start something new because it's actually really fun to mix engineering skills with business building skills. ;) Go read ben horowitz's new book, might give you some light on your ceo's behavior.

<comment><AUTHOR> I am hiring and training people, so I am in a leadership role already. I work closely with the CEO and CTO daily to design the software. I am constantly creating new efficiencies and I negotiate the business contracts with some of our largest clients (2M+ annual). I don't know how much more I could be considered a leader within this company.

<comment><USER4> did you bring those clients? why arnt you getting a commission then? you should be participating more than 20k. Why is 1% of profits only 20k anyway? and again to clarify, as another poster said - if profits are low because of growth - and you are there for growth - your deal should be in actual equity not just a profit percentage. you are there supporting the growth, you need the upside. that is the case. otherwise go elsewhere. cognitive dissonance is a bitch. you arnt being valued to what you think your value is.

</comment></comment></comment></comment></comment><comment><USER5> Speaking from experience, my advice is to use your job title to land a better paying job at a different company and don't look back. It sounds like your predecessor figured it out. Now it's time for you to do so too. Don't negotiate a new deal at your current company. Take the new offer and focus your efforts there. It can be scary to leave a role you are comfortable in, but it's the step you need to take to grow your career. A $50k/year salary increase is a lot of money. Even after taxes, that alone would cover the mortgage payments on a nice house in many parts of the country.

Saying the company is on the verge of growth is common tactic that people like your boss use. It plays into the same psychological effects that cause people to overvalue things that they own. The pain of missing out on something seems greater than the upside of selling, even if you logically know it's not true. The truth is that if your boss is cheap and entitled, he will be that way even more so when the company is more successful. Don't be surprised if he starts doing things like giving himself a generous salary increase or investing in capital equipment before profits are computed. Also 1% of profits is likely worthless if he cashes out and sells the company (notice he didn't offer you true equity). Don't let that mirage fool you into getting the paid what you are worth in the market.

</comment><comment><USER6> There's an obvious disconnect between describing your current role as 'critical' and the corresponding value the CEO recognizes in your compensation. The market is telling you that you're at least $50K subpar. That's some significant coin. Areas to explore-- A) how important is it to you to stay there? B) How much do they demonstrate they really want you. C) How much do you value your personal time? D) Would 8 weeks paid annual leave be worth a $50K trade-off?

</comment><comment><USER7> You have several options in this situation as far as I can see:

1) Get a raise in equity - this is the option that you boss offered you. Say, that you negotiate a better offer (2%-3%). In this case, if I judge the numbers correctly, that will match your current salary to what other companies on the market are offering (the 30-50K). However, that will ONLY match those offers - your risk in this case so you would have to negotiate a lot more to take into account the risk difference (30-50K fixed vs 30-50K potential).

Even if you do that, you will still have the insane work hours, the feeling that you are not appreciated enough and the risk hanging above your head whether you will hit the target salary.

2) Get a raise with both equity and money - you could negotiate a 1% equity + a decent cash raise. It will be difficult if your boss is so stingy but it is worth the shot. Keep in mind again your risk vs reward. I would at least want a raise of 20K + the 1% equity. That would give you more than what the market is offering you.

However, the point above applies here as well although you will be in a better position this time since you will have some stable cash increase.

3) GTFO from there

I have dealt with bosses like that and, in my opinion, you run a good risk of not being happy there, burnout, loss of motivation, etc. Your boss seems not to value his employees very much and this will most probably never change. I can imagine that you will always need to chaise the market average (just like now) and negotiate to actually be paid an amount which you could easily receive elsewhere (judging by your offers). Granted, my views on this are a bit extreme (I think that an appreciate boss should offer you a raise instead of you having to ask for one) but that is my opinion.

My advice: go and check out some of your other offers - it is very likely that you will find a better paying job with less working hours. If you have worked heavy hours until now, this change will do wonders for you. Once you find a nice place, leave.

Edit: last paragraph

<comment><AUTHOR> 1) I am concerned with accepting this much risk. 2) This could be nice, especially if the company's profits were to skyrocket. However, my family has a few business owners and I know from experience profits can be low during explosive growth years. 3) I am strongly considering it. A few of my colleagues have similar fears.

</comment></comment><comment><USER8> This, unfortunately, is an all too common issue. My perspective is from that of a compensation consultant that has worked with a lot of private companies and start-ups (among others)

First you must address WHY your base pay is so far below market.

Next you must address the concept of the phantom stock and what it's true potential can be over whatever term they have offered (is it just for the upcoming year...is it forever?)

Next you need to understand what potential ownership would even offer. Is there any possibility of an exit/lquidity event in the foreseeable future? If not, cash probably makes more sense, unless the company offers a well-funded cash out potential or buy-back plan.

"Low-balling" base pay is pretty common. Many company find it hard to make significant pay increases to get pay in line for key employees. If you clearly explain your situation they may reconsider and offer something more useful

You may want to consider getting some professional help. I would recommend talking to Mary Russell (firstname.lastname@example.com). I work with the corporate side of these equations. Mary works with the individuals. She may be able to help put together an argument that convinces the right people.

Sadly, sometimes walking away is the best option. I would recommend that you first make sure your other possibilities are exhausted.

</comment><comment><USER9> If you've received starting offers 30k-50k more than you are currently being paid in a comparable/better company, you have two options:

1\. Tell your boss you're getting an offer for 30k more. Ask for that amount or a considerably larger profit share. 30k in direct compensation is worth 60k in uncertain profit share (3.5%). If the profit share were high probability, he would offer you direct compensation instead because he would prefer a superior outcome for himself (higher profit).

2\. Leave and work for the other company. 30k is a lot of money.

<comment><AUTHOR> It's worth noting the offers are from companies in the same city. Anyways, I agree. The prospect of opportunity and ownership has always kept me attached this company, but it seems like they have been using it to bait me to the company.

</comment></comment><comment><USER10> Question to ask: How does it vest? Sometimes phantom stock is used as handcuffs, where you get 20% each year for the next 5 years.

Another question: Is it 1% of profits, or 1% of profit increases. I have seen both.

<comment><AUTHOR> Thanks. I will research the answers to these questions.

</comment></comment><comment><USER11> If you have other offers (real offers, not just bluster from headhunters), you can leverage those in your request for a raise. If he thinks you're going to stay around, he has no reason to offer you a serious raise. Show him that you are able and willing to leave, and he'll have to decide if he wants to make a counter-offer to keep you.

<comment><USER12> Agreed. You are way more likely to get that raise if you show intent to leave by having an offer on hand. You can play the "I want to stay, but I have this great offer..." card and see if he bites.

<comment><USER13> You'll get that raise using this technique. You will then be fired the moment the boss can quietly find a replacement for you. And don't think he won't be looking.

Seriously, don't do this. Get the new position with a better salary and don't look back. Counteroffers never pan out for the employees, only management benefits.

<comment><USER12> I received a job offer and was truly considering leaving my position. I received a good counteroffer that included increased vacation time and addressed some of the reasons why I wanted to leave the position to begin with. I was there for another 2 years before leaving on my own.

If his employer is going to look for another person to fill the position then this is not the right place to work and there was no point in staying. I don't think he loses either way, but that was just my experience.

<comment><USER11> I think it's always best to be sincere. If you aren't really considering leaving, don't pretend you are. But if you have an offer and are considering it, don't be afraid to tell your boss so.</comment></comment></comment></comment></comment>


Who are you? - <AUTHOR> A/S/L/Job title?  just curious.. <comment><USER2> 44 year old male in Chapel Hill NC. My $dayjob title is "Solutions Architect" and my side-project / startup title is Founder/CEO at Fogbeam Labs.

</comment><comment><USER3> 24yo male in West US working as a contractor while attempting to bootstrap several small ventures

</comment><comment><USER4> 24 year old male in Boston. Software engineer at a startup.

</comment><comment><USER5> 26 year old male in Switzerland. Living on Sideprojects

</comment><comment><AUTHOR> anybody else?

</comment><comment><USER6> not really sure.

<comment><USER3> What has you unsure? Wanna talk about it?

<comment><USER6> sure.</comment></comment></comment>


Discuss my idea: social address book network - <AUTHOR>

Presented in a concise problem-solving manner, so I don't waste your valuable time.
Subproblem 1:
People still have to enter all details about their personal contacts (e.g. address, phone numbers, e-mail accounts, birthday, …) manually in their address book, phone, computer, ... This is quite a tedious task. There should be an easier way to do this.
Subproblem 2:
The details about your personal contacts are never up to date. If someones moves, changes their phone number or e-mail, … they have to inform everyone they know through e-mail, SMS, Facebook, ... Some people get neglected, which is human, but sucks. Facebook, Twitter and LinkedIn only partially solve this problem. The information you share with these services is never complete. I, for example, only share my name, e-mail and birthday with my FB, twitter and LinkedIn contacts.
Solution:
A small social network where a user enters his full contact details and shares it with the people he chooses (kinda like Facebook where people can add you as a friend). He can request other people to have their information shared with him (Facebook: add people as a friend). The contacts are stored in the cloud. That way they can easily be synced across several devices (phone, computer, …). Whenever a user moves to a new place, gets a new phone number, … he just has to update his account on the website. All of his contacts (Facebook: friends) will automatically receive the new information, so their address book is always up to date.
Btw, Plaxo is not the way to go. It's really not user-friendly.
tl;dr:
Problem: Enter contact details manually.
Solution: Just add the contact to your network.
Problem: Address book never up to date.
Solution: Enter the new information once, everyone's address books gets updated.
Problem: Address book not always available.
Solution: Synced across multiple devices through the cloud.
Thank you for your time. I really appreciate it! <comment><USER2> I believe this is something that EveryMe is trying to build (<https://everyme.com/>). I think it'd be neat, but I remember people being skeptical about it when I tried describing a similar idea I had awhile back.

<comment><AUTHOR> EveryMe is something different. They add a social feature to your contacts. My idea is about always having the most up to date personal contact information.</comment></comment>


Show HN: Missing Thread – a search engine for fabric - <AUTHOR> https://missingthread.com/?ref=hn <comment><USER2> Congrats on shipping! What stack did you use? Was the data scraped?</comment>


Jocelyn Bell Burnell, quiet revolutionary, wins $3MM prize for pulsars discovery - <AUTHOR> https://arstechnica.com/science/2018/09/jocelyn-bell-burnell-wins-3-million-prize-for-discovering-pulsars/ <comment><USER2> ... and she immediately donates it to a fund a scholarship to help counter "unconscious bias" in physics:

[https://www.bbc.co.uk/news/science- environment-45425872](https://www.bbc.co.uk/news/science-environment-45425872)

<comment><AUTHOR> Yes. What an amazing woman.

</comment></comment><comment><USER3> One of the pulsars she discovered was the basis for Joy Division's Unknown Pleasures' iconic image.</comment>