skysight-inc/HackerNews huggingface dataset:
I have heard this so many times:

> Comments: I find comments, outside of docstrings, a smell.

But is this really the case? I find comments like these invaluable:

/*
* Mark walreceiver as running in shared memory.
*
* Do this as early as possible, so that if we fail later on, we'll set
* state to STOPPED. If we die before this, the startup process will keep
* waiting for us to start up, until it times out.
*/
SpinLockAcquire(&walrcv->mutex);

https://github.com/postgres/postgres/blob/master/src/backend...

Part of the job of a developer is to communicate

- domain model (Concepts, Relations between them)

- intention behind the code (Why is this code here?)

- possible pitfalls (I tried this, it does not work because ...)

- limitations (TODO: This special case does not really work, yet)

for your colleagues and future heirs.

How would you ever cramp information like this into variable names and types?
(... without introducing so much abstractions that the code becomes unreadable).
> But I'm not sure everything fits in there. Where do you document processes like how to test stuff that isn't possible to test in a local-dev environment?

I feel like that would go into the README or an attached wiki page.

It is funny, after writing my MILLIONTH validation library, I've been thinking OpenAPI or APIBlueprint driving my validation and parsing library at my web application boundaries is the way to go... which is kind of the opposite. Documentation driving my software xD
> Doomed is a strong word, what does it mean

The Euro could dissolve in lieu of national currencies. Borders may be redrawn and remilitarised.
Use the client's funds (shorten accounts receivable terms): x% up front, y% per month, or work ceases. Nobody should complain, if they do then make like a medium to large scale organization and cite 'policy'. Finally, defer all outbound payments (accounts payable/liabilities) by some fixed period, eg. one month. You can do this on the sly by setting a fixed date per month for payment and offsetting all contracts such that you gain 3+ weeks of hold time. Use your existing funds as a buffer in case of non-payment.
I've gone through a number of tutorials, games, and articles, but I still think the best resource I've found so far is actually a book, "Practical Vim: Edit Text at the Speed of Thought": https://www.amazon.com/Practical-Vim-Edit-Speed-Thought/dp/1... . The book focuses on use cases which is a refreshing approach to Vim.
Do these calculations also include things like mandatory parking minimums, parking lots, etc? IMO the big problem with cars is how they ruin city layout and are generally poor for land use
I use and appreciate all of these tools on MacOS, FWIW.
Not if the government is giving out money. Besides, the second the bank can't actually provide the money is the second they increase rates.
Ask HN: Best Resources to Get Started on Control Groups/Containerization?
Recently have started to learn more about containerization and control groups/namespaces. I've found a few articles online, but most of them repeat similar examples e.g. spawning a process and then altering its control group using the shell.

Are there any good sources that would service as a good introduction to control groups/containerization? In particular ones that talk about the correct level of abstraction in a particular system. Ones which talk about production implementation examples would be great as well.

Thanks!
My experience is that a lot of these new habits do stick; I’ve put effort into changing my handwriting, including completely changing a few letters, and when I write quickly they do look sloppier but they’re nicer than when I was a kid who could barely hold a pencil.

Do it enough and you reprogram the nervous system.
Clearly, there was never going to be any way to patch the Apollo Guidance Computer in the middle of a mission. Even if that weren't true, the development cycle was so long that iterative development was never a realistic option.

I suspect a project like the F-35 is a hybrid, with elements that are life-or-death mission critical and absolutely need to Just Work, and elements that allow for refinement - even refinement-by-failure in some cases.

Which just underlines how complex a project like this is. A distant descendant of the Apollo Guidance Computer code is likely just one of (at least) hundreds of equivalently complex routines and features in the F-35 codebase.
I don't agree with you, but I upvoted you. Bitcoin was designed to replay gold/fiat money, but definitely hasn't grown up yet in terms of liquidity. That's OK in my book.
They got lucky, by taking risks. People who don't take risks want to get their share in the winnings, but not their share in the losses.

