skysight-inc/HackerNews huggingface dataset:
> the civil engineering profession is lightyears ahead of the software people because there are lives on the line

This is an often repeated and completely false assertion.

Just think about the number of deaths every year due to bad road and highway design - level rail crossings, highway exits and entries from the left (in North America).

The idea that civil engineering is any better than software is just nonsense.

Oh, and don't forget about the civil engineers at Fukushima who put the backup power systems in the same area as the reactors, guaranteeing that they would also be destroyed in any serious disaster.
Sequins: a key/value store for serving static batch data
As I said the last several dozen times ZCash hype articles got posted; what's worse than currency controlled by a government AND currency controlled by an unelected group of developers? Currency controlled by a for profit company.
When you say "go agile", what do you mean? Why does the client care how the project is delivered?

If the client wants to pay a fixed bid then bake that added risk into your estimate.

For clients - if they're asking for something new/unique, what they have in their minds at the beginning is just a theory and needs to be tested -- working in iterations and focusing on "how do we help you prove your hypothesis in the most time/cost effective manner". Agile is about incremental, demonstrable progress to provide clarity and reduce risk.
I have been using a service called Airtable.com (no affiliation) lately to organize tasks and projects.

It is like Google spreadsheet and Trello made babies in my book when you utilize it's ability to add filtered Views and connect and link data across tables.

Attachments from other services, calendar views and ability to do low level formulas are other standout features imho and it just seems to fit how I actually think better than any service out there.
Trumpence
Obama takes aim at workers’ non-compete agreements
> That is an incredible bumper-sticker factoid.

It's also how exponential growth works - at time T = t you're producing/using as much as was produced between T = 0 and T = t-1.
There's a few people doing this with Wikipedia content anyway, of course, not to mention the content farms geared towards search queries, which just makes the competitive space for a raise VC-capital to invest a lot of time and effort into making an ad-supported traditional encyclopedia that's actually good seem even less attractive
I used to hate getting rid of anything. Then I realized that for most of this stuff, odds were I was never going to look at it again between now and when I die. It's kind of morbid, but makes it easier to get rid of that folder of things I meant to read from 3 years ago, or that box of artifacts from my past that has remained unopened through 3 apartment moves.
It's a tricky one. I can tell a chef when their food tastes like shit, but I can't cook like a chef can, and I probably couldn't tell him/her what he needs to do to make their food taste better. It might not even be a bad meal! It might just be different to what I'm used to.

It's entirely possible that your co-worker doesn't know what would improve your code, but simply knowing that it can be improved can be a useful thing, as it urges you to explore other options. Since your co-worker has said that your code is "WET" (I assume the opposite of DRY?) this should lead you to look into what makes code DRY in your language, and through this, learning if your code is repeated for a reason or not.

As a personal anecdote, on a recent project a junior developer slated some of my Razor code because I wasn't using EditorTemplates for the forms on the site. After a month or two on the project, that developer quickly learned why I didn't bother with EditorTemplates. Fields that seemed similar weren't similar at all at times. The project requirements were changing weekly, and ultimately I was able to make changes quickly while he was fiddling with his DisplayTemplates/EditorTemplates, trying to make them work reliably across multiple different scenarios.
"I like to say that for me, the #1 application of quantum computing—more than codebreaking, machine learning, or even quantum simulation—is just disproving the people who say quantum computing is impossible! So, quantum supremacy targets that application."

\facepalm
I've always wanted a fill-tab feature for video. The video fills the view port of the tab and removes all the other content but remains just a regular tab. Does it do that by any chance?
Comparing the two versions, I found the 'clever' version to have less cognitive overhead, since the reader has less state to keep track of (1 vs 2 variables).

I don't find the pointer syntax that difficult to reason with.

How would you expand the code?
How so? The social conservatives seem to be able to kill people. The only reason why they are so rare in west is lack of popularity.

If they don't suffer from such unpopularity somewhere, then they seem to have all the cards in their hands.
I am starting to believe that May's hard-core "Brexit means Brexit"* stance may actually be her way of remaining in the EU. After all, the Brexit positions are massively internally inconsistent, apart from at odds wit the external realities.

The best way to show those inconsistencies is not to argue against them, but to forcefully try to go forward with them, failing utterly and completely and thus revealing the inconsistencies.

*whatever that exactly means. "welcome to Tautology Club. If you like tautology club, I am sure you will like Tautology Club".
A headline with the phrase "Leading the Fight to Protect America" encourages skepticism as well.

TFA, Alperovitch, and one supposes the ruling party as well, can't seem to make up their mind about Alperovitch. For a security dude, he seems to make a lot of political judgments. Maybe that's a natural part of the whole attribution "know thy enemy" shtick, but it does undermine the impartiality of his attributions. Then again, maybe they do need some help with diplomacy:

