Why Visi is written in Haskell - <AUTHOR> http://goodstuff.im/why-visi-is-written-in-haskell <comment><USER2> I appreciate his writeup. I have been spending small bits of time trying to get beyond the novice stage with Haskell for a few years, with limited success. Encouragement is useful. (As are the 3 Haskell books I have bought and mostly read.)

I have spent so much time coding in Clojure in the last few years and the (almost) purely function style is addictive.

I signed up for visi.pro a few days ago out of curiosity.

<comment><USER3> I'm still figuring things out. It's like the second language that I learned thoroughly, APL, where i knew what worked but I couldn't explain anything (which made code reviews challenging) I would say make your own cheat sheet, with these terms on them, understand them thoroughly. The fixed GHCi in 7.4 should be useworthy soon if not now. And monads are not burritos.

        data, newtype, type, class, instance, kind, deriving
        where, let in, case, do, <-, return
        pattern matches, lambdas, guards, lsit comprehension

I'm taking the ezyang approach, absorbing the tesselations in the RWH code to prep close reading of typeclassopedia. The Stanford class notes are great, as are these others:

<http://www.scs.stanford.edu/11au-cs240h/labs/resources.html>

<http://acm.wustl.edu/functional/haskell.php>

<http://haskell.org/haskellwiki/Category:Tutorials>

<http://ezyang.com/haskell.html></comment></comment>


Who has the fastest website in F1? - <AUTHOR> https://jakearchibald.com/2019/f1-perf/ <comment><USER2> Wow, that Netflix documentary is reallllly helping grow interest in F1! Enjoyed the long scroll down to see Haas as the winner. I assume the article controls for the physical location of the request (i.e. is Haas fastest because the author is in the US and Haas is the only US-based team and/or hosted site?), but I didn't see it in my perusal.

<comment><USER3> > Wow, that Netflix documentary is reallllly helping grow interest in F1!

Based on language and phrasing used on the blog, the author is British, and F1 has been a staple on mainstream terrestrial channels for decades, although it has seen a decline as F1 has increasingly became boring and predictable, and almost entirely dictated by team tactics and car reliability.

<comment><USER4> I grew up watching Schumi vs Hakkinen, those were the times... It's all over the place now.

<comment><USER5> What does that mean it's all over the place now? I also grew up with Schumacher vs Hakkinen, but last season and seemingly this one are amazing.

<comment><USER6> I'm not sure I'd call the last season "amazing". It had some promise at the start, but it was pretty clear before too long that Hamilton was going to run away with it again.

We'll see what this season holds (since at this time last season it still looked like it would be a good fight to the end), but I'm optimistic. If Bottas can retain his form from Australia (I think the wind really threw him off in Bahrain), and if Vettel can get his head on straight, we could see a legit four-way fight for the title.

<comment><USER5> Last year the midfield was where it was at.

<comment><USER6> Even more excited for the midfield battle this year. The rookies (esp Norris) look great, McLaren "can fight", and adding Kimi and Ricciardo to the midfield is sure to shake things up.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I'd love to hear from those of you who do web work for these types of big companies. Do they just not care about performance or are there other issues at play? I've dabbled with some small sites and would get stressed if the page load was more than a couple of seconds. How can these companies with large budgets find it acceptable that page loads can take tens of seconds while jumping content around the page or locking up threads with massive JS?

<comment><USER8> Most execs have the assets already cached so they dont realize. And if you tell them to clear their cache and revisit the site they will scoff and tell you to "scurry off with your technical nerdistry!" I don't bother trying to rock the boat anymore. It is never appreciated, only scolded as if you are a pedantic whiner.

<comment><USER9> That's because you're bad at marketing. Imagine how differently you'd be received if instead of saying "here's how slow it is if I clear my cache" you said "here's what a new visitor who has never been to our site before experiences".

<comment><USER8> I wish that were the reason. In large companies, the communication channels can be as bad as it is to outside customers. Put your energy into things that reward you back for good faith efforts. Large companies often have power structures entrenched by other factors than efficiency and function.

</comment></comment></comment></comment><comment><USER10> How is it acceptable for any webpage to take 10s+ to render on first load? How did we get here?

<comment><USER11> Well... Ferrari inlined a 1.7MB BASE64 encoded image of their prancing horse logo, only to render it at less than 1/10th of its size.

That shows it's not always the massive JS libs that are the problem. It's also a lack of knowledge and interest from those who build and maintain the site.

<comment><USER12> That sounds less like a lack of knowledge and interest, and more like a lack of time and care. When your boss is yelling at you to upgrade the Ferrari logo because you need to get to work on Dave's Dogfood, and you've got two hours to do it plus nobody remembers the AWS credentials for the account with permission to upload images to S3, you're going to hack some shit together and deploy it then sneak out for a coffee. Your personal levels of interest and knowledge don't come into play when faced with cost-cutting and ignorance at the purse-string level.

<comment><USER13> Also, the programmer is not the one ultimately responsible. It's the QA team.

<comment><USER14> Yup, chuck that responsibility over the wall. Not.

True, the QAs job is to test it delivers as requested, UX if it is usable by the end user, ops that is is not heavy on resources etc. But it is a joint responsibility between all and especially the developer and designer that they deliver quality and not cut corners.

If there is an ultimate responsible it would perhaps be the project/product owner who would decide what is important and how much time and effort they should spend on which parts. But still it is not just pass-the-buck, they are all responsible.

<comment><USER13> The programmer's job is to come up with the best solution in the minimum amount of time. That's an ill-posed/unsolvable problem. Hence they will sometimes come up with a solution that's not perfect, and they will leave it to QA (or the product designer) to see if the solution is acceptable.

</comment></comment></comment></comment></comment></comment><comment><USER15> It makes me kinda sad how the article talks about a five second loading time as something that's "relatively good". I guess between cheaply made, slow sites and huge sites like reddit not giving two fucks about performance the goalposts have shifted dramatically toward the bad.

Personally for simple content-based sites I find anything above ~half a second is already quite bad, assuming a reasonable underlying connection to the server (ping < 30 ms).

<comment><USER16> reddit is slow? I've never experienced that?

