skysight-inc/HackerNews huggingface dataset:
I think there probably is a tech shortage in terms of strong candidates. I've worked with some companies where there are people that are employed as "developers", but they can't tell you the simplest of basics; I don't consider myself a developer, yet my meager knowledge and understanding far exceeds the skills of some of these people. I see more of these types than you'd think could survive for long (much of my work is outside of SV and with non-tech companies). When these types enter the job market, the local maximum they've been in for some time tells them that they're developers and they think they can apply to some of these more sophisticated gigs. But there's a clear distinction between these people that mostly copied code from SO and elsewhere in the code base and got it to work vs. those that actually devised the methods they're using... and I think there are many more at this lower end of the spectrum than there are at the higher end: just the bar is so much lower.

As for companies innovating in this regard, it's kinda funny to think about it. When it first got started, I think LinkedIn was trying to be exactly this. Rather than encouraging people to add any and every person they ever thought about (or that asked), the idea was that you should only add those people that you know and trust. In this way, you could use your LinkedIn network as a network of trust for things like hiring or looking for work. That's changed I think both by LinkedIn wanting to have a large network of data to mine and by any number of participants that will add connections since they're really after a bulk network rather than a trusted network. In both cases the business case for such a network of trust doesn't seem to work well for the company providing the service and doesn't work well for the participants... so it breaks. Naturally, that's just one approach and there could be others, but I do think there have been efforts here.
Off-topic, but the particular video: https://www.youtube.com/watch?v=U7JgfB8PaAk
It was common lore in CS grad school that there were self driving cars, funded by DARPA, driving around the CMU campus back in the 90s.

It was not as easy to look things up. I am glad this story is being told, but I'd love to know about the history and the early days.
Don't build features you can't afford to maintain
> * the one by Thomas Watson about the worldwide computer market needing only 5 computers

The interesting thing is, the context of that quote is building-sized computers being accessed by terminals over the phone network.

Fast forward to 2017 and we have terminals (smartphones) accessing building-sized computers (datacentres) over the (wireless) phone network.

We can be more charitable by treating all of a company's datacentres as one big, distributed computer. In which case, what's the world market? It's easy to pick 5 that cover a big chunk of it; e.g. Facebook, Google, Apple, Microsoft and Amazon :)
Breath, drink, eat, sleep?
Better the document than the account!

Anyone know of a Google Drive equivalent for https://github.com/jay0lee/got-your-back/wiki, which implements backup and restore for GMail? Closest I could find was https://github.com/odeke-em/drive, a popular command line client.

--

It appears my Google account is slated for deletion | https://news.ycombinator.com/item?id=15234207 (Sep2017:266 comments)

>My YouTube account was suspended for uploaded/embedded portions of AQ vids used for analysis for U.S. v Pfc. Manning. It appears my Google account is also slated for deletion

Ask HN: Did anyone use ruinmysearchhistory and get Google account suspended today? | https://news.ycombinator.com/item?id=11880008 (Jun2016:116 comments)

>I think it might have something to do with the "ruin my search history" viral thing yesterday

Dumped by Google | https://news.ycombinator.com/item?id=5591133 (Apr2013:193 comments)

>My data was intact save for the last thing I’d worked on–a spreadsheet containing a client’s account numbers and passwords

Google account disabled for 6+ days. Some thoughts | https://news.ycombinator.com/item?id=354593 (Nov2008:53 comments)

>I haven’t been told yet why it was disabled for a week yet, oh well…
Bitcoin Futures Could Open the Floodgates for Institutional Investors
Apple Releases iOS 11.1
It is obvious that you did not scan your comment for any errors for 10 seconds before you submitted it. Try a little game and find the error you have made.
Oh no! Investment in restaurants, which are profitable, will continue until restaurants are no longer profitable to invest in!
I approve. What are your setup costs? How do you plan to gamify/integrate persistent identity? How to keep your legal overhead small? How to protect people's anonymity (eg for migrant workers or other marginalized people who may not want to go through an application process)?
Uber Might Make More Money This Year Selling Real Estate Than Selling Rides
... unit testing is automated, repeatable, code review!

