skysight-inc/HackerNews huggingface dataset:
The most maintainable line of code is the one which you don't write. Remember the cardinal virtues:

Laziness
Impatience
Hubris

Back when I was a Java dev, judiciously following the SOLID principles was a vital part of keeping code maintainable. They're still as true today as they ever were.

* a class should have only a single responsibility

* software entities should be open for extension, but closed for modification

* objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program.

* many client-specific interfaces are better than one general-purpose interface.

* depend upon abstractions, not concretions.
The main utility of CLUSTER is to mark a table as sorted - that is, few disc seeks will be required on an index-scan of the table. This is important when doing (for example) a merge join with another table, or just when you are requesting a large proportion of the table in sorted order. Postgres knows enough statistics about the order of entries in the table to know that it can read the table faster in order using the index with the occasional seek for recently added elements than if it was to do a sequential scan and re-sort the table in memory (spilling to disc if necessary).

A B-tree can in no terms be described as being laid out on disc in primary key order. The individual pages of the tree are placed on disc randomly, as they are allocated. Therefore an index scan won't return the rows in index order as quickly as the current scheme of having the rows separate from the index and sorting them every now and again.

Ultimately, for the goal of fast in-order scan of a table while adding/removing rows, you need the rows to be laid out on disc in that order, so that a sequential scan of the disc can be performed with few seeks. This requires that inserted rows are actually inserted in the space they should be, which is not always possible - often there isn't space in the page, and you don't want to spend lots of time shifting the rest of the rows rightwards a little bit to make space. To a certain extent Postgres already does insert in the right place if there is space in the right disc page (from deleted rows), but because this is not always possible, the solution is to re-CLUSTER the table every now and again.

I think the Postgres way is actually very well thought out.
Paris, France
Editable and Runnable Doc Examples on Dlang.org
and here's the barney stinson version: https://www.youtube.com/watch?v=Jmc6xdWpZVk
Don't stink up the dining areas with your Indian food and then eat it with your hands whilst only hanging out with your Indian coworkers speaking in whatever Indian dialect you're speaking. That or wearing 7 gold rings and chains or have some weird image on your desktop of an 8 limbed elephant Goddess you venerate. Don't say "Yes" while bobbing your head left-to-right, that means the opposite to Westeners. Don't say things like "I will revert back" or "Please do the need for" in emails, it makes no sense. Don't have the kind of accent that people ask you to rather "send them an email" because they can't actually figure out what you're trying to say over a phone call because your Indian accent is too strong.

These are things I've heard other white dudes complain about at work.
The linked http://builtwithoutcode.com/ appears to be a certified partner of the platform.
For the actual platform, check out https://bubble.is/
The consensus around fat being so bad and The Bell Curve are two that come to mind for me.
> I kill for weapons and armor, I steal for cash, etc.

It's funny like the parent I cannot bring myself to do that to "innocents" in games like Skyrim, even if the game reward it, I need to really force myself to roleplay to start letting my values step back
Discussion: https://news.ycombinator.com/item?id=13809205

