Apple scrambled to hire iOS 6 maps engineers days before launch - <AUTHOR> http://www.theregister.co.uk/2012/09/21/apple_hiring_ios_maps_engineers/ <comment><USER3> I don't care for the title. Clearly these spots aren't for engineers to come on board and fix maps in a couple days, they are there for future development. "Scrambled" implies an imminent deadline.

<comment><USER4> Another explanation is that a substantial portion of their Maps team either walked out or was fired just prior to launch, and must now be replaced.

What does Fr. Occam say?

Exactly the same thing happened with Antennagate.

<comment><USER5> Or that, once shipping a piece of software, the team was ready to re-staff for the next major release, coming in a year.

You don't add engineers on at the end but at the beginning.

There was no mass firing for "Antennagate" in fact there was no "antennagate"... like this BS maps "issue" Antennagate was just a bunch of apple haters bashing the company.

The reality is, the iOS maps app is already far better than google maps around here. Apple has terrain data and correct streets, google doesn't even know this major city exists (becuase it isn't in the US or europe.)

<comment><USER6> Antenna gate wasn't real? I can reproduce the antenna fault with a significant drop in signal strength with one pinkie.

I classify that as a major fault. For a premium product, that's unacceptable.

<comment><USER7> > _Antenna gate wasn't real? I can reproduce the antenna fault with a > significant drop in signal strength with one pinkie. I classify that as a > major fault. For a premium product, that's unacceptable._

Really? Because tens (hundreds) of millions of people found it _totally acceptable_ and made that phone the top selling phone.

Not to mention that they found that the "issue" was a non issue in practice.

<comment><USER8> I know at least 3 friends of mine that bought the 4 on AT&T and suffered through several dropped calls - they even used my Moto once and Nexus the other time to complete their calls at the same place on the same carrier.

So Antennagate was real, iPhone <5 dropped more calls than any other phone on AT&T. That's the disingenuous part about how Steve handled Antennagate - <USER2> competitors dropped bars when holding hand over their antennas but the competitors antennas weren't badly designed such that they would be easily covered while holding the phone and their phones didn't drop as many calls.

People decided to live with it but 2 out of my 3 friends are on non-iPhones as their work doesn't afford them dropped calls.

<comment><USER7> Well, I, for one, still have an iPhone 4. Never updated on 4s (or 5). Never had any reception problems that I can recall (i.e not getting through a call).

It might be that I get a good signal where I live and work (and in 2 different countries, neither of which is the states). So, YMMV.

But, I do remember iPhone 4 owners actually reporting LESS dropped calls than iPhone 3GS:

"iPhone 4 owners are reporting fewer dropped calls than iPhone 3GS owners":

