skysight-inc/HackerNews huggingface dataset:
I'm wondering if this trend of moving to proprietary protocols is because of business or because of technology. And it's not just messaging either.

File storage are moving from standard calls like fopen() to using the Dropbox API or Google Drive API.

Phone calls are moving from device-agnostic copper wire to Skype or Google Hangouts.

Taxis are moving from wave your hand to proprietary Uber API to proprietary Lyft API.

But then again, back in the day, competing products in a single market (e.g. Zip Drives vs. LS-120) were still sufficiently similar that it was possible to use a single API to access both (e.g. fopen()). Nowadays, competing products in the same market (e.g. Dropbox vs. Google Drive) are so different in implementation and feature set that it's inherently difficult to come up with a single extensible standard that covers both.

So are we now in an age where everything will remain proprietary for a few decades due to technological limitations?
Yeah, I don't think that it is boil the ocean difficult but there is definitely some complexity there.
I have been working on a scala WebRTC server, but I am not sure if it would really work at a large scale

Here was my basic approach:

An end user creates a PeerConnection with a Publisher node and starts sending a MediaStream using a string identifier.

Then another user can create a PeerConnection with a Subscriber node using the same identifier.

The Subscriber node then makes a request to the Publisher to make another PeerConnection to a Registry that exists on the same node as the Subscriber.

The replicated MediaStream can then be attached to the Subscriber.

Since the replicated MediaStream is in a Registry, any additional subscribers can attach the MediaStream on the same node as well.

The code is a huge mess but it is here (The scala server is in the media directory):
https://github.com/jgrowl/livehq

There is a vagrant file that brings up the whole system at the root of the project (using docker). I have not tested it recently on anything other than ubuntu.
Page link is not working... please modify.
His "business" that made about $200,000,000 off obviously copyright infringing material. Kim Dotcom is as sleazy as they come. I think he deserves to sit in a prison cell. Other folk may disagree with me, and that's fine, but he very much deserves to face a jury so that they can decide.
Very odd. The list concludes with three skilled trades that share the name engineer, but don't have the same requirements for education and certification as (say) civil or electrical engineering. Now, I expect that the insurance companies see to it that all of those working as locomotive engineers have more rigorous training than many of us working as software engineers, and the same may be true for some operating engineers. Still, the list suggests a certain carelessness.
At work we don't use Sococo but instead rely on Skype, Google Hangouts or Lync (depending on the project/client), but our experiences have matched what JoeAltmaier has said so far.

Whenever possible we prefer everyone be connected individually as opposed to sitting together in a conference room. The conference room becomes a distraction, impedes proper communication between all members and the attention spans increased when everyone connects from their workstation. The conference room creates two areas with two distinct conversations so if we're really aiming for an integrated environment we enforce people connecting from their workstations as opposed to using a conference room.

Culturally it also spreads that idea that those sitting together are better than the remote workers, which given our line of work is an unproductive idea to keep propagating. And while there might be differences, they pale in comparison to the negative impact that ignoring or discriminating remote workers has in our projects.
Work, they also block my online friends blog about living on a canadian sailboat*. Of course I can get on facebook and youtube and hell even reddit/somethingawful so for the life of me I cannot work out why tuglife.ca would be so terrifying.

Alas.
You're confusing eavesdropping law with tracking in general.