Except when it isn't.

"Unit tests can be one form of code review (that also happens to have the advantage of being automated and repeatable). But should never be mistaken as substitute for actually understanding what the code does, why it does it and how it got that way. Which requires an incompressible amount of effort, analysis, and plain and pure grit", would be another take on the matter.
really? you don't think its evidence that we invest varying levels of effort into things we care about? thusly, a candidate with typographical errors is closer internet-comment-level interested effort-wise in the position.
Resources: Executable Files (ELF, Mach-O, PE) and Debugging Data (DWARF, PDB)
This is not the impression I had when I was developing with it, but that was 3 years ago so I might need to revisit at some point.

I see python good for quick dev though, so if I do re-visit I'll probably use something lighter like Flask.
Perhaps you are paranoid which is in no way related to weed.
Agreed! It is an exciting time for CSS right now. In my next two articles I plan on: (1) covering the origins of CSS-in-JS and CSS Modules, and then (2) developing a strategy for choosing the right CSS methodology or framework for your project.
I work in an environment that despite having varied departments and significant bureaucracy, and some software written to run on Windows XP and not updated since... has 100% of Windows clients on Windows 10 with the latest cumulative updates.

And shockingly, everything works. Business happens. It's not actually a hard transition. (Actually, at a former employer, they scripted the upgrade process and shipped it.)

If it can work in my environment, it can work in any environment, and nobody has any valid excuses.
Technically, but maybe not bureaucratically.
I don't even mind the telemetry data as some of the in your face passive advertising and additional "features" and apps I could care less about. I finally went linux on my home desktop a few months ago, I was so sick of it. No, I don't want Edge as my main browser. No, wtf is this contacts thing you added in that I can't seem to remove. Can you please get rid of these cards for apps I don't have installed? No, I don't want to install MS-* now..