Administration officials asked Alperovitch to attend a meeting to consider what to do. He was the only native Russian in the room.
Mistakes in developing maintainable apps
Yes. Another issue is that his grid is a square. It's hard to know whether this was sensible - author hasn't described the domain.

You could address both issues by having two for loops, one following the other. The first loop changes the top and bottom rows. The second loop changes the sides but not for the top and bottom cells. A comment could highlight that you're not updating the corners.
> The vast majority of cars already have a small electrical generator installed. Plugging things into a cigarette socket to access that electricity causes 0 extra load on the engine.

No. Your use of energy from the generator through the cigarette socket manifests as a braking force in the generator. The more energy you use, the more it brakes. The car's engine has to work harder to overcome that braking.
Wow, this looks really good, thank you for sharing! Can the files feature be integrated with Dropbox/GDrive (I can't find this on their page)?
Well unless your idea of expansion is digging a new hole that's not connected to any other hole, it matters. Also NYCs system being so old, the control mechanisms are horrendously difficult to modify. The entire subway system is basically a mechanical computer so they can't just add another track and then type a few lines of code into a computer to control the new line.

Why are those control systems so old? Well, a 24/7 system is difficult to do maintenance on!
Notice he said Solaris and not Illumos. You can still buy Solaris from Oracle if you give them your soul.
1) A Google Doc that has different headings like Inbox, High/Medium/Low Priority, Scheduled and then Notes. I've been using this for 2 years and wanted to write an app that would extract the dates from the Scheduled category into a calendar, but found out a simple document such as it is is sufficient.

2) I don't. If it doesn't fit into the above-mentioned 2 page document it's not important enough to be categorized. Categorisation (control) used to be a major source of stress in my life.

3) For academic paper/thesis writing I am actually working on a software to organize all research/quotes and then keep references to them in a "main document". Contact me if you'd like to know more.
You possibly don't now much about civil engineering, let me start out by writing that every project in civil engineering stands on it's own, it is the knowledge and the practices that get re-cycled from one project to the next and on a higher level from one generation of civil engineers to the next.

So it is extremely unlikely that civil engineering will be done twice for an exactly identical project. But no civil engineer is going to make his own table for bolt tensile or sheer strength just to scratch an itch.

Then we come to software, in software the same problems appear over and over again and we have in the 100's of possible solutions for some problems that are all almost (but not quite, of course due to sloppy design and lack of standardization) interchangeable.

Think web frameworks. They are themselves an attempt to abstract away some elements that are common, but in the meantime there are almost as many webframeworks as there are things that they were trying to abstract away to begin with (and all of them fail on one or more of the details). Or programming languages, another area in which we have re-invented the wheel so many times that the number of programming languages (1000+) will at some point probably exceed the number of human languages (about 6500 in active use, but about 2000 of those have < 1000 speakers).

http://www.infoplease.com/askeds/many-spoken-languages.html

http://www.99-bottles-of-beer.net/
That is decidedly the case.
The article clearly states that no one was in a position to take over if the system failed. They were testing on public roads, and if something had gone wrong, we're talking about a loaded 18-wheeler: having escort vehicles would do nothing to mitigate a serious accident. Other people were on the road as well, none of whom volunteered to be part of the experiment. Short of closing the highway, there was no safe way of doing this. We're not talking about a mature technology here. We have no idea what the real, operational failure rate is. It was an irresponsible decision to put people's lives at risk for a corporate publicity stunt. FTA: "I think real implementation of technology like this is still five years off." Then so should this kind of experiment on public roads.

As a side note, I appreciate that you took the time to articulate your argument, rather than mindlessly downvoting. It makes the site much better when there's actual discussion.
Is it possible it remembered your login from the last time you tried Opera?
It is certainly true, if there is absolutely no time to clean up, there is nothing to do be done about it.

However I think there are too points to consider here.

First, cleaning up code is a skill and as such it improves with practice. That is the more you get used to fixing code quality the faster you are at it and the easier it is to include it under time pressure. If you are never given the opportunity to do it, there is no chance to become more efficient at it and there will never be enough time to do it inefficiently.
(The above is IMHO even more true about testing.)

Second, it is the favorite excuse of the lazy programmer. "Pragmatism", etc. From the outside it's hard to distinguish between lacking time and lacking willingness.
While I understand the desire for a single integrated tool, I think it's better to use the right tool for each job. Especially since people work/think differently, the best way to handle a ToDo list for you may not work for me. Similar to the UNIX tool philosophy I think each person needs their own collection of tools to solve that long list of problems.

For me:

OmniFocus for ToDos/Reminders and synced issues from JIRA (work) and GitHub (personal projects)

Evernote for taking notes, capturing webpages/blog posts I want to save/read later

