skysight-inc/HackerNews huggingface dataset:
"What about unit-testing framework and some best practices?"

A random collection of anecdotal stuff and opinions that comes to my head:

For common utilities for game development stb libraries are fantastic: https://github.com/nothings/stb

For general idea how to structure code you could google "data oriented design c++".

Try not to structure your solution around class hierarchies but prefer data pipelines.

Write your code so that it's easy to debug.

Prefer to structure your solutions around stl containers and stl algorithms.

Avoid using inheritance as long as it does not reduce code complexity. If you use inheritance prefer to use only abstract base classes. Do not use template metaprogramming unless you are absolutely sure it's the most simple way to solve your problem. Avoid multiple inheritance like the plague. Ignore my advice if your problem is such that they don't make sense.

Try not to solve any other problem than the one you have immediately in front of you, and solve it as fast and simply as possible. Do not try to create some "framework" to solve your problems but prefer simple code. Refactor your code as your program progresses. This point might be obvious - but for me personally has been the most difficult thing to learn - writing agressively simple code is the best thing I've learned. This does not mean that the abstractions that are implemented are necessarily simple - just that the implementation is as easy to read, easy to debug and easy to reason about it's dependencies, as possible.

If you can trade off complexity of dependency with a little bit more code, prefer little bit more code. I.e. if you have an itch to include a library because you need a single function, think hard about implementing or copy pasting the function to your codebase. Once you are confident enough that you know you need something, only then include it.

Learn some OCaml :) - really, I feel like much better C++ programmer after I understood how a properly designed language with a static type system works. (I hear "Real world OCaml" is a good book).
Some people are missing the general point of the text.

Sometimes I like the "shiny new stuff" that is presented on the frontpage here. I take it for a spinn to see what I like about it and what I don't like about it.

But other times I just want to hack together something. Then I go and use the tools that I know. Imperative programming with Python, C++, JavaScript and C# with a sprinkle of functional ideas.

Why? Because it is about getting things done, and not learning the idioms of the new shiny stuff. You can try to convince me of the virtues of going with something less mainstream, but I have inertia... And some of you reading this have that too.

I occasionally see comments here with some reflections of "guilt" over that they don't use the new language/framework du jour. I don't feel "guilt" and not going to apologize that I use the tools that I use. This is how I've solved programmatic problems most of my life and I'm going to continue doing so. But it doesn't mean that I'm not trying to learn something else. Maybe someday I'll be doing functional programming with a language that automatically parallelizes my code, but right now I just can't shift my mindset to do it. I'm too busy building stuff with the tools at my disposal.
I stand corrected, forgot about the power cables I know sharks were attracted to the EM field around the old transatlantic phone and telegraph wires. Well at least it will be a good reason for an outage.
How's the job market 20 years down the line? I'm ten years in the field and trying to switch into management, becase growth prospects and scarcity of senior opportunities scares the hell out of me.

Basically I live in constant fear of the day I'll hear 'overqualified' at a interview
Or cam rip.
You could also go all the way and declare a Num a => Num [a] typeclass, with (+) = zipWith (+).
While doing custom enterprise apps in Java isn't the sexiest or the best paying job in IT I enjoy it quite a lot. Working on a standard and stable stack with well-established conventions minimizes the hassle of jumping through the technical hoops and allows me to concentrate on the actual business problems.

A couple of years ago I moved into an architect postition and while the high level of abstraction, customer interface and leading and instructing the development team is enjoyable I feel my personal development has slowed down significantly because I have very little time to contribute to the actual code. On my spare time I'd rather concentrate on my other hobbies and when I do programming it's mostly dabbling in Ruby, Clojure and other stuff I'd hardly be using at work. Currently I'm looking for a new gig that would be a lot more hands-on.
I thought that CDN should send proper caching headers and browser will save cached version after first request and never hit CDN again.
Yeah, I did say exposes C API. It's what most crates that have it, call it.
C++: Experiments in partition and remove
Which also reminds me of something else, which is the problem of multiple hardware vendors making extremely similar commodity "beige boxes" that can only compete on price. One of the entries on my wishlist for an Intel/AMD branded laptop is a "high quality UEFI BIOS": https://www.reddit.com/r/hardware/comments/42cnbq/would_inte...
Soros famously broke the bank of England: http://www.investopedia.com/ask/answers/08/george-soros-bank...

His name alone is enough to scare Chinese bankers who are worried they can't support their currency.
Does not work on Safari 9.0.2 for me but nicely in Chrome...
Secret love song by little mix mashup with arabic songs
How to avoid refactoring in your first React.js application
No longer accusations when they've been convicted in the court of law to the exact claims made.
Increasing productivity in JetBrains IDEs
And if it is just cooling, why aren't datacenters built on the coast pumping sea water for cooling?
On average, the people really are incredibly boring, especially at large companies.