I mean, just give me a nice OS to work with.. hell, I like Windows 10 fine, if they'd stop shoving adware down the update channel.
7% on hosting revenue sounds like a great accomplishment but what's relatively a good ratio to look at?
Edge also runs on iOS and Android now. (Albeit using each OS's respective rendering engine.)
Do you have a separate repo with unit tests? If not, how do you test the charts?
Also checkout the Gantt lib we published earlier https://frappe.github.io/gantt
It's also shrinking on Github participation, which I don't think is good. Are you saying that Clojure is growing, but it's growing with people who feel like giving back less?

Meanwhile, Scala is skyrocketing. I would imagine that this is because Clojure somehow missed the big data race.
> I haven’t seen a serious investment in education from Bay Area companies, probably because attrition is higher and it’s not seen as a safe investment.

Google provides partial tuition reimbursement: https://www.quora.com/Does-Google-provide-100-tuition-reimbu...
Zoomable image of universe: Most amazing photo ever? 2012
IEEE Computer Society research into Twitter: jihad, gangs, influencers
By arbitrary dimensional, do you really mean N-dimensional, or just 3D with more channels of data (than just RGBA), or just larger 3D spans?

The OpenGL and WebGL primitives aren't really suited for N-dimensional data since there are specific buffer types and intrinsics for 1D, 2D, and 3D texture handling. You can fake more than 4 channels using more than one texture. You can't really get around the per-axis size limits because these are points of portability and also directly related to resource allocation limits in practice, i.e. GPU RAM is consumed as the cube of 3D texture span.

You can abuse WebGL textures a little bit by turning off interpolation and using nearest sampling as if it were a basic array access. But then you still have to write your own array packer and N-dimensional array addressing arithmetic to map the ND coordinate into the 3D coordinate needed by the texture sampler. And you still have to live with such tiny texture size limits that it seems quite pointless except as an academic exercise. I've used this to fit larger 1D arrays into a 3D texture without exceeding a 1024 or 2048 per-axis limit.

Actual ND techniques are more feasible in a GPGPU language like OpenCL, where you have more basic memory access and SIMD intrinsics. But I think it will be quite some time before these capabilities are exposed in a web language and also with sufficiently high resource limits to do anything non-trivial.
I actually like it when services that host my data have some protection against unrecognized devices accessing it.
Maybe it's only difficult to test end-to-end? I would assume there's code in there that's algorithm-like. Give it these inputs, it should return these outputs. If so, it should be possible to isolate that code and test it.

But, I dunno, I haven't looked at the source code. It might be very difficult to maintain.
definitely more advanced. they don't cover neural nets 101 like cs224d does, so they have more time to do advanced subjects like neural machine translation, neural Turing machines and question answering in the last courses.

honestly i would just watch both, and start with cs224d, but if I would have to pick one, it would be Oxford's.
Yes, it has the halting problem for a machine much less powerful than a Turing machine, where the answer is always yes unless the thermostat fails. The idea is that just like there are programs less powerful than the halting oracle there are statements less powerful than the completeness of arithmetic.
That's not a real risk. That's an outcome. A risk is something that LED to that drop in conversion. It could be a competitor coming in with the same feature set, or something else. But a drop in conversion is not a risk, it's an outcome.
> Why would you not want to know about these bugs immediately and fix them early in the development process?

That's a good question. But enforcing your codebase to be a Rubix cube you have to twist and turn until the static type checker says Yes is not trivial. Its a tax.

The real question is whether that tax is worth it when your goal is purely business delivery and not something else (eg, intellectual stimulation). Is it?

Writing unit tests and code review are other means to root out bugs. But they also come with a tax. When are they worth the tax and when are they not worth the tax?

In some cases we judge they are. In other cases not.

A statically typed language typically asks us to turn off our brain and apply type verification everywhere. In this way, statically typed languages wield type verification more like a religion than a tool.
Very cool, controls are a bit awkward though.
It is very counter-intuitive, but speed increases safety in an aircraft type both as a function of hours and as a function of miles. This is an empirical fact that's true for both military and civilian aircraft, I was looking for the US Air Force chart on this, but couldn't seem to find it. Not to discount other factors, but the OP is correct that speed increases safety. Maybe someone with more Google skills can find this chart.
One big disincentive (at least for web articles) is that I tend to not know the actual value of the article until after I've read it. I don't want to pay 50 cents for an article, only to read it and realize they just copy-pasted a press release from Intel and did no actual reporting
Here's the conclusion of the article:

It makes sense to keep Arrow and Parquet/ORC as separate projects, while also continuing to maintain tight integration.

You might enjoy reading it to see why.
And note that's after cutting that bill in half by moving off AWS.
> Something being expensive doesnt give you the right to consume something without the permission of the one who made it.

Of course it doesn't (except in some special cases, but that's another debate, and doesn't concern games - see life saving drugs for example).

But the discussion was about DRM and whether they work - IMHO they don't, because the main reason behind piracy isn't accessibility, but too high (price/perceived value). So - limiting accessibility of piracy isn't going to stop it.

Also it would have worked by now if it worked at all.

Also also :) EU did a study in 2013 which found that piracy doesn't really hurt sales, because most people who pirated X and haven't bought it later - wouldn't have bought it anyway. https://cdn.netzpolitik.org/wp-upload/2017/09/displacement_s...
Announcing TypeScript 2.6
That assumes those three border configurations are equally likely. In this case, I think that is true, but in general, I don’t think it is true that all possible border configurations are equally likely.

For example, if you add a fifth row of xxxx to your example, ignoring what we know of the third row, the expected number of mines in each row would be one. That would make the first configuration, with two mines, less likely than each of the other two.

Similarly, if, in your example, there are only 2 remaining mines, the first option is less likely, if there are 5 missing mines, the first is more likely, and if there are 6 missing mines, the second and third cannot happen.