DevonThink for going paperless at home. Scanning everything that comes into the house.
>Use the Lastest iOS/Android Features

>Apple and Google want to show off the latest features in iOS and Android, so incorporating these into your app will make sure you have the best chance of getting featured.

.

I think it's not fair not included Windows here. Windows 10 also have excellent features.

https://developer.microsoft.com/en-us/windows
> I can't imagine anyone would ever sign a document that said they couldn't work in their field at all because they worked for this company.

Yep, but they do. Even Jimmy John's was making employees sign a non-compete saying they wouldn't work for any competing fast food delivery chains if they quit. E.g. if you drove for Jimmy John's you can't quit to drive for Domino's. http://fortune.com/2016/06/22/jimmy-johns-non-compete-agreem...

They got sued and lost, but thousands of employees signed them because their only alternative was to not have the job or possibly any job.
Camlistore anyone?
Honestly I don't see that cross-platform applications will implement it. At least in near future. So probably it'll be those F-keys, but without physical sense. Overall I agree, that icons instead of buttons would be better (I'm always confusing "step over" and "step into" hotkeys).

Anyway it's better to try it before judge. May be those keys are fine or may be I can live with different hotkeys.
Hahahahahahaha. No. Women in the West do not have it better than men by a long shot. We have a presidential candidate threatenjng to sue to silence all accusers of sexual assault towards him. We have trans women of color being killed daily in the streets with no repercussions. And we have white dudes on the internet claiming conscription is just as bad as living under a society dominated by rape culture. Get out of your own head
TIL. I always assumed it was open source and was about to try it. Oh well.
I've arrived on Mars. Argggh, my back
I made/use http://www.multikanban.com for kanban boards and general notes

I made/use http://listlogs.com for bookmark lists, logs of what I read, etc

With these two tools I basically have everything I need. Not trying to convince anyone here, they are just quite custom made for my needs :)
No Motörhead?..
"Falcon had identified not one but two Russian intruders: Cozy Bear, ... and Fancy Bear ..."

I'm not that knowledgeable about current hacking technologies so maybe this is a dumb question, but how can they 'identify' the origin of these spy-/malwares?

Wouldn't a group with equal or more knowledge be able to obfuscate their origin?

I think it's kind of suspicious that Russian state hackers would send the data to a server that's apparently already known to be owned by Russia.
The best xkcd-pedantry-twist is 1589 IMO. :)

https://xkcd.com/1589/
The issue I've seen with backbone apps, even written by "good programmers", is that no two are alike. So, when you come into a new app, a nontrivial amount of time is spent figuring out how the original programmers are using it, which libraries they pulled in for stuff like model validations, etc.

To be fair, that's somewhat due to the fact that I mostly encounter them in consulting arrangements, and I don't know that any of the other frameworks are much better in this respect. I think I've just gotten spoiled by doing most of my work in Rails, a mature opinionated framework.
I don't see how it's arguable for a currency to have a 10% cut for the founders. That's too high.
I have been told by a lawyer friend of mine that for a contact to be valid both parties must have the ability to negotiate it. He said that is why most non-competes are unenforceable in the first place as you don't really have the leverage to negotiate that for most jobs. I took his advice and advantage of his letterhead and told a previous employer to pound sand when they wanted me to not work for a competitor. Worked out fine.
big deal with the DSLR: until very recently, if you wanted a large high-quality sensor you needed a DSLR (or medium format, but that's a totally different can of worms and level of pricing). They still are ahead in high-performance auto-focus systems and selection of really good lenses, but mirror-less cameras are getting closer and closer there as well.

The vast majority of enthusiast and pro users uses the viewfinder regularly, if not exclusively. Professional mirror-less cameras basically have to have a (digital) viewfinder.

* The 3" screen is a lot smaller compared to the image you can see through a viewfinder, and doesn't fill your field-of-view as much. Fixed with digital viewfinders.

* thus, many people find it quite hard to get a good impression of the image with a screen.

* The screens have limited resolution and delay. Resolution is especially a problem with digital view finders.

* In many DSLRs, using the screen limits the auto-focus performance.

* In bright conditions, the back-screens are hard to see. (Esp. if it is a touch screen with smudges on it ;))

Having both options is great, digital displays add a lot of features as well: focus-peaking, brighter image in low-light, easier to use the camera held high or close to the ground. Mirrorless cameras with digital viewfinders are becoming more and more popular, but the viewfinders won't be going away.
Thank the lord, non-competes are a criminal waste of productivity.
I think a big part of the problem can be attributed to tool makers and the lack of true innovation in that arena. As a developer tool maker (HiveMind: crudzilla.com) I am almost always disappointed when I come across a "new" development tool and find that it is the same tired code editor tricks (key bindings, syntax highlighting, code completion, multi-pane editing) with some "flavor of the day" gimmick (git) thrown in. IDEs have been around for more than 20 yrs and the most popular IDEs have not advanced the state of software development much at all.