<comment><USER17> The new SPA site is slower than [https://old.reddit.com](https://old.reddit.com) by a fair margin.

<comment><USER18> On mobile it's an artificial delay to upsell the app.

<comment><USER19> Their mobile site is even slower than the desktop site if you try to load both on desktop.

</comment></comment></comment></comment></comment><comment><USER20> As a long time F1 fan, I love the premise of this article. Perhaps we should also investigate the correlation between team marketing budgets vs web site speed, as that seems to be a major talking point about their R&D budgets vs track speed these days...

</comment><comment><USER21> When I started out I used to contact companies and try to sell them a site upgrade, generally focusing on something that was better looking. I wonder if now the better opportunity is to demonstrate how much more efficiently you can code their site to increase performance. Reinforcing that with data on how this affects sales and surely you could snatch quite a few contracts.

</comment><comment><USER6> Hey look, Williams is fast again...

<comment><USER22> Haha, good one

</comment></comment><comment><USER23> Bloat. Just bloat. Bring back the motherf... website that is just plain old html.

<comment><USER24> yeah, and if you really need those scripts, stop loading them from 10 different domains...

</comment></comment><comment><USER25> Testing F1 race team websites for speed is a neat idea.

I'm a cofounder of PacketStream.io

We'd love to see you re-run these tests from our network of global residential proxies to see results from different locations around the globe. Our product lets you select a geolocation to exit from as part of the request.

If you're interested in free credits to run some more speed tests send me an email: ronald at packetstream io

</comment><comment><USER26> This is one of the metrics I use when voting

</comment><comment><USER27> Cool article, read the mercedes example. That stuff is super basic, why would they ship such a terrible product?

<comment><USER28> They've been too busy winning the F1 championship every year for the last five years.

<comment><USER9> But apparently not too busy to make a website about it.

<comment><USER29> Mercedes got 500 folks employed just to make the F1 engine[1], I'm sure they can afford to hire someone to get a couple of websites made. That it's not better is probably because, does it need to be?

[1]: [https://www.mercedes-amg-hpp.com/about-us/](https://www.mercedes-amg- hpp.com/about-us/)

</comment></comment></comment></comment><comment><USER30> Would be cool to see what the performance would be with Cloudflare in front of those sites.

<comment><USER31> Aside from Williams who suffer from HTTP/1, the performance bottlenecks are little to do with server architecture or TTFB.

<comment><USER30> They do all kinds of caching, image compression, etc. I think most of those are in paid plans though.

Just mentioning it as it's quite a simple, fast, free change that doesn't cost any developer hours.

</comment></comment></comment><comment><USER32> > I mean, it makes sense right?

Yes.</comment>


The Emerald Programming Language - <AUTHOR> http://www.emeraldprogramminglanguage.org/ <comment><USER2> Most of the comments seem to be about the page design, for a page that was probably created in the 90s. Nevertheless, Emerald the language is pretty fascinating, and way ahead of its time (it was developed in the mid to late 80s). They had strong static typing, including getting co-/contravariance right a decade before Java got it wrong! It was the first object-oriented language that I know of to have a statically-typed structural type system. In fact, the technique that Go uses to implement dynamic dispatch was independently invented 20 years earlier in Emerald. And its objects were mobile, which very few languages even today attempt.

<comment><USER3> > And its objects were mobile, which very few languages even today attempt.

Can you explain what you mean by that?

FYI I vouched for your comment, it was [dead] for some reason. But I found it relevant and interesting.

<comment><USER2> Emerald objects can move from one node to another. So, for example, if an object on machine X wants to perform computation using data on some remote machine Y, the object can move to Y and have (fast, local) access to Y's data, then move back to X when it is done. So the computations themselves are mobile. This required some cleverness in the implementation, because a process's stack might even be split between multiple machines (I might be remembering that wrong).

</comment></comment></comment><comment><USER4> I recently took a compilers course from Hutchinson, and he talked a bit about the design behind object passing in Emerald from a compilers point of view, how once you have garbage collection, it's easy to implement moving objects between nodes of programs. Interesting concept that I was surprised to find wasn't as commonplace!

<comment><USER5> One issue is that at scale, communication costs dwarf almost every other cost. So, sending objects between nodes isn't as critical as you might think it is for distributed systems.

(I was also in Norm's class! It was awesome, and also got me over the Rust hype to some degree)

<comment><USER6> > communication costs dwarf almost every other cost.

That may have been true 10 or 20 years ago when networking was much slower.

<comment><USER7> Everything else was much slower, too.

Oftentimes the biggest cost associated with communication is latency, and the one thing that _hasn 't_ changed over the past few decades is the speed of light.

</comment></comment></comment></comment><comment><USER8> I love those older articles.

Among other things, they also show how we keep reinventing the wheels (with slightly different paint jobs).

Our biggest achievement nowadays seems to be clients asking for data in the shape preferred by the client - with data being in a primitive tree like format with anemic types.

Or a bit more complicated neural nets.

We still haven't moved beyond van neumann architectures.

</comment><comment><USER9> [https://en.wikipedia.org/wiki/Emerald_(programming_language)](https://en.wikipedia.org/wiki/Emerald_\(programming_language\))

</comment><comment><USER10> I don't understand the example program at the top right. What does it do?

<comment><USER4> From my memory, creates an object, gets all the other active nodes in the cluster, moves them to that node and then back to the original node, showcasing the object passing feature of the language.

</comment></comment><comment><USER11> Does anyone know of solid intro/intermediate/advanted compiler design/implementation MOOC's?

<comment><USER3> This seems to be a pretty good overview:

[http://www.emeraldprogramminglanguage.org/TSE-1991-paper.pdf](http://www.emeraldprogramminglanguage.org/TSE-1991-paper.pdf)

But it hasn't seen much use outside of the 1980s in academia. I doubt you'll find much on it.

</comment></comment><comment><USER12> Let's hope nobody ever names a language red-on-green.

<comment><USER13> Ever since I've visited Larry Wall's homepage for the first time([http://www.wall.org/~larry/](http://www.wall.org/~larry/)) I don't think anything can shock me anymore.

<comment><USER14> This is another gem of weird internet design. Note especially the animations on hovering over images, and color choices on some of the linked pages. It somehow sort of works though. [http://insti.physics.sunysb.edu/~siegel/](http://insti.physics.sunysb.edu/~siegel/)

</comment></comment></comment><comment><USER15> I wish more websites looked like this. And weighed 5kb of HTML.

<comment><USER16> Preferably with a bit less green.

<comment><USER17> Well, that is on-brand for the Emerald programming language.

</comment></comment></comment><comment><USER18> Looks like jewellery is popular in language namimng: we've got Ruby, Crystal, now Emerald...

<comment><USER19> Don't forget Perl, who (I think) started this trend.

<comment><USER20> Emerald is older than Perl by several years, though.

<comment><USER6> The first rock-pased programming environment was silicon.

</comment></comment></comment></comment><comment><USER21> If they want to be thematic, they should make the word _Emerald_ in emerald green, which this background is not. Readability should not be sacrificed for some theme or branding dealie.

<comment><USER22> That design has been in place for over 10 years. I don't think modern design is on anyone's radar. At all.

<comment><USER21> Ah. Okay.

</comment></comment></comment><comment><USER23> The color scheme is awful.

<comment><USER24> Agreed, really wonder why they picked that bright emerald green.

<comment><USER25> Well, the programming language is called Emerald...

But really, they didn't pick emerald, they picked 'screamin green'(#55ff55)

Emerald(#50C878) would have been a much better choice(but still a bad one)

<comment><USER24> That was kind of my joke. Which another responder missed.

</comment></comment></comment></comment><comment><USER26> This bike shed needs another color.</comment>


Follow-up on the 16-year-old Mathematician Story - <AUTHOR> http://cosmiclog.msnbc.msn.com/_news/2012/05/28/11920006-16-year-olds-equations-set-off-buzz-over-325-year-old-physics-puzzler

<comment><USER2> This to accompany some previous submissions:

<http://news.ycombinator.com/item?id=4028756>

<http://news.ycombinator.com/item?id=4029599>

<http://news.ycombinator.com/item?id=4029676>

<http://news.ycombinator.com/item?id=4031332>

<http://news.ycombinator.com/item?id=4031625>

<http://news.ycombinator.com/item?id=4034225>

Consensus seems to be that he's found a closed-form solution of a 2D projectile with friction proportional to the square of the velocity:

[http://www.reddit.com/r/worldnews/comments/u7551/teen_solves...](http://www.reddit.com/r/worldnews/comments/u7551/teen_solves_newtons_300yearold_riddle_an/c4sxd91)

[http://math.stackexchange.com/questions/150242/teenager- solv...](http://math.stackexchange.com/questions/150242/teenager-solves- newton-dynamics-problem-where-is-the-paper)

</comment><comment><USER3> The funny part about differential equations is that, for a subset of them, there isn't really a systematic way to solve them. You just have to have a talent for it. The great mathematician Ramanujan would come up with bizarre equations that worked but he didn't really provide any information as to how he got there, they just came to him from his subconscious.

For example:

This 1/pi equation

[http://en.wikipedia.org/wiki/Ramanujan#Mathematical_achievem...](http://en.wikipedia.org/wiki/Ramanujan#Mathematical_achievements)</comment>


Ask HN: Why isn't Heroku multi-AZ? - <AUTHOR>

It seems like every time AWS has a problem in a single AZ all of Heroku has a problem or is down. I would have thought their apps as "slugs" system would be designed to avoid this exact kind of scenario? <comment><USER2> yeah our site went down too</comment>


Cool 1970s Calculators - <AUTHOR> http://www.vintage-technology.info/pages/calculators/general/calccompany.htm

<comment><USER2> Most people forget that calculators did not start with the electronics revolution. Before that there were hand cranked and electric motor powered calculators. Division was a bit slow as it took the form of repeated subtraction and even multiplication required some patience but they were effective tools when you needed greater accuracy than was available from log tables and slide rules.

</comment><comment><USER3> Calculator porn? There's now calculator porn on the internet? Oh man...</comment>


Ask HN: Stack Programming Resources? - <AUTHOR> What are some great stack programming resources? <comment><USER2> Stack as in the Stack and the Heap or Stack as in the 'full stack developer'?

<comment><AUTHOR> Stack as in stack machine:

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

[https://en.wikipedia.org/wiki/Stack- oriented_programming](https://en.wikipedia.org/wiki/Stack- oriented_programming)

<comment><USER3> Were you able to find any other resources for learning it?

<comment><AUTHOR> Nope, looks like its a sparse field.

</comment></comment></comment></comment><comment><USER4> when you say stack programming only forth comes to mind. [https://www.forth.com/starting-forth/](https://www.forth.com/starting-forth/)</comment>


Data science can't be point and click - <AUTHOR> http://simplystatistics.org/2014/10/09/data-science-cant-be-point-and-click/

<comment><USER2> This article wasn't at all what I thought it was about.

To me, it's not automation that's the issue, it's how easy it is to get _wrong_ data out of this type of software. I think at a minimum you have to know the data well enough to ensure the numbers pass a "sniff test"; and hopefully, the user has a good knowledge of the schema they're pulling data from to know the pitfalls.

You don't have to be an expert, but knowing a little SQL to validate things can really help.

</comment><comment><USER3> 10 things statistics taught us about big data (talk by the same author, linked from the post): [http://www.slideshare.net/jtleek/10-things-statistics- taught...](http://www.slideshare.net/jtleek/10-things-statistics-taught-us- about-big-data)

Yeah the heading is buzzfeed-like, but the content is great.

</comment><comment><USER4> Yeah it's much better to have "experts" create our misleading stats.

<comment><USER5> so true

</comment></comment><comment><USER6> The author seems to be mostly talking about misinterpreting results which is definitely a problem. I don't specifically see how "point and click" tools makes this problem worse (or better).

<comment><USER5> yup. bad analysis is bad analysis.

</comment></comment><comment><USER5> There's some finesse to using machine learning, but it's largely a blunt tool. There's no doubt that the research is going into automating predictive analysis.

<comment><USER7> This is quite the generalization</comment></comment>


Vunify: Search multiple streaming video sources for content - <AUTHOR> http://www.vunify.com/

<comment><USER2> I've been using this service lately and it's pretty useful.</comment>


What if emails had disposable aliases? - <AUTHOR> To help keep things anonymous and to regain control.
For example: I could go to GMail and click "Generate new disposable alias" or whatever.
It would give me something like email@example.com which I could use anywhere.
All emails would still go to my main email. I have the option to reply to any emails from my alias or from my real email.
If a disposable alias gets compromised I can delete it. It would be hard to keep track so I assume there would be a search feature where I could type my alias in, and then click delete. Still keep my old email.
This is better than current aliases as email@example.com still exposes your real email, which you can never delete, only create new, meaning people can spam you forever. <comment><USER2> Except for the fact that it ties you to Apple, not Google (in your description, Google could still link all your aliases together), what you describe is very similar to [https://en.wikipedia.org/wiki/Sign_in_with_Apple](https://en.wikipedia.org/wiki/Sign_in_with_Apple).

If you want to prevent that, a way to do that is by having a personal domain, and have all mail sent to whatever email addresses at that domain you want this to happen for forwarded to your personal domain.

<comment><USER3>
      >..a way to do that is by having a personal domain, and have all mail sent to whatever email addresses at that domain you want this to happen for forwarded to your personal domain.

Been there. Done that. It doesn't work.

Having a catch-all email address like this just generates mountains of spam. There are spammers out there who will just carpet bomb domains with likely sounding email addresses in the hope one turns out to exist; email@example.com, email@example.com, firstname.lastname@example.com, email@example.com, firstname.lastname@example.com, email@example.com, firstname.lastname@example.com... etc. etc.

With a catch-all email on your domain, you'll end up getting all this spam -multiple times over!

<comment><USER2> I wrote "email addresses […] you want this to happen for". That list can be as open or restricted as you want it to be.

<comment><USER3> Aye. But then, every time you want to create a new address, you have to go into your email admin/preferences/whatever and add that new email address as another alias. It soon ends up being a lot of work, so the tendency is [or was when I foolishly tried it] to just tick the "catch-all" box –with spam avalanche results.

<comment><USER2> That could be automated, and would make things as easy as what the OP described (could be as easy as "when I enter a new "from" address, add it to the list")

<comment><USER3> Automation would definitely make the process less painful. I'm struggling to see how it could be done though, unless you're running your own mailserver.

I use Google email servers[0] [or 'Gsuite' as it's now called] to handle email for some of my domains and Yandex email for domains [1] [or 'Connect' as it's now called] for others. In order to create a new email account, or add a new alias, it involves logging in and clicking through a few screens of admin section. I'm not saying it couldn't be automated but I don't think it would be easy.

If anyone has done something like this, please share some tips!

[0] [https://gsuite.google.com/](https://gsuite.google.com/) [1] [https://connect.yandex.com/](https://connect.yandex.com/)

</comment></comment></comment></comment></comment></comment><comment><USER4> >For email uses, a textual encoding of a hashcash stamp is added to the header of an email to prove the sender has expended a modest amount of CPU time calculating the stamp prior to sending the email. In other words, as the sender has taken a certain amount of time to generate the stamp and send the email, it is unlikely that they are a spammer. [1]

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

</comment><comment><AUTHOR> You could then take it a step further by ONLY allowing emails to your aliases. Not to your main. So you can basically eliminate spam mail completely.</comment>


Deus Ex at 20: The oral history of a pivotal PC game - <AUTHOR> https://www.rockpapershotgun.com/2020/06/22/deus-ex-at-20-the-oral-history-of-a-pivotal-pc-game/ <comment><USER2> > 'You can make any game you want, you can take as long as you want, and > money's not an issue'.

> 'Just run the studio, we'll pay the bills and keep you isolated from > anything that's happening up here in Dallas'.

I don't think this can happen today and I also believe this is the reason we don't see anything close to the original Deus Ex.

<comment><USER3> We get games in that spirit once every couple of years, actually. Prey (2017) was a fine successor to the Deus Ex tradition, for example.

<comment><USER4> Prey was an excellent game that I really enjoyed. To me it's not quite the same, since it's not as dense with people/NPCs. The only games that I can recall really coming close to Deus Ex are... Deus Ex Human Revolution and Mankind Divided.

</comment></comment></comment><comment><USER5> Deux Ex felt then and still today like a gift where story was everything, right before online/multiplayer completely transformed the industry, and for a good ten years single player was more or less an afterthought. I've never been so engrossed in a storyline as I was when I played Deus Ex. I re-played it a few years ago and I was shocked how satisfying it still was.

I don't work in gaming, and I haven't been an avid gamer in nearly 15 years. From my cursory viewpoint, it feels like every 5-10 years a story-driven game comes along, but mostly it feels like the industry is focused on either massive open world games, or Fortnite-esque quick-hit experiences.

I'd love to hear from people in the industry on how games like Deux Ex that live and die on story are thought of in the industry.

<comment><USER6> The problem with being on the outside of the industry (or not being a gamer) and looking into it is that most of the social media and news presence is around the big name multiplayer and blockbuster titles. That doesn't mean story-focused games don't come out, just that they don't garner attention outside of the gaming sphere.

A short list of ones to look into, just to name a few:

Disco Elysium - 2019 - A _very_ weird RPG where you play an alchoholic amnesiac detective and where your skills are more aspects of your personality than abilities. The writing is so incredibly strange and wonderful that I'm not sure quite how to describe it. Your own personality traits sometimes talk and may try to convince you to be a socialist.

Outer Wilds - 2018 - A game about exploring a small simulated solar system for the purpose of simply learning more about it. There's a lot to this game, but because the entire purpose of the game is exploration and learning about the world _everything_ is a spoiler so I won't say any more.

A Plague Tale: Innocence - 2019 - Stealth-focused fantasy/adventure game set in the 1300s in France.

Undertale - 2015 - Another game that's hard to describe, don't be put off by its look but it absolutely lives and dies by its story. Especially since there are some very important gameplay elements that blend into the story.

Mass Effect 1-3 - 2007-2012 - Even if ME3's ending is widely panned, the rest of the series is absolutely story-focused and I figure I should mention some true AAAs that are known for story.

NieR: Automata - 2017 - philosophical weirdness about androids and machines wrapped up in a pretty good action game.

Bioshock 1-2/Infinite - 2007-2013 - Hard not to mention these in a thread about writing and Deus Ex, seeing as this series also has roots going back to Looking Glass, Thief, and System Shock.

<comment><USER5> Really appreciate you taking the time to type all this out. This is awesome. Thanks.

</comment></comment></comment><comment><USER7> I have to mention Ross' Youtube channel Accursed Farms' review [0] [1] [2] of Deus Ex. I would highly recommended watching them:

"I came for a game review and left with a better understanding of the economy and politics. Ross you blow my mind"

[0] [https://www.youtube.com/watch?v=rxOKEsBx4NU](https://www.youtube.com/watch?v=rxOKEsBx4NU)

[1] [https://www.youtube.com/watch?v=pPwpLDvAnvo](https://www.youtube.com/watch?v=pPwpLDvAnvo)

[2] [https://www.youtube.com/watch?v=vYLEuQrvND0](https://www.youtube.com/watch?v=vYLEuQrvND0)

</comment><comment><USER8> I remember, as a 13 year old with newly acquired PC, spending most of my summer playing this game into the early hours of the morning. The conspiratorial story branches and gameplay were so compelling to me at the time, I didn't feel the need to do anything else. No friends, no outdoor time, just Deus Ex- No regrets either.

</comment><comment><USER9> We need, in fact the industry simply REQUIRES, in-depth oral history journalism and retrospectives like this. The "gaming industry" is 40+ years old now, and there have been absolutely pivotal works in that time. They deserve to be interrogated and documented dispassionately and with rigor.

<comment><USER10> [https://www.filfre.net/](https://www.filfre.net/) is a great example of such an examination - starting with the classic text-adventure games, and gradually getting more and more current.

The table of contents is impressive, the writing is wonderful, and you can download a series of ebook collections containing the individual blog posts.

<comment><USER11> The most recent articles on DOOM are especially relevant here, because some of the names involved in Ion Storm (though not as directly involved in Deus Ex) show up in the various tales about DOOM and the early Shareware era.

(Jimmy Maher also is pretty good about citing sources and the book Masters of DOOM is cited several times as a primary source, which is also why it is recommended several times in sibling comments.)

</comment></comment></comment><comment><USER12> For the 15th anniversary Warren Spector, Sheldon Pacotti and Chris Norden got together to replay the game.[1] Spector and Looking Glass creators also had a replay for System Shock's 25th anniversary last year. [2]

Deus Ex made me read "The Man Who Was Thursday". I was slightly disappointed that the other book "Jacob's Shadow" was made-up for the game.

[1] [https://www.youtube.com/watch?v=oaJ18p4QH2Q](https://www.youtube.com/watch?v=oaJ18p4QH2Q)

[2] [https://www.youtube.com/watch?v=4IzNzVAxk8E](https://www.youtube.com/watch?v=4IzNzVAxk8E)

<comment><USER13> Sheldon wrote most of the dialogue and is a novelist. He also has degrees in math and English from MIT and Harvard, respectively. Rare to have that background for a writer at a game company today. So much prescient dialogue, here's the game talking about the EU/globalists today: [https://www.youtube.com/watch?v=jxWlJ_muK0I](https://www.youtube.com/watch?v=jxWlJ_muK0I)

</comment></comment><comment><USER14> What I think of when I think of Deus Ex was back then it was receiving accolades and a year or two after it came out I decided to give it a try. I saw they had a really inexpensive version out that was called Deus Ex: Special Limited Edition, for probably $10 or so. After playing it a bit I realized it literally was a "limited edition" in that it was just a demo disc. I couldn't believe the publisher would rip people off by issuing such a version under the guise of it being a special edition.

<comment><USER15> "Deus E(x)specially Limited Edition" works nicely as a replacement title...

At least you aren't alone[1]

Despite being an inferior product, Special Limited Edition was sold by major retailers for as much or more than the full game, sometimes on the same shelf. This version was very negatively received, as the similar price and misleading name lead many to unwittingly purchase what turned out to be an "extended demo" or "trialware".

[1] [https://deusex.fandom.com/wiki/Deus_Ex#Game_versions](https://deusex.fandom.com/wiki/Deus_Ex#Game_versions)

</comment></comment><comment><USER16> Like most people today, I attempted to get into the game a few dozen times until I finally was able to get past the first level "my own way" that didn't rely on the really finicky stealth mechanics (specifically using a GEP gun to destroy the robot, then walking through the front door).

The rest of the game is an absolute marvel of design. Even for a modern game the level design and depth of the story is remarkable. The game doesn't even look half bad if you install modern texture packs. It's a shame that the themes of the original were dumbed down significantly in the sequel.

I started another play through recently exactly for this reason:

> Smith: Deus Ex and Dishonored both involve a plague, and they both involve > powerful, corrupt elites turning the disenfranchised against each other. > When some states discouraged the wearing of masks or sheltering in place, > somebody inevitably linked me the opening cinematic. 'Why contain it? Let > the bodies pile up in the streets'.

<comment><USER17> > really finicky

Is it finicky? The stealth system is very basic and based on line-of-sight and sound (for human enemies). As long as you aren't running, it's actually incredibly trivial to stealth through levels without being seen. Even the bots aren't really a problem, since they have static patrol paths and limited line of sight.

<comment><USER16> Its really that I'm just more used to modern stealth mechanics that handhold the player more. It's not my style of play in general.

<comment><USER12> There's a generation gap here. The information density in current game UIs is high with status indicators, aiming aids, location markers, objective lists. Players expect the game to be a DM giving them lots hints on how to proceed through the game. At the time Deus Ex was made one of the talking points was realism. Players wanted to experience the game as a simulation. The hand- holding that's expected today was frowned upon as breaking the immersion. The article briefly touches on this debate between realism vs playability with regards to level design.

</comment></comment></comment></comment><comment><USER18> The opening scene feels prophetic in the time of coronavirus:

[https://youtu.be/zStn70Ot4r0](https://youtu.be/zStn70Ot4r0)

<comment><USER19> To quote from the article:

>Smith: Every time the US shifts a little towards fascism or centralised control, somebody will send me a link to something from Deus Ex. It's not that we were prescient – the sad part is that it's on repeat through history.

</comment></comment><comment><USER20> Does anyone here notice the stylistic similarity to The Matrix? Both featured a protagonist with a trench coat and black shades. I wonder if The Matrix inspired the design team of Deus Ex in some ways.

<comment><USER21> The Matrix came ~9 months before Deus Ex, so their productions definitely overlapped but they'd have had time to assimilate some stuff if they wanted to.

That said, it's more that they're both drawing on similar cyberpunk traditions. There's a clear line between the aesthetic of Neuromancer and Deus Ex / The Matrix both.

<comment><USER22> There's a Matrix easter egg in Deus Ex (the cheat code 'thereisnospoon') so they were definitely aware of the similarities. They're really only superficially similar in aesthetics and broad themes, though.

</comment></comment></comment><comment><USER23> I really hope they will make a remake of the originals. I loved Deus Ex: Human Revolution when it was out, but it's a challenges to enjoy older games most of the time.

<comment><USER24> What's the oldest viable game to you, now?

I just played the first Mass Effect for the first time, and was really impressed by how well it had aged for a game from 2007.

I replayed the first Bioshock (also from 2007) not long ago, too, and it, too, holds up IMO.

Could we get further back than 2007?

<comment><USER25> IMHO Perfect Dark is one of the oldest shooters that holds up (play the version on the Xbox 360, maybe also the XBone, not sure). Yeah yeah it's a console shooter, but it's outstanding and hi-res + dual-stick controls make it feel modern-enough. Do note that it has _two_ two-player campaign modes in addition to regular single player: co-op, and... _versus_. Yes, versus. Also be aware the difficulty modes change the objectives significantly, and sometimes also your _starting position_ , so if it seems weirdly short bump up the difficulty.

I think some of the original frantic shooters hold up alright, for what they are. Quake, stuff like that. They're kinda niche genre now, though. Not sure about the early Dooms, hard to judge those as easily. _I_ like them, still, but...

The Half Life remake in the HL2 engine (Black Mesa) is very true to the _spirit_ of the original and smoothes its rough edges off very elegantly, but the original's probably still fairly playable, too.

First mass effect, oof. It suffers from a lot of "which of the three buildings they made will this quest take place in?". Also having enemies walk right past your AI teammates, who are busy doing nothing, to shoot you in the back over. And over. And over. Gets really frustrating after a while. Two is _so_ much better. You're in for a treat.

[EDIT] on reflection the one mechanic that probably feels off to a modern player in Perfect Dark, and indeed in many older shooters, is having thrown weapons treated like ordinary weapons, rather than a secondary attack with a separate set of items to cycle through. That is, you have to switch away from your gun to arm a thrown weapon, then throw it, then switch back. That's a little clunky. IIRC throwing-is-separate model wasn't popularized until the first Modern Warfare (I've played the first Call of Duty recently and I don't _think_ it was in that, yet—man, talk about one that doesn't seem nearly as good on re-visiting)

<comment><USER11> > (play the version on the Xbox 360, maybe also the XBone, not sure)

Perfect Dark on the Xbox One is a lovely bit of emulator stacking: it's running in the Xbox 360 VM on the Xbox One, and the 360 game is itself running a custom Microsoft N64 emulator. It works much better than you think it should given the layers upon layers of indirection; many kudos to Microsoft's game VM and emulator teams for some of the hoops they've gone through over the years.

A good way to pick up Perfect Dark for the Xbox One is the Rare Replay pack. Sometimes you can find it for surprisingly cheap given the wealth that exists inside it. In addition to Perfect Dark and its 360 launch title prequel Perfect Dark Zero, it's about as complete a set of Rare's extensive back catalog as Microsoft's lawyers could muster the licenses for (so none of the games with Nintendo owned characters, though it sounds like they almost succeeded in convincing Nintendo, and also not Goldeneye which was bogged down with licensing issues between both Nintendo and EON Productions, the Bond license owners, and apparently truly scuttled at the very last minute based on intended behind the scenes features that wound up on YouTube anyway), plus some fun Behind-the-Scenes featurettes.

</comment></comment></comment></comment><comment><USER26> > _"We were very influenced by three games: Thief, System Shock 2 and Half- > Life."_

Personally I got a lot more enjoyment from those games than I did Deus Ex. Particularly SS2 which still remains one of the most atmospheric games I've ever played and one of the few ones to make be jump and literally scared at times too.

Not taking anything away from Deus Ex, but at the time it didn't feel as genre defining as the others that inspired it.

<comment><USER15> I've been meaning to play SS2. Do you think I'd be confused to jump in there or should I play the first?

<comment><USER27> You won't lose much by not playing the first one. It's more tedious than the second installment, so I would try them in reverse order just for this reason.

</comment></comment></comment><comment><USER28> Still one of the best games ever released.

The gameplay is clunky now in comparison to modern gaming, but the story is still one of the most compelling in the field.

Agree with the above -- would love to see it remade using modern engine.

</comment><comment><USER29> Phenomenal loading times.

Large empty levels like liberty island.

Brilliant puzzles like picking the lock on an office (destroying the lock pick) so you can steal a lock pick from the office.

My favourite was the well-timed cache misses that would immediately freeze the game, e.g. the first time you fire a shot in combat, then restore interactivity after you die in fast-forward.

But it's all worth it because you're a badass cyborg with a flashlight, i mean, "augmented vision".</comment>


"What's your current salary?" is a trap question–Here's how to answer it - <AUTHOR> https://fearlesssalarynegotiation.com/the-dreaded-salary-question/ <comment><USER2> A close friend recently related to me that during an interview process the HR contact mentioned that they had just revoked an offer from someone who 'asked for too much' during negotiations.

Director level position (non-profit, Washington DC). Candidate asked for ~100k, and they were willing to give it to them - until they got a detailed salary history and found out their current salary was ~80k... so they would've only offered ~85k.

So they were absolutely fine with paying 100k for the job (very reasonable for the role and size of the org), until they learned it would be a decent pay increase for the new hire. Insane.

It will not surprise anyone to learn this org has a bad reputation for internal culture and holding on to talent.

<comment><USER3> Them: "We'd like to see proof of your salary history."

Me: "Sorry- we arrived at an agreeable number earlier. I don't see how a salary history would change that."

Them: (stammers...)

Either way it's a win- you either get it, or they toss you and you dodged a FUCKING BULLET.

<comment><USER4> They won't stammer. They will without the slightest bit of shame attempt to cajole/badger/guilt/etc you into revealing the information. Then they may also engage in a background check / credit report goose chase to get or infer the information.

You say "you dodged a FUCKING BULLET", and I agree in principle, but in practice, a lot of employers do this, and a lot of people submit themselves to this kind of crap which makes you stick out more (like a sore thumb) when you don't.

<comment><USER5> They say former employers can only verify dates of employment, where else will salary information show up? I wasn't aware that this information shows up in background checks.

I wonder if you could just counter the request by saying you signed a NDA that forbid sharing that information.

<comment><USER4> Well, if you work for a state college/uni/other entity like I do, then the salary information is public. Former employers can say or do what they like, they rarely do anything other than verify dates of employment, confirm a few facts, out of a perceived fear of a civil suit, (I guess). Credit reporting agencies OTOH, and other similar companies use all sorts of information to build profiles about you / your habits / other demographic data, and I'd be surprised if there weren't some of these companies who would sell either predicted (and perhaps erroneous) salary range for you, or a factual (if partial) salary history mined from various sources.

>I wonder if you could just counter the request by saying you signed a NDA that forbid sharing that information.

Seems reasonable, or some version of "No thanks, I'd rather not."

</comment></comment></comment></comment></comment><comment><USER6> I've used this technique to great effect for almost 20 years. The problem I have now is that my salary is so high that, without presenting a desired salary, there aren't any easy filter questions left to determine whether a potential employer is remotely interested in acquired somebody of my "caliber".

It is reasonable to expect a company to stretch their budget by 20%. However, it generally isn't reasonable to ask for double their budget. The faster we can get to no, the faster we can talk to other folks.

</comment><comment><USER7> As I get older I (hope) I am slowly starting to understand how the world works, and that is gradually changing some of my interactions from being nice and considerate and open and honest, to being careful and calculated. Although I still have a long way to go. I guess oftentimes I am open and nice at first meeting people still and then realize I have to be more calculating. Which by that time I probably have already given myself a disadvantage. I am almost 40 now so hopefully I will finally get this ?character flaw? ironed out pretty soon.

When it comes to money, people look out for themselves. And unless you are independently wealthy and maxed out your penchant for philanthropy, then you probably have to do so also.

BTW this is a terrific article.

<comment><AUTHOR> My whole philosophy is to be nice/considerate AND careful/calculated.

In a nutshell, I see salary negotiation and interviewing as a collaboration, not a competition. Working to get a good result for everyone involved is the best way to approach it.

Glad to hear you're looking out for yourself - you're always going to be your own best advocate!

Thanks for the kind words!

</comment></comment><comment><USER8> I've never had much luck with this approach. It sucks to get through the interview process and find out that you're asking for $XX,000 more than they are willing to pay for the position. I now prefer to state up-front how much I want, rather than wasting time getting an offer for ten+ thousand less than I want and only have HR willing to come up a few grand.

I'm sure many people have applied this technique to great success, but I have strong doubts that it's universal. Maybe it's because I never bring much to the table, or that I live in an area where "market" salaries are not affordable for companies.

<comment><USER9> Very much agree. Just get the salary discussion done with up front. Saves both parties time IMO.

</comment></comment><comment><USER10> I have a bit of a different theory on this, based on my experience as a recruiter for almost 20 years. I should clarify that I don't even ask for current salary anymore in dialogue with my candidates.

If you know your current market value, there is no harm in providing your current salary.

As a real-world example (and a bit of an edge case used to illustrate the point clearly), if you know the typical salary for an entry-level developer in Philadelphia is 70K a year, and $NEWGRAD is currently making 35K while working during school, saying "I'm currently making 35K and looking for 70K" is entirely appropriate, as both sides are aware that is the going rate for entry-level developers in Philly. You can't offer NEWGRAD 38K and expect him/her to accept the job.

This applies to anyone, whether you are overpaid or underpaid in your market. If you have strong data on what the market will bear for your services, whether you make half of that figure or twice that figure currently has little bearing on your actual market value.

The challenge is that most people do not have that data, and it's tough to figure out for many. As much as people hate recruiters, an experienced and specialized recruiter should be pretty good at telling you what your market value is - and most should be willing to provide this info to you without any strings attached.

Based on my own recruiting practice and my tendency to allow (encourage) most of my candidates and clients to negotiate directly much more than most other recruiters, I tend to find that candidates who are the most dodgy about their expectations or history are more likely to face a more difficult negotiation from the client.

People who are honest and transparent are perhaps viewed differently by employers than those who fight the question.

I think employers appreciate a healthy negotiation as long as it is done in good faith, but I think the value of being transparent in the negotiation may outweigh any benefits of secrecy, based anecdotally of course.

<comment><USER11> I agree with all of this.

I have recruiters from 20 different local companies in my contact list. About 6 months before actively looking for a job, I reach out to them to get market information - both on skill set and salary range for my experience. I also unashamedly talk to former coworkers about salaries.

When it is time to start actively looking, I reach out to the same set of recruiters. They only send me jobs within the salary range I want and I know where my application is in the process. There are no black holes.

Usually within two to three weeks, I'm actively engaged (phone screen/in person interview/ waiting for an offer) with 15 - 20 companies.

Once I get 3-4 offers on the table. I'm tired of interviewing, stop the process and accept a job with the right combination of technology/money/commuting distance.

At most, I'm leaving $5000 on the table. Eventually, within two or three years, I will either be within market value range or change jobs.

</comment></comment><comment><USER12> >They ask you to guess what that budget is, and you decline to guess because you read this article[.] So you move on to the next stage of the interview and do well.

In my experience, when I decline to state my current or desired salary, that's the end of the interview process.

</comment><comment><USER13> I have an entry level position at my firm, and I was applying to other internal positions that more closely match my skill set, but which would cause me to have a huge increase in pay. One interviewer/screener asked me how much I was currently making, and I said I'd prefer not to disclose that information. Their response was, "That's ok, I can just look you up in our system. Ah, you make $x." It was so infuriating.

<comment><USER14> This behavior is telling you (maybe not intentionally or consciously), that you need to look outside the company for a large pay bump. Unfortunately, many companies do this.

And honestly, there is a middle ground that a company needs to walk, otherwise on the far side, they can be a ship full of very well paid employees on a trip where a few thin years could sink it.

But to be clear, it's absolutely not in your personal interest to receive low pay for the benefit of the firm - especially in an entry level position.

<comment><USER13> Yeah, I have been focusing 100% on external positions since then.

</comment></comment></comment><comment><USER15> I have found that almost any decently sized company uses some sort of online form as part of the application/interview process.

These forms usually have a current or desired salary field and often has fairly strong validations on it (e.g., must be filled in, must be a number between x and y, no non-numeric characters allowed).

So you either have to fill it in or not submit the application form at all (the rest of which is usually perfectly reasonable), which is not going to impress anyone.

I suppose you could also hack their javascript and take out their validations and hope they don't have server side validations as well. That _should_ impress them :).

 _edit for sense /grammar_

<comment><USER16> I despise these forms and their presence almost always results in my deciding not to submit an application. The best companies I've worked for have either (a) not had these employment history forms at all or (b) asked for them to be filled out in minimal fashion after the offer had already been extended and accepted.

<comment><USER15> I have stopped applying to companies that require these forms for an initial application submission, but recently I was asked to fill one out after a few email exchanges, a phone interview, and an online coding test.

We were about 2 weeks into the process at this point, and I was interested in the position and they seemed interested in me.

Next step was a technical phone interview, but before doing that they just needed me to fill out a formal application...

In this case, it doesn't matter much as I did not do well on the technical interview (got hit with a tricky algorithm question that I didn't know the trick for).

But it also probably didn't help my case much that I put down a fairly high number in their 'desired salary' field on the form -- basically I put down the top number I thought I could expect them to pay for this position.

<comment><USER17> Mind posting the algo question? I enjoy solving those :)

<comment><USER15> It was a variation on Max Subarray, but instead of finding a contiguous max subarray you could (but didn't have to) skip every other number (but cannot skip 2 consecutive numbers).

So for [1, -1, 2, -1, 3, -1] you could take [1, 2, 3], but for [-1, -1, -5, -20, -10, -1, -3] you would end up with [-1, -5, -10, -1]. Input values and ranges are large enough that brute forcing won't work.

<comment><USER18> Well, the answer for an array of all negative numbers is to choose no elements, or if you must choose one, to choose the maximum single element. But presumably you solve it with the normal algorithm but with one level of look- behind. Something like,

      function maxsum(arr)
        local max2 = function(a, b) if a > b then return a else return b end end
        local max3 =
          function(a, b, c)
            if a > b and a > c then return a
            elseif b > c then return b
            else return c end end
        local best = 0
        local best_here = 0
        local i = 2
        while i <= table.maxn(arr) do
          best_here = max3(0, best_here + arr[i], best_here + arr[i-1])
          best = max2(best, best_here)
          if arr[i] > arr[i-1] then i = i + 2 else i = i + 1 end
        end
        return best
      end

      print(maxsum{1, -1, 2, -2, 3, -3, -4, 4, -5})

Assuming this algorithm is correct (it worked for my couple of test cases), the main trickiness is that you have to skip two elements if you choose the current one, to make sure that you don't double-choose.

<comment><USER15> My understanding of the challenge (which could have been wrong...) was that you had to use at least one half of the array (every other number).

So if the array was [-1, -2, -3, -4, -5, -6], the 'max sum' would be -9 ([-1, -3, -5]).

I can't think of a non-brute force solution for an extended sequence of negative numbers...

<comment><USER18> If by half the array you mean your solution must include either the first or second, and either the last or second-to-last, then the problem seems a lot simpler. This ought to work:

      function maxsum(arr)
        local max = function(a, b) if a > b then return a else return b end end
        local best = {arr[1], arr[2]}
        for i = 3, table.maxn(arr) do
          best[i] = max(arr[i] + best[i-1], arr[i] + best[i-2])
        end
        return max(best[table.maxn(best)], best[table.maxn(best)-1])
      end

      print(maxsum{-1, -2, -3, -4, -5, -6})

This prints -9, though it's not set up to track which numbers it used. (It wouldn't be hard to modify it to make it do so.) Note that Lua uses one- indexing.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> Philadelphia is trying to ban this and is getting major push back from the likes of Comcast. HR departments keeping procedures like this in place suppresses the wages of minorities, women, and people who may have graduated from lower tier schools. Basically anyone who may have had to accept a job at below average wages is screwed going forward.

Last time out I just flatly refused to provide the information, some recruiters refused to move forward and it is what it is. This is just another reason why it's better to be interviewing while already gainfully employed. Gives you some leverage when dealing with BS like this

</comment><comment><USER19> Too many words and moving pictures just to get to:

"I'm not comfortable sharing my current salary. I would prefer to focus on the value I can add to this company rather than what I'm paid at my current job. I don't have a specific number in mind for a desired salary, and you know better than I do what value my skillset and experience could bring to your company. I want this move to be a big step forward for me in terms of both responsibility and compensation."

</comment><comment><USER20> I've seen a lot of people including recruiters talk about how this is a terrible idea. But then I see this and folks like patio11 talking about similar negotiating strategies. How do I know which one is right?

<comment><AUTHOR> How you decide what's right for you is a personal decision. But when it comes to salary negotiation, you can be sure the company is very much working to do what's right for itself and its shareholders, and I think you should similarly be just as focused on doing what's right for you.

Negotiating your salary is better for you. Disclosing your current salary or desired salary when asked is worse for you and better for the company.

I wrote this article specifically to help folks understand the interview and negotiation processes better so they could make a more informed decision about what's right for them.

Does this help? I'm happy to clarify - just let me know!

<comment><USER21> _Negotiating your salary is better for you._

1000000% agree with this. My first job, right out of college, I got an offer which was fine, and I had no problem with the amount. But, I asked for more, because why not? And got 15% more just from asking.

Always. Negotiate.

<comment><AUTHOR> A pretty good summary of my "Why you should always negotiate" speech.

"Because why not?"

I love it.

</comment></comment></comment></comment><comment><USER9> Apparently in MA, USA, where I live, it is illegal to ask this[1]. It is brought up on Business Radio often (sirius xm 111). Although strangely, the host always thinks the law applies just to woman, which I'd find very odd. However, I am not sure people abide by it.

1\. [https://qz.com/749476/massachusetts-salary-history-job- inter...](https://qz.com/749476/massachusetts-salary-history-job-interviews/)

<comment><USER22> The bill doesn't go into effect until next year - July 1, 2018.

<comment><USER9> Well that'll do it.

</comment></comment></comment><comment><USER23> The worst part about this question is they try to get you to answer it before you've even really figured out what the role is.

</comment><comment><USER24> When asked this, I've countered with "I was hoping to make $X" (where X is much more than I make now). Then I follow up, but "I'd like to learn more about the company before I make any decisions on salary."

This establishes that you are a high-value candidate, and you are flexible and not an egomaniac that only cares about money.

</comment><comment><USER25> I've definitely run into a few cases where interviewers definitely would not proceed with the conversation without a number. Usually they want "what you made" but really they want "what you'll take" so I've had great success just switching the scale from "Salary" to "Total Compensation." Usually a recruiter or HR person who won't move on without a number isn't smart enough to think about the difference and just proceeds as if the number you gave is a salary number. Doing this twice has moved my salary to the very top of the pay scale for my position and location.

</comment><comment><USER26> I had a horrible phone interview with a company where the recruiter refused to continue until I told them how much I made at my current job. I suspect that they were more interested in a salary survey than actually hiring someone.

<comment><USER27> It depends on how desperate I was, but I would wrap up the conversation in a situation like that. If you can't be amicable before hiring me, you definitely won't be after.

</comment></comment><comment><USER28> Very good article, but I'm not sure if their advice for the answer to the salary question will always work:

>I'm not comfortable sharing my current salary. I would prefer to focus on the value I can add to this company rather than what I'm paid at my current job. I don't have a specific number in mind for a desired salary, ...

Now what if they will offer you some salary, and you find it too low? You have just said that you didn't have a specific number in mind. To me it looks like that sentence threw away your opportunity to disagree with the offer and ask for a higher bid?

<comment><USER29> You also said that you want this to be a big step forward in both responsibility and compensation. This tells them you're expecting a market- accurate offer (so it will probably be good enough for you) and gives you a way out if they don't.

</comment></comment><comment><USER30> To the author:

> You've told them your uncomfortable

your -> you're

<comment><AUTHOR> Fixed, thank you! (Typos that evade spellcheck are tricky!)

</comment></comment><comment><USER31> I do this. It's a good strategy in most circumstances, but you do need to be careful. On one occasion it killed the whole process because the company refused to go further with the interview on the basis they assumed they wouldn't be able to afford me. I think they just wanted cheap developers. If you don't have other places to apply to or you're applying somewhere you _really_ want to join, it does come with some risk.

<comment><USER32> He does answer this question:

> _If they discontinue the interview process because you won't share two of > the three unique pieces of information you have, then they're extremely > motivated to get a bargain on your skillset and experience, and they're not > focused on finding the right candidate for the role itself._

> _That's bad news for you even if you get the job. Do you really want to work > somewhere that is so myopic that they ignore perfectly qualified candidates > simply because the candidate won't make the negotiation easier?_

</comment></comment><comment><USER33> If you live in Massachusetts it's now illegal for a perspective employer to ask this question as part of your interviewing process:

[http://www.mass.gov/governor/press-office/press- releases/fy2...](http://www.mass.gov/governor/press-office/press- releases/fy2017/governor-baker-signs-bipartisan-pay-equity-legislation.html)

<comment><USER34> > Pay Equity, which will go into effect on July 1, 2018 for Commonwealth > employers and employees.

A year and 3 months to go before it is illegal.

</comment></comment><comment><USER35> I've always hated this question and the best I've managed is to pick what I thought was a biggish number and tell them that.

<comment><AUTHOR> Picking a biggish number is better than just telling them the actual number (in terms of "What's your desired salary?"). Better to give them a big number, all things considered.

But giving NO number is MUCH MUCH better.

</comment></comment><comment><USER36> Related discussion on a previous, similar thread: [https://news.ycombinator.com/item?id=11832613](https://news.ycombinator.com/item?id=11832613)

</comment><comment><USER37> I don't really see the point of not telling them, if the company has no idea about your previous salary, they aren't going to be tricked into offering you some huge number, they are going to come in at the average wage in your location for that position.

What you should do instead is identify the number you want to get paid before hand. ( Which should be higher than the average ) And then honestly tell them , I'm currently paid X, but am looking for a job that pays Y.

If they say they can't do that, its too big of jump or whatever, just say that you understand and thanks and move on to the next company

<comment><USER16> If you're going to do this, you should leave out X. The larger the differential between X and Y, the higher the unconscious (or perhaps even conscious) bias will be against you. "This guy wants a 40% raise to come work for us" vs. "This guy wants $Y to come work for us."

</comment></comment><comment><USER38> i never used a strategy in negotiating a salary before and i got burned during my last job interview because even though i landed the job with a salary higher than what i was earning in the previous job, i found out i could've gotten more out of them. exactly the scenario depicted in this article. i am thinking of ways to renegotiate with them now and would love to hear about any such strategies.

</comment><comment><USER39> "That's proprietary."

</comment><comment><USER40> it's another problem but related: for me it's much more difficult to find an employer i'd even really like to work for regardless salary. _that's_ hard.

</comment><comment><USER41> Very, very long article. TL;DR: "I don't want to tell you, make me an offer instead" is the suggested answer.

</comment><comment><USER42> It's been a decade since I have been an actve job seeker, so things may be different now. But my response to that question was always "I'm not going to say what I'm currently making but I'll be happy to say what the minimum amount I'll consider is." If any of them balked at the number I would get up and walk. Some backed down immediately, and we continued the conversation, and others did not. Either outcome was fine with me.

</comment><comment><USER43> In my country i am not legally allowed to share my current salary.

When I am negotiating I always say what is my absolute minimum and specifically make clear that it is just s bottom line and i would prefer more.

<comment><USER44> Why on earth would you do that? There's a great chance you just shaved a giant pile of money off of what they would have otherwise offered.

<comment><USER43> While you are right i know the current market in my area pretty well. Would it be in a different country i would pick another strategy.</comment></comment></comment>


Why You Should Redesign Your Office For Introverts - <AUTHOR> http://www.fastcompany.com/3030740/the-future-of-work/why-you-should-redesign-your-office-for-introverts <comment><USER2> Best environment I ever worked in was at Apple, where we had "pods", 8-10 closed single-occupant offices around a central area that had couches and a large whiteboard.

Want to concentrate, or shut out the annoying gabfest? Close your door. Maybe put a sign up if you _really_ don't want to be disturbed (I only did this once).

Want to participate in the design session happening right outside? Just open your door and scoot your chair over. Grab a whiteboard pen and jump in if you want to contribute.

Most open space is a short-sighted cost savings measure that comes out of the wrong budget, designed by people who are not engineers. The space designers I've talked to seemed to be more interested in "the language of the space" and color coordination and carpet wear, and always spoke condescendingly about noise and distraction concerns. Maybe the "pattern language" stuff is important, but I'd be happier if architects and the people who pay them really understood how engineers work.

</comment><comment><USER3> I find I work best drifting into and out of social spaces as the pace of my attention changes.

Right now, I'm winding down at the end of the day. 25' away, there are a dozen interns in a conference room, a handful of which are talking continuously. I'm in a room with a wall of windows, sitting on a big beanbag chair. The A/C drowns out the noise outside, and I can get some serious work done - or catch up on HN, as the case may be. Either way, I can actually understand what I'm reading.

When I'm in need of a break, I'll often wander to the kitchen for a glass of water or through the bullpen. I might join in a conversation here or there, and often someone will call me over to ask my opinion of something. This means that time that I would have otherwise spent looking out the window or holding my head in my hands is now spent being diverted on something that likely adds value to the company.

So, yes - I agree with the author's main premise. It's important for an office for engineers, developers and creatives to have quiet, semi-private spaces mixed in with areas where you incidentally come in contact with other people.

</comment><comment><USER4> Hmm, "In June, Cain is teaming up with furniture manufacturer Steelcase to introduce a series of workspace solutions tailored to introverts." can I call submarine?

Snark aside I agree it is important to support different work styles and needs, but I am not sure I can appreciate why introverts would be more important than any other group.

<comment><AUTHOR> Though the article didn't state so explicitly, I assumed the author is thinking that extroverts can still find ways to collaborate with groups of people (e.g. conference rooms, informal meeting areas, maybe even a cluster of open desks), while introverts can now get someplace isolated to work. And that these suggestions mean a workplace should offer both options, submarines (haha) and open desks for different types of employees.

I know, I'm probably assuming a lot. Hopefully the author thought this and isn't suggesting an entire workplace is converted solely for one type of employee over another.

<comment><USER5> I think the idea is by creating quieter places it offers an area for people to recharge, focus and get something done. Open office spaces tend to not have these, so it's nice to see this being encouraged. I think using introverts as the mean to make this point wasn't entirely right, but introverted people by nature do need recharging time.</comment></comment></comment>


Grid Forms: Data entry can be beautiful (js library) - <AUTHOR> http://kumailht.com/gridforms/

<comment><USER2> It looks very good on my phone.</comment>


Don't let anyone overpay you - <AUTHOR> https://m.signalvnoise.com/bigger-prices-bigger-problems-72820249456f#.t13l8i2fg <comment><USER2> Would it be better to treat these enterprises customers' feature requests as Kickstarter stretch goals instead of a separate sales pipeline? If BigCo really wants a feature, and it is a feature all customers could use, maybe let them pay you to implement it and then roll out the feature to everyone.

Some enterprises would still want special attention; you can ignore them. You still have the problem of unstable funding, but that is also true for Kickstarter or even VC type funding.

<comment><USER3> That would leave out all the BigCo specific features that benefits noone else. And often, these features are critical for BigCo to continue using the vendor.

</comment></comment><comment><USER4> A lot of companies get large by serving whales -- Oracle, IBM, Microsoft. Also it is well known that there is an 80:20 rule in customers, 20% of customers are responsible for 80% of your revenue. He seems to be saying do not serve these 20% of customers. I think you need to achieve balance. No one should say no to money, especially when it is a lot and you can align it with your long- term interests.

You should say no if the projects are not aligned with your long-term interests though, because you are then a consulting company.

<comment><USER5> > it is well known that there is an 80:20

It is well heard, it is not well known - this would require more than vague hand-wavy logics.

There is also an 80:20 rule wrt employee value, (that always seems to benefit the sayers of such a rule).

</comment></comment><comment><USER6> one-off projects for 'special' customers can turn into support nightmares and drain your personnel resources. So besides taking some big $ for NRE, it would be smart to require, for example, a 5 year support contract with a hefty price tag.

</comment><comment><USER7> And on basecamp homepage i see references such as NASA. They pay the same low price?</comment>


Gartner Says 2016 Marked Fifth Consecutive Year of Worldwide PC Shipment Decline - <AUTHOR> http://www.gartner.com/newsroom/id/3568420 <comment><USER2> It's not a surprise as a PC usability-span gets longer the rate of replacement gets lower.

<comment><USER3> That is possibly the big one I would say. I can only refer to data like in OP, but I feel (yes, baseless statement) like the PC industry has only gotten bigger in recent years. When I've seen results like this before I've tried to find reports on PC components instead (to no avail).

Could it be that casual users can do all their tasks on their phones/tablets now compared to 10 years ago, while the enthusiasts build their PC:s from scratch, thus hollowing out the OEM PC market, leaving only laptops?

<comment><USER4> _" Could it be that casual users can do their all their tasks on their phones/tablets now compared to 10 years ago, while the enthusiasts build their PC:s from scratch, thus hollowing out the OEM PC market, leaving only laptops?"_

I too think that's exactly the point. Average user doesn't need desktop PC anymore and buys smartphones, tablets, consoles instead, while power users and gamers usually build their rig from srcatch. Also, there's no need to upgrade PC every two years as technologies (maybe except GPUs) doesn't evolve as fast as it was used to. TL;DR it's not PC market that's shrinking, but a _branded_ PC market.

<comment><USER5> The smartphone factor does suggest a shrinkimg PC market.

Further, now even smartphones are more powerful than average users need, so e.g. the iPhone 5s is still selling well.

</comment></comment></comment></comment><comment><USER6> For the whole year Apple declined faster than the market. 2.4% year-on-year growth isn't impressive considering that they finally refreshed their product line in that quarter.

<comment><USER7> If only they did refresh their product line. iMacs, Mac pros and Mac Minis were sadly neglected.

<comment><USER8> True, but i think we're going to just have to get used to longer refresh cycles for the Mac. To be fair to Apple if users make their machines last a few years longer, there's less drive to refresh to product as frequently. That doesn't mean Apple is abandoning the Mac, it just means they're adjusting to the market.

</comment></comment></comment><comment><USER9> Looks to me like the story is that enterprise sales are up (HP, Dell) while consumer sales are down (Acer, Asus, Others). Companies that are strong in both markets are flat (Apple, Lenovo).

</comment><comment><USER10> I stopped reading after "Gartner says...". Their predictions have a terrible track record and I am genuinely amazed by how much attention they are still getting.

[http://www.zdnet.com/article/why-does-the-it-industry- contin...](http://www.zdnet.com/article/why-does-the-it-industry-continue-to- listen-to-gartner/#)! [https://www.engadget.com/2015/01/05/in-2011-gartner- made-thi...](https://www.engadget.com/2015/01/05/in-2011-gartner-made-this- hilarious-prediction-about-the-iphone/)

<comment><USER3> While I agree about their preductions, OP was a 2016 sales estimate, not a prediction.

</comment></comment><comment><USER8> Up to 2014 Gartner reported on the top 5 companies by global PC shipments. For a long time, Apple was number 6 but wasn't included.

Then in 2015, Apple became number 5 rather than Acer Group. So did Acer drop off the list? No, suddenly Gartner started reporting on the top 6 manufacturers by global shipments. Interesting.

</comment><comment><USER11> This is editorialising! (HN title currently is "Mac sales grow amid PC decline") The actual title is "Gartner Says 2016 Marked Fifth Consecutive Year of Worldwide PC Shipment Decline"

Furthermore, given the data

        Lenovo     15,781    21.7    15,535    20.6    1.6
        HP Inc.    14,808    20.4    14,204    18.8    4.3
        Dell       10,723    14.8    10,175    13.5    5.4
        Asus        5,452     7.5     5,960     7.9   -8.5
        Apple       5,440     7.5     5,312     7.0    2.4
        Acer Group  4,999     6.9     5,228     6.9   -4.4

and given that _Macs are PCs_ you could also title this, "Of the top six PC vendors Apple grew third strongest but remains in fifth position; Windows PCs remain dominant amid overall market decline"

<comment><USER12> > Macs are PCs

Apple doesn't agree with you.

[https://www.youtube.com/watch?v=0eEG5LVXdKo](https://www.youtube.com/watch?v=0eEG5LVXdKo)

</comment></comment><comment><USER13> Original topic - Gartner Says 2016 Marked Fifth Consecutive Year of Worldwide PC Shipment Decline. Mac sales grew a tiny bit in 2016 but that doesn't imply that they are still growing.

<comment><USER14> Not only that - Dell, HP and Lenovo sales also grew YoY in 4Q16 with Dell and HP both having higher increase in both %age and absolute terms than Apple.</comment></comment>


Show HN: Timelense – Postcards, Reimagined - <AUTHOR> https://timelense.app <comment><AUTHOR> As some of you may know, I have been traveling the world as a digital nomad for more than two years. In the past two years, I have used Instagram, WhatsApp, iCloud photo albums, etc. to share my experiences with my friends and family. In fact, sharing pictures and videos of my travels by broadcasting across social media has become so easy that the process itself has become both addictive and mechanical - certainly not fulfilling, and more importantly - hollow and impersonal.

The value and meaning were lost for me.

This got my wheels turning. I want to share important updates with the people I care about. Social media is no longer built for connecting beyond likes and shares.

There has always been a special place in my heart for postcards, and social media updates just don't match the feeling of sending and receiving a postcard. They are a way of communicating that still holds value intrinsically - a physical reminder of connections I've made and the people I hold close to my heart.

That's why I still send postcards when I arrive at a destination. When I visit people, they show me the postcards they have received, and it opens up a conversation beyond what's on the card. We discuss life, our experiences, and our passions.

While I prefer postcards to social media, the biggest problem with postcards is the inability to share more than just a message. Postcards have the potential to be so much more than just a personal message - postcards should be able to share pictures, videos, and personal messages. But how?

With a sprinkle of magic, a touch of augmented reality, and a little help from friends - that's how!

Timelense is an app-based postcard design and communication platform, inspired by and built from a desire to share experiences in a personal way - <USER2> encourage meaningful sharing of 'status updates' with the people we love; a longing for a simple way to foster genuine connections beyond the pixels.

How it works:

1\. Travel - and take some photos and videos while you're at it!

2\. Use Timelense to create a postcard - customize it with pics and videos from your trip.

3\. Once it's ready to send, we'll deliver your postcard for you.

4\. When it's received, recipients can use the Lens within the app to activate and animate their postcard.

5\. Voilà! The postcard will come to life with photos and videos.</comment>


What If It Worked? - <AUTHOR> https://zedshaw.com/2017/08/26/what-if-it-worked/ <comment><USER2> Telling people to kill themselves is bad, especially if there's any chance they might do so.

But the excerpt from the IRC log at the start is a horse of a very different colour.

The IRC user comes across as maybe a bit abrasive and certainly a bit exasperated, but at the end of the day he/she

\- told the questioner exactly what they asked for

\- established what they _really_ needed

\- told them that too

\- (hopefully) taught them a lesson in how to express their needs

If <feline> was really "just sooooooo tired of beginners coming and asking stupid questions", presumably they wouldn't have bothered to: (a) answer a question (twice); (b) make sure they were answering the right question; (c) help the questioner phrase their questions better in future.

<comment><USER3> Yeah, I feel like <feline> was less "ASCII BLASTING" and more emphasizing an important point (I don't think IRC lets you use italics or underlines so caps would be the only way to go). I've been that noob before (and still am) and I would have been totally satisfied with that answer. I felt no ill intent reading that IRC log and I feel like Mr. Shaw was just projecting his own anger on <feline>.

That said, I thought the rest of the essay was just as bad. To me, it was saying "hey, anon, you can't get under my skin! That's why I'm writing a full blog post about how you can't get under my skin, you skinny nerd." Also note that he closed off comments and (presumably) deleted all of them except for the two that were literally kissing his ass.

He definitely needs to check his ego.

<comment><USER4> You see this a lot in IRC channels, but you also see a lot of people just helping everyone. The secret is that most of these people have a pretty basic level of knowledge themselves, and that's one of the reasons they're in those IRC channels. They do it so they can find out gotchas and solve small problems to become better at something. I've done problem solving for strangers on IRC, and I must say: it works, in that it seriously improves your own knowledge.

And the thing is: this is one of the greatest things about open source ! You can actually easily get someone to help you with basic problems. You can just join one of these IRC channels and go from "mediocre C programmer" to "slightly-above-mediocre C programmer that knows 5000 gotchas most don't" in a month or two. You will get invitations to projects and you will find yourself far more motivated by helping out people than by, say, an online course.

But yes, IRC requires a bit of a thick skin. And whilst there are plenty of women and even teenage girls there, you quickly learn that on a topical channel you should not tell anyone who you are.

</comment></comment></comment><comment><USER5> It looks like Zed just doesn't get it...

> If they give a valid email address I usually rip them a new one.

In an article all about hostile online communication, he has to realise by now that replying to a troll is _exactly_ what they want. If you're getting all frothy with righteous fury, they've done their job well.

But I suspect Zed _does_ understand all of this and that this article is just him trying to breathe new life into his little Python controversy.

Snuff it out. Nobody cares, Zed.

<comment><USER6> Given that the python controversy was basically a guerrila marketing ploy to sell his revised book, I wonder what his angle on this will be.

</comment></comment><comment><USER7> I have a lot of respect for Zed.

Having said that, if we could dedicate the effort we spend on protecting adults from other adults towards protecting minors from the abuse of other minors, it would be so much better.

Because compared to minors, adults are like supermen already. They have so many powers. And I didn't even see one plan on fighting what is now widely called bullying and therefore considered to be solved by naming.

</comment><comment><USER8> "go fucking kill your self pls" is an awful thing to say, but it's not a death threat.

</comment><comment><USER9> If there's a valuable insight here, I couldn't get to it. The childish name- calling put me off.

<comment><USER10> Zed Shaw in a nutshell.

We shouldn't promote his materials. His book on python (Learn Python The Hard Way) is widely regarded in python circles as being one of the worst tomes of knowledge. Mostly due to his "I'm the expert don't question me" attitude.

<comment><AUTHOR> The "Hard Way" books are not for everyone, but they are exactly what some people need. Not everyone learns the same way.

I like having Shaw around because his absolutism inspires other absolutists to step out of cover. It's good to know where all the absolutists are hiding...

<comment><USER11> Are those people going to be good and happy programmers?

<comment><AUTHOR> Shaw is himself a good programmer, although I wouldn't hazard a guess about his happiness... I would expect long term programming prospects to be orthogonal to learning style. Certainly anyone claiming otherwise would have the burden of proof.

</comment></comment></comment></comment></comment><comment> irq-1 Great article. Online harrasement and hate are tough subjects. Setting a simple standard that telling people to kill themselves is unacceptable -- and trying to do something about it -- is great to see.

Such hate could devestate a very depressed person and we shouldn't treat it as if the issue is that people don't understand the internet; this isn't an issue of culture or communication.

</comment><comment><USER12> If I had to guess, this guy clearly loves cocaine, power, and money. Like all absolutists he fails to understand what has been known since ancient Greek philosophy, "Just because you think you are the best in the world at something, doesn't mean other people think the same." His art is terrible, so I'm guessing with the programming experience of starting Mongrel he is disillusioned into thinking he actually makes a difference in the world.

If you know about Ghost writing, then you know how he managed to "write" 10 books in six years. On the topic of programming, to learn it takes nothing special but dedication, and lots of sample programming projects.

The world is filled with things beyond our understanding and just because you know programming doesn't mean you know shit about other topics, ie. his art, or writing. I imagine this guy sees himself the opposite of what others see in him. Who really knows if we will ever have String Theory, a theory of what makes good music, and how the lower levels of the human brain work.

Another thing is, is this site a humor site, or is it about the latest in technology and startups. Where is the coverage of anything that resembles a coherent piece of technology, a business plan that is not a paragraph, or an understanding that maybe we don't know everything about Science at the beginning of the twenty-first century.

I see on the front page almost every time I'm here papers about Physics and in the comments is always the people explaining how a Black Hole holds all its information on its Event Horizon, or how the Holographic principle makes String Theory less complicated to understand. Where is the Science, the testable hypothesis, the ability to understand Science's limitations, it is all magic. Magic in that it is as made up over the last fifty years by people that have never taken a Philosophy of Science course.

Anyways, I'm nothing special, just a normal guy who wanted to write an angry rebuttal because really, if you think you are an expert on everything then you are just plain wrong. I think Zed could use more ego, what do you guys think? Also, I'm sorry if this angers anyone. I really do care. Not.

<comment><USER13> We've banned this account for violating the HN guidelines.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment></comment>