Things get even more complicated if one assumes the mines aren’t placed uniformly, for example because the programmer wants to avoid areas of the field completely separated by mines.
> Most "situated" programs are in the business of processing information according to complex and changing rules, in cooperation with other programs (i.e., a system). Many languages, though, are overly-concerned with how they represent data internally: classes, algebraic types, etc. This "parochialism", he calls it and "concretion" about how data aggregates should work, make them hard to adapt when processing rules change, and make it hard for their programs to work in systems.

It doesn't if the systems are well-designed sytems, comprised of loosely-coupled components, something like you'd get if you used 1970s structured analysis and then actually modeled the implementation closely on the DFD with communication over a message bus with a fairly neutral messaging format.

When you start tightly coupling components (e.g., by using a messaging format tightly bound to an internal representation), using ad-hoc component-to-component integration rather than a common message bus that is abstracted from the individual components, and generally do the system engineering badly, then you have a whole pile of problems, some of which are exacerbated (but not caused) by static typing, sure.

By static typing is not the problem here.
The prof is in the pudding.
It'd be great if it worked right.
Certainly mods actively edit useful titles, explanatory titles to replace them with the terrible, unclear original title (Steven Hawking's PhD thesis is a good recent example).
Probably the culprit is

>> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax... type="text/javascript"></script>

Mathjax is usefull to add formulas, specially in pages with a lot of integrals, square roots or matrices. In this case it's a too powerful tool, but I guess that the author just uses it in every article.
He didn’t say anything about working on his own app. He said he was going to take care of his child. I’m not saying he won’t be doing that but it wasn’t in the OP.
That would depend on the cipher mode, no? Assuming the container is using something like CTR, the diff should only consist of changed bytes.
Sure but the question is, how much of that silicon do you need for your house vs. your car battery.
Rise of the Zombie Bitcoins
PSoC dev kit is also extremely cheap!
Lively.lang: Utilities for JavaScript
Dynamic Relational: https://news.ycombinator.com/item?id=15352786

Release an open-source version, but have a fee-based "enterprise" edition and/or provide fee-based tech support, similar to MySql's and Php's business model.

Organizations often need something dynamic, such as during prototyping, but want to leverage existing RDBMS knowledge, principles, and the SQL language. The Dynamic Relational model can tighten constraints as a customer's project matures. The "NoSql" movement showed that dynamism is a sought-after database trait.
> This kind of thing doesn't stop people. I think it just means you end up with fewer good products to use.

To be more clear. This won't stop the vast majority of people. They want to use good products. If it's good, they will use it.
HTPP - hypertext packet protocol
So you love that people give feedback? Just because the application is now popular doesn't make that feedback invalid.
Show HN: Simple Client-side Translations in JavaScript
It is the only thing reliably using 10-20% of my laptop's CPU, while idle. Having the Slack iOS app even open drops my battery at least 10%/hour. Even Facebook's app or using a mapping app, actively listening to the GPS birds, don't do that.

My employer dictates the choice of communications tool. I don't just get to "pick another service entirely."

EDIT: And their site's 2FA (which I'm required to use, because $work) also reliably gives me "too many login failures" on the first login attempt, so using it in a browser tab is a non-starter, even without also losing desktop notifications.

With the amount of money they've been given, both by VC and by customers (I know what we pay them per month, and although we're not a small company, we're far from their biggest customer), this quality of software and service is absurd.
"So if I take time off to watch our child while my wife rebuilds her career, and maybe move to a different career myself, somehow I'm penalized? Pardon my language, but fuck that."

Agreed. Anyone who wants to implement some kind of asinine policy like that should instantly be forced to spend the next 6 months unemployed, and then try to find a new job.
This assumes we all follow the same scale. A Camry could be the best car for me because I want a car that cost little money and will continue to work for years with little up keep. Where as the Ferrari may be the best for you because price is not a limit and maintenance is a non issue. In both cases we got the best car for us.
I got my information from [1] and it only mentions gcc for the backend meant for porting, so I just kind of assumed that it would be using the native backend for all platforms. (Admittedly [1] is perhaps a bit out of date, thought.)