(You're probably thinking of the one party vs two party consent issue: https://en.wikipedia.org/wiki/Telephone_recording_laws)

If I were to somehow create a Game of Thrones video file that "phones home", yes that would need to be disclosed.

If I want to add an invisible watermark to a video file and note who got the video with that watermark, that is legal.
Any thoughts on how this will compare to Silex?
Well, the project is kind of a combination of both. There's a server that receives commands from the scraper. So it's kind of like a "web screavper?" Ha.
"Core OS" has been a WWDC track as long as I can remember, possibly even pre-dating the iPhone. It's likely not called Core Frameworks because the two do share an OS, just not the user-facing pieces.
Holy crap digg.com still exists!?
Raspberry Pi gains an E-paper display
Pretty nice article!

The only thing I'd say is about your "extensibility" section. The value of this is a little abstract. After I learned programming Basic as a kid, I put it aside for a few years because I felt like I had "outgrown" Basic, and couldn't really do much interesting with it. Part of the value of Python is that it will "grow up" alongside your knowledge of it: you can program turtle graphics in Python when you're 12, or program your raspberry Pi, or build game mods, but then also know that you can use SciPy/NumPy when you go to college, or be able to use it in real, powerful applications.

How do you address Python 2 vs. 3 in advocating Python to kids?
Apple's ResearchKit framework for medical researchers is now available
Have you seen anyone go to jail for siding with the surveillance state? Laws only apply if they are enforced.

As for the ToS, I'm not sure you can say someone is bound by a set if rules they can change at any time without notice. They may have already changed the rules and simply not made the changes public.
Valuing Creativity
Apple Announces ResearchKit Available Today to Medical Researchers
I spent some time with the keyboard. It's not terrible. It's very different in feel from the Air/Pro, especially when typing fast. It takes some getting used to but I would not complain if this keyboard made its way to the MacBook Pro.
OT but can someone explain this?

PHP: Starts reading from database, blocks everything else, returns data.

Node: Starts reading from database, lets it go and continues with other stuff until the data is ready and then returns it.

I understand it in theory but since Node is single-threaded, doesn't it need to use that thread for the database operations? Which means it's blocking the program until it's done anyway?
So true. I feel like now is an extremely exciting time in technology.
Rendering KC useless by using CC as I described is equivalent to breaking KC. There is no other way of messing with KC when used the way I said. And you won't break KC by chance with your CC. Many people respond like you did and they simply didn't think about what I've said and repeat old ideas.

I hate people.
Where's the source for the benchmarks that are displayed as the first item on the project page for this?
halfhonk, gyrate.org, mija.nu (nay), etc. I remember all of them.
What I Learned Scaling Engineering Teams Through Euphoria and Horror
This is almost always less secure than KC alone, when KC is a well-known secure cipher.

A simple example would be a CC that hex-encodes the plaintext before applying some transformation on the data (before you laugh, this exists in enterprise systems today). This means CC would effectively expand the underlying data 200% (0xA1 -> 0x4131) and substantially degrade the security of a block-based cipher (32-bit block -> effectively 16-bits).

Here's a link to a practical case of unsafe composition (in hashing): http://blog.ircmaxell.com/2015/03/security-issue-combining-b...

A bit more detail on randomly composing encryption algorithms: http://blog.cryptographyengineering.com/2012/02/multiple-enc...

edit: It would be better to compose CC(KC(P)) so CC can't leak any information about P or degrade KC. Any reluctance to show the world the output of CC should suggest the low-practical-value of CC.
95% of the more complex errors I've seen* in CSS have been some combination of a misunderstanding of positioning (https://developer.mozilla.org/en-US/docs/Web/CSS/position) and the box model (https://developer.mozilla.org/en-US/docs/Web/CSS/box_model). The other 5% of relatively complex display errors are actually due to unfortunate choices when writing the HTML.

I think once you understand those, the rest is really quite simple. Media queries, clever nonsense with things like ":target" or ":not([class]) > div > img", it's all ultra-simple because there are no logic bugs you can introduce once you know the syntax – the only logic you need to think about is in the positioning of elements on the page.

As a backend web developer, you will find it all very simple. A bit of bloody-minded Googling will solve the majority of your problems, and the CSS answers on StackOverflow are more helpful & polite than they are in many other areas.

For HTML, some features I have found useful include definition lists, dfn, nav, header, section and article elements. It may also be useful to check out Schema.org.

So I guess my recommendation is to get the box model and positioning down pat for CSS, and get semantic elements down for HTML5.

If you like genuinely clever and awesome tricks, check out Lea Verou (http://lea.verou.me/).

*"seen" as in "made myself"
I saw this a while back and then forgot to go back and check it out. This looks interesting. Thanks for posting.
That really put this in perspective. The site started 2 years before google.
I remember someone from In-Q-Tel giving a presentation to one of my college classes. He explained that the company's name came from the desire to bring industry innovation to the US intelligence agencies; they are literally putting "Q" (the innovator/gadget guy in James Bond [1]) in "Intel".

[1] https://en.wikipedia.org/wiki/Q_%28James_Bond%29
Does RethinDB has a concept of transaction? My question is actually about restoring a lost node... If a node is rebooted, will all the data for its shards going to be sent again? Or just the delta?

Similarly if I have to rebuild a node from scratch, is there a way to prime it so that a massive copy of all the data in the cluster gets copied to it from the other nodes?
“Selfie sticks” banned at WWDC 2015
A single downvote can be an anomaly (accidental tap, for example), best not to worry about.
Time value of money - meaning that its better to have a $1 today rather than a $1 tomorrow - isn't really an arbitrary thing. If its not true, then we have deflation.
You can spin up RethinkDB today with https://www.compose.io/ (it's surprisingly easy, and their support is awesome). It should be pretty easy to get a RethinkDB Heroku plugin based on Compose. If the community doesn't get around it, we can probably do it internally pretty easily.
It's the same learning path as other MS stuff - by the books- which are pretty swell.
http://fsharp.org/about/learning.html
> If you're a producer, your first and foremost care is your consumer.

No, this is not true, and it's pretty clear everywhere you look. If you're a producer, your first and foremost care is money, not your consumer. Sure, appealing to your customers is a good way to get that money, but it's not the only one. Why do you think that, to pick just one example, companies put so much malware on the computers they sell? Because they calculated that they can do something against their clients that yields extra profits but is not annoying enough for the clients to switch.

Customers are just a proxy for profits.
To me "Withings" sounded like an English surname featuring "wi" as in "with" and a voiced dental fricative "th" (like in "though"). Like "Witherspoon" or similar. It didn't even cross my mind it could by "wy-things" or "wee-things".
You can easily refer to a version by specifying it via hash

some-user/some-module#1.0.0

Now this is not very robust, as it does not manually incriment semver. That being said a module it not a git repo. There are pre-publish hooks that can be used to execute scripts before publishing. Further, tracking off of git introduces an entirely new set of problems from tracking tar balls. I can see why the team would not be particularly interested in investing time in it.
I'd be interested to see how the current approach has been proven to be more secure than userns, though I can well beleive it. I do agree that dropping capabilities is good, however, even with the reduced capabilities provided, the kernel is still a very large target, and so I would sleep a lot easier with userns active (in addition to capability (and mb even seccomp ;)) filtering) on all my containers. It just seems like such a free win (and I appreciate how that must sound to the people who are implementing it).
I guess it depends on your ability to manage/focus. The same Cisco CCNP training course (almost to the word) that you can get online from Udemy for $50, costs $6200 in an 11 day onsite format with Unitek.

There's a reason why Unitek continues to sell out their classes - and it's not because companies (which is who mostly pays for these classes) don't know about the video courses, but because they realized spending $6200 and having their employee 100% focused for 11 days on learning about network engineering has real value.

Presumably, the same thing applies to going to WWDC - you go there for the 100% focus, and you also go to (re)establish relationship, and for the social events.
Now if only Meteor would support this all would be good in the world.
First I learned a ton more than I would have sitting at the house. Back then the videos were only distributed to conference goers (maybe ADC members too), then they opened it up to purchase access a couple of years later, now it's free. In 2007 and prior really the only sources you had were the Aaron Hillegass book (which still sits on my shelf) and a handful of scattered blogs or examples around the internet. 2008 was the year of the iOS App Store and a huge shift.

Networking was a huge thing that I should have done more. 2007 only had Mac sessions, with a few mobile web sessions. Nearly every big name Mac shop was there, in full force. Most of those shops have had to send fewer people lately, but they are still represented. Plus tons of new companies now. You'll never know who you might end up meeting. They offer plenty of time and places to do that while at WWDC.

The labs are the #1 reason to go WWDC. You get to talk directly to the engineers in charge of the frameworks. Bring them your app, code, and any issues you are having. For some people this is worth the cost of admission alone.

If you are just going to sit in on some sessions, I'd stay at the house and save the money. If you are going to network, use the labs, plus do all the extras like Stump the Experts, Design Awards, etc then it's definitely worth going.
Smart Robots for Curious Minds
Historically the name came first. Engineering would start working
on a new version, Foo, and later on Marketing would decide it if was
going to be 1.3 or 2.0

At least that's how it worked in commercial software. Now the names
have taken on a life of their own.
I found this particular one from LinkedIn of all places but some great websites for remote work:

http://careers.stackoverflow.com
http://www.remoteworking.io
https://weworkremotely.com
Except that #14 is for April 2014.

The Tiobe score for F# improved by +0.23% (which might be from March 2015 to April 2015).

afaict the data tables for previous months are unavailable, and not recoverable from the Internet Archive because of the way the data is displayed.
Drone delivering asparagus to Dutch restaurant crashes and bursts into flames
Do you now if there is any speculation as to whether or not the new AppleTV will also serve as the HomeKit hub?
I have a similar story. I remember when my group of 7 community college grads all transferred over to the local uni. We all signed up for the Junior-level weed-out course (you could pivot at that point and switch majors to I.S. without too much headache).

I think the class started with about 60 people, and ended with 11, 6 of which were my community college peers. All of my group worked up through school and graduated with top marks. It was funny, years after we had all met at CC to be standing on stage during our University graduation all receiving some kind of academic award.

In general I'd say that most of my CC professors were more dedicated and accessible to teaching than my uni professors (with a couple exceptions). I remember several fond Saturday afternoons in the library where a couple of our professors would hold tutoring classes for students struggling with pointers and other hard to get concepts.

I have the sense that none of my CC classes were weed-out courses, the notion was that all of the students in attendance had already been weeded-out by life in some way and were being given the golden ticket of a second chance.
> I honestly can't see it staying king once browsers can support other languages.

Theres no way this happens anytime soon. Google already tried that with Dart and it failed.
That hiring myth is a killer. Project I'm helping on would have been much better off with F#. But the CTO is very scared they wouldn't find "F# developers". Despite any C# dev worth hiring would not have a problem learning. Despite that his second hire just happens to know F# anyways.

There was also concern that "valuation of the company might tank due to use of non-standard code".

I think these are incorrect ideas. I'd take some pay cut to work on F# code instead of C#. Everytime I write anything in C#, I keep thinking how easier and shorter it'd be in F#. Just this week, we lost a whole day to a mutation bug:

inputParam.Bar = Baz // oops, now we just updated the callers notion of that .Bar property

Yeah, we coulda caught it in code review. We could have tried to make things readonly, but C# 5 still doesn't have a simple readonly record concept like F#.

I'd guess that if you advertise an F# job you're going to get more good replies, because people want to work on F#. And you can still leverage someone's knowledge of .NET, the frameworks and libraries and all that. So it's less risky than using, say, Haskell, where you're all alone - F#'s still compiling and consuming IL even with all its magic on top.

When I was 7 years younger, I predicted that obviously F# will take over at least 20% of C# development 2010 - it was just too awesome for people to ignore. There was no reason _not_ to use it apart from legacy or bad management, but no one could ignore such benefits. I have, uh, recalibrated since.

(The biggest technical hurdle I had was frameworks that didn't target .NET, but targeted C#. They'd depend on undocumented output of the C# compiler expression trees. Those were a bit of a pain to fix, but not too hard. Another annoying thing is the MVC teams decision, since C# doesn't have tuples, and dictionary creation syntax is too clunky, to pass arbitrary types as parameters (@Html.Foo(new { this="is", just="some", anon="type" }). Then they go using reflection to inspect the properties of the type. That's just dumb and has caused tons of bugs. And would have been avoided had C# a nice way to write lists or tuples or something. But the MVC team wanted it to "feel like Ruby". This isn't _hard_ in F#, it just looks as bad as it is.
Some short term Gilts/Bonds now have negative rates ie you pay to buy them (Switzerland is one example)
It doesn't matter if Npm is ever profitable. If an investor puts money into Npm, they are indirectly adding value to every company that uses Npm. Making sure that a comprehensive dependency manager exists for JavaScript helps every company that uses JavaScript.

Additionally, neither JavaScript or Ruby is nearing their "swan song". Other languages will come out. The current languages will persist.
It's not entirely irrational. If putty wants to grab your credentials they have to ship a broken binary that once downloaded exists forever and can be examined and reverse engineered in the wild. Someone running a web service (or someone who has compromised said service) can target a particular user for a single session and the evidence that an attack occurred will only exist until a few caches get cleared.
Slava @ Rethink here.

We're planning to take the most well-supported community drivers under the RethinkDB umbrella (assuming the authors agree, of course). It will almost certainly be a collaboration with the community, but we'll be contributing much more to the community drivers, supporting the authors, and offering commercial support for these drivers to our customers.
I need to see a citation for this. Something like the parent article exposing how things get mistakenly broken by applying this concept.

It's important to be paranoid about implementing your own crypto, true. But it's not good to take this to dogmatic extremes, ie "never trust any code you write that has crypto in the name or you break everything".

I would never write and deploy a custom cypher. But if I did, and my custom cipher CC, when applied to ciphertext encrypted by AES, somehow leaked any information about the plaintext, then I have accidentally made a cryptanalysis breakthrough that has thwarted hundreds of professional crypto people.

This is unlikely.
This was incredibly helpful, thanks!
Yeah, Ren'Py is the entrenched contender here. It can now generate iOS and Android apps along with desktop ones, it has Steam API support built in for commercial releases using the engine, and the engine using a domain-specific language on top of Python makes it flexible enough that people have put in turn-based strategy, RPGs, etc inside Ren'Py games.
Now we're planning to open the English version of NovelSphere, give us some time.
NovelSphere allows you to publish your game on your own site or any place, with <iframe> tag. And...I'll consider adding sentences which enables you to publish games out of NovelSphere in case it goes down, to our license.
Anyone has some numbers on performance? I tried RethinkDB 1.x and the performance wasn't quite there yet, specially bulk import and aggregations.
Understandable. Similarly Sony is a financial services company , it's core business is insurance.
> In this degenerate world, the most commonly sold service is likely going to be "not murdering you in your sleep and taking control of your factory the next day".

Which will be solved by the third richie who has a military drone production and maintenance facility.
Statistics Will Crack Your Password
Such a shame that Capitaine Train is not present in this list. They have an excellent product (with an amazing UX), solving a real problem (ordering train tickets online used to be a pain in the arse) and with a vision (unifying the European railway).
Expert F# 3.0 by Don Syme et all contains quite a lot of example code, including a simple web app using asp.
Do you support Net Neutrality?, submit your opinion anonymously