Additional comment: https://news.ycombinator.com/item?id=13818461
Ask HN: How should we recommend specific security vendors
We recently released a github repo for startup security tips (HN discussion: https://news.ycombinator.com/item?id=13814991).

It quickly became the 1st trending github repo for the day.

I am currently struggling with mentioning specific security vendors. There is a tradeoff between giving practical advice mentioning specific vendors and features, and being fair with all security vendors. Here are a few thoughts, I am not happy with any of them.

* Add a page per vendor. This is a place where we can add the top 10 tips for each vendor.
* Add a page per use-case (for example 2FA providers). The problem here is that you would need to sort the vendors, those being on top benefiting more. It could also become a wikipedia-like editing battleground that I would like to avoid. We could have a poll, and I'll sort the list based on the poll, but that would require some vetting, and confidentiality as startups are reluctant to expose their security stack publicly. Confidentiality in turn might bring up trust issues as things are not being done out in the open.
* Referring to external sites that measure up different vendors. This bring the question, which site ? I would like to be biased towards the selection of vendors that startups can use, and not just enterprise customers use.
I don't know, I'd just set a breakpoint in my editor regardless of the form?
This is a pretty interesting fly-by attack. Insinuation, not evidence based. Asking questions and having a conversation is why the rest of us are here. What is your goal by attacking the credibility of other people in the conversation?

EDIT: 128 days old, no prior comments or submissions.
Great tutorial, ANTLR is one of the best tools for prototyping languages and compilers.

I wasn't aware it supports JavaScript nowadays.

In any case, good selection of languages.
Ignoring the arguments for taste (subjective), animal welfare (agreed to a large extent), and environmental impact (also agreed), there's still the issue of protein bioavailability. Plant-based protein is simply inferior in this regard. I still eat a mostly plant-based diet and look forward to the day when that parity problem is solved.

Incidentally, if anyone has a suggestion for an egg substitute that doesn't taste like crap and has similar nutritional content, I'm all ears. Eggs are pretty ethically dubious in my book, too.
Welcome to HN, mathchick! It's no surprise that most HN readers and contributors are male, but hopefully that will change soon. More diversity of all kinds is definitely needed and welcome.
I would agree with you but then I found out about the bilderberg meetings.
It seems like the Oligarchy is very very real, maybe not unified in thought but real enough to set and discuss agendas.

http://www.bilderbergmeetings.org/
Yeah, I did that, and then some of the buttons stopped working on the keyboard from too much smashing from the children. In the end, I removed the cable from the keyboard and it became a toy. I never let the kids play with the replacement one, but they do love having their own real keyboard.
So, tell me what I am misunderstanding here:

* On OSX, OS passwords are stored in the keychain.
* However, Chrome stores passwords in a local SQLite database https://www.howtogeek.com/70146/how-secure-are-your-saved-ch..., which, on osx, I believe is in your Application Support Folder ("ChromeDB")
* The user, who is not root, has read/write access to the ChromeDB
* Is it not the case, then, that any script that has user-level permissions can access the Chrome passwords? Because Chrome is not available through the app store, it does not store passwords on the OSX keychain, which, again, correct me if I'm mistaken, requires higher permissions to read? So that, for instance, a malicious script that only had user-level permissions could not access the contents of databases encrypted with credentials stored in the keychain?
There's not much to prevent that scenario from happening. There's now a "why" section in one of the app's descriptors where you need to describe what you're doing with the permission. So it's not enough to say "I want access to the photos". It's now "I want access to the photos so that I can put them on the screen and let you draw funny pictures on them."

But there's little to prevent you from lying about it, and there are so many iOS platform technologies out there now (native, PhoneGap, React Native, AIR, Xamarin) that there's probably no way for Apple to see what you're doing in an automated way.
From Vilified to Vindicated: The Story of Jacques Cinq-Mars
Probably https://github.com/AvaloniaUI/Avalonia
Where HN users are located
Kaggle is a great idea, but it's steadily getting more annoying to use.

1) Cruft on all landing pages and having to click through to get to the comps page which is the site.

2) Annoying focus on exploratory notebooks. Inevitably they aren't powerful enough and people link through to external sites.

3) Forcing the use of 3rd party compute platforms to enter comps. Half the fun for me is messing around with my own ideas and this just gets in the way. These should be optional rather than required.

4) Poor incentives. Many of the comps have tiny prizes for the value of work that gets done. They're also concentrated way too much at the top. Unless there's something I want to try out, the expected value of participating is way too low to do it just for the giggles.
This Netflix Innovation Won’t Have a Happy Ending
The comparison between kids & pets is amusing. So many workplaces are pet-friendly (despite people having allergies or phobias) but try bringing your toddler to the office.
A book that cost $20 in 1977 and was made to the same standards today--some paper and binding quality, etc.--would probably have to cost at least $100 today retail. Unfortunately, costs for paper and printing have outpaced inflation generally. Most trade books now are printed very cheaply--the paper and binding are crap.
There is one attitude that's missing from the list: Change jobs frequently, and avoid old legacy code. Then you will always write the new code and it will be, by definition, maintainable (of course, who in their right mind would intentionally write an unmaintainable code?).
So then they'll be absorbed by wall street.
I agree with the comment about assembly of course, but ironically I find myself spending more time writing comments when programming in high level languages like Python, rather than in C. The reason most of the time seems to be that many high level scripting languages (like Python) are dynamically typed languages. So things like function definitions contain no information (other than the variable name) that explains what the inputs/arguments might actually be. I often find myself having to write comments to make it clear what the parameters are supposed to be so someone reading the code instantly understands what needs to be passed to the function, whereas in a language like C or C++ that has static typing, the type would make it obvious.
So many questions, and so much purple. Also see http://notpurple.com/.
CIA licensed Sublime Text
And the other half who don't think kids are quite, but don't mind some small talk. Wether it's kids, morning run or yesterday's party.

Personally I'd hate rush calls that are business only and straight to the point. Virtually all my calls include some offtopic. And that's fine, we're humans, not robots.
I spent a fair amount of time reading up on the wikileaks last night. While the released info does appear to not be beyond KitKat, the array of listed hacks is staggering. Have you had a chance to look? I understand that there are very fine levels of distinction between these types of hacks, but it seems to me that there were multiple root compromises.
I am now very sad, thanks. My little four year old son is asleep in the bed next to me, and I've been working since 3am. I can't let it stay like that.
> How does the startup accelerator stay connected to the tech community? The answer is content.