I wrote a post recently that is tangentially related to this. Don't want to shamelessly plug myself, but I think you might enjoy it:

http://likewise.am/2016/01/22/more-lessons-from-my-twenties-...
“HN reader” implies that charging LR for facilitating money landering is just as absurd.
Sea water decomposes plastic faster than it corrodes metal.
This is one of the issues with plastic pollution of the oceans they break down release nasty chemicals and end up as micro plastics.

Most plastics will decompose under a year in the oceans turning it into soup basically.
http://news.nationalgeographic.com/news/2009/08/090820-plast...
If U.S. privacy negotiations with Europe fail, it’s a recipe for chaos
Perfect is the enemy of done!
Show HN: Digest – Reddit newsletter based on the subreddits you want to follow
I'm curious; what do you consider of something working with your hands? I came from the opposite background (former chemist, process engineer, chemical engineering) and opposed the minimal work that hardly anyone cared for. With programming, moving electrons makes it a much bigger impact with much ease.
Mens rea?
See also https://news.ycombinator.com/item?id=11008449 .
See also https://news.ycombinator.com/item?id=10999335 .
the lack of diversity in that team is astounding ! not a single eastern european there.
The libraries can't be that big, surely it would work fairly well if you just dedicate a preset portion of hard drive space, and delete the least used when it exceeds that size.
This took my attention: " I’m certain all good ideas will eventually end up in Ember" which is why I think it's awesome Ember.js is getting far from Angular nowadays because the future is not there.
Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make.

Why not make a much less depressing comparison and compare developer wages to manual labourers or retail staff? Compare a typical developer to a typical retail worker and we get way more money for way less stress. We're not at the top end of the scale, but we are nowhere near the bottom either.

We get to sit in comfortable offices, working on interesting projects (mostly), building things that make a difference to people, without getting dirty or abused by the public, and we're pretty well paid for it on the whole. And there's always the possibility that we might hit on an idea that returns literally billions of dollars. Or work for someone else who had that idea and walk away with literally hundreds of millions of dollars. Most people don't have that sort of opportunity.

I've been a professional developer for over 20 years, and I've enjoyed most of it. It afforded me the opportunity to do my own startup for a while, and when that failed it was easy to get back in to work with a job that pays quite well. I certainly wouldn't want to do anything else.
Lexical Distance Among the Languages of Europe
"I gave it all up to work with my hands doing something."

Yes I did this as well. Worked for 15 years as a programmer in financial services. Really found it depressing.

Retrained as a care assistant to work in a nursing home. Find the physical work suits me better and enjoy spending time with the residents. Also did a Physics BSc part-time.

But mainly my headspace is free now when I come home from work. Still do some side programming though - starting Scheme and SICM at the moment...
Show HN: Precious – Find the gems hidden on your Twitter Timeline
Amazing read!
Haha. That's addressed in his essay!!
Perl 6:

@a «+» @b;

And, for the three (or more arrays, you just keep going) case:

@a «+» @b «+» @c;

These are called "hyper-operators": https://perl6advent.wordpress.com/2009/12/06/day-6-going-int...
9/10

I'd say that's roughly half because I enjoy the work and half because over the years I've got better at looking after myself, being self-aware and cultivating positive habits.

For me, the big wins have been:

(1) Regular exercise (daily cardio, weight training 3x a week)

(2) Daily mindfulness meditation.

(3) Flexible hours, remote working.

In some circumstances, (3) can be hard to negotiate. But (1) and (2) are up to you.

See also this excellent survey of positive psychology:
https://www.coursera.org/learn/happiness/
The whole concept of jurisdiction & borders is an illusion. Any entity can apply any arbitrary law anywhere, provided they can enforce it. The reality is that the US is a superpower in terms of military, economics & political force. If the US really wants a jazz band at every store, the UK may be in a strong enough position to fight back, but Costa Rica would most likely have to employ that jazz band as it couldn't possibly withstand the will of the US.

As you've probably noticed, the US goes around the world and enforces its will all the time. Whether its via various asymmetrical treaties, direct military invasion or some other tactic, they usually at least move the needle towards the direction of their desire.