Certainly, it was just nitpicking, regardless.

[1] https://downloads.haskell.org/~ghc/7.8.3/docs/html/users_gui...
You're absolutely right. Thanks for pointing that out.

I was using theorem and proof as an analogy to illustrate the separation of specification and implementation.

A useful distinction as you get further along in writing formal specifications.

Update: typo.
Not everyone wants to build a business.
Maybe we just miss him the most?
I don't understand why people take on a franchise, it appears to be the worst of both worlds to me.
This is a simple JS translation lib I implemented for a Cordova App that needed key based translations.

JS Fiddle: https://jsfiddle.net/wvjvxeug/
The Windows 10 PC's in our office are a constant source of headaches. Random errors and crashes all the time. I don't get it. Windows 7 gives us almost zero problems.

My gaming PC will have Win7 until I'm forced to upgrade.
Google didn't ask about my degree until I already had interviewed and passed the hiring committee. It's far from a requirement.
Here's the crux of your argument - and I honestly think it's a flawed premise: The failure of unit tests indicates something other than "Something Changed".

Were the failing tests due to John/Jane's correctly coded changes, regressions, or bad code changes? The tests provide no meaningful insight into that - it's still ultimately up to the programmer to make that value judgement based on the understanding of what the code is supposed to do.

What happens is that John and Jane make a change, find the failing unit tests, and they deem the test failures as reasonable given the changes they were asked to make. They then change the tests to make them pass again. Again, the unit tests are providing no actual indication that their changes were the correct changes to make.

WRT the advantages:

1. "design your APIs before implementing them" - this only works out if we know our requirements ahead of time. Given our acknowledgement that these requirements are usually absent via Agile methodologies, this benefit typically vanishes with the first requirement change.

2. "makes it easier to keep productivity high for hours at a time" This tells me that we're rewarding the wrong thing: the creation of passing tests, not the creation of correct code. Those dopamine hits are pretty potent, agreed, but not useful.
This would be https://en.wikipedia.org/wiki/Muphry%27s_law in action. :P
Well... use in projects is an indicator, not a proof, of utility. Not all choices are good ones, inferior & redundant products are crop up on a regular basis, and to the dismay of many in this community, sometimes win out. Happily, from the article, Arrow, doesn't appear one of them, and has its own unique and justified niche.
Google shuts down flight search API
From email - not posted elsewhere yet.

Dear QPX Express API Customer,
After careful consideration, we've decided to shut down the QPX Express API as of April 10, 2018.
How this affects you
After April 10th, you will not be able to access the API and will no longer be charged for this service. Until then, you will be charged a reduced rate of $0.02 per query for any queries beyond the 50 free daily quota.
Next steps
You don't need to take any action. However, if you are actively using this product you may want to find an alternate solution before April 10, 2018. If you have any questions about these changes, please don't hesitate to contact us at any time.
Sincerely,
The QPX Express API team
Lively.vm: JavaScript evaluation on steroids
Disappointing that another Google service is being killed. This one was fairly useful for saving flight searches for use with alerts.
Nine Steps to Delivering Defect-Free Software (1997)
Ah, but interestingly, inhibiting either cox pathway independently doesn't damage mucosa. you have to inhibit both, simultaneously, and the limiting factor is the one that is the least inhibited. So it's not just "COX-2 good, COX-1 bad", it's actually "Either pathway is fine to inhibit selectively as long as you don't inhibit both"
When I write a test after altering/adding code, I will generally stash the altered application code, and run the test I wrote on unaltered app code to confirm that it fails.

As long as one maintains decent version control discipline, you can be pretty confident that the test is valid with this technique. (It does get a bit more difficult when there are schema changes, but then it also encourages good discipline and vigilance when you're making schema changes ;)