> Hacker News, a content aggregation site owned by Y Combinator, was visited 18.6 million times in July 2016. (...) Though it’s not Y Combinator’s core business, it has successfully drawn attention to the accelerator by forming a content-consumption habit.

Provide content (or a place where discussion can occur freely) so that people are always near your business.
How is this any different from native code? Afaik, you can access the native compiled source code of an app on a jailbroken phone. Sure it's more of a pain to parse through but security through obscurity isn't security.
Yes. It's striking to me how easily we're casually racist and sexist against white men. Not a good habit to start.
My kid turns one in a month. I'm just starting to get coding time back in my life.

Usually it's after everybody goes to bed, which I known is a bargain with the devil because I can't remember the last time I was allowed to sleep in on a weekend & catch up on sleep.

The other thing that helps is the fact I work from home. So my wife encourages me to get out of the apartment for a couple hours every day on the weekends. So, I go to Starbucks and code or read for a bit.

Everything is different with the little guy around, but it's a trade-off I can live with.
What Is Iphone App Development and How It Can Change the World
> What we have here is literally a blank page, that offers no value to the reader. Perhaps if they showed something worthwhile I could understand.

Domain names aren't just there to resolve IPs for the web. You can have any online service resolve to it. More specifically people often buy domain names just for personalised email.

It's also worth noting that your point is directly refuted by the very first QA on her FAQ:

> Q: Why isn't there any content here?

> A: All personal web content is hidden on back pages to conserve bandwidth.
Classes Are Making Me Sad
Actually, I believe refactoring should be done by computers. But people will hate it when we will have that capability.
> Like many Poettering products

I didn't know pulseaudio was a Poettering product, but I know very well that pulseaudio has been a nightmare for me over the years on most setups with a variety of linux boxes and distros. And the fix when an audio problem arise is simply to uninstall pulseaudio and use alsa.

Now that I know pulseaudio is Poettering work, this makes a lot of sense.
Go to the gym/bike/whatever. It helps me a lot, at least.
Durban, South Africa
The classic(al) example I recall from college is that there were a lot of details and general quality in the statues atop the Parthenon that could not possibly have been visible from the ground.
For one thing, I don't see any electric pressure canners, only stovetop models.
I just went through the interview process for a management role at a company in which they stressed the importance of "cultural fit." I assumed this meant I would be evaluated for my ability to work within a startup vs the traditional large enterprise companies I had been working for over the last few years.

I was caught a bit off-guard when the interview pivoted towards inclusion and diversity. I stumbled through some questions which, in hindsight, were geared around determining if I was a "brogrammer". The questions were very open-ended like: "How do you deal with diversity?" and "How do you accommodate other's working styles?"

Speaking with HR after the interview the company their definition of "cultural fit" was much broader than just work or programming style. The company is extremely interested in building a talent pool that is diverse in all ways (age, gender, ethnicity, etc...) and viewed the engineering practices as something that can be taught.

Their belief, if you invest in good people who like their jobs then they will build good products. And if those products are good then the company will make money.
Children under age 1 are easy. From ~1 to ~4, they consume A LOT of your free time. For me, that was the hardest period to find time to continue to learn and to work on personal projects. From a mental health standpoint, it helped me to "give in" to being a parent and "let go" of the notion that I could live the same life as before. I put those in quotes because they are silly concepts. Embracing being a parent and the joys of interacting with your kids is a lovely replacement for spending time alone with a computer.

Eventually, I combined the two and ended up creating several apps for my kids. One was an OS X app that allowed them to bang on the keyboard without damaging my files, etc. Each letter corresponded with an animal. A full screen pic of the animal would appear and the sound would play. It was called Toddler Typer. While it's no longer on the App Store, my kids, now 6 and 4, both still like to play with it. The second was an iPad app called Toddler Taxonomist (https://itunes.apple.com/us/app/toddler-taxonomist/id6423870...) that is still available for free (though I need to rewrite it in Swift or something). My older daughter sat on my lap and helped me make it.

Now, I have a full time job, hold a position as a Fellow, work on personal projects when I have time, and spend good time with my kids, when I can. The best advice I have for you is to try to avoid getting frustrated during those first few years and to pivot to parenthood as a learning process. Combine interests where you can, and don't lose sight of the fact that your kids will be intensely interested in the activities you do on the computer. When they're old enough, show/teach them what you're doing!
It depends on the kid. And the call I guess.

I've had my infant on video calls and he mostly wanted to see all the people. And I've had to turn off my camera to change diapers before. But everyone's been cool with it. Clients seem to like seeing him.