[http://www.tuaw.com/2010/08/04/report-iphone-4-owners- report...](http://www.tuaw.com/2010/08/04/report-iphone-4-owners-report-fewer- dropped-calls-than-iphone-3/)

And after the media noise blew out, there weren't any complains about it --as if the forums and people forgot all about it--, just people using their phones.

And AT&T could be to blame, not the iPhone. For:

""According to a March study by ChangeWave Research, AT&T is the reason the iPhone drops calls. Users of the Verizon iPhone 4 reported a 1.8% dropped-call rate, the same rate as users of other Verizon phones. Users of the AT&T iPhone 4 reported a 4.8% dropped-call rate, 2.7 times the rate of Verizon iPhone users.""

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> The advertisements for employees (whether there were or will be any actual hires is unknown) is Apple's way of controlling the narrative in a case where they have long known they would be shipping an inferior product.

Every update to maps is now newsworthy, and every piece will be themed "look at all these improvements." Part of me, the cynical part, suspects that the earlier copyright issue with OpenStreetMaps was deliberate and intended to positively brand the product with the FOSS community by drawing attention to their use of open source. It was TomTom that they threw under the bus this week.

<comment><USER10> TomTom got thrown under the bus and there were so many other players involved in making the failure. There are tens of companies that contributed to the data all of whom have gotten little exposure/blame.

</comment></comment><comment><USER11> I don't know how Apple is going to catch up with Google, when Google has about 7100 people working on Google Maps

[http://www.businessinsider.com/apple-has-7000-fewer- people-w...](http://www.businessinsider.com/apple-has-7000-fewer-people- working-on-maps-than- google-2012-9?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+typepad%2Falleyinsider%2Fsilicon_alley_insider+%28Silicon+Alley+Insider%29)

</comment><comment><USER12> Maybe Apple should recruit these two chaps:

<http://www.youtube.com/watch?v=zGZ56qzXltU>

There again maybe they did.

But in all fairness, Apple have stated it will get better and in that everybody believes them because I doubt it could get much worse, especialy given pictures like this: [https://plus.google.com/u/0/105902573976541607678/posts/iTjb...](https://plus.google.com/u/0/105902573976541607678/posts/iTjbqvvNdgV)

On the plus side, they haven't found anything to realy moan about the phone, so there had to be something for the press to complain about. A company new to maps release a map that they can update as they go along and make it better, oh the shock, what was google maps like on initial beta, I know last year google maps got me lost and upon one occacion traveling thru a brick wall, bless. It'll get better and or there will be something new to complain about. Poor Apple, were is RIM when you need them :D.

</comment><comment><USER13> This reminds me of how they "scrambled" to hire antenna engineers and similar job posts with iPhone 4 launch!

</comment><comment><USER14> As a "Steve Jobs would", I'm pretty sure that not launching half baked products was very high in his priority list

<comment><USER15> Why does this nonsense keep being perpetuated on here.

Steve Jobs routinely launched products that were less than perfect. Hence his quote, "real artists ship".

<comment><USER16> Can you point to something (in the iOS line) that was as broken as this? I can't think of anything

<comment><USER17> The original iPhone didn't have copy/paste (and it was right to ship it).

<comment><USER18> But it didn't break any existing functionality did it? There just wasn't any!

</comment></comment></comment></comment></comment><comment><USER19> Why was this article written in pseudo-textspeak? Is that the style that guardian uses for technology news now?

<comment><USER20> It's written for The Register which has a much more _relaxed_ reporting style.

<comment><USER21> If by 'relaxed' you mean 'tabloid', sure. It seems to be a requirement that any Register article about Apple products has to be dismissive towards people who use them (even though that is most people who might read the article these days):

> fanbois and fangrrls across the world branded the new satnav-like service as > rubbish

1\. needlessly trollsome, 2. alludes to them being irrational supporters, and yet… these are the people being critical? Maybe they're not irrational fanatics after all…?

</comment></comment></comment><comment><USER22> Cheesus H Crust. Apple has leaped over years of Google development in 1 release and people are complaining? Apple hate has no relationship to reality.</comment>


Ask HN: How can you stand sitting at computers all day? - <AUTHOR> This is not what humans are meant to do. This is not social and not fun. Why are we slaving away like that? Building complex is fun up to a point, aren't we taking this too far? <comment><USER2> Its only slaving away if you don't enjoy it. I personally love being on a computer because usually it means I'm learning something. Whether it be by reading an interesting article or practicing my craft, none of it is mindless work.

I think that's the key. To work with a purpose and objective. If I had to surf Facebook 9 hours a day it would certainly not be fun and I too would very much feel like I am slaving my life away.

<comment><USER3> Yes, absolutely - this is another big part of it. I love my work, so I'm not just sitting around waiting to go home all day.

</comment></comment><comment><USER4> Easy. I don't sit at a computer all day.

Personally, I find I'm a better coder when I get up and move around on a regular basis. I'll work for an hour or two, then go for a walk. Come back, work for another hour or two, go get some coffee from the coffee shop on the other end of campus. Rinse and repeat. Often times I'll be able to work out a problem or have a great idea while I'm walking.

There's this idea that to be a coder you have to be in front of a computer every waking moment, but the most successful programmers and engineers I know are the ones who know when to step away, who leave the work at work, and take care of themselves physically and emotionally. Otherwise, you're right, it's not sustainable at all.

<comment><AUTHOR> I used to do that too :) it makes it more bearable. I used to love coding, but I've always missed the real world when I was in that bubble, and now that I'm not working anymore, it somehow feels more right, it's weird.

<comment><USER5> Are you not working at all anymore, or not working a programming job? If you're not working at all, may I ask how you eat/sleep? I don't mean to be too personal, but I'm curious.

<comment><AUTHOR> I am living on savings while I figure out the next step.

I have coffee and a croissant while reading a book everyday at roughly 10am, then meals at 1pm, 4pm, and 9pm, and sleep from roughly 1am to 9am. Funny question :)

</comment></comment></comment></comment><comment><USER3> Personally: I'm an introvert. That's not to say I never want to talk to people, but I can go an average work day interacting with a few folks via email and call it a good day. When I'm being social, I can't get work done, and I find socializing draining - I need to be by myself to recharge my batteries. Also, I have a sit/stand desk, so I regularly get up and work standing.

</comment><comment><USER6> > This is not social and not fun.

Although, I agree there are more things to life than sitting at computers all day, I suspect the elt0n is an extrovert who doesn't get introversion.

for instance, if I were to also read books, listen to music and take long walks all by myself, it still would not fit in with elt0n's view of what humans are 'meant' to do.

<comment><AUTHOR> It seems you are drawing conclusions out of a tree from the forest.

elt0n reads books, plays music, and takes long walks by himself, but he believes the answer to life is not only 42, but also people. Think about it, do the very best moments in your life involve a book or a walk or music, or other people?

elt0n doesn't quite fit in either introvert or extrovert generalizations, but the social interactions in the tech world don't seem nearly as exciting as those outside of it. It seems people view tech as an end instead of a mean, and maybe that's where the idea of slaving away comes from.

Regardless, what do you think is elt0n's view of what humans are meant to do? Party all day and talk loudly? I would also think so based on the quote you took out of an already poorly phrased context.

<comment><USER6> I agree I might have read too much into it but on reflection that reaction came after the years of hearing that very phrase 'how can you stand doing such and such thing ...' from people who really wanted to ask 'why aren't you out there having _fun_ like the rest of us/other people', all the time not realising that perhaps I _was_ actually having fun doing what I was doing.

Yes, some of the best moments in my life do involve people but only in the 'more than one person' sense and not in the 'more than 3 or 4 person'. And yes, some of them do also involve just myself.

To reiterate, I do agree with you about not making your life all about one thing, I just don't agree with you about what is 'fun'.

<comment><AUTHOR> I agree that the best interactions are generally one-on-ones or 3 people at most. And I understand your first point. I was thinking that my question might just be a symptom of my personal burnout.

</comment></comment></comment></comment><comment><USER7> Software engineering is a relatively high yielding field with regards to work put in and amounts paid out. If I get six figures doing minimal amount of work - lets face it, most dev jobs (including my own) are very easy and involve logic of the snapping-together-lego variety - then I'm able to use that money for good once my basic needs are covered. I run a small press, I buy the art my friends make, I hold performances and book bands. If being able to rent out a diner to host a night of creativity and aesthetic exploration means that I need to sit in front of a monitor for a few hours hungover the next day that's a fair trade-off in my mind.

Generally speaking I wish more software engineers put their money to these sorts of endeavors rather than the expensive luxury hobbies many indulge in. Not to say you can't buy the latest gadget, sail, whatever, but many engineers make _so_ much money and it's amazing how little you need to spend to make the world a better, more interesting place to live in.

</comment><comment><USER8> Humans are meant to be productive to society. If you do that by sitting in front of a computer all day then that isn't taking it too far.

<comment><USER7> Humans aren't meant to do anything

</comment></comment><comment><USER9> Get ripped in your spare time. Sitting there getting mentally ripped will no longer hurt, but rather at the end of each, you'll crave the other.

<comment><USER7> Get ripped like toke on a heady amount of high quality weed?

</comment></comment><comment><USER10> I think it is quite social, although we do use an open office layout.</comment>


The Future of HHVM - <AUTHOR> http://hhvm.com/blog/2017/09/18/the-future-of-hhvm.html <comment><USER2> Given HHVM is already being dropped from PHP packages because of its lagging compatibility, announcing that they're not targeting PHP compatibility any more might be the nail in the coffin for HHVM (and thus Hack) as a viable "upgrade" from PHP for _existing_ codebases.

I mean, it's great that Hack will work for new Hack code and existing Hack codebases, but there aren't a lot of those. It makes sense for Facebook — why waste your efforts on maintaining part of your runtime that you don't need? — but I wonder if this will consign HHVM to irrelevance in the long term. Maybe Hack is a compelling platform for new code, but then, why use this obscure proprietary Facebook thing that's a bit better than PHP when you could use any of the numerous other languages out there that are also better than PHP but have much better ecosystems?

Personally this makes me sad because I wanted to see a standardised, multiple- implementation PHP language. Facebook did, even. They paid someone to write a spec: [https://github.com/php/php-langspec](https://github.com/php/php- langspec)

Maybe someone will write a new PHP implementation to take that idea forward. Or maybe we'll be stuck with Zend forever.

The future is strange.

<comment><USER3> It makes me sad that, as a Mac-based developer, installing & updating HHVM takes half an hour (via Homebrew). I imagine that has taken the wind out of many people's sails, when contemplating migrating/updating codebases to HHVM's (superior) syntax.

<comment><USER4> Sorry, I know this is a pain; I'm hoping to fix it by the end of the year (along with bringing back nightly debs, and supporting more recent versions of debian/ubuntu). For homebrew build times, there's [https://github.com/hhvm/homebrew- hhvm/issues/5](https://github.com/hhvm/homebrew-hhvm/issues/5)

In the short term, docker works rather nicely.

</comment></comment></comment><comment><USER3> HHVM & Hack solved two big problems that made PHP difficult for Facebook and other large companies with large existing PHP codebases: Speed, and the lack of type checking

Now the PHP ecosystem is more mature – PHP 7 eliminated the speed differences between HHVM and PHP, and a bunch of static analysis tools find 95% of the bugs that HHVM's typechecker finds.

It makes sense that this would be an inflection point for the future of HHVM.

I hope that more features from HHVM make it into PHP core – especially property types and generics – because, whatever FB decides to do with HHVM, PHP is here for the long-haul.

<comment><USER5> > HHVM & Hack solved two big problems that made PHP difficult for Facebook and > other large companies with large existing PHP codebases: Speed, and the lack > of type checking

At what point do you stop using the hammer to put in a screw and just use a screwdriver?

<comment><USER3> When the cost of buying screwdrivers for your entire workforce would likely bankrupt the company.

<comment><USER5> I'm not sure what you're analogy is here. You wouldn't switch every nail to a screw in the same moment.

<comment><USER3> Right, but you're still investing time in doing that switch. No matter which way you cut it, you're still replacing every single nail.

"We'll just update as we go", you say. That's fine, but it means that some parts of the house – normally the oldest and most integral to the entire structure - will use nails for years to come. And your developers will need to be trained in both hammers and screwdrivers to be able to work on the house in totality.

<comment><USER5> Sure, but if those nails are also causing structural instability, then it might be prudent to do the investment. It seems now, no one will be using your type of nail anymore either, so now you have to have them custom made at expense.

<comment><USER6> Sometimes those nails are doing just the opposite, they're holding the foundation together, and if you try and pull them all out the whole thing might collapse.

<comment><USER7> This is why I use Krazy Glue for everything, so I don't have to think about what's the nail, the screw and the hammer in this long-winded analogy about PHP and its shortcomings.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> This is fascinating. It's a well-written post and their plan makes sense to me, but I imagine there's a tough choice ahead for framework authors (the Laravels and Drupals of the world) about whether they want to fork their communities, stay with PHP7, or try to target both with the same codebase (in the near term or long term)?

At any rate at least the fact that the HHVM folks are communicating the strategy effectively and transparently should help everyone involved make reasonable decisions.

<comment><USER9> That and PATENTS:

[https://github.com/facebook/hhvm/blob/master/hphp/hack/PATEN...](https://github.com/facebook/hhvm/blob/master/hphp/hack/PATENTS)

<comment><USER10> If Facebook had released the code under BSD then nobody would have complained.

But this basically gives a BSD plus patent grant, and reverts to BSD if there are any patent litigations. And now people are complaining.

<comment><USER11> Because it is them saying, "We can take all of your patents, but if you sue us for it, then you don't get to use this."

<comment><USER12> IANAL. I think that is a common misunderstanding of the clause. If you sue them for react patents you can still use HHVM, or vice versa.

[https://firstname.lastname@example.com/react-facebook-and-the- revok...](https://firstname.lastname@example.com/react-facebook-and-the-revokable- patent-license-why-its-a-paper-25c40c50b562)

</comment></comment></comment></comment></comment><comment><USER13> How is Hack? Has anyone built anything with it and would like to share their thoughts? How's the HHVM community?

I've always thought that PHP was an underrated language that got a bad rep due to whacky design choices and PHP developers being seen as "less skilled" (a stereotype I know, but it is prominent) than others. Object Oriented PHP and frameworks like Laravel were a nice change of pace in my opinion, and there's plenty of good PHP coders out there if they had the right experience and stuck to a good coding guideline.

Alas, I confess I stepped away from PHP due the stereotypes against it, but HHVM always seemed promising. I haven't heard much about it over the years though.

What's the toolchain for HHVM?

<comment><USER14> I'm chief architect at Slack, and we migrated to Hack from PHP 5 throughout 2016.

The toolchain for HHVM is all installed as a single big deliverable, which gives you the language engine and supporting runtime libraries itself, an in- address-space web server (Facebook's Proxygen), a debugger in the form of hhvm -a, and the Hacklang toolchain accessed via hh_client and appropriate editor/IDE integrations.

I share your intuition that there is actually a glittering core of "stuff- that-makes-you-successful" hiding in the incidental complexity of PHP, and we wrote this blog post trying to put some substance behind that intuition: [https://slack.engineering/taking-php-seriously- cf7a60065329](https://slack.engineering/taking-php-seriously-cf7a60065329)

<comment><USER15> Wouldn't it make more sense to take the parts of the PHP runtime environment that enable rapid prototyping and figure out how to implement them in a language that has a working == operator rather than trying to graft type safety on a language that has both strpos() and str_rot13()?

Remember BML, bradfitz' attempt to do this with Perl?

I would love to see someone do something similar for Python.

<comment><USER16> > a language that has a working == operator

== has always been working in PHP. I know maybe that optional type coercition trips up some noobs occasionally before they made any effort to learn the language (hint === doesn't coerce types for equality), but how low effort does a complaint have to be?

Type coercition is actually pretty cool when you're not really sure what the browser or client is about to http at you and you just want it to work. It's much better than crashing at runtime because '12' isn't a number. If you're input isn't sane, throw an exception or use a validation library.

Now if we're talking about a good type system that can be enforced at compile time like rust, Scala, etc. Sign me up. But if it's run time, it's run time, we gotta keep going.

<comment><USER15> > It's much better than crashing at runtime because '12' isn't a number.

something something yell at you for breaking their door

</comment></comment></comment></comment></comment><comment><USER17> Here's the interesting thing about all this; HHVM will always be developed because it's important to Facebook's bottom line and Open Source because it only benefits them to keep it out there and have other people testing it and improving on it.

Now that they're getting rid of direct PHP support, HHVM is only going to get better. This will unlock a whole host of language improvements that HHVM couldn't otherwise make.

HHVM is faster relative to PHP now, and it will only get faster with these changes. Typing is an important part of making JITed code fast and unless PHP ever decides to fully add it, it will never have the potential to catch up. This is important to PHP-based companies as they grow and want to optimize on cost and development efficiency.

Undoubtedly, this split will be painful initially for those of us who are bought into the symbiosis of the HHVM and PHP ecosystem together. How painful it is to split will just be a question of where members of the PHP community want to go (or both). The nice thing is that converting something from PHP to HHVM isn't terribly hard; not anywhere near like converting from PHP to Golang. For HHVM, it's mostly just adding type annotations.

<comment><USER18> > HHVM is faster relative to PHP now

While this is probably still true[1], it's certainly less of a concern now than it was with 5.x. Would (often negligible) performance boosts be enough for someone with a 5.x PHP codebase to choose Hack over PHP 7.x? I can't see that for most cases.

[https://kinsta.com/blog/the-definitive-php-7-final- version-h...](https://kinsta.com/blog/the-definitive-php-7-final-version-hhvm- benchmark/)

</comment></comment><comment><USER19> I'm excited! :)

PHP is IMHO the most productive and easiest platform for web development:

\- a request

\- a response

\- templating

\- no shared stated

And that's it! But the language syntax has so many quirks. So it's cool if Hack redesign the language and make it more beautiful and consistent. Many developers switch to Ruby or Python because these languages are better designed. I think Hack could attract a lot of these developers who want more beauty in the tools they use.

<comment><USER20> Oh boy they really got you!

Have a look at Python & Flask! There is nothing easier than that!

<comment><USER21> Flask is really good (and my preferred web framework, and full disclosure, I have forgotten how to write PHP), but it fails very badly at "no shared state," and depending on what GP meant by "a request" / "a response", it fails at that too. A Flask process handles an indefinite number of requests and responses; the built-in server handles them serially, and doing otherwise brings in either threads (and shared state) or multiple processes.

The Slack article posted elsewhere in these comments [https://slack.engineering/taking-php-seriously- cf7a60065329](https://slack.engineering/taking-php-seriously-cf7a60065329) has some excellent arguments about why PHP's approach is different in interesting ways.

</comment></comment></comment><comment><USER22> Parse, react and now this. Why would I now learn any new Facebook tech?

<comment><USER23> what happened with React?

<comment><USER24> BSD+Patents license.

</comment></comment></comment><comment><USER25> I am way less sad about HHVM now (specially after React license debacle). I think Facebook now has opportunity to think about this fork as a fresh take on PHP and maybe make the language awesome both from syntax/performance perspective. I don't think living with a weird hybrid with current language landscape is an option.

</comment><comment><USER26> Sad. Facebooks involvement by utilizing PHP and pushing the language by extending it was a good sign for the PHP community. Would have loved to see that they align with PHP7 or even further, push their engineers into improving PHP itself. PHP has such a huge ecosystem. I wouldn't risk to bet on Hacks future.

<comment><USER27> Agree, that's a pity. Instead of having one top language, we will have 2 "now- incompatible-great-languages".

</comment></comment><comment><USER28> > Eliminating references. PHP references have unusual semantics, where the > function specifies the binding of parameters with no indication at the > callsite.

I feel like I called this one in [https://circleci.com/blog/critiquing- facebooks-new-php-spec](https://circleci.com/blog/critiquing-facebooks-new- php-spec):

> This is interesting because they're changing the definition of the language > through a sort of back-channel. They're allowing breaking changes by > effectively deciding that other implementation choices are equally valid.

> I'll give you an example, which I'll get into more below. There's a little > known bug in the Zend engine around copying arrays that contain references. > IBM wrote a paper about this bug in 2009. Basically, this bug was necessary > in Zend to make copying arrays fast, and IBM figured out a way to do it in a > way that was actually correct, for only a 10% performance penalty.

<comment><USER29> I get why they want to get rid of references. If I would be designing PHP from scratch, that's probably the first thing I'd do - most hard to fix bugs in the engine and most security woes of features such as unserialize() stem from references. Unfortunately, _TONS_ of code uses them, and there are some data structure things that would not work without it unless alternative solution is provided. So it could not happen in PHP. But it'd be interesting to see how it works for Hack.

<comment><USER4> we're currently leaning towards out/inout parameters, with copy semantics, not byref (and in most cases, we'll probably be able to optimize away the copy); not certain yet though.

<comment><USER29> Would be nice to hear what comes out of it and how it works!

</comment></comment></comment></comment><comment><USER30> I wonder what this means for wikipedia? Will they be migrating to a hack only stack now?

<comment><USER31> MediaWiki runs on more than 25k websites [1] other than Wikipedia, so I don't see them switching to Hack only.

Also, I run a pretty big MediaWiki site and the last time I tried moving everything to HHVM (~6 months ago, I think) stuff appeared to be working initially but randomly broke from time to time (probably because of Scribunto or some other extension; couldn't manage to pinpoint the exact reason). PHP 7 didn't give me any problem at all; it's fast enough (way faster than PHP 5) and most pages are served by the Redis cache anyway. I suspect that Wikipedia will consider a move back to PHP, they're moving the most expensive logic to Lua modules anyway...

[1] [https://wikiapiary.com/wiki/Main_Page](https://wikiapiary.com/wiki/Main_Page)

</comment></comment><comment><USER32> I think HHVM was equivalent to what jQuery was to JavaScript. jQuery forced JavaScript to be better, and the better JavaScript becomes, the less jQuery is needed.

So if we get to a point where HHVM is completely irrelevant, it simply means "Mission Accomplished".

<comment><USER7> In terms of language, jQuery didn't innovate in anything though. It was a great framework mind you, but there's nothing special about it that influenced the choices in design for the more recent versions of JS.

<comment><USER33> Not even querySelector?

<comment><USER7> I think querySelector and querySelectorAll are simply more generic versions of the traditional approach of using getElementById and getElementsByTagName, but it's possible that the greater versatility of $ influenced the later design of querySelector, indeed. Then again, it was not a jab at jQuery, which proved to be a fantastic tool for a decade in the field of web development.

</comment></comment></comment></comment><comment><USER34> Has Hack actually gotten meaningful adoption outside of Facebook?

I never hear about anyone using it...

<comment><USER3> Slack does, and some (all?) of MediaWiki. Outside of that, I don't think it's enjoyed the sort of penetration of other OS projects from FB

<comment><USER29> MediaWiki doesn't use Hack. Wikimedia Foundation servers (which run Wikipedias and other sites) do use HHVM, but the code is 100% PHP-compatible and still runs fine on standard PHP.

<comment><USER35> this is a really helpful distinction that isn't made on the other comments that address HHVM and MW; thank you!

</comment></comment></comment></comment><comment><USER36> Well, this is disappointing. I really like Hack and I was hoping it would take off, but judging from this thread it seems unlikely the language is going anywhere worth following. I guess it's lucky that I only have one project written in it...that I now have to convert back to PHP.

I'm really going to miss XHP. Native XML support has ruined me for templating frameworks. I never want to write HTML as concatenated strings ever again.

<comment><USER4> For completeness: Sara Golemon started porting Facebook's old PHP5 implementation of XHP to PHP7 - you can find it here: [https://github.com/phplang/xhp](https://github.com/phplang/xhp) \+ [https://github.com/phplang/xhp-lib](https://github.com/phplang/xhp-lib)

</comment></comment><comment><USER37> This is pure syntax sugar but will Hack now clean up the PHP inconsistency with function naming and return values?

E.g. FunctionName() vs function_name().

Or

E.g. return 5x20; vs return "5"x10;

<comment><USER4> Function naming:

We're moving towards functions_like_this(), instanceAndStaticMethodsLikeThis(), and async functions like foo_async() and methods like fooAsync(). We're unlikely to change the PHP builtins, but we're fairly likely to build replacements - for example, Hack Arrays are best used with [https://github.com/hhvm/hsl](https://github.com/hhvm/hsl) instead of the PHP array functions, and this also provides replacements for common string operations that are consistent and fit well with the Hack type system (e.g. nullable or throw an exception instead of falseable).

For return values, I'm not sure exactly what you mean - could you give a full example? If I take your example verbatim, it's a syntax error in both Hack and PHP - if I go for "5"*10, it's a Hack error ([https://gist.github.com/fredemmott/90c5f8eca17d1d4e1204f0085...](https://gist.github.com/fredemmott/90c5f8eca17d1d4e1204f0085cc120f5))

<comment><USER37> From the blog post:

      HHVM will not aim to target PHP7

If you don't plan to support PHP5 anymore and HHVM is not targeted at PHP7 ... then my ask is to just make a better language and drop ALL of PHP baggage.

When you say:

      We're unlikely to change the PHP builtins

That concerns me. Because why even break support from PHP7 if you don't plan to change (fix) the builtins?

<comment><USER38> As fredemmott said above, we're hoping to build replacements for the various PHP builtins that we want to be a core part of Hack. I think that replacing the functionality provided by PHP builtins will be a less confusing transition experience than retrofitting them with modified behaviors would.

Once we do have a compelling and comprehensive Hack Standard Library, I wouldn't be surprised if we dropped PHP builtins in favor of that.

</comment></comment></comment></comment><comment><USER39> I tried out Hacklang a bit and I really enjoyed it. However I could not get xdebug or any type of debugging to work with it. Also the lack of an editor on the calibre of PHPStorm (atom is not great at all) made me give up. I am just hoping for PHP7 to move in the right direction.

</comment><comment><USER40> First I'm hearing of Hack! Didn't realize HHVM had under it's wing _two_ languages.

</comment><comment><USER41> What are the best framework for web dev on top of hack/hhvm? Last time I used PHP I was using yii (yes-it-is). Wondering what framework can someone use today if she has to start from scratch on hack.

<comment><USER4> [https://github.com/hhvm/hack-router/](https://github.com/hhvm/hack-router/) and [https://github.com/hhvm/hack-router- codegen/](https://github.com/hhvm/hack-router-codegen/) power docs.hhvm.com and some of our other users; they do have problems such as extremely lacking documentation, which I'm going to be addressing soon.

This is definitely an area we're planning on working on - and this post is meant to be announcing the start of this work, not that it's ready :)

</comment></comment><comment><USER42> If HHVM(Hack) will drop all the inconsistencies and weirdness of PHP in their implementation the better since it's no longer be compatible with PHP anyway.

<comment><USER43> That's the plan. Break the old nonsense, like the one they mentioned: refs and refcount. Everybody should switch to Hack, it's a much better and safer language.

</comment></comment><comment><USER44> [removed language flame war]

<comment><USER45> There are plenty of places where you can view arguments for and against PHP alone and in comparison to Python and Ruby on the internet. This submission is specifically about HHVM. Asking people to justify the use of PHP in such a context is just inviting a language flame war. Please don't.

</comment></comment><comment><USER46> Guess I'll mosey on back to OCaml then...

</comment><comment><USER47> I wonder why they just don't deprecate HHVM altogether and maybe create a HACK version on top of GraalVM. This would probably be way more performant and probably might be better for integration into other systems.

</comment><comment><USER48> I think that these changes mean the death knell for PHP in any version, for small companies. There is still a place for Hack or PHP7 in very large operations, but startups, and businesses that run at smaller scale, really should walk away from PHP entirely as soon as possible.

Two reasonable directions to choose are Python Three with a framework like Flask (lighweight) or Django (heavy duty). Or go to the JVM with something like Grails framework (heavy duty) on the Groovy language. Ratpack is a lightweight framework for Groovy and there is also an interesting option to use Vaadin 8 which lets you put your GUI code into the main app rather than writing separate Javascript code.

When making your decision, be sure to consider the huge JVM ecosystem that integrates quite easily with Groovy including development tools like Jenkins and SOAPUI that can be scripted with Groovy. And the Python side also has a fairly extensive ecosystem of libraries as well.

The skill level of Python and Java/Groovy developers tends to be higher than PHP which has always attracted people who would learn just enought to get by.

The software dev community has gone through an explosion of diversity in the past 2 decades and that has enabled a lot of experimentation with new ways of doing this. There is a lot of good in this. But now we are in a period of contraction. Some of this is manifested in the spread of functional capabilities via libraries such as reactive extensions and functional features being added to languages like Java and Javascript. Another manifestation is the fading of PERL from prominence, and this is now happening to PHP as well as Ruby.

This is evolution. Embrace it or face your personal extinction as a software developer.

<comment><USER3> > This is evolution. Embrace it or face your personal extinction as a software > developer.

Woah there Mr Hyperbole.

The reason PHP is still in use, and not dead or dying, is that it's one of the simplest languages to write server-side code in.

That means it's remarkably easy to hack something together quickly, with no compilation step to get in the way.

Unless that changes in a drastic fashion, projects will continue to get started in PHP, and PHP's user base will continue to grow, and (hopefully) the language will continue to improve to accommodate that growth.</comment></comment>


Bing Partners with Kayak - <AUTHOR> http://www.bing.com/community/site_blogs/b/search/archive/2011/03/04/bing-welcomes-kayak.aspx?wa=wsignin1.0

<comment><AUTHOR> Odd because Bing bought Farecast a few years ago and Kayak is Farecast's biggest competitor

<comment><USER2> It sounds to me like they're reallocating engineering resources: "For Bing, this means we can focus our development resources on delivering even more unique and valuable features for customers. In essence, this lets us do more for our customers as we continue to invest in next-generation travel experiences."

<comment><USER3> Aside from acquiring Farecast and copying Kayak's UI, what travel features has Bing developed? Seems wiser to let the Kayak team do this work, as they are really good at it.

(I'm unsure whether Bing is acquiring Kayak wholesale or if they're just sourcing their flight data from them.)

</comment></comment></comment><comment><USER4> I thought Bing was already copying Kayak, here is a article from 2009 - <http://www.wired.com/epicenter/2009/06/kayak-bing/>

I think there was a lawsuite and settled</comment>


Apply HN: IXD – Universal Broker for Legacy Communications Systems - <AUTHOR> The fax market is still growing by around 10% a year in terms of usage and revenue.  Hospitals, insurance, banks, lawyers, and government all rely on fax as a universal form of communication between their systems when they send significant amounts of sensitive information with other entities in an automated way.
This is crazy.
IXD aims to replace fax and other legacy communications technology with 15 minutes worth of changes to their infrastructure.  Companies like DocuSign don't focus on bulk transmission of data, and no other solution out there really provides the universal connectivity fax provides.  And e-mail is simply not secure.  GPG is too hard to use or isn't auditable, so companies stick with what works for them
We're working on clients, proxies, and APIs that pull data from legacy systems and understand fax protocols, and send them through our servers, where we then can relay that data to its destination in a secure way.  Then the receiver can choose how they want to receive those documents:  via fax servers, e-mail, a Web page, into their database, or in a network folder, for example.  Imagine sending a document to a government agency without needing to find a fax machine, all while the agency keeps their fax machines in place and receives your document the way they are used to.
In the long-run, we want to enable large enterprises that deal with compliance standards to use faster, more modern technology to communicate with each other so each company chooses how they want to receive information such as documents or medical images, for instance.  This means connecting different communications services:  Like Dropbox to ShareFile; or DocuSign to SharePoint.  No longer do people have to use the system the sender used to send information:  Everyone can use the service they are comfortable with, and more importantly, have audit records in. <comment><USER2> Quick questions: Is the fax market really growing at 10%+ per year? Who are the customers and how large is that market? Why are those customers "left behind" from the wave of innovation that transmits more and more data electronically?

<comment><AUTHOR> Is fax really growing?: My background is real-time communications (voip, video, messaging) so this was not intuitive for me. eFax's latest quarterly report indicates they grew their fax division by 5%; the hospitals many of our partners server have growth at 15-20% in terms of revenue and usage. In fact, our partners tell us this past year was their best in the past 20 both in terms of revenue and usage. Anecdotally, one hospital network we just talked to does it in house and is increasing the number of phone lines to their servers from 64 to 144. But the real source for this number is from Davidson Consulting's annual fax report: [http://davidsonconsultinginc.com](http://davidsonconsultinginc.com). Relevant summary is at [https://www.biscom.com/blog/fax-server-industry-news-from- da...](https://www.biscom.com/blog/fax-server-industry-news-from-davidson- consulting/). They cite 9.4% growth; our number comes from our focus on healthcare where we source from our partners' growth, as well.

Who are the Customers/Market Size: We are focusing on healthcare because they have strong incentive to send data faster, but key segments also include legal, government, insurance, and finance/banks. The main driver for them is compliance (HIPAA, Sarbanes-Oxley, FINRA regulations, etc) that effectively require companies to secure their communications and keep an audit trail of access/communications. Audit trail and interoperability are the main reasons companies keep fax around because it's a least common denominator when it comes to communications. The entire secure document collaboration market (including SharePoint and Dropbox) is around US$11.5B right now; the fax market is $5B of that. Telephone costs are $1.3B of that.

Why are these customers left behind: 1: It's hard to completely change out a huge system that is transmitting millions of pages of data every day and many secure document products like DocuSign aren't designed to send at scale like some of the banks use (eg, one bank does 40M pages/month).

2: Beyond the phone number system, there's no universal registrar for contact information for each company. So if company A wants to send something to company B, and both are highly regulated, if company A uses Dropbox and company B uses SharePoint for their audit trail, then how do the two talk to each other? Fax is universal and has a well-known protocol/lookup system and it keeps their audit trail in one place. It's just old, slow, and expensive (but cheaper than building custom integrations between every sender and receiver). I'll bet most people have experience receiving secure documents or signing with at least 10 different systems. If you had to receive more than 1000 documents a month, it would be really hard to do that with 10 different systems: You'd want to just use one, especially for record keeping.

</comment></comment><comment><USER3> Based on a 10% grow year to year is there some information on what will be the cost savings for those companies when adopting this system?

<comment><AUTHOR> Effectively, these companies either pay someone to host a fax service with copper (not IP) phone lines or do that on their own with a fax server and a number of phone lines depending on how much they are sending/receiving. They spend on IT to manage their operations, server and licensing fees for the fax software, hardware (fax boards or phone gateway routers), and phone lines. The lowest cost we've seen at scale a bank that sends 40M pages per month and spends about 1.5 US cents per page. All costs in this market are tied to page. That ends up being around $600/GB of data.

Cost to us is a fraction of the cost because we rely on the Internet, but fax users care more about speed and error rates. Today, fax takes best case 45s/page (this is at 33.6 kbps), but there are errors and retransmissions that slow this down. Our solution knows how to get data from the fax servers and back-end applications faster than fax speed on the order of 10-100mbps, so our value proposition is that we speed up their infrastructure and replace phone lines. To help us grow, we charge them about 50% of their telephone line costs because those lines are no longer needed. So in short, the major value is the speed and error rate reduction, so significant cost cuts are not necessary, but helpful for growth.</comment></comment>


Why NASA's newest space shuttle uses a computer chip from 2002 - T-A http://qz.com/317406/why-nasas-newest-space-shuttle-uses-a-computer-chip-from-2002/

<comment><AUTHOR> Many year ago I was asked to provide a component cost quote for "a device". The parts list specified a Bourns resistor network - a standard easily available part - but specifiedthe 1% tolerance part. This was a rare impossible to find part. The parts list had instructions for testing the normal 2% part to find parts that suit the spec. My bosses at the time refused to use that teat procedure and insisted on the listed 1% part. This meant I sent emails to the few brokers I knew, which then started a bidding war _with myself_ for this part amoung those brokers - driving the price much higher than the already high price it was at.

TL:DR aerospace/mining/etc projects really suck if the design engineers do stupid things.</comment>


Where can I get unbiased news? - <AUTHOR> http://www.thegatesnotes.com/Infrequently-Asked-Questions/specialfeature.aspx?ID=68

<comment><USER6> There is no such thing as unbiased news. What you want instead is the Hunter S. Thompson model where the journalist makes their opinion clear and upfront. Then, you can judge the rest of their reporting yourself. A lot of journalism majors I know try to pretend their unbiased, but that isn't how humans work. Say it upfront like programmers do ("First of all I have to admit I use Lisp/Python/Whatever but here is what I don't like about Ruby 1.9 blah blah")

edit: typos

<comment><USER7> Actually, before Sulzberger took over the NYT, the Times was the gold standard in objective reporting. I loved it back then.

<comment><USER8> You were reading the NY Times before 1935? <http://en.wikipedia.org/wiki/Arthur_Hays_Sulzberger>

Jokes aside, NY Times has never been unbiased. Try reading the Power Broker.

</comment></comment></comment><comment><USER9> "Scientific American" is a sad shadow of it's former self. It has gone mass market and PC.It used to be closer to one step below a peer revue scientific journal.

<comment><USER10> This is also true for New Scientist, which has _really_ gone down hill over the past few years.

The front sections of Science and Nature are pretty good for general science news. Science News might be another option, but I haven't read it in several years and have no idea if it's even still being published.

</comment></comment><comment><USER11> In my opinion: The Daily Show and/or Colbert Report. I guess you could say their only bias is toward comedic pessimism. Is it sad to say that a comedy network has become what I believe to be the least biased news? Or is it just our modern evolution of what has always been the place of good satire: to criticize, under the guise of comedy, that which "serious" outlets dare not discuss?

<comment><USER12> I'm going to have to go ahead and disagree with you there. Aside from not really being news, it's hardly unbiased. Perhaps the real issue is that there is no such thing as unbiased.

Personally I read The Economist and subscribe to a bunch of sections on news.google.com. In the end you have to make up your own mind.

<comment><USER11> Good point. I made the classic mistake of forgetting to correct for my own bias :). That said, I at least appreciate that they make fun of the parties on both the left and right, which are more and more becoming paradies of themselves rather than collections of reasonable human beings interested in debate and compromise. However I think the most important point is exactly what you and several other people have said: get lots of input and make up your own mind. I'm not sure how many people are interested in doing the legwork though...

</comment></comment></comment><comment><USER13> I always thought people who were looking for unbiased news were actually look for news that matched their own bias. I know I read certain publications/sites because I am more likely to read an article that presents a series of facts couched in a (tone|bias|opinion) that agrees with mine.

Plus "unbiased" is really hard. It's been in the 40's (F) in San Francisco today, the online paper ([http://www.sfgate.com/cgi- bin/qws/as/qr?scope=term&sourc...](http://www.sfgate.com/cgi- bin/qws/as/qr?scope=term&source=&period=30d&dmode=range&minm=01&mind=14&miny=2010&maxm=01&maxd=20&maxy=2010&term=weather&smode=and&Submit=S)) has had headlines talking about how cold and rainy its been. In this case "cold and rainy" is biased, many people would consider our weather recently pleasant and balmy. That makes the chronicle biased, but not necessarily not worth reading.

<comment><USER13> See, I'm not the only one who thinks weather news in the Chronicle is biased - [http://bayarea.blogs.nytimes.com/2010/01/20/what-kind-of- wea...](http://bayarea.blogs.nytimes.com/2010/01/20/what-kind-of-weather- makes-news/)

</comment></comment><comment><USER14> I'm surprised The Atlantic didn't make it on that list. I always see it mentioned in the same breath as the other sources and have found most of the articles fairly unbiased and interesting.

</comment><comment><AUTHOR> There is always some form of bias in reporting of news. Journalists are people so no matter how hard they try to be balanced there will be some degree of slant. There is a difference between slant and bias. Bias is trying to fit the facts to the story, not the other way around. So how do you check for bias and misinformation? What about choosing what you consider to be unbiased news sources, _"news you can trust?"_ This isn't enough you also have develop a contrary viewpoint. [0]

How?

I read a Sciam article yesterday [1] that outlined a few hints. Misinformation, is opinion presented as fact reported as news. See if you can spot the following techniques used reading or listening to your _"unbiased"_ news:

      - lack of evidence
      - use of supporting imagery
      - <USER2>
      - framing
      - entertainment & fear

When searching for unbiased news I source from many sources: print; radio; tv; web; Favouring depth to breadth and keep my eyes shut to deceptive images.

[0] <http://en.wikipedia.org/wiki/Contrarian>

[1] _"How Effective Are Misinformation Campaigns to Manipulate Public Opinion?"_ ~ [http://www.scientificamerican.com/article.cfm?id=misinformat...](http://www.scientificamerican.com/article.cfm?id=misinformation- government-campaign-iranian-physicist-assassination&print=true)

</comment><comment><USER15> Interesting to see where Bill goes for news. I may not be Bill Gates (I certainly don't have his bank balance), but people interested in unbiased news should check out the "No Agenda" podcast at <http://noagendashow.com>

Dvorak and Curry may not be everyones taste, but they do point out many instances of mainstream media fail

</comment><comment><USER16> Slate.com is my ultimate procrastination tool - I intentionally haven't bookmarked it, so I only go there when I'm really bored and remember to (ie, a few times a week). As such, I've always seen it as a guilty pleasure.

Now I know that Bill Gates hangs out there ... well, that doesn't really change anything in my life. But I'm ever-so-slightly more smug.

<comment><USER17> Weirdly, it was owned by Microsoft until not too long ago.

</comment></comment><comment><USER18> You should read biased news sources, only they should include those that espouse the opposite of your preferred bias. If you're left-leaning, keeping up to date with Fox News is like doing unit testing on your belief system. Likewise if you're right leaning but can put up with Jon Stewart (yeah, I'll go there and call him a news source).

</comment><comment><USER19> Really? There are no unbiased media sources. Bill Gates of all people should recognize that every publication he mentioned is biased and be aware of, and mention, their perspective. I read some of these publications, but I'm at least cognizant of their leanings and know where to go for an alternative point of view.

The Economist is great if you want the Keynesian perspective on economics and not much else. Per wikipedia: According to former editor Bill Emmott, "the Economist's philosophy has always been liberal, not conservative." The bias is clearly stated.

Scientific American is purely mainstream science. It represents the cathedral of academia.

Slate - Do they even try to be non-biased? Again, wikipedia also describes it as liberal.

NYT/WP/FT/WSJ - No comment. Anyone who has read them can form their own opinions.

<comment><USER20> How is the economist Keynesian?

<comment><USER19> This isn't definitive, but search economist.com using Google for the following:

Keynes - 1640 results

Adam Smith || John Stuart Mill (classical economics) - <USER3>

Hayek || Milton Friedman (Chicago school economics) - <USER4>

Mises (Austrian economics) - <USER5>

Of course it's better to read it and form an opinion from the actual content for yourself but I think these results are fairly indicative.

<comment><USER20> You realize, of course, if I ran a website criticizing something it would show a lot of hits for that thing right? Quantity alone doesn't tell us much here.

<comment><USER19> Sure, which is why I qualified those results by saying they're not definitive. I have read The Economist, come to my own conclusions (that the publication is strongly Keynesian) and thought it would be interesting to see if that bias showed up in a simple search for Keynes' name. Turns out it did.

</comment></comment></comment></comment></comment><comment><USER21> One of the features we offer at Broadersheet that I'm really proud of is that we can offer "all the sides" of an article to our readers. We can show you the same article from a number of sources.

It's live right now, and I've been sketching up some pretty mad stuff influenced partly by what ^joshu worked on: [http://www.techcrunch.com/2008/10/10/delicious-upcoming- foun...](http://www.techcrunch.com/2008/10/10/delicious-upcoming-founders-to- show-you-political-bias-of-news-sites/)

<comment><USER21> Really interested in what people think of this feat. Useful?

</comment></comment><comment><USER22> For current events I follow thedailybeast.com. The comments are filled with trolls though.

<comment><USER23> You better hope that you don't typo that while your boss is in the room. ;-)

</comment></comment><comment><USER9> Does not exist as a single source. Try news sites with diametrically opposed points of view and draw your own conclusions.

<comment><USER24> I upvoted because at its core, the plurality approach is a fundamentally good idea. However, two caveats. First, beliefs aren't on a spectrum, so get several opinions, not just two. Second, diametrically imposed still shouldn't mean extremist; you'll get higher signal:noise ratio in more moderate sources.

</comment></comment><comment><USER25> You can't.

You have to read widely and deeply, correcting for bias as you learn to spot it.

</comment><comment><USER26> For me the ultimate criterion is the degree of quality _investigative_ journalism.

Congruent with that is the avoidance of sound bites.

</comment><comment><USER27> For what definition of unbiased?

News are always biased. Facts are the only ones that can, potentially, be without bias.

</comment><comment><USER28> stratfor.com

You have to pay for the news, but it's meaty and not particularly partisan.

</comment><comment><USER29> Washington Post and the Wall Street Journal both have a strong right-wing slant.

<comment><USER30> Maybe you're thinking of the Washington Times.

<comment><USER31> No, I am sure the OP was talking about the Post. The news coverage the sort of "inside the beltway" stuff you would expect from the local paper to a one- industry town, but the editorial board is pure neo-con.

<comment><USER29> Yup. In both cases it's the editorial board that drives the publication to the right. There are great articles in both pubs but you can't call either unbiased.

[http://www.salon.com/opinion/greenwald/2009/06/18/froomkin/i...](http://www.salon.com/opinion/greenwald/2009/06/18/froomkin/index.html)

</comment></comment></comment></comment><comment><USER32> And I've got some money.</comment>


Immigration will solve the talent war in the valley - <AUTHOR> http://rvivek.com/immigration/ <comment><USER2> "[2] It's not true for designers. I don't know why, but the odds of finding a good one here is much higher than India."

Design is more about culture than engineering.

Design is a more hands on skill that requires contextual learning.

Design requires creativity better fostered by a Western education system than an Eastern one.

Design draws on a legacy of history and the history of the East is different from the history of the West.

Design requires a sense of humor and humor is different in every country.

<comment><USER3> This description of design ("Design") is fantastically pretentious. You must be a designer! :)

<comment><USER2> This description of description of design is fantastically pretentious. You must be British :)

</comment></comment></comment><comment><USER4> "...fears that immigrants are going to eat away local jobs. This is SO wrong." I am not sure you successfully explained why you think they are wrong. I'm an immigrant from Europe and in my opinion it is easy math. There is 1 job and if you fill it it's gone. So you can either fill it with Americans or an immigrant (like me). It's kinda foolish to think all you have to do is open the gates and expect all these foreigners to come in and build companies that hire more Americans. But maybe I'm missing something?!

<comment><USER5> > It's kinda foolish to think all you have to do is open the gates and expect > all these foreigners to come in and build companies that hire more > Americans.

According to a paper titled "Silicon Valley's New Immigrant Enterpreneurs)"[1], Indian and Chinese enterpreneurs were responsible for 24% of the technology businesses started between 1980 and 1988. So the idea is definitely backed by statistical evidence.

Besides, if there are qualified Americans who can fill these jobs already, why exactly do we have a talent shortage in tech?

[1]<http://www.ppic.org/content/pubs/report/R_699ASR.pdf>

<comment><USER6> Your 24% number is grossly misleading. Quoting your source:

 _[...] Estimate of ethnic entrepreneurship in Silicon Valley was obtained by identifying all businesses with CEOs having Chinese and Indian surnames in a Dun & Bradstreet database of technology firms started since 1980. According to this count, close to one-quarter (24 percent) of Silicon Valley's technology firms in 1998 had Chinese or Indian executives._

Technology company executives are salaried employees - even at C-level, they do not create tech jobs any more than the HR department. Moreover, it's a well-known fact that C-level executives rarely come from founders (example: [http://management.fortune.cnn.com/2011/03/29/why-startup- fou...](http://management.fortune.cnn.com/2011/03/29/why-startup-founders-can- make-solid-ceos/)). Not to mention that an ethnically Indian/Chinese person is not the same as an immigrant from India/China.

 _If there are qualified Americans who can fill these jobs already, why exactly do we have a talent shortage in tech?_

Because "we" don't pay enough? Because "we" won't look at anyone over 35? Because "we" demand a statistically improbable combination of skills plus open-source experience plus hobby projects? Because "we" equate talent with blogging? The list goes on and on.

(FWIW, I am an immigrant).

</comment></comment></comment><comment><USER7> The point of H-1bs is to depress the prices of labor for any given job. (Econ 101: Increase supply, reduce cost.)

So, no, I'm not really interested in increasing the supply of skilled labor any further and driving prices for my labor any lower. The "talent war" is _good_ for everyone with skills that works in the Valley. Feature, not a bug.

<comment><USER8> You presume there is an undercurrent of malevolence to this when there isn't.

If we decreased the supply of programmers to 1 said programmer would be making a shitload of money - but that is not good for the general population, nor the economy.

Similarly, the restriction of the oil supply will drive up cost, drive down usage, and force the economy to grind to an ugly halt.

Wage depression, especially in an environment where wages are already remarkably elevated, enables further economic activity (i.e., software businesses with cost structures that prevent paying $250K+ an engineer can now exist and create wealth).

And let's be honest, as a single programmer making 4.5x the median _household_ American income, our wages are plenty elevated.

<comment><USER9> 4.5 the median would be somewhere around $225,000. That would be a very high salary for a developer, far above the median.

I also don't think that comparing to the median US household makes much sense. It would make more sense to compare salaries with other highly skilled and educated workers in very high cost areas.

It's sobering to enter the "elevated" salaries of software developers into a housing affordability calculator and search San Francisco or the peninsula for what you could buy at that price. Most households are dual income now, which does get you in the range of that 4.5x household income you mentioned earlier. At this point, you're into pleasant, middle class areas.

At this point, I guess it's just a matter of opinion. I think that when it's a stretch for two highly educated workers to afford a fairly ordinary house in a decent if unfashionable part of town, salaries aren't elevated to the point where I find claims of a crucial shortage credible. If that's what employers want to pay, that's fine, but I see no reason for special government programs designed to increase the size of this workforce - it would seem to me that it is responding rationally to market signals.

</comment></comment></comment><comment><USER10> One strategy most startups miss is the NAFTA TN-1 "visa" for Canadian and Mexican citizens (I use quotes because it's not really a visa apparently).

We hired a Canadian employee using this status and there really is very little paperwork. He needed a letter describing his work (which must put him in an acceptable bucket) which he presented at the US/Canada border and an hour or so later he was in. It has to be renewed every three years, but can be renewed indefinitely.

Waterloo puts out great engineers -- engineers with fewer options with the implosion of RIM. So, look north!

<comment><USER11> Are you sure about that? I'm a Canuck and have worked in the US under a TN-1 a few times, and I had to renew it every year, and initially my sponsoring company had to prove they had been looking to fill the position locally for a certain amount of time without any luck (fairly easy to do with a classified ad, etc.).

Also, only certain occupations qualify at any given time.

<comment><USER10> It was upped from 1 to 3 years. You can read more here: [http://en.m.wikipedia.org/wiki/TN_status#Canadian_citizens_i...](http://en.m.wikipedia.org/wiki/TN_status#Canadian_citizens_in_the_USA)

<comment><USER11> Very good to know (and wow). Thanks.

</comment></comment></comment></comment><comment><USER12> This just in: you can be a quality programmer even if you don't live in the Valley.

That said, I imagine H-1b paperwork is dreadful to deal with. A lot of smaller companies may choose to ignore international candidates simply because they don't want to deal with the paperwork

<comment><USER13> I wonder why more companies don't open development offices in other areas of the country (or even the state!), if they are having such a hard time hiring in the valley.

<comment><USER14> They have this inertia (or fear?) against working remotely.. which is ironic for internet based tech companies..

</comment></comment></comment><comment><USER15> I've never understood this so called 'talent war' There's millions of people unemployed in this country, why not find which ones of them know basic skills like math and science and train them in house to write python or java or whatever? Or if your companies to lazy to train people then pay high enough salaries so these people go train themselves. I think its fine to bring in a few extra smart immigrants to provide a different perspective but lets be reasonable, ordinary Americans built this country and they're the reason Silicon Valley exists in this country and not someplace else. If there's a lack of talent then I think CEOs should reinvest in ordinary Americans and not take these shortcuts. You could easily teach someone to code by October 2013 if you started now.

<comment><USER8> > _"There's millions of people unemployed in this country, why not find which > ones of them know basic skills like math and science and train them in house > to write python or java or whatever?"_

Because the lead time to go from "has basic math and logic skills" to "competent programmer" is on the order of years, if not over a decade.

Do _you_ want to put someone on your payroll for years before you see one tiny iota of productivity out of them? Or worse, have them be a _negative_ drain on your productivity?

> _"but lets be reasonable, ordinary Americans built this country and they're > the reason Silicon Valley exists in this country and not someplace else"_

This isn't true. The US has been extremely reliant on skilled immigration as its power base throughout the 20th century. Immigrants are over-represented in academia as well as all corners of basic research, they are also over- represented in the industries that spawned Silicon Valley (i.e., the defense and aerospace R&D that gave birth to both the funding, cultural, and educational foundation that birthed the semiconductor industry, followed by the software industry).

> _"You could easily teach someone to code by October 2013 if you started > now."_

Then do it. I challenge you. Starting today, from someone with the proper high school level education but no relevant college education (i.e., no STEM degree), develop someone into a competent programmer capable of writing production-ready code by the end of October 2013.

Put your money where your mouth is.

<comment><USER16> I got my first programming job in high school after about a year of learning how to do the job. I certainly wasn't the world's best programmer, and have improved significantly over the years, but I still was able to get the job done.

The problem, as highlighted by your post, is that companies only want to hire the best of the best. I understand why, but it sets us up with a situation where even those who know how to program (poorly) cannot find work, exacerbating the talent shortages.

</comment></comment></comment><comment><USER17> As an Indian, I am actually pretty happy that not all of our best engineers can leave the country even if they wanted to.

What makes you think that America deserves/needs a good engineer more than India itself?

Disclaimer: I am not in India right now. But having been educated practically for free in a Govt. college, I hope I will be able to repay some of my dues soon. At the very least Govt of India, should be able to tax the runaways like me.

<comment><USER18> I think it's even better if someone comes to the US, gets some exposure, learn many soft skills and then go back to India, instead of not coming here at all.

<comment><USER17> I won't deny the value of exposure. But I think soft skills and a lot of other things are over hyped. Some of the best engineers I know can't put together a sentence in English.

I can't speak for how it is in US because I haven't been there. But I really can't think of anything that can be done only in valley but not in India. But yeah again, I can't be so sure, because I have seen the things only from one side.

<comment><USER18> How about networking? e.g. meetup.com. I found very good speakers giving talks in my area of interest.

About soft skills, I felt considerable writing efforts are required here as part of the normal master's degree. I am doing my master's degree in CS here. Even if I am writing a simple report on some project I spend extra hours to think from the reader's perspective. That builds up writing skills. You get constructive feedback if you present something. That builds up the presentation skills. May be this is a personal experience.

I also felt that you start appreciating positive things about your country more but this experience may not be specific to US.

</comment></comment></comment></comment><comment><USER19> Data on who is using the H1B program and how much they're paying is available here.

<http://www.foreignlaborcert.doleta.gov/quarterlydata.cfm>

There seems to be a more-processed version here.

<http://www.h1bwage.com/>

"Talented hacker" does not necessarily equal "median H1B recipient".

</comment><comment><USER20> A reminder to my fellow Australians that E-3 visas are relatively easy to get:

<http://en.wikipedia.org/wiki/E-3_visa>

</comment><comment><USER21> The problem with H1-B is not the limit; the main problem is its abuse. Indian body shops like TCS, Infosys, and Wipro etc. continue to abuse H1-B visas. These companies work like a huge recruitment and immigration agency.

There are thousands of employees of these companies sitting idle in India with a H1-B visa in hand. They won't go to work in US anytime soon because their Indian employer doesn't need them move to US. These companies blindly apply for thousands of visas even when they don't need it, just in case they get a new client.

These body shops waste most of the H1-B quota and create a block for genuine recruits by companies like Google, Apple and Microsoft.

The worst offenders are the downright fraudulent organizations like <http://www.ebsolutionsinc.com> . Does it look like a company who needs to import thousands of IT workers every year? This company alone accounts of thousands of H1-B visas every year, and there are thousands of shell companies like these. These companies are not only abusing the system, but what they are doing is downright illegal.

This is how they work:

They hold immigration seminars all over India and assure people a job in US and H1-B visa. They recruit thousands of candidates in India and charge them a fee of $8,000 to $20,000 upfront. These candidates are not only engineers; they are IT workers (who can't code), teachers, accountants and nurses. Most of these candidates are not qualified enough, many have fake degrees and most can't speak even speak English.

Their visas are sponsored by their shell recruitment agencies in US (supported with fake documents). These candidates do not even have a real job offer yet; the recruitment agency produces a fake job offer and keeps them on their own payroll. Upon approval of H1-B visa, these candidates arrive in US with no clue about what comes next. Their recruiters throw them in dorms with miserable living conditions. The recruitment agency trains them some English and Interview 101 and arranges several interviews in US companies.

The American companies contract these workers from the recruitment agents, usually at 50% of the market salary. These workers start working for the American corporations, but they stay on the payroll of their recruiters. Their recruitment agents usually take a cut of 30%-50% from their salary every month.

[Edit]

One of my friend runs a body shop in US and imports around 400 workers every year.

Word 'camps' changed to 'dorms'.

Related links:

<http://em.gmnews.com/news/2008-06-18/front_page/008.html>

[http://bhartiads.co.in/wp-content/uploads/2012/02/Medical- Ou...](http://bhartiads.co.in/wp-content/uploads/2012/02/Medical-Outsourcing- Solutions-Best-Opportunity-For-Physiotherapist-To-Secure-Job-In-USA-Apply- Today-Mumbai.png)

<comment><USER22> This is very interesting. I did not know situation as dire as you described. But could you back up your claims with some sources?

</comment></comment><comment><USER23> I think immigration will not help - but I would like to make H1-B more liberal.

I have friends running startups in other parts of the world (India, Romania, ...), and it seems there is talent war everywhere. Yes there is a lot of mediocre programmers around but talent is very sparse.

</comment><comment><USER24> Another way to look at it, skilled immigration gets the US educated workers subsidized by foreign tax payers. If they line up a job, they step foot on US soil being a tax payer, in both sales tax and income tax. A net benefit to the US.

</comment><comment><USER25> Whats it going to do for the cost of living, though? The valley's housing is WAY too expensive - and having an influx of more engineers/talent is not going to make the cost or quality of life here any better.

</comment><comment><USER26> The h-1b paperwork is dreadful. I asked Tom Campbell once if he would support pushing legislation to create an h1-ht (high tech) visa, which there are unlimited quantities of and restrict your residency and ability to work to Washington/Oregon/California (the west coast).

The half serious/half not comment came after he was describing the variety of anti-immigration lobbies in Washington with big contingents from the 'heartland' trying to keep foreigners out.

<comment><USER27> _the variety of anti-immigration lobbies in Washington_

The sad part is there's really only one, organized into about 20 different lobbying groups but (mostly) centrally funded from the estate of a dead multi- millionaire.

</comment></comment><comment><USER28> Is doing a start-up really risk free like he says? How you make sure you get aqui-hired if you fail?

<comment><AUTHOR> Let's say you're a group of 3 ex-facebookers; don't you think you can easily find a ton of companies in the valley that'll pick up for talent? Is it going to be worth $3M is debatable but surely there's a good chance that it'll be a pretty sweet deal.

<comment><USER28> So you have to live in the valley?

</comment></comment></comment><comment><USER29> it's something that engineers/technical people never ever understand. You can not classify people on some db just to do something not done.

</comment><comment><USER30> FYI the link to interviewstreet.com is not working.

<comment><AUTHOR> Fixed. Thanks</comment></comment>


Terror Watch List Finally Reined In - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-09-09/terror-watch-list-finally-reined-in <comment><USER2> After only 17 years or so. The watch list was unconstitutional on its face, there were no criteria how to get on it, and no no-opaque way to get off it (violating the petition for redress of grievances clause). It was also un- American in spirit. Secret lists enforced by secret police in secret. Rubbish. George Washington would be ashamed.

<comment><USER3> What's most disturbing is that it took 17 years. And whatever it is in the culture that uses liberty to zealously oppose regulation of fire arms and corporations but lets this stand for almost a generation. It'd be interesting to learn how these priorities came about.

<comment><USER4> You wonder how these priorities came about? Do you not recall 9/11 or are you not an American? Scared people do irrational things.

<comment><USER5> "Scared people do irrational things" makes it sound as if the overall reaction was somehow reasonable at the time or that the priorities were organic. Most of the fear and panic was stoked by the mainstream media, in support of traitorous politicians seeing an opportunity to act on longstanding totalitarian wishes. Propaganda is a powerful weapon against Free people.

<comment><USER6> If the end goal of the terrorists was forcing the West into a more totalitarian, less free society, then they succeeded.

</comment></comment></comment></comment></comment><comment><USER7> I congratulate whomever fought it, the biggest infringement of fundamental rights in a plain daylight in the free world.

I say it from a place completely antipodal from the free world. People who live in totalitarian states still look up to you, America, even in your current state of unending downward spiraling.

Think, if America in it current state is still kept in such esteem, and still though of as a "moral etalon," think just how much you still have to loose, and how deep is the abyss your country is edging on.

<comment><USER8> I beg to differ it going to be very hard to top when Obama ordered an extra extrajudicial killings of a US citizen [https://en.wikipedia.org/wiki/Anwar_al- Awlaki](https://en.wikipedia.org/wiki/Anwar_al-Awlaki).

<comment><USER9> He seems like an out and out terrorist. Easy to write something like this when you haven't lost a loved one to a terrorist attack.

<comment><USER10> The point of a trial is to have a better justification than your feeling of him being "an out and out terrorist".

<comment><USER9> There is no feeling. He was clearly planning things. And the govt may have got a confidential order from a judge.

<comment><USER11> I'm curious, would a secret order from a judge remain secret after his death? Forever?

<comment><USER12> Depending on what intelligence went into it, yes.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Great. What website do I go to to make sure I'm not on the list?

<comment><USER14> There are websites you don't go to not get on the list...

</comment></comment><comment><USER15> They should just replace the terror watch list with the CIA payroll list + list of foreign donors to Washington think-tanks and their extended family members.

I suspect that would increase the accuracy marvelously.

<comment><USER16> Hah! Would we still get to watch them on TV news?

</comment></comment><comment><USER17> Man, I really need to keep better watch out for opinion pieces. Not that I disagree with this guy, but I'm looking for information, not moralization. Here's a NYT news article about the subject: [https://www.nytimes.com/2019/09/04/us/politics/terrorism- wat...](https://www.nytimes.com/2019/09/04/us/politics/terrorism-watchlist- constitution.html)

<comment><USER18> I feel that as parties have learned how to abuse the "neutrality" of the media, a lot of real reporting has moved to the opinions section.

...where it mingles with content that clearly belongs in the opinion section and away from "news".

This creates a real problem - if people who want to know if any claim is TRUE rather than just hearing the claims of the various parties to a dispute, they move to these opinion sections (and opinion organizations). This gives the credibility of objective reporting to those that aren't even claiming to be objective.

I want my reporting to mention when something isn't proven...but also to not be victims of battles over the Overton window.</comment></comment>


Basics of Haskell – Code and exercises - <AUTHOR> https://github.com/raviksharma/bartosz-basics-of-haskell <comment><USER2> Bartosz truly deserves to be more widely known.

His Category Theory for Programmers book is an _excellent_ introduction to the CT world if you come from a Computer Science background (well ... duh it says it right there in the title) and know very little math.

Highly recommended to give it a try, even if the topic doesn't seem to fit you. This is one of those books that will make you a better programmer regardless of what you do.

</comment><comment><USER3> Writing interpreters in Haskell (which is what some of the lessons seem to be about) is a great way to learn the language. It naturally motivates recursion, algebraic data types, strong types, higher-order functions and later, when effects such as state and errors are needed, monads arise naturally.

The best part? It takes a ridiculously small amount of code to do all that, maybe around a hundred or less. Languages without ADTs and higher-order functions bend over backwards to recover them[0] via design patterns.

[0] [http://www.cs.ox.ac.uk/jeremy.gibbons/publications/hodgp.pdf](http://www.cs.ox.ac.uk/jeremy.gibbons/publications/hodgp.pdf)

<comment><USER4> It also introduces you to the expression problem pretty quickly and organically :)

I agree with the comment though. I learned Haskell and how to write an interpreter at the same time by working through the book Crafting Interpreters. It was a great match.

</comment></comment><comment><USER5> Bartosz is always doing great stuff. Check out is Category Theory lectures for people who know Haskell: [https://www.youtube.com/user/DrBartosz](https://www.youtube.com/user/DrBartosz)

<comment><USER6> Also I personally recommend to take a look to this series before diving into his great introductory book about category theory [1]. Seeing the application of the theoretical concepts and deriving the code yourself makes it more approachable for completly begginers from my experience.

1\. [https://github.com/hmemcpy/milewski-ctfp- pdf](https://github.com/hmemcpy/milewski-ctfp-pdf)

<comment><USER7> I liked his introduction to Category Theory enough to buy the extremely well- done hardcover edition:

[https://www.blurb.com/b/9621951-category-theory-for- programm...](https://www.blurb.com/b/9621951-category-theory-for-programmers- new-edition-hardco)

The only introductory treatment of Category Theory for non-specialists that I've encountered that even competes with it is Spivak's "Category Theory for the Sciences." For the curious, Eugenia Cheng's books for lay audiences are excellent for getting a feel of the power and value of the Category Theoretical approach.

Category Theory is somewhat unique in being a recently developed area of advanced maths that is nevertheless approachable with only modest formal training. Because it maps so well to much of the theory and practice of functional programming, most programmers with even a little interest and familiarity with that will be able to engage with the fundamentals, and Milewski does a masterful job of introducing it to that audience.

</comment></comment></comment><comment><USER8> Here is the tutorial that goes with that code. Unfortunately the School of Haskell is now read only so they aren't dynamic in the browser anymore. [https://www.schoolofhaskell.com/school/starting-with- haskell...](https://www.schoolofhaskell.com/school/starting-with- haskell/basics-of-haskell)

</comment><comment><USER9> Milewski has the best video lectures on category theory that I know of.

Thanks for your contributions, Bartosz!

</comment><comment><USER10> My university teaches the intro CS course in Racket (lisp), and I know another that teaches in Haskell. If decades of priority exposure to young programmers is not enough to spur widespread adoption, then I'm not hopeful.

<comment><USER11> I think most programmers aren't actually coming from university currently.

<comment><USER12> I did my interpreter class in Scheme in university. The main thing it taught me was I never wanted to use scheme (or lisp) and put me off of functional programming for many years.

I re-did the interpreter from that class in C++ and it made insanely more sense to me than the scheme version. I could see where scheme was going and why it was a good fit but just hated it.

That same professor taught our C++ class (while learning it, they had someone quit) the next semester and they had to actually do a do-over he was so bad at C++. To his credit he knew as much half way through the semester (he had students getting ahead of him). He basically nop'd out of C++ like I did out of Scheme. It just didn't fit his brain.

<comment><USER13> We learned Scheme, Haskell, Prolog and Clips in one semester for Programming Paradigms course.

I can still remember the homework for each programming language (this was 6 years ago):

\- Something with genetic algorithms in Scheme

\- 2048 implementation in Haskell

\- Searching in an infinite space in Prolog

\- Phutball in Clips

Pretty dope if you ask me. :)

<comment><USER12> Glad it was good for you. It was not for me.

<comment><USER14> It's interesting to have intense negative reactions to a language. Could you give details what annoyed you with scheme ?

I hope it goes beside the syntax.

<comment><USER12> Many people who like scheme and functional languages have an averse reaction to more procedural or OOP languages. It's interesting that people don't grok it can go the other way. But this is HN so I guess I'll explain.

A few things (and for context this was 1996).

With the class I disliked they were trying to teach me a language and a complex concept at the same time. In a 4 month semester, half of it was spent just getting basically proficient in the language. So instead of learning one concept I'm learning 2. We were essentially using scheme to build a interpreter for a simplified scheme. I understand why we were implementing scheme, it's one of the simplest languages to implement and maps well to many concepts in CS. this is actually why the game studio I worked at used it, not that it was the right language, in fact it's caused a lot of trouble and they have a lot of c/python like in the language now

Scheme seemed like a pretty useless language as well. The book for it listed (in the forward) out how amazing it was and showed all the amazing projects done with lisp-like languages. That list started with emacs and then the rest was academic things I'd never heard of, which seemed like a joke. If I recall scheme had some pretty weak language library functions at the time as well. Also at the time I cared about drawing triangles on the screen.

[I will lose points for this but it's my POV] I tend to find people who strongly like functional languages a bit insufferable, especially academics. I tend to learn by getting a real world project done, and I like tools that let you build real world things. I don't care anywhere near as much about form of the solution. . Functional languages seem to gel better with people who care about the beauty of a simple proof. I hate proofs. Also in much of the work I've done, the folks who really pushed for functional languages didn't really understand that most of their coworkers were juts not capable of understanding those languages or thinking that logically. There's a reason (imho) that they're not as popular of languages.

I have written stuff in these languages since then. I did work in the (gp reference) scripting language and on its implementation in the engine. This got me real features (like a mission in an AAA game, and features for my mission designers in the engine). This seemed useful to me.

I spent about 3 months trying to use Clojure to do a highly parallel data processing work. It seemed to map well to the problem. However it was insufferably slow, and with required type hinting was essentially complicated java (lost the benefit). I re-wrote it in C++ in about a week and brought the processing time from 15 minutes to 32 seconds by leveraging the deeper parts of the machine (buffers, disk cache, physical cores) which were not as available inside the abstraction.

So it also comes down to I haven't found a problem that maps well to something like scheme that I need to solve. When I do stuff with interpreters I just grab ANTLR and java/go/c++. This is more maintainable for everyone I work with.

<comment><USER14> I think some points are unfair. I have physical anger when I use java prior 8, but I do appreciate smalltalk a lot more, it tickles my sense of curiosity, joy.

While I do admit that lisp/scheme/fp seek beauty.. it's also one thing I want in coding. Beautiful code. Not at the expense of practicality.. but still, look at how easy it is to be confused and make a mess trying to write a flatmap like procedure, while in lisp it's so trivial you never even think about it.

Thanks for the honesty and good job on making things fast.

<comment><USER12> Oh I never said it's fair, just laying it out there for you to take however you wish. It's pretty obvious to me I've got an inherent bias towards functional programming. I see people who love it and are successful with it so it obviously works. I've never had cause to work it out though. Just like I never owned a Sega Saturn nor a X-Box One. It's my personal opinion and thoughts on a language. You don't have to agree with it! In fact I'm very sure you don't. But for every preferential opinion you have, someone else will have a different one.

For flatmap, looked up [https://rosettacode.org/wiki/Flatten_a_list#Common_Lisp](https://rosettacode.org/wiki/Flatten_a_list#Common_Lisp), this is just gibberish to me currently. Is this simple, or am I missing something?

I once had an discussion with someone who was a huge relational guy who could not understand dynamo (many have this issue). I asked him how to do a global postal address in a relational db. He proceeded to put out a ~5 table layout on the whiteboard from memory. Finished by saying of course there are other situations and you can handle them with X or Y. We went and grabbed a drink and I had him grab get a sde1 and explain that layout to the SDE1. I cut it off after 15 minutes. While it was OBVIOUS to him in his experience, it was in no way simple and the SDE1 (who was just starting multi-table joins) was taking a while to catch up. The sr eng was just used to relational. The model he had on the board was at least 30 years of iteration and best practices, practically it's own microservice. I drew it in dynamo where it's just PK:UserId, and then a bunch of optional columns. SDE1 grokked this right away.

I would love to know what types of apps / code / work you do that you really appreciate in lisp. As I said I'm always looking for a language to solve a problem. What class of applications do you use it for?

For instance I use C++ when I need to be near the metal (game engines, shaders, arduino). We use go at work but Scheme or Clojure might be better for the business logic we do (tho it'd be slower). Always wanted to use Erlang but I never got on the distributed chat program projects (I killed 2 acutally).

<comment><USER14> Wow if you consider flatten gibberish I have nothing to say to you that can convince you..

Talking about bare metal and video games, take a peek at [https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp](https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp)

Mind you this guys are far above average, but you can't get more perf + low level than this.

I think in time you'll realize how nice other paradigms can be, even if they look alien for quite some time.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Would it not be great if instead of a programming language being handed down to us as if made of stone, it was seen as a particular expression of a set of ideas (some good, some bad), much as music is, that we could relate and respond to in the same spirit?

<comment><USER16> The programming course at my university taught us the fundamental paradigmens. The languages were chosen only as examples.

Imperativ / OOP => Java

Functional => Haskell

Logic => Prolgo

</comment></comment><comment><USER16> Haskell is actually very easy.

This is just my heuristic but Haskell has just 25 keywords. For comparison: C 32, Java 53, C++ 83 and C# 102. What makes Haskell confusing are the 115 GHC language extensions. Each is basically a new concept to learn. Every time i join a new and sufficiently large project, I stumble across an extension that I am not familiar with.

[https://downloads.haskell.org/~ghc/latest/docs/html/users_gu...](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html)

<comment><USER17> Often extensions make the language _easier_ to understand, by removing arbitrary restrictions that you wouldn't have expected to be there in the first place.

</comment></comment><comment><USER13> I also recommend [http://learnyouahaskell.com/](http://learnyouahaskell.com/). Super cool and easy to understand

<comment><USER18> I think that a lot of people find that LYAH makes you _feel_ like you're learning, but have difficulty actually applying/using the concepts. This is compounded by the lack of exercises.

I definitely agree with this review: [https://bitemyapp.com/blog/functional- education/](https://bitemyapp.com/blog/functional-education/)

> The material often bores learners and leaves them feeling like they're not > "getting" it. This is because they're being "talked at" and demo'd to. > They're not engaging with and solving problems.</comment></comment>


3D-printed guns are back, and this time they are unstoppable - <AUTHOR> https://www.wired.co.uk/article/3d-printed-guns-blueprints <comment><USER2> 3D printed guns are a stupid debate. A couple dollars worth of pipe at any hardware store can be made into a zip gun that fires shotgun shells and it would be tremendously more effective and reliable than anything 3D printed

<comment><USER3> You are tremendously underestimating how far 3d printed guns have come in the last year or two.

In specific the Glock lowers are good for hundreds of rounds (vs having to load a shell at a time like a zip gun) and are just as accurate and useful as the real thing.

<comment><USER4> I think you might be underestimating what a "zip gun" can be.

Yeah, a "bang stick" is a couple of pieces of metal pipe with a nail for a firing pin. It works once with a 12ga shotgun shell - but a Sten SMG can be made from the same sort of materials, and is an effective SMG. They cost about $10 each to make in 1942.

Plans are dead simple to find: [https://duckduckgo.com/?q=sten+plans&ia=images&iax=images](https://duckduckgo.com/?q=sten+plans&ia=images&iax=images)

Here's a thread on another forum where a guy builds an AK receiver (which is much more difficult to get right) from a shovel: [https://www.northeastshooters.com/xen/threads/diy-shovel- ak-...](https://www.northeastshooters.com/xen/threads/diy-shovel-ak-photo- tsunami-warning.179192/)

Check out this 9mm machine pistol, produced by R9 Arms: [https://www.thefirearmblog.com/blog/2015/08/11/mystery-9mm-m...](https://www.thefirearmblog.com/blog/2015/08/11/mystery-9mm- machine-pistol-seized-europe/)

There's one problem with that - there is no such company as "R9 Arms". These things have been showing up all over Europe for the past few years, and they're definitely a "professional" product... made by a company that doesn't exist. The best guess is that they're being made somewhere in Croatia, but to my knowledge that's based only on the fact that several were seized there shortly after they appeared.

The fact is, it's easy to make a firearm. It's actually easier to make a full- auto firearm than it is to make a semi-auto - a semi-auto is effectively a full-auto with an extra design step to include a disconnector that prevents it from continuing to fire.

</comment></comment></comment><comment><USER5> Putting aside any discussion about whether it should or should not be allowed. The article claims the sharing of the 3D prints can't be stopped. But I find that untrue. Wouldn't similar means as taken for child pornography be able to block the distribution in a similar way? Maybe you couldn't stop it completely, like child porn still finds its way out, but it could be made much more difficult to share. I don't see anything particularly more difficult related to the fact they are CAD models. Maybe identifying a gun model from non gun CAD models would prove more challenging then for images?

<comment><USER6> In the US, creating and sharing an image of a gun part would never meet the same level of harm criteria of creating and sharing an image of child pornography, thus allowing 1st amendment protection.

<comment><USER5> I was more interested in the technical side. Since I felt the article was claiming it couldn't be blocked due to its decentralized nature. Though maybe I misread, and they meant it couldn't be stopped in the legal sense.</comment></comment></comment>


Is My Phone Listening In? Feasibility and Detectability of Mobile Eavesdropping - <AUTHOR> https://link.springer.com/chapter/10.1007/978-3-030-22479-0_6 <comment><AUTHOR> If you prefer to read the PDF version: [https://link.springer.com/content/pdf/10.1007%2F978-3-030-22...](https://link.springer.com/content/pdf/10.1007%2F978-3-030-22479-0_6.pdf)

</comment><comment><USER2> TLDR: "we cannot rule out the possibility of sophisticated large-scale eavesdropping attacks being successful and remaining undetected"</comment>


America's homeless population rises for the first time since the Great Recession - <AUTHOR> https://www.theguardian.com/us-news/2017/dec/05/america-homeless-population-2017-official-count-crisis <comment><USER2> One in 600 Americans is homeless on a given night. That is insane.</comment>