So investing in something is stupid, because if you are successful you don't deserve it?

When is anything deserved?
>As banks can only invest based upon the deposits of their customers

This is not strictly true, read about the money multiplier myth. As another (much more informed than I) HN commenter put it, banks think about constraints on lending in terms of the cost of money, not the quantity of money.
That is my concern too. My maths script is very good—I put considerable effort into the equations I write and as such the numbers, lines, and symbols turn out very good. On the other hand, no matter how much I studied lettering (regular and cursive), I don't really recognise any difference beyond what came of the added patience of my age. My letters are the same, they are only tidier. It was truly terrifying (sorry, my twenty-some teachers...) and only got better because I slowed down.
I believe the git project welcomes suggestions and discussion via the mailing list, and also accepts patches that like you suggested above.
Not the same comparison at all.
> One can keep his own money as he wants, including under the mattress.

If only it was that easy. With several governments regulating against cash, e.g. banning cash transactions above a certain amount, and limiting withdrawing/depositing cash in bank accounts, can we really say we have right of property (of money at least)? It seems yet another right to throw under the bus for the sake of mitigating "money laundering" and "terrorism".
1. Deep Learning. No immediate use for it, but I feel it's an important skill to know.

2. Powershell (on Linux.) I'm already proficient with the traditional shells, but I want to see if this is overall a better CLI and/or scripting environment than, say, Fish. (This was prompted by the recent post about a similar thing newly implemented in Rust.)

3. APL, getting back on it after a long time and potentially writing my own compiler and dialect, if I feel inspired.

4. Consolidating Japanese, mostly the spoken language, because I don't have the time nor will to memorize 1000s of characters. I'm already intermediate level, so at this point I mainly watch movies / shows every day, hoping some of the vocab will stick to my mind.
Because the only way for a European bank to have money as 'bits in some computers' is with the ECB. And the ECB gives you back less money than you gave them (negative interest).

Banks can also place money with other banks, but that is lending to other banks. Besides, this only shifts the problem to another bank, who now has cash on hand that'll be stored in the ECB if they don't do something else with it.