On the flip side, I've been on calls with people whose toddlers were running around their home office screaming, and that's not cool.
I'd argue that sometimes you do want to hack things. Sometimes you go way out of your way to avoid that one special case for that one odd requirement, abstracting things out several layers to present a unified framework that encompasses that one oddball. Then the next day you get another oddball thrown at you that completely dorks it up. After a while you don't even remember why you had all the layers. At the end of the day, coding explicitly to the special cases and calling them out as special cases may make for more intuitive code.

(Also see "The Wrong Abstraction": https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstracti...)
Cut the Crap out of your internet diet
Just drop flash already, this thing has been agonizing the slowest death ever.
Is it a given you need to work in your free time to keep up? From my perspective that seems a little relentless.

I've mostly only pursued hobby projects outside of work when I've not been in work. Nap times on paternity leave with my first for example. Or more recently getting laid off and using my gardening leave as an extended paternity leave with the second. Otherwise that itch is usually beaten out by the working week.

Personally I experience a lot of value in having a broader range of interests and knowledge.

Young kids will definitely suck time and energy from you. Anything you do outside of home life will suffer. I can't really fathom how women in less equitable relationships cope with less help from their partners.
What is so great about slack, that everybody is going nuts over it?

Easy access to all your conversation on all your devices and search that works better than any of the other platforms
What a bunch of wank
Reading their marketing page, seems like they have a visual programming language that lets users build custom workflows using high-level components. Seems useful - there's plenty of demand for websites that are "smarter" than what a CMS with a few plugins allow you to build, yet are not complex enough to require the full power of a turing-complete language. It's a bit like Excel for the web.

The Achilles' heel of these platforms tends to be the edges; when user needs a bit more than what it can provide out-of-the-box, can they extend it, and without creating a monster?
I mean, we build custom business software based on a modular platform, and the story always goes like,

"We need a few POS terminals for a store."
... installs pre-built module ...
"And an integrated ecommerce store."
... installs pre-built module ...
"And the POS should integrate with an NFC reader to allow purchases with a shop card."
... and then we present a quote for the custom integration.
I prefer to split functional changes and refactorings in separate pull requests. First do a round of cleanup and refactoring, which is almost always necessary for any code older than what you wrote five minutes ago. Then in a separate PR, do the actual work.

Mind you, this is also in part due to traceability; I want to be able to point to a PR and go 'this is where this functionality was changed', with all the details. That makes it easier for the reviewer too, easier to find and review the actual change if it's the only change in a PR than when it's hidden in the diff alongside a major refactoring.

I've also seen another open source project that said "please, no refactoring PRs". I can see the value in that one too - code is never perfect, and you can continuously polish but it won't actually achieve much, besides causing a lot of churn in your codebase.
Learn timeless things -- like advanced mathematical concepts, data structures, and algorithms -- rather than wasting time on frameworks and tech that's going to be obsolete in a few years/months. Developing a deep understanding of data science and AI would be time well spent.
On my "geographically spread" team, I have no issue with a team memeber having their kid in their lap while discussing the intricacies of postgres. Perhaps, part of this empathy is driven by having a 3 year old myself. I can totally imagine myself in the same situation if I had to join a meeting before daycare opens (or if I want to drop off my kid a little later, for whatever reason).

Compared to my kid, all else is secondary. I realize that I may not always have the freedom to work with a kid-friendly employer, but it will be an overriding criteria in terms of my workplace/career choices. I'll happily negotiate on other terms, but my time and priority for my kid. And if an employer does not agree, it's their loss, not mine.
Your definition of fact is dangerous to science. As soon as something is declared "fact" (is this done by some sort of high science cleric handing down edicts in an ivory tower or something) it can never be contradicted. All progress in that area will effectively halt, since the assumption is that there is no more progress to be made. I for one thank God we haven't regarded fact in this way, otherwise we may not have General Relativity (among countless other contradictory scientific findings).
I keep waiting for the massive PR siege against Uber to fizzle out but it apparently has marathon legs
The Fate of the Furious Trailer
Show HN: Kookoo,Twilio for Cloud Contact Centers.Calls,IVR,CRM & Chat
I think parent's focus was on the "sourcing ML talent" part rather than the Kaggle team itself.
He's been stuck in the Ecuadorian embassy since June 2012. And he's probably rather annoyed about the whole mess by now.

Here's a seemingly comprehensive history: http://observer.com/2016/02/exclusive-new-docs-throw-doubt-o...
I think the headline is misleading at best.

It's transferring 25% of its stake into fund into which it has joint ownership. The headline makes it sound like its dumping its investment.

The mods changed the BBC's clickbait to something more accurate. Thanks mods!
This really depended on what their role was. Many star traders or analysts were able to get re-hired almost immediately or start their own firms without a problem. Here's an example:

https://books.google.com/books?id=qwDFL2xIX4kC&pg=PA88&lpg=P...
Review: Auth0