Compare IDEs with chip fabrication as an easy to compare example. Improvements and advances in chips can be directly tied to advances in fabrication, the same can't be said for software because there is almost no innovation happening in those products despite appearances.
Exposing the sensor at the last moment (when the mirror moves into position and the shutter opens) results in decreased noise compared to live preview. I think this has to do with residual charge and heat on the CCD. Also, in some situations an LCD is hard to see, whereas the optical viewfinder has no lag, has fantastic picture quality, and looks right through the lens, which is great for all sorts of situations.
If you replace "developer" with "general contractor" and "writing code" with "constructing a building", do you believe your argument holds up? How about "doctor" and "practicing medicine"? "Attorney" and "practicing law"? "Salesperson" and "selling effectively"? I could go on.

While employed, a person necessarily learns skills in order to perform their duties; as an employer, it would be impossible to derive value from the worker without training and knowledge transfer. Your argument is that it should be a two-way street until employment is terminated, then it becomes a one-way restriction against the employee. That's not fair to workers and is extremely biased toward the employer.
This is absolutely fantastic. I have seen many musicists trying to explaing this with not much success, mainly because they dont understand the physics behind.

You explanation makes perfect sense and it is so clear and so well that once you read it you can remember it forever.

Thanks!
Scala was designed to provide the best of OOP and the best of FP, without adding cruft or having multiple non-orthogonal features of one concept.

I think there is large audience of people who want the best OOP tools, or the best FP tools or both.
A Day in the Life of AngelList's Naval Ravikant
> Why is this not a headline news:

You linked to a highlighted story on their sci/tech section. What more do you want? There's tens of outlets reporting his comments - just check Google News.
There's also APS-C sensors, and even mirrorless full-frame
Civil engineering is a compromise between many factors and those 'bad' roads and highways are likely the best that was possible for a given situation and the budget allotted. The point is not that things are not perfectly safe, the point is that given the constraints and the known state of the art they likely could not have been (much) better.

And civil engineering is just one branch of engineering, there are many and all of them have to work with the same balance between available resources, time and other constraints and they do substantially better than your average software project.

A bridge collapsing is headline news, a computer program crashing is so normal that you would probably not even mention it to another person if it happened to you.
Just let him uninstall it.
It is MUCH more stable to shoot looking in the viewfinder with the camera pressed against your face than holding it out in front of you at arms length. There are smaller SLR cameras now that are mirrorless and use a variety of means to provide a viewfinder because it is still a much better way to shoot.
A publicity stunt does not, however. And any risk associated with progress should be voluntarily assumed, not imposed by governments or corporations.
So your solution to what you perceive to be propaganda, is lower quality propaganda? I guess you took a look at "credible arguments" and decided, no, you'll just stick to the other side of the false dichotomy.
It may be quicker for the original developer to throw together some awkward but working code -- the real expense comes from the time spent by subsequent devs having to read and understand it.
FUD. At some point in development you do a public road test. What evidence that it wasn't time for that? Just ranting.
For loops, even in C# are used in performance sensitive contexts. I believe things have changed in versions of .NET and if you're using things like Mono that also have its own versions.

Foreach generally (or used to) generate more garbage/allocations. Foreach against some types in some versions of C# (ex: structs) produces no allocations. There are also some ugly mutation related things you could do using for instead of foreach, but I'd call that bad code.

The same things are true on many platforms - foreach is generally preferable for non-peformance sensitive code. In some languages and libraries, foreach constructs will do things similar to auto pointers or reference counted pointers, which makes them safe enough, but also slower. The point is that foreach can take up more memory, cause garbage, or cause allocations/free on some platforms and languages which is not always desirable. For is therefore a better choice if you don't want this behavior. Mostly though, using for instead of foreach is micro-optimizing in these cases. Where I'd usually do it is somewhere critical in my code, like something called a lot per frame game loop for example. If I caught someone using a foreach that generated lots of allocations and is called a lot of times in these contexts, I'd probably kill them (and have).

So in short, I guess I'd agree that "many" people would do it, but it's context dependent which include performance goals, target platform, language limitations, and more. Mostly, it's better to just write the code that is safe and works, and go back and fix any bad decisions like this. If it's obvious though, I don't have a problem with the optimization from beginning.
As most readers here would agree, ideas are worth almost nothing but executing on them is the value.
After visiting the Vangav homepage: http://www.vangav.com/
I still don't quite understand how to use it or what it does.
This also comes easy, if you are using a more expressive language:

remove e [] = []
remove e (e:xs) = xs
remove e (x:xs) = x : remove e xs

This even has the benefit of making it very clear whether you've remembered the case where 'x' is not in the list.