Besides that, banks can invest cash. But in a low-yield market where all stable investments give very low, or even negative, interest, that becomes less attractive.
Strawman fallacy. Just ban smoking outdoors (like how it's banned indoors in public places).
> this is not really different from the standard description

It is. It’s the difference between picturing a rocket propelled by expanding gases versus a vessel thrust forth by Newtonian dynamics.

It is correlation versus causality. Loans cause deposits. Deposits correlate with loans. This discrepancy is the source of money supply estimation error.

$1 deposited doesn’t create $5 in loans. $5 in loans prompts about $1 in reserves. The difference in these models explains the interbank market, per se and in terms of rates; reserves as a stochastic versus deterministic phenomenon; bank runs and much more.

Loans create deposits. Not the other way. Modern banking makes sense once you internalise this difference.
Saving doesn't always mean saving money but rather saving value

Well, this is the crux of the issue. In the language I learned (British English) the word savings does refer exclusively to cash. Investment is an entirely separate concept, as are assets. I would never consider a house to be savings, because savings are there to provide a buffer if your income suddenly drops below your structural spending level - the proverbial rainy day. Selling a house takes a very long time and has huge overheads, plus, of course, you still need somewhere to live.

Unless your first reaction to e.g. losing a job is to immediately sell your house, your house is therefore not savings.

Government bonds? Great until they default.

Corporate bonds? Ditto.

Growth stocks?!?! The things that can easily move in value 20% in a single day? That's not savings, that's an investment at best or a risky gamble at worst.

Money is only valuable when it moves.

No, money is a store of value, that's literally a part of the definition of what makes something money. It is valuable because it lets you obtain resources later, without having to barter for them at that exact moment.

Money saved means you can lose your job and continue to buy things: that fact alone has value even if the money itself isn't moving right now. This really isn't hard to understand.

The demonisation of savings in our society is one of the most severe problems we face, if not the most severe. It's impossible to have any kind of justice or stability in the world if nobody has any savings, because they convinced themselves a tech stock is the same thing.
I find that any after-work meditation is necessarily prepended with 5-10 minutes of reflection/decompression - just fyi
We, the ones who fully understans how technology works, must stand in favor of the ones who don't and can't make a truly informed decision when using technology. Tech companies must stop the dark patterns, information obfuscation and misleading and start informing all it's users in a exhaustively, clear and transparent manner.
Can't you fairly easily hedge against exchange rate risk? Costs money though.
TX police issue explosion warning ahead of SpaceX test
Checkout libk
https://c.hale.su/lexi/libk/home
We've had the same name for the past 7 years, so going by the future estimates with no extra useful information, I expect us to have the same team name for 7 more years :P
Where are they going to get the cash? Cash is a very small percentage of all the existing money.

Modern money is basically tree of connected electronic ledger. In the top of the tree is the central bank, lower there are the saving banks, lower all the firms and households.
Uranium Contaminates Water Across California's Central Valley (2015)
>but saying Middle Age's Western Europe doesn't include large regions that were previously part of the Roman Empire seems strange to me.

No one said that. The Roman Empire isn't Western Europe, and calling the period the "Dark Ages" is inaccurate.
Gold is too volatile to replace central bank deposits. Diamonds are worthless, despite what deBeers wants you to think, and forests are an investment.

If a bank has continual deposits at the ECB, and is paying money for the privilege, they might just decide to hold those euros in a vault. Once the vault becomes cheaper than the ECB, it should become a matter of time.
Haha, I had no idea. Thank you!
> When refactoring and preventing huge-ass PRs: “If I’d have changed all the tests first then I would have seen I had 52 files to change and that was obviously gonna be too big but I was messing with the code first and not the tests.” Is breaking it up worth it?

My 2 cents: There are two things to consider:

1. reviewability

2. deployment risk

If it takes a colleague 3 days to review your code, your PR is too big.
If you panic, on the thought of deploying this ever, your PR is too big.

On the other side:

- Huge PRs that only change formatting are fine. Easy review. Low risk if properly automated/tested.

- Largs PRs that are feature neutral are acceptable as long as they are reviewable.

- PRs that refactor 2000LOC, fix 2 bugs and add 3 features are not a good idea.
Ah, thanks for the loopy explanation.

Actually any loop unrolling to that extent is counterproductive as it will simply burst the instruction cache, which causes expensive reloads from further down the cache hierarchy, whereas loops can be minimal or even zero overhead. I'd be really curious to know how much performance that cost.

re. ammonites, ok, thanks for explanation!
What does Ji compile to?
Zorax Crypto Daily Forecasts for 26.08.2019
That was much more about money laundering than control over monetary policy. Both come down to the same thing though, move away from cash into instruments that are under the government auspices.
So what's the solution for a United Europe? Brexit? EU prides itself to be more than just a "big trade deal".
I'm going to safely assume you're not an idiot. The only major hurdle I can see would be not fully grokking the core concepts. I suspect this might not be helped by the domain specific terminology that isn't used much outside game dev or even Unity itself.

First thing to really wrap your head around is 'what is a GameObject'. A GameObject is just an entity that exists at runtime in the game world and has things called 'Components' attached to it. The simplest possible GameObject has only one component, called a Transform. This is simply a stateful record of the GameObject's position, rotation and scale. You can expect to write lots of code that involves manipulating Transforms.

There are components for everything. Want your GameObject to have a visual manifestation in the game world? Add a MeshRenderer component. Want to allow it to obey the laws of Newtonian physics? Add a Rigidbody component.

You can expect to spend a lot of your time implementing your own components. These custom components will often, ultimately just end up manipulating the transforms and other components of other GameObjects in the world.

Now you might wonder how GameObjects are created. One way is just to create an individual GameObject and attach components to it (analogous to an anonymous class), for the most part however, you will create things called 'prefabs' which are analogous to classes in OOP. Instances of these prefabs can then be easily instantiated (either manually via the editor or programmatically at runtime).

Once you have gotten your head around these core concepts, the rest starts to naturally follow. You can study topics like animation, custom shaders, net code, physics etc. and quickly understand how they relate to the core concepts.

My path to learning Unity (and I'm still learning!) was to follow the Unity official tutorials then start prototyping game mechanics - how to create a first person controller, how to allow player to interact with game world objects, how to animate characters etc. I'm now at I guess an 'advanced beginner' stage. I'm comfortable with the core API, have dabbled in most of the common topics you would need to be familiar with to make a game, and now I'm just doing projects to build up my productivity and skills.
Part of completing your assigned tasks is keeping yourself aware of the ever evolving industry so that your high level tactical and strategic decisions are informed.

You absolutely can justify learning during work time.
This is EXACTLY where comments should be used, great example!

Extremely high-performance database code is not what most of us are doing, however. We are doing enterprise software development to send emails and scrape money out of people.

I would want that function to be multiple smaller functions with docstrings and such, but obviously, that would add stackframes to the call stack and be slower.

Additionally, many modern compilers have an easier time reasoning about and optimizing multiple smaller functions as opposed to huge functions with a ton of variables and logic. Plus large functions have an impact on garbage collection etc. etc.
Remember that over the past couple of centuries the US went through several explicit processes of integration specifically to overcome the barriers (including linguistic!) you correctly describe for the EU.

> It seems unlikely the EU will ever achieve that level of integration.

I disagree but it's unlikely to happen in my lifetime.
Tips for Software Developer Interviews
Since I never trusted iOS setup that one cannot restrict WiFi access on apps I had a firewall on my (jailbroken iOS). Now on Android I do the same (not trust the OS or the Data/WiFi switches and again I use a firewall to block either Data or WiFi or both.

I also do this for data usage, e.g. Spotify and my podcatcher use Wi-fi while email etc use both data and WiFi.

Edit: in the same spirit I block all free apps that don't require network connectivity such as health/workout apps. I kill all ads, and keep my data within.

Edit2: android firewall is called "NoRoot Firewall"
in my home network i name my computers after animals, whereby the power/size of the computer roughly resembles the size of the animal.

my beefy desktop may be the whale, the nas is the rhino, the notebooks are roughly dogs, the raspberry pis are small animals like mice, the chromecast is e coli.

plus good: i'm never going to run out of animal names.
Anecdotally density seems to follow light rail placement long term. Not sure if this is backed by data
Recently learned a lot about software, theory, process and management in the design, iteration and manufacturing of custom printed circuit boards.

Having climbed that mountain, I'm currently diving in to industrial automation: not software automation, but both off the shelf and custom robotics and factory equipment providing manufacturing 'unit operations' for working with metals and polymers. It's quite impressive how little integration currently exists between products from different vendors. There is a huge opportunity here for a software-world startup. Competing concerns include safety, reliability, problem detection, automated issue resolution, machine servicing, tool longevity, vendor desire for lock-in, supplier desire for lock-in, noise, dust, finish, speed, logistics, HR, scalability, cost, etc.
Agreed with the Nvidia Optimus comment. My Thinkpad T460p runs pretty much every distro you throw at it, but the Nvidia Optimus card is almost always the cause of some headaches when something with graphics doesn't work.
On the other hand the touchpad driver is better than the official one for Windows(which doesn't support middle mouse click with the center button).
lifeProtip- Goodwill prices all belts the same in every store I've been to.
They're like 1-3 dollars and there's usually a couple real leather ones on the rack. I have several just hanging around now.
Succulents and semi-succulents effectively do this. The one that sprung to mind was the Baobab tree, which stores up to 120,000 litres (https://en.wikipedia.org/wiki/Adansonia)
First of all: great work!

Two questions.

(1) Are there any benefits over H. 264/RTP/UDP in a point-to-point streaming scenario (like two non-stationary nodes directly connected via WiFi)?

(2) If it was implemented on a fast enough hardware, are there any obstacles to achieving sub 20ms latency in a scenario like the one described in (1)?

Thanks!
How Memories Form and Fade
> The rates that this article is talking about is bank savings, so if you're talking about retirement or child education, that is usually many years away. For that money you will need to put it into a portfolio of stocks and bonds, because if you don't inflation will eat away at it over time.

In that case, why should the customer need to decide on a portfolio?

Why doen't bank to that internally and offer risk-free, variable rate investments for their customers?
The expected stock return is 5-7% p.a., why can't banks offer 3-4%?

> If it's in the time frame of 2-5 years, then a term deposit will be fine:

Except that it's not. In germany I know of two popular alternatives term deposit ('Festgeld', more flexible - can be extended) and savings bond ('Sparbrief').
The interest rate of term deposites is 0,1%, for saving bongs it's 0.1-1%. Both are considerably lower than the inflation rate of approx 1.5%.

Sure, there are different fond/stock based alternatives - but they often carry risk.
Oh there are. They usually make up the "value" segment of the luxury goods markets.

For men's dress shoes brands like Meermin and Grant Stone (China) are competing with Carmina (Spain) and Alden (USA).

I'm sure there's others for every type of leather good imaginable.
Ask HN: Things to learn while being a SWE at Google?
I have been at Google for ~4 years right after college, and although I have grown and learned a lot, I don't feel I'm specializing in any framework (Started in iOS, switched to backend Java, switched to frontend, and now TypeScript & Python backend full stack).
What are the set of skills (technical/soft) that I should make sure to learn while working for a big company if I plan to move to a smaller company/startup in ~1 year? Should I focus on specializing in one area (i.e. all things backend dev and ditch frontend dev)?
This might be a Chinese thing: iPhones sold there have an option to disable apps from connecting to WLAN but I haven't seen this on any other SKU.
Employees of Big Tech are speaking out like never before
> But I believe this trend started with Go lang

I thought it started with JavaScript, there was a while there where everything was getting done in JS, and that’s arguably more egregious than Rust.
Because software has bugs?
Hi, sadly I don't have anything to point to. But this thing is interesting, you could compile one of those "awesome" lists on github :)
This mindset is why I think negative rates are going to mess things up. People aren’t going to behave rationally. If you want to save the rational choice in this situation is to accept a small negative rate that is secure although slightly negative. But... a lot of people are probably going to do one of your two ideas. Neither of which are really “good” for the economy.
I have a Pixel 3 with the latest retail release (Android 9/August 1, 2019). I cannot do any of the things you described for any apps via the App Info page.

I have permissions sliders for Camera, Contacts, Location, Microphone, Phone, and Storage. None at all for internet access or any specific network.

The permissions you list don't appear to be part of Android (8 or otherwise) and are likely after-market extensions in your phone's ROM.
Like the inevitable branch names. Main, Borg, Borgmain, etc... Or the purposes of the standard unix directories (lib, usr, opt, etc, ...)
Mikito Takada (AKA mixu) has a free book called Distributed systems: for fun and profit that you can read online or download:

http://book.mixu.net/distsys/

From the introduction:

In this text I've tried to provide a more accessible introduction to distributed systems. To me, that means two things: introducing the key concepts that you will need in order to have a good time reading more serious texts, and providing a narrative that covers things in enough detail that you get a gist of what's going on without getting stuck on details.

Also, it covers some relatively recent tools/techniques that are used in the real-world:

I wanted a text that would bring together the ideas behind many of the more recent distributed systems - systems such as Amazon's Dynamo, Google's BigTable and MapReduce, Apache's Hadoop and so on.