skysight-inc/HackerNews huggingface dataset:
"It sounds to me like best practices SQL are being compared with worst practices ORM."

AMEN.

I've written bad SQL and good SQL. I've written bad ORM stuff, and good ORM stuff. You don't learn how anything is bad until you make mistakes and learn from them. Ideally you learn from others' mistakes too, but some things you just end up having to internalize through experience.

I still take a decent ORM over raw SQL for 90% of the work I do, because much of it is boilerplate/repetitive stuff. Knowing something else will handle escaping and basic relations for me without a whole lot of boilerplate behind it is great, then I write some SQL by hand when I hit a wall with the ORM (complexity or performance). If you're trying to fit 100% of every single data query in to an ORM, and you bend the data too much to fit the constraints of the ORM tool, yes, there will be problems. But that's sort of just common sense - once you feel you're forcing a tool to do something it's not suited for, back up and ask if there's a different way to get your results; doesn't have to mean throwing out the whole tool.

I've worked with plenty enough stupid "raw SQL only" projects to know the real answer to all this is experience and knowledge, vs just following 'one true path' regardless of your ability to understand it. Ever had a user table with 190 columns, named "is_usa", "is_argentina", "is_germany", etc, one for each country, so the developer could determine what country someone lived in? Every single request, 190+ queries: "select is_argentina from user where id=5", "select is_iran from user where id=5", etc. But hey, it was done by hand - no evil ORM to hinder the awesomeness of raw SQL, right?
Is there something like YeSQL for Go?
Hi ansible author here!

This was definitely an interesting comparison but to correct a few misconceptions:

Ansible has 810 contributors at this point. I'd love to say I wrote everything but it's a huge shared effort.

We also have a lot of mods other projects don't, so some comparison aspects were not even.

We do say no when we disagree. I think that's important.
Filtering and testing makes a project what it is to a degree. There is always the project and development list to discuss things and they are really big lists. All being said not transferring a file verbatim is for example still the right call for us.

Try what you like by all means! But I would suggest that it not be inferred I eat children :). Only sometimes!
My favorite pattern, which I use on almost all personal code is the phrasebook, implemented here in perl: http://search.cpan.org/~rani/Class-Phrasebook-0.88/SQL/SQL.p...

Basically it's "give your SQL a symbolic name, define how your code interacts with that SQL, and use it as such."

Mind you, ORMs can be awesome, but in my experience ORMs are fantastic at implementing the parts of an application that aren't the competitive advantage of your application. The parts that actually make my code special, the parts where fundamental assumptions regarding codes interaction with data fall apart... those are the parts where ORMs don't particularly shine, especially as time moves forward.
Yes, it is a university project. We hope to make it open source, but first we are working to stabilize it and write about it.
Yikes, I think people missed your point.

From the beginning of the internet until maybe 3 or so years ago - in a majority of cases, design was an afterthought. Only functionality mattered.

More recently this has changed. Is calling your app beautiful and elegant overdone and maybe even a little cocky? Probably. However I personally really like applications that look beautiful.

For whatever psychological reason it may be, I simply enjoy the experience more. Take the chrome extension Momentum [0] for example. The only thing I get out of it is when I open a new tab, I see a pretty picture. However I _like_ that pretty picture and it enhances my experience. Logically, I can't come up with a solid argument - it might even be complete bullshit - but as soon as I'm on a computer that doesn't have it, I feel like I'm missing something.

[0]: http://momentumdash.com/
Postgres indeed doesn't have Upsert yet, so I'm going the default way of locking the table, and implementing it via a slightly more complex query. I was just too lazy to explain that in my earlier comment. The problem is the same: The syntax below can't really be represented well in a ORM.

BEGIN;
LOCK TABLE search_tracking IN SHARE ROW EXCLUSIVE MODE;
WITH upsert AS (UPDATE search_tracking SET count=count+1 WHERE keyword = 'John Doe' RETURNING *) INSERT INTO search_tracking (keyword, count) SELECT 'John Doe', 1 WHERE NOT EXISTS(SELECT * FROM upsert);
COMMIT;
ORMs are a breath of fresh air for developers IMHO. I can concentrate in DB design, use SQLite for dev and deploy PSQL on the server (production). Awesome level of abstraction :-)
3 Minutes to Get Started With Stripe
I think it also depends on the area. I did get pulled for 3 or 4 over the speed limit once. I think it was mainly because I was on a military base. Fortunately I did not actually get ticketed.
>It's pretty remarkable how buses in other cities manage to adhere to the published schedule

Avoid Austin Texas at all costs then. We don't have a transit system, we just have these strange oblong boxes that look like buses. Some of them even bend and go really fast, but I refuse to call them busses just like I refuse to call the governing body that oversees them a "Transit Authority".

CapMetro is HORRIBLE.
I'm very happy with Ansible. Salt looks good too.

