skysight-inc/HackerNews huggingface dataset:
> For intance, when is it ever OK to let your client write directly in the database, even for their own data? If you're going to pass their calls through a deny and allow call, why not just expose RPCs to the client that will handle any writing?

If you have a client-side mirror of your server-side database whose changes are monitored by the templating engine, you can execute what Meteor calls "latency compensation", where changes users make are instantly reflected in the UI and synced to the server in the background. This is a central feature of Meteor. More here: https://www.meteor.com/full-stack-db-drivers and in this Youtube video: https://www.youtube.com/watch?v=tqLbodVH3dw

> It seems that a lot of the light versality you have at prototyping time is lost whenever you have to get it production ready. There is definitely some value in light prototypes, but it looks like a real pain to go from prototype to production.

It's actually very easy to go from prototype to production; you just remove some convenience packages (autopublish and insecure), set up your security rules, do some basic performance tuning (eg. don't publish entire documents if you only need 3 fields, which is a standard practice for any app) and that's about it. Of course the definition of "production" varies per project, but after shipping over 20 Meteor apps since 2012 these are the most common things I tend to do.

> Likewise, I'm confused about how to get around the limitations of mongodb. Say you run a store with a finite inventory, how do you handle concurrent purchases? How about a website to enroll into classes? How about a webforum which can have exactly 5 administrators?

You can express most of these in code. Yes, in relational databases you can express constraints in the database. But then you're having a NoSQL vs SQL debate, which is sort of out of scope of this discussion.
I'm sure there are other exceptions, they're just not shown. Humans are atypical, but so are sloths.
New program stings hackers trying to steal passwords
Try SigmaVPN and ShadowVPN. Very simple and stateless VPN implementations based on libsodium.
A little meta, but it's a good decision that Github has separated their technical blog posts from the rest (previously they used to combine all posts in github.com/blog). This was much needed given the nature of their customers.
Letters of an Army doctor who helped free the Dachau concentration camp in 1945
That may have less to do with airborne illness and more to do with dry air, reduced air pressure, and consequent irritation.
In both of your examples, I believe comments in the code are the real winning strategy, rather than the individual commit-messages.

99% of the time what you want is to understand the current code--or at least code at a specific past point in time--as opposed to every transition that occurred.

For the CSV parser, I'd rather see a comment ("/* We use this for >2gb support */") or a test case ( testOverTwoGigsParseable() ) would be a lot more useful than any level of discipline over commit-messages.

For Mary's commission-calculator, it sounds like nobody has access to good "whys" anyway, because they boil down to "salesguy X insisted on it". Instead, the commits are functioning as an auditing/blame tool.
Is anyone using these fitness band things? I feel like they're just a cheap fad with no staying power. Sure they gather lots of biometrics, but what can you actually do with that information?
What's the track record for the "startup tool?" And if it's not funding, where does the value proposition lie? By which I mean that good resources for startups are things like YC, not growth hacking and digital marketing consultants. Those may be niche, but generally don't create products and services.

That said, I wondered what you were trying to pitch so I looked at your profile. There was something about politics. And something that roughly devalued expertise. What you're selling, your SO profile, your FOSS contributions, or even that you know what problems devoperators and founders face were not to be found.

Not exactly demonstrating mastery of social media, either.

Good luck.
Retail Outlets on OpenStreetMap: Cartograms, and Patchwork Quilts
The Hanging Threat of Cybersecurity Escalates US-China Tensions
bold guess, since it's already < 100%
Actually, they do age like you age, obviously so for the car and the device where it is a matter of breakage of components, and for the wine and the cheese more a matter of drawing analogies with specific biochemical processes involved in aging.

Reliability theory applies very well to aging, just as it does to the aging of machinery, and its high level models reproduce reality quite well:

http://en.wikipedia.org/wiki/Reliability_theory

http://en.wikipedia.org/wiki/Reliability_theory_of_aging_and...
Heroku Review Apps Beta
It is this approach that leads to the "Full Employment Act of Security Professionals" everywhere.
i have leechblock installed on firefox to block certain sites, and if you click your hn name on the top right corner you can turn on the "noprocrast" setting to limit your usage of hn
> We do have "sound engineers" and "special effects engineers", consistent with a vernacular use of engineering to mean "the ingenious use of technology" (made up by me).

And railroad engineers! Can't forget them! :)

> One thing that makes me worry less is the restructuring of the FE exams to reflect the body of knowledge in the various fields.

I don't know anyone that took their discipline-specific FE exam instead of the general one. Way back in undergrad, it was suggested that the general exam was easier. Do you know what the advantage is of the discipline-specific FE exam?

> Another interesting thing I learned is that certain fields are just title based - I believe that this means you can't represent yourself as an "Industrial Engineer" in a professional context if you aren't a PE, but there isn't a practice restriction (at least that is how I interpreted it, because I don't do either it doesn't really affect me).

That's certainly the case for systems engineering, which feels related to IE, but IE has a PE exam and systems engineering doesn't. You look at the projects that systems engineering is applied to, and they're certainly the sort of critical things (like aerospace) that you would want oversight over. I guess those in charge see the systems engineering trade association handing things fine without NCEES getting involved. Long live the industrial exemption I guess.

I'm curious to see what happens to software consultancies, and if perhaps principals are going to need a PE like you would see at other engineering firms even if they're not handling safety or mission critical projects. A PE certainly helps in qualifying as an expert witness. This point goes towards your concern over scope creep, certainly a valid one.
No diversity = blind spots. How many startups aren't serving needs because they're simply not the needs of those founding the company? And how many are missing the bigger picture on the product because they don't have someone on staff who sees things differently?

Taking a slightly roundabout example: AFAIK Pinterest was founded by men and the core team is the standard valley profile, however it has primarily a female userbase. In that case the user demographic doesn't match the initial team's demographic. However, one has to wonder whether Pinterest would have happened sooner if there were more women in the startup community, and whether there are other similar opportunities that address a huge need for a demographic not usually represented in the valley. Another example: pigeonly. A really cool company, an idea that springs forth from a different experience in the world.
Tone: An experimental Chrome extension for instant sharing over audio
I think at the level of complexity of current day products, the "think for the first 75% of the time" is flat out impossible. Certainly some of the complexity is incidental, but much of it is necessary for the sort of product we have today.
Very good point. Hard to know who is right without data, which I can't imagine we'll find. I know for a fact that if I were a flight attendant, I'd certainly make sure I had the latest flu vaccine, etc.
Perhaps because building a diverse workforce that gives everyone opportunities regardless of culture/ethnicity/sex/gender/sexuality is the right thing to do? I mean, having a culture of shipping is great and all, but it shouldn't trump ethical and moral concerns.
I think the difference becomes clear when you consider that a language syntax is not just source code. Raw, text source code is just the means by which humans express utilizing the syntax of the language. Once that source code file is tokenized and parsed, it's no longer tied to whatever that text was. It becomes an abstract object in memory that either represents a process (a series of machine instructions) or is fed to a process to be manipulated and processed (i.e. interpreted scripting languages).

For example, this blog post walks through McCarthy's original specification for Scheme: http://programmingpraxis.com/2011/11/01/rip-john-mccarthy/

apply[fn;x;a] =
[atom[fn] → [eq[fn;CAR] → caar[x];
eq[fn;CDR] → cdar[x];
eq[fn;CONS] → cons[car[x];cadr[x]];
eq[fn;ATOM] → atom[car[x]];
eq[fn;EQ] → eq[car[x];cadr[x]];
T → apply[eval[fn;a];x;a]];
eq[car[fn];LAMBDA] → eval[caddr[fn]; pairlis[cadr[fn];x;a]];
eq[car[fn];LABEL] → apply[caddr[fn];x;cons[cons[cadr[fn];caddr[fn]];a]]]

This is a type of source code. Notice it even includes non-ASCII characters. But this code isn't executable as it is. It has to first be translated into a program, somehow. See the first reply at the original link, which I will not reproduce here, for brevity.

It is a Scheme interpreter. The call to `evaluate` at the end of each test function is where the program gets interpreted. No, it is not a Scheme source file, but it is Scheme syntax, written in Python.

Similarly, LINQ to SQL is a SQL syntax written in C#. Your LINQ expressions are C# code that construct objects that will be interpreted in a SQL context. LINQ to Objects, on the other hand, is NOT a SQL syntax, it's just a library. Even though the function calls look exactly the same, because the C# code you write defines objects that then execute in a C# context.

Of course, that's not to say most "DSL"s haven't misused the term "language". I see it applied a lot to interfaces of chainable method calls. It isn't a new language, it's an exploitation of the existing language. The code still executes in the host language's context, it does not define its own contexts or semantics in any way.

Look at Emscripten. Is it C because that was what the code was written as, or is it JavaScript because that is what the code gets translated to? It's C, because it creates an execution context within the JavaScript code to recreate C semantics.

Look at this toy language I once wrote (https://github.com/capnmidnight/betty-boop/blob/master/loosp...) and a Pong game that uses it (https://github.com/capnmidnight/betty-boop/blob/master/pong....). Is the Pong game Scheme because that's what it was written as, or is it JavaScript? It's JavaScript, because though the code looks like Scheme, it executes like JavaScript, it's just a different syntax that gets translated away.
"And by that, I mean I hope they are put into a persistent vegetative state during a prison riot"

That's a little more invested in your work than i think is healthy.
As a recent newcomer to OSMC: It's awesome once it's set up. Finding some of the options though can be tricksy.
Yes, but 0.1% over inflation returns come with virtually no risk
> Amazing how we still haven't figured this one out yet.

Because humans tend to gain scientific knowledge much faster than they learn from their social mistakes. Managers deal with human relationships, but they really can't apply scientific knowledge to social knowledge.

> I guess it's just too hard to justify your cost without having deliverables (code commits, in this case).

Some domain might do, where the expectations or the competition are very high: military, security, console programming.
Hey there, I'm Joey, a Firebase dev — last November, we shipped advanced querying support[0] to address this! You can now use orderByChild(), orderByKey() or orderByPriority() to build a query.

We also have limitToFirst(), limitToLast(), startAt(), endAt(), and equalTo() methods to further filter your data.

This allows you to build queries like this:

ref.orderByChild("weight").limitToLast(2).on("child_added", function(snapshot) {
console.log(snapshot.key());
});

Please check out our querying docs[1], and let us know if you have any questions!

[0] https://www.firebase.com/blog/2014-11-04-firebase-realtime-q...

[1] https://www.firebase.com/docs/web/api/query/
And the step my parents forgot: when your eldest child turns 18, add them as an executor.
VestU.com – Clear, unbiased investment education
I don't understand -- there's a huge temperature and pressure differential between recirculated air in planes and the air at 35k ft. I don't see any reconditioning or pressurizing, which of course would be crazy to do anyway.

What am I missing?
Seems like data accuracy is a big problem. Of all the data Crunchbase collects, the individual smaller investors on seed/angel rounds seems wildly inaccurate. I've just spot checked a few people who I know have made lots of angel investments and Crunchbase accounts for maybe 10% of them.

My guess is that sometimes Techcrunch lists more than 10 "notable" investors in the announcement and somebody puts that into Crunchbase, but other times Techcrunch lists a smaller number. Either way, whatever Techcrunch reports is probably unrelated to how many different investors there were.
There are a lot of buildings within the Chicago Loop that use cold water from the river for cooling. Here's an article I found about it: http://www.sustainable-chicago.com/2010/03/11/cold-as-ice-ho...
Whoa, I didn't realize this, thank you!
Some people just like to work like that, and that's ok. What's wrong is when you require people to work like that or when people who work like that get ahead disproportionately.
The Violent and Sartorially Complicated World of Biker Gangs
Trojanized PuTTY
Because this wasn't clear to me immediately: This is a Linux distribution with Kodi preinstalled that grew out of the Raspbmc project.

Link to their GitHub repo: https://github.com/samnazarko/osmc
Yup, nail on head.

Increasingly the value in a business is the customer base, and therefore their data - this will only continue as the service economy grows and brand continues to be king.
Great use of that TLD! :-)
99% of software won't be around that long.
I've heard of it and have used both and disagree.

Keep in mind both are open source projects. The community has been immensely successful filling up Meteor's gaps.
Does David Cameron think that only poor kids have trouble learning the "value of work"? And clearly this policy will only apply to poorer kids.
Considering your username, this suggestion somehow doesn't surprise me. ;)

(I'm assuming that particular test served as your inspiration.)
I kept scanning this article for talks about money, but there were none. It isn't even about underpaying - it's that changing jobs supplies one of the best sources for engineering pay raises.

There are evolutionary flows through the work force that don't require this (moving into leadership positions) but as they mentioned, generally hiring into the top levels comes from a tight circle of people, having gone to the same school, or some other such limitation. So if you didn't go to Stanford, what's your play?

I could understand why someone running a company wouldn't want to address this, but paying your engineers solidified salaries while company profits rise, and possibly with limited amounts of share in the company, is a good way to guarantee that they'll have to jump ship at some point, just to keep up with inflation.
Unless this system is perfectly tuned, it is going to strip a belt of warm air around people and they'll get cold.

Even when air is warm, breeze can make you uncomfortable, and in-flight air is often cool on its own.

Net result might be more people becoming sick, not fewer.
The requirement is that the alien must be paid a prevailing wage. I'm not sure what an "implicit" requirement is, but if you can find anywhere it actually says "you must try to hire an American first" I would love to see it...

[1] - http://www.uscis.gov/eir/visa-guide/h-1b-specialty-occupatio...
The comparisons to Wolfram Alpha's depth and Google breadth are a compelling way to think about different ways to organize information
H-1B status is a form of slavery for the visa-holder, unless they are smart and get a second visa somehow. If an H-1B is terminated, they must leave the country immediately - the employer's final responsibility to the visa-holder is to buy them a plane ticket hom. They could potentially sue their employer for wrongful termination but if they cannot stay in the country to pursue their case, this is extremely difficult.

What is all means is that for an abusive employer, H-1B employees are perfect. They are supposed to get paid more than the prevailing wage, but can be worked to death, and effectively deported if they won't and can't do what they're told to do.
It is not a bug that you have 200 GB on iCloud, upload all your 30,000+ photos and videos to it, and "optimized" it takes 60-70 GB on your desktop computer, plus your 16 GB iPhone, and 32 GB iPad are completely full.

It might be a bug that while importing your photos to the iCloud library, many fail to import for no apparent reason, and that when you try re-importing again end up with thousands of duplicates.

It might be a bug that all, web, desktop Photos.app, and mobile Photos.app get almost--to fully--unusable with a 120 GB library size.

It is not a bug that there is no selective synchronization, and/or one way synchronization, so I can synchronize photos from my mobile devices to iCloud without pulling down existing photos on iCloud to my mobile device.

I agree Photos.app in all devices, and the iCloud is not really viable unless you are a light user. This guy [1] has similar complains.

[1] https://collantes.us/bits/icloud-mess/
Here is one from CSI:Cyber, "A Firmware that can burn printers." It is plain HTML.

https://twitter.com/brajeshwar/status/581169913412382720
http://hyperboleandahalf.blogspot.se/2010/04/alot-is-better-...
Amazon buying Newegg customer data from Newegg,

vs

Amazon buying Newegg and rerouting the Newegg website backend through its own network.
What historical rough edges? Genuinely curious.

Looks like the dock you link costs more, and doesn't have the audio out / remote control port that Apple's dock has.
The need to perform a platform-independent parse + compile is a large part of my personal concept of a DSL. This is not the same thing as writing shims and grafting new methods onto objects to mutate aspects of the language you're writing in already while tying yourself to, for example, variable scoping rules that is inherited from an implementor language. In fact, I've seen some people describe what amounts to a "Fluent API" as a DSL. Fluent APIs are great and help with usability of an API considerably, but I don't think of jQuery or Scalding as DSLs, just libraries that meet all the rules of their implementation languages. Perhaps some people simply don't care and just think of a DSL as a subset of a language regardless of implementation.

If I want to be a bit more specific, I think a DSL needs to be independent in syntax and semantics from any implementation environment or platform and that by leveraging the compiler of your implementation language that it limits the "language" aspect of the DSL. I believe most people are concerned about the "DS" aspect and in this respect that reduces a DSL to being just a higher-level API - an API is not necessarily Turing complete, after all, and while some APIs require some parsing to use, they are still.

An embedded language like how Lua is used oftentimes is not a DSL to me because it is general purpose and is perfectly fine to implement another DSL - a DSL to me should also imply that you can't use it to implement another arbitrary DSL. This will blur as what used to be DSLs add features that make them Turing complete (lots of crazy things possible with SQL and CSS these days).

I don't like to be a terminology Nazi or something, but I have no real rational explanation for why "DSL" in practice rubs me funny.
I agree that it's a potentially large problem, though I'd bet it's a systematic under-representation which would draw roughly the same conclusion, albeit at a higher overall rate.
I'm assuming you meant to respond to me. Thanks! I agree with you, and I'm sure it's riddled with mistakes. But, sometimes it takes a beginner to make a beginner's guide. So I'm hoping it can be valuable in that way, and that contributions can correct my mistakes.
Sure you remove the autopublish package, but then your app stops working. You need to explicitely publish what you want published, you need to explicitely check and validate every input from the client... and that's fine, but then what exactly have you gained from using meteor over, say, socket.io or autobahn? Fast prototyping, yes, you've definitely gained that, but have you gained anything else? I'm genuinely asking, not making a rhetorical point.

Since meteor integrates very tightly with mongodb, a nosql database, I don't see how the limitations of nosql are out of the scope of the discussion? I also don't know what you mean by "you express most of these in code". The problem isn't writing a piece of code that expresses that constraint... the problem is doing so without introducing a race condition!
A lot of pirates tend to be slightly more tech-educated than most people, or are at least able to follow instructions.

Keep the bindings for the domain and get instructions out on how to change your host file. Continue under the same domain as an extra kick to the teeth showing that domain seizure doesn't really prevent it from being used. It just hurts adoption rate.
Late reply, but on reread I wanted to clarify: solid tests, yes. At the very least, pass needs to mean pass, though you can tolerate some level of spurious failure in some kinds of tests. But if you can't trust a pass, for the scope the test actually tests, better to not have the test and not give false confidence.

It was the replayability part on old packages I was pushing back on. It's certainly a nice to have, but you're more likely to refer back to old test results than actually run the tests again, so having to architect mechanisms to cache and restore old packages, etc, can be overkill. Just cache the results.

As for docs, it's a matter of level of detail. Most QA groups I've been part of or had visibility in overshoot, and generate a lot of docs that aren't particularly useful for any real process. YAGNI applies to docs too.

Further, the docs themselves aren't modular--they usually end up mixing concerns between product documentation and the testing, and in doing so make themselves extremely brittle to product changes whether or not they should really matter to the tests. UI step/verify docs are the absolute worst about this and the most prevalent kind of test documentation.

I've come to the conclusion that most QA groups would be better off just writing one set of canonical docs for the product, if they don't already exist, and then pointing to that with extra info about what inputs or strategy to use for a given test. It's the same SPOT argument for modularizing automation (or any other kind of code), and has the advantage that others can reuse the product docs.

Re: foundation/earthquake argument, there's something to be said for knowing what you can't live without in the case of a disaster, what you can live without with a little bit of pain, and what you can generate JIT if you need it. The former set is usually pretty small. The middle set is where your educated bets lie. The latter set, you should probably never do up front until you've found yourselves having to scramble a couple of times.