Which is not to say that the US is alone in these actions. There are lots of entities that enforce their will like this. Russia for example just recently went and took a nice chunk of land for itself in the form of Crimea. This was neither new nor surprising, especially for me as I was born in a Russian occupied territory.
Ignore the haters. I can't fathom why you would be down voted. Keep up the great work. I will be following your project with interest.
still need to check if file is changed, hence 304 http status code.
Thanks for the reply. It's not all that crazy and I'm glad you elaborated on why new entrants don't come into the market and suck up that profit/inefficiency.
Qt Creator is about the only cross-platform C++ IDE I've used that has decent code completion.
Coeio » Designs and sells eco-friendly Infinity Burial products
Is it? I understand there are many things in UNIX that are exposed as file like objects, but is it part of the philosophy that this should be done with anything that it _can_ be done on? Can you cite me any sources?
With the layoffs in the oil exploration industry and the knock-on effects for engineering firms who helped with undersea exploration this is great timing from Microsoft.

Cheaper labour/costs to pick up the technology needed.
The problem with memory management is that, in any large system, you invariably have a situation where multiple need to share ownership of a resource (think std::shared_ptr or Rusts' Rc<T>). And in large systems, such ownership graphs may form cycles.

Now you can build systems that detect cycles who lack ownership outside of the cycle and break them. We call those systems garbage collectors.
A Tesla in Every Garage? Not So Fast
You have been a professional developer since you were 9?
My take on this is simple: is it a bug: no. Should we add more protections/add quirk handling: yes, assuming we don't like people having a bad day over this.
Ask HN: How to build culture as an employee?
Hey HN, it's 3 AM and something is on my mind.

I'm working as a developer in a funded startup that has been in existence for 4 years. The company has 20 employees, 2 of which are CEO and CTO (the founders), yet absolutely no culture or organisation of any kind.

Project Management is done on a very high level by the CEO - he is the only one that makes decisions, even technical ones even tho it isn't his area and his knowledge is very limited. The CTO has absolutely no involvement in the tech decisions, no tech education and when he writes code it is completely terrible and barely uses source control. We don't have any kind of concrete feature list, release dates, growth direction or goals, don't follow any project management methodology and have meetings to discuss the product maybe once in 3 months. The company has no semblance of culture, there is no identity, no company values, no mission, and it all seems thrown together and held by sheer luck.

I like the product, love area in which the product is (music concerts) and love what a few other employees are doing to keep it good.I would love to continue working here but don't know how much longer I can stay in a company that is so undefined.

Does anyone have advice on building the company culture as an employee?
They do but the browser has a limited cache size. And because of the gigantic size of even the smallest web sites these days, the cache is maxed every day, and your file are purged again and again. This is basically just a super cache of files you know you never want to invalidate. Also, it prevents OPTIONS and HEAD requests.
It's not possible in the US.
If the authors validly transferred copyright, they validly transferred copyright.

(There is a takeback provision after 50 years or so, but ...)
Nice article, I did not know about Sonic Pi. Also chuck language supporta OSC as well as vvvv, processing and many others. The only disadvantage respect to Midi is that being distributed over a network, OSC sometimes has latency and few signals are dropped.
Windows 95 in your browser
Thanks! And how is deployment to the platforms that run on common mobile handsets?
Free PSD Mug Mockup – Designrazzi
Well, at least it wasn't as bad as what happened here: https://bbs.archlinux.org/viewtopic.php?id=207549
Not a professional one, of course. :-) However, I think it's fair to say I've been programming since that age because of the sheer amount of it that I did before I was 18, as it relates to the theme of burnout. I wrote fairly complex systems all throughout middle and high school. As I recall, I wrote my first multiuser server when I was 10 or 11.
Chinese police swoop on $7.6 Billion ‘record-breaking online Ponzi scheme’
Note that it's not only a problem of the SHA-1s not being checked, but also a problem of consistency of the pack not being checked. That is, you can be given new commits with missing objects and Git won't notice. Worse, you can push a pack with missing objects, and the server won't notice (by default). Many guides will tell you to enable fsckObjects on servers.

It's also not a Git-only issue. Mercurial has the exact same problem., defaulting to trust everything it's given, both on the client and the server. And while the server.validate option allows to enable consistency checking (no missing object), I don't think there is a setting to enforce SHA-1 validation. OTOH, on a repository the size of mozilla-central, this would have noticeable consequences because file lists (manifests) are flat (but that's changing thanks to the work for narrow clones).
Now explain how Amazon Fresh/Amazon Now will work with that.
I'd add Google Fonts to the list. It's a massive privacy leak as well.
Any nation with a large rural population with access to easy credit has the potential for massive growth.

The majority of China's population still consists of subsistence farmers. China should be able to maintain rapid growth until those farmers are integrated into a modern industrialized economy at which point the returns on investment will start to diminish like it has for every other industrialized nation.
If this article had any less substance it would be a David Brooks piece.
There is no better illustration of this than the US eventually persuading Sweden to railroad The Pirate Bay, despite the fact that it was well-established that TPB was perfectly legal in Sweden.

As it stands today, there are some entities that are effectively more equal under the law because they have infinity money. One of the most important rules for a successful adult life is to never cross anyone with infinity money (unless you yourself also possess infinity money). Money talks.
I thought one of the benefits of using something like Google CDN to serve jQuery was meant to be that a person's browser was much more likely to have that in their cache than mylittlewebsite.com?
The End of Big Data
That's interesting, it also resembles the patterns I see on LSD or 2C-B
Not difficult to do it under Windows either BTW.
Blank the cookies and mangle the user agent too.
> The puzzle aspect, though, is in my opinion, close to perfection.

I found most of the puzzles so far sudoku-esque (mainly the symbol-puzzles). You don't get the solution by structured, logical thinking, but by trying out what could work. I didn't find it very statisfying. The puzzles that are integrated in the world were good interesting but sometimes needlesly ambigious. What I really liked was how much he did with such a simple concept.
That may be a part of it, but I also think a major component is cooling. Cooling account for 30-40% of the running cost of a datacenter, so building with access to enough water, they've essentially cut the running cost with to 2/3 of conventional datacenters.
Until you need to build a cross-platform cmake-based project on windows. Which means modifying the system path using the lovely "environment variables" panel straight from the Win95 era, downloading and compiling dependencies (half of which fail to compile on MSVC due to lacking standards-compliance), dll hell and all the other MS cruft.

Contrast to apt-get install foo-dev or brew install foo on Linux and MacOS respectively.
8/10.
Four Years ago (with 26, after studying Design) I started working as a front-end-developer, and two years ago started learning proper JS- and programming-skills.
The work is mostly rewarding and the pay is much better than it would have been as Art-Director in a design- or advertising-agency. There is no overtime and the co-workers are really nice.
The only small downside is that there is no senior front-end-developer with more experience than me, since the company consists of ~100 Java-Consultants and 5 Mid-Level Front-End-Devs. Sometimes I could need a mentor, like the Junior-Java-Devs have.
That depends on what type of caching headers the CDN uses. If it uses max-age and no etags/last-modified the browser won't send the if-modified-since request and just use the cached resource without asking the server.
Can I easily use and debug Rust on Windows, Mac, Linux, iOS, Android, Playstation, and Xbox? Then it's not a viable option.
The problem is that telecom in general, but especially the internet, has made the old concepts of jurisdiction and borders, which were developed when people had to be in the same place at the same time to interact, really muddy.
Recording ambient sound in Greenwich Park (sometimes binaurally) has made me appreciate just how much air traffic noise there is.
Working as a programmer, very happy.

Working, not necessarily that happy.

Programming is a manifestation of curiosity. Therefore, programming is a spark that, once ignited, probably never really dies. You can suffocate it and pretend it's out but when things free up again it will come back. If I wouldn't be working I would simply be programming on my spare time more than I do now. I can only speak for 30 years down the line, though, so YMMV.

Working is a whole another thing. It's a great opportunity to work on interesting and challenging things. It's also an opportunity to see those interesting and challenging things serve goals you don't find so interesting and challenging. That's obviously because the owner of the company gets to decide what the company makes. The problem is decent income and good benefits. There's really no other way to fix that problem except to stop working and get your income from a company of your or your investment returns.

Much of what I do at work is not programming even if I am a programmer. Most of it is communication, maybe comes down to fixing bugs so that other people can continue their work, and then there's a slice of actual development in between, at times. It's not necessarily development that would always be fun but it's still interesting and challenging. I could imagine doing something else but the nature of work wouldn't change except that the payoff would likely be lower. I could work on something else but not as an employee.
The validity of TLS certificates on message submission servers is much better than for MX servers.
If market is forced to trade at an artificial price often the result is illiquidity. Swap or not eventually someone has to be on the long side.

I didn't say PBoC is bigger than the market. I said it is bigger than the offshore market. I don't see how that is controversial. It can shut down the offshore market if it wants to.
Yeah I suppose you could say that our "training set" doesn't include optical illusions. Though I wouldn't really call it overfitting because our brains haven't learnt specific training inputs, which is what happens with overfitting.
SpaceX and Russia Change the Rules of the Military Launch Market
I don't know the state of that at the moment. You'll have to ask on the D forums.
What do you have against The Matrix?
The method this extension uses would require one to download the ~1GB font archive upon installation for that to work, since it installs all the blocked libraries in the extension itself. Perhaps it could block the 100 or so most commonly used google fonts and serve those...
With the amount of pushback and bikesheding, I don't expect reflection to happen this decade at all. For me, modules would be killer. This is right now the single biggest issue facing large C++ codebases.