Too many of the other alternatives seem to be focused on the easy part of the problem (running commands on lots of nodes) without putting enough effort into the hard part of the problem (automatically deciding which commands to run to get to the desired state).
If you're at all interested in opening a kick starter for such a templating library for Django, I'd back it. I have attribute creep all the time and actually generally prefer raw SQL with the exception of its verbosity. The problem is, migrations are awful and SQL injection mistakes easy to come by. Would be great to have the best of both worlds in a SQL templating engine + sort-of ORM wrapper that auto-generates via SQL inspection
Surely Adam Carolla's representatives can release characterizations of the amount of money he's making off podcasting with his permission, regardless of whether or not the details of his podcasting income were subject to discovery or not. The plaintiff would reasonably not be able to release information it sought from the defendant, but the defendant can obviously release his own personal information at will.
I also wondered this! I suspect it should be possible to do that; it would certainly be an interesting attack vector to try on cloud storage systems...
Well, it is my own project, so I got to choose the technologies :) It is a lot of fun working on it. The data does have location information, but I'm not sure if I'll use PostGIS for it, as it would be a bit of taking a sledgehammer to crack a nut. The location information is rather sparse.
Taxis are going the way of video rental stores. I wonder what is going next.
The name is most likely a reference to Leah McGrath Goodman (who, if you don't know, wrote the piece on Dorian Nakamoto in Newsweek).
+1 for redbean - most of my colleagues hate it, but I've found it's a good balance between getting rid of a lot of boilerplate, but not getting in the way when I need straight SQL.
You learn to just embrace the bitch label. It's the only way to get through it -- you're going to get called one whether you are or not, so you might as well own it and make it work for you. I'm actually a very nice person and treat my employees wonderfully but I've been told scare the shit out of certain people who don't know me very well. My reports have actually told me they love my reputation; they promote it so that 1) they get what need from other departments easier and 2) they don't have people fighting to get their jobs (I have by far the best department/division/employees).
I'm a female executive and I've never, ever heard of that. Seems very strange.
I've only ever heard asshole used in reference to men, the sentence "she's an asshole" sounds weird to me.
I know this is absolutely not the case in large parts of the world, but in many developed countries it does takes some degree of desire to remain street homeless for any significant period of time.

The support is often there for the taking, but some combination of mental health problems, drug dependency, etc. will see a person "choose" to live on the streets.
I wonder whether people would tend to introduce you more influential friends, over less influential friends, as a kind of status display. You could potentially "climb" faster than a random walk would.
Interesting article but the design of the site made reading it give me a headache. I recently also made a move as well, went from Chef to Ansible and I am really happy I did. Chef was a pain.
He's taking on these assholes for the entire podcasting community. As it says in the article, he doesn't need to fight this anymore. Why should he pay for the entire thing himself?
I don't know if I would consider people being blatantly ignorant of the rules evidence that the rules are a "grey area." I learned how pieces move and capture from a children's book in third grade, and I distinctly remember it covering those rules, except for the third, which I have never heard of.

As far as I know, these rules are extremely standardized in most or all areas of the world where chess is known. I have heard about some special rules for competitions that can differ, like timing limitations and end-game rules. I'm also aware of many variations of chess, but those are always clearly discussed as variants.
Stress lowers libido though, so I wonder how one would have energy for sex while feeling burned out.
In his Senate video he says the case post-discovery is costing $100k/month. I'm sure Ace is rich, but 1.2MM/yr to blow on legal fees rich?
You know, I remember visual foxpro coming with microsoft visual studio 6.0, and not really understanding much about it. Care to expand upon what made it awesome?

I found some stuff here but it doesn't really explain it well: http://www.foxprohistory.org/articles_4.htm
Good. UserAgent-based feature detection needs to be broken every few years as it is a gross abuse (Aggravation; like Rant)

I'm blown away people see this and react with "if we had more of a singular monoculture, this wouldn't be an issue", when the exact opposite is true. Making it difficult/near impossible for newcomers/outliers to operate in the browser space is very unlikely to improve things in the long run.

I'm sure Opera had many reason to cave in and throw away their rendering engine in favor of a webkit fork, but I suspect having to continuously swim upstream against the ever growing proprietary extensions and broken browser detection logics out there might have played a role.

-webkit prefixes are supposed to stash away experimental features until they get standardized, but with the webkit monoculture, they become de facto standard as their implementation trickle through the webkit forks and releases. That's harmful.

Perhaps having faster standard tracks where prefixed features don't have time to become second nature for webdevs, and fostering a culture of "proprietary prefixes don't belong in production code" could help here.
I'm not sure, but my intuition tells me there's half introverts, half extraverts. (introversion/extraversion is a spectrum).
> The state...hates renewable energy

Well that clinches it for me. There are very, very few viewpoints that I dismiss out of hand, but opposition to renewable energy is one of them (maybe the only one). Energy is one of the world's most important resources, and we know that we are using a source which is ultimately finite. Even if oil reserves were to last another 10,000 years (and the vast majority of experts do not think this is the case), what do we have to lose by moving our infrastructure towards a renewable source? Not doing so is cutting off the branch we are sitting on.

I can tolerate people who are apathetic about this issue...I understand the greed of people who enter the oil industry without regard for the environment...I can sympathize with people who say they're concerned with personal expense (e.g. buying solar panels for their house)...but being flat-out opposed to the idea of removing humanity's dependence upon a limited resource is just ludicrous. Or willfully ignorant. Or something. I don't even know.
There really aren't any speed limit signs anywhere in Chicago, and people drive a sane speed depending on the street. And it seems to work, too.

http://www.suntimes.com/27575224-761/chicago-among-safest-us...
He may be a little wealthy, but at this point he isn't fighting for himself, he's fighting for podcasters in general.
Great project. I'm definitely going to give it a shot as a Raspberry Pi hosted thing.

One comment on the site though - it would be really cool to be able to see a demo. I get a good vibe from the description/images, but a demo site would be great.
Actually, it is designed to have tunable consistency. You can have immediate (full) consistency if you choose. This is a common misconception. In practice, CAP is about trade-offs, as in any design of scale.
Also relevant: http://highscalability.com/blog/2014/8/4/tumblr-hashing-your...

Note the bits on the sdbm hashing algorithm and how they found it to have less collisions than others, then went on so far as to add a patch for it to haproxy.
Thanks for letting us know! We are checking into it.
Semantic Matching in Search – free book and slides
> Guys can spend their 20s, 30s, and even 40s working nights and weekends to build the foundations of a successful company, with the goal of starting a family after they've 'made it'.

That sounds as a sexist stereotype. Do you have statistics that this actually represent the norm for CEO's?
I learned the rules of chess from a children's book in third grade, but have never played a full game as far as I can remember. Yet this situation seems extremely obvious to me. One of the most fundamental rules from my children's book was that you cannot make a move that puts yourself in check. Moving k to the right would clearly do that. And it's pretty obvious when you think through what would happen if k moved to the right. R would capture k, which would not put R in check, because the game would be over.
This seems like an amazing development.

If I read it correctly, Tezos aims to decentralize the core protocol development by allowing forks to coexist and peacefully merge in any innovations.

It is also in OCaml, which is great for the robustness of the code developed. Much less scary than C/C++. Tezos even goes to the point of suggesting formal proofs of correctness, using COQ proof assistant.
Use the right tool for the job. If accessing a meaningful subset of your data requires 14 joins and returns 600 attributes, your data model probably isn't going to be friendly to many ORMs. Just write the SQL, maintain the sprocs and tvfs, and give up on trying to fit everything neatly into an object-to-table mapping.

But if you're tired of rewriting the same, CRUD-like SQL over and over again, and want a common framework for accessing similarly structured data, you'll inevitably write an ORM (however minimal) and then you're facing the same problems that every ORM has attempted to solve to date.

The biggest danger in using an ORM is that it will constrain how you structure your data model. It took me a long time to become comfortable with using (materialized) views to back my models, or using multiple models for a single table. But being able to divorce my data model from my conceptual model has helped me immensely, in terms of avoiding a lot of the problems the author is talking about. Rails' ActiveRecord is surprisingly friendly when it comes to these sorts of things.
Erm... no.

Iran hates us because we messed their country up good. Installing dictators, destroying their democracy, stealing their oil... etc. etc. US Foreign Policy in the 50s and 60s were freaking terrible.

Plus, the US is seen as highly ignorant. Saudi Arabia is our ally, but they fund Al Qaeda, support Salafi / Wahhabi Muslims which spawned Bin Laden. We funnel money into Saudi Arabian princes who then funnel money into ISIS and Al Qaeda and piss off all of the other Muslims around.

Trust me, we don't need Israel for the Middle East to hate us.
Thanks. My soldering skills are not particularly special, though magnification certainly helps steady the hand! In the end, the real saviour here was the Schmartboard, which has these nicely recessed divots in the board that you can just 'push' solder along.

I'll consider sending this to Hackaday, too -- thanks for the reminder. That said, I've found that the HackerNews audience is pretty diverse in interest; you might be surprised what comes between the startup fever...
I am really uncomfortable with your statement. I am homeless. Well before I became homeless, I had a class on homelessness. Which is to say this is something I have both studied and also lived firsthand.

Due to my medical condition, I am unwilling to remain in a homeless shelter. They simply aren't clean enough for my needs. I would take real help in a heartbeat if it were available. But the kind of "support" that is available to homeless individuals is often rather sucky, to say the least.

So, yeah, you could say I "chose" to not go into a shelter and to thus remain on the street. That isn't completely inaccurate. But it sure makes my life sound a lot more empowered than I am experiencing it as being.

Let me put it this way: Many people wind up on the street by leaving an abusive relationship. So you could say, hey, they chose to be on the street. They could have remained with the person providing a roof over their head. But it sort of conveniently sweeps their very real problems and challenges under the rug.
Yup -- this definitely feels like a dig at her. Who invented Tezos? Why, of course it was Leah! After all, what's in a name?
And they have an API that can be quite handy.
I hope he gets punitive damages for their assertion over unpatentable subject material.
From whom does it not get this love?
You're not helping him; you're sticking it to a patent troll.
Bad Boy Grills Perfect Steak
In Tech Marketing Jobs, Women's Successes Are Rarely Recognized
Here's a primer on survey data outfiling [1]. A good target would be to import a survey into SPSS (or you can use the open source PSPP for free) or - shameless plug - datacracker.com (my saas survey analysis app).

Contact me at support at datacracker.com if you want to chat, you'll just get me.

[1] http://mktresearch.org/wiki/Getting_a_Data_File
The O'Reilly press release in the linked URL says: "Pearson will remain a key strategic content partner of Safari. All their current materials remain available, and their future books and videos will be added to the service."
It's unfortunate that this article focuses on running the playbooks/salt states locally. The use of ssh by ansible was the killer feature for me. Configuring a remote cluster without requiring a persistent master. There are valid arguments for maintaining a persistent master, but it's just not in the cards sometimes.

I know salt-ssh exists but it's still alpha, I look forward to seeing how it pans out and whether it can avoid being a second-class citizen to the persistent, non-standard zeromq sockets.

That being said, ansible configuration files are fairly hacky and conceptually just don't quite fit. Some modules support a full yaml-dict whereas others need the string with key=value parts. Sometimes you need to wrap your jinja2 syntax in a yaml string to avoid it being parsed as a yaml dict. There's just some things that don't quite add up so there's definitely room for improvement.

I think I'll live with it until I gain confidence with nix though!
If you read as far as the third paragraph you'd find - no.
Outside Lands Books Up Airbnb While Hotel Rooms Sit Empty
One often neglected idea is transduction. The idea is that you can learn to label data better by augmenting your labeled dataset with unlabeled data.

The unlabeled data helps discover the structure of the data which in turns helps the supervised learning.

There is a lot of 2-phase approach to this problem, by first discovering feature with unsupervised learning and then using those features in supervised learning, but in many cases it's possible to do both at the same time.

If you have a generative model for your data, you can treat the labels as potentially missing values and learn the joint distribution.
Biology plays a factor - bearing children becomes more dangerous for both mother and child after the late 30s.
Python web scraping resources
Ask HN: What snacks do you stock in your startup kitchen?
>Though SQL is more universal, Mongo's approach definitely has thought hard about the balance between abstract and concrete that me and my other developers find very intuitive.

I think you've got the causality and conclusion backwards here. MongoDB's easy programming API is a consequence of its storage layout on disk -- the JSON/BSON bytes on disk. From that principle, you naturally get an "ORM" type of API exposed in the programming language basically for free. I'm saying you don't have to do a lot of theoretical computer science type of research and pondering to get a disklayout+API that looks like that. In fact, the early 1960s mainframes laid out data records as fully denormalized (similar to JSON/BSON) before the relational DBs became popular in the 1970s.

But, if your app starts expanding into complex data that's not 100% embedded as fields within one document, you start needing to do "relational" type of joins across documents. And those joins will manifest itself as extra programming code/logic on the client side. You're still paying for added complexity. You're just paying in a different way from the ORM+RDBMS programmers.

Many MongoDB projects want it to perform more like relational. Likewise, many RDBMS want it to act more like an object hence ORMs. The impedance mismatch looks like irreducible complexity.
Have you ever heard the catch-phrase, "What could POSSIBLY go wrong?" before?

Many have been burned by PHP experts before. This guy is a beginner. I really like the app design and idea but I can't find a reason to let protect my data or compromise my server. Might be cute to host it inside my firewall, though.
I disagree - I would have made a terrible father if I had kids in my 20s.

I mean, I might still make a terrible father, but I'm trying to imagine 23 year old me raising a child and it's terrifying.
He's referring to the fact that women can't re-produce after a certain age. Also, the risk for complications at later-ages is a factor.
Can you really have more than 1 or 2 friends? You only have two kidneys and a friend is someone you'd be willing to give a kidney to (compatibility aside).
Correct, that's what it is doing. It is a very fast and surprisingly strong way of evaluating the position. Of course stronger engines do a hell of a lot more than this and gives weightings based on the positions of other pieces, but most of them have something like this as a baseline.