skysight-inc/HackerNews huggingface dataset:
The $999 MacBook Air is Apple’s #1 best-selling computer.

The cheapest MacBook is a few hundred dollars more expensive.

It does not make sense to discontinue your biggest volume
model in the line unless you are sure that your other models can pick up the same amount of slack; I assume Apple believes that the added cost of the MacBook (and it’s a lot slower than the Air, I might add) would prevent that.
Is it really the "rational self"? Personally, I think it's just my lazy instincts kicking in.
> These differences in regional weather at the same or similar latitudes are waaaaay bigger than the few degrees global average increase

This is true, but it is also irrelevant. The keyword 'global average' - global heating will not be uniform. The closer an area is to the poles, more heating will happen. Europe is pretty far north so the effects will be pretty large. Large enough to offset the Atlantic streams? Perhaps, perhaps not.

I'm more worried about changing precipitation patterns, to be honest.
What about a pelican crossing? Red yellow and green lights for cars like at a junction, activated by pedestrians pressing a button. Wikipedia says these only came to the US in the year 2000, which seems ridiculous.
Beautiful Progressive Web App for Finding Coastal Tides
Likely Walmart feels this costs them less in the long run. The goal here is not to develop the highest quality software possible, it's to engage and capture customers as quickly and cheaply as possible, and to keep the cost of maintaining, updating and deploying that code as low as possible.
I'm facing the exact same situation, except I cannot care less about food, which frees up some cooking time.

How do you manage your social life along with these activities? I find that it gets in the way of things I do, but on the other hand, not keeping in touch with friends (who don't do the same activities as you) just drives them away.
All of them are in the very middle of the road. The illusion will be broken if you aren't driving through the centre.
Good to hear the UK is already doing this.

He made a controller that allows solar panels to directly heat the concrete. I'm not sure if he invented anything. He made a controller, open sourced it, and produced & sold them near cost.
When you need to ask a colleague something, walk up to his/her desk instead of dropping a message (you might strike up a wonderful conversation in the process)

Awesome so now I have no choice but to get immediately dropped out of my zone to answer your question. Go for your walk but go back to your desk and send me your message so I can add it to my queue of other questions that I'll get to once I've debugged this block.
My point was that the world around will change, and at some point the declarative language that seemed so succinct will become clunky and inadequate to express the new requirements.

Java+XML really is the poster child for this. There was a time when it was the fresh declarative kid. React will most likely follow a similar path, not through any fault of its own.
In our office we started a lunchtime walk. We eat our lunch and whoever wants to participate, we head out for a 30 minute walk. It might not be enough, but it's better than the nothing before.
Building a GraphQL API in Elixir: Planning Recipes with a Supermarket API
While researching this thread, apparently those should have a date on the back that they can be removed, which is three months from when they are put up. Tell your local council!
Spacemacs is amazing but it's almost an IDE at that point.
"before their first contact with Europeans" is a very long time. Such map necessarily must reflect an idealised take on facts.
"desire is to drive what truth is to knowledge"

you need it to be a kind of mediating objective to not lose that pledge. otherwise, the inevitable abandonment comes after exercising a handful of times, if that :P

my intuition tells me you'd need a goal that has pushups (or exercise at all) only as a subcomponent along the path towards the attainment of that goal. hopefully it would persist longer than if solely working out were the goal. so that it doesn't feel "empty" or easily abandon-able after doing it a few times.
I don’t think this article gives advice to not use master for development but rather what it means is:

1. master must only have stable, tested, and production (not production “ready”) code and nothing else

2. If something in production breaks the hotfix should go into master and strive to achieve step 1

In fact this is really a good model. Keeps development streamlined and disciplined.

This has nothing to do with breaking the idea of having sane git defaults. In fact it’s a sane utilisation of defaults.

Non default branching is a necessity anyway. Default branch usually means just a master branch and committing directly into master, I believe, would lead to disaster. If one has to create branches it should be done for lifestyle steps below production.
Text Editor: Data Structures
Jesus vs. Satan: Who is the better programmer?
Yup, there is a chance we don't have do do anything. Then again there is a chance we are completely effed.
For some people on the move data transfers are expensive, even if 80MB isn't much that adds up very fast.
People on the ground were also killed as a result of the Pan Am Lockerbie bombing.
Yep. You can do 2 miles in about 30 minutes. Perfect time to listen to podcasts, audiobooks and clearing your head.

I don't see it as a waste of time. Often times I'll step away from a programming problem and get the solution while walking, which in turn saves time in the long run.

I just go around my neighborhood, nothing fancy.
While I do like this approach, it can cause some pains though.

It's often a race to get your (approved) merge- or pull- request in. If you miss out, then you rebase, and try again. Perhaps if your pipeline is super fast, it isn't an issue.

Another issue is that there still needs to be coordination outside of version control/CI pipeline to ensure that things are put in the 'right order', for the times when that is important.
Standards document for ObjectScript developers
But the values are const? You just need to understand the implication of const in javascript.

Why would you choose to weaken the communication in your code by choosing `let` over `const` when you have no intention of reassign the value? `let` would just confuse the reader as they'd start anticipating the reassignment.

Compare:

```

// A variable containing an object that will not be reassigned

const a = { foo: 10};

// This is still valid

a.foo = 10;

```

vs

```

// A variable containing an object that might be reassigned.

let a = { foo: 10};

// This is still valid

a.foo = 10;

```

The first example says more about your intent and throwing that information away is a bad idea.
No, simply because HN doesn't have the culture of "Here's a problem, let's collaborate on it". We're much more likely to discuss the problem itself and discuss the pros and cons of different approaches.

If you ask for help with a specific problem you'll probably get it, but I don't think there's the same viewpoint that if a puzzle is posted we need to solve it as a collective as quickly as possible.
My bad, I was going to edit my comment to be less coy and more constructive, but I'll just continue here.

Even though I always advocate rebasing, I also think that WIP commits should not reach master as-is. We are actually using Phabricator with my current team, and they have a really nice opinionated way of doing development. All dev happens usually in (really short-lived) task branches, but once they have gone through review etc. they are landed on master as one single commit, with the commit message holding all the relevant information about the change(s) made in the original task branch.

The reason for not having the WIP commits on master is that "commit early, commit often" is good practice, so the sheer amount of WIP commits will completely drown out the actual, finalised changes (i.e. the "actually interesting history as in a history book") in master. So no, I don't think squashing is a bad idea, I think is absolutely essential if you rebase onto master. If you don't squash, rebasing might lead to more mess than using merge.

Now, as to keeping WIP commits. I think that their value is usually much overestimated. I can count the times I have needed to go back to the actual, raw WIP commits instead of the properly rewritten one in master with one hand. But if you feel that it's the only thing keeping you from switching from merge-intensive flow to a always-interactive-rebase one, I'd encourage you just to retain the original, short-lived development branches in origin as separate branches. IMHO that gives best of the both worlds, if you think throwing out the WIP commits could hurt too much.

---

Edit: oh, and having massive squashed commits should not usually be a problem because mostly they should not happen. Individual tasks should be so small that implementing them can not result in a massive amount of changed lines.
Not the op, but basically Voevodsky realized that the notion of equality in type theories as implemented in Coq or Agda is fundamentally more fine grained than what mathematicians are used to thinking of. This mismatch causes problems when formalizing mathematics in type theory.

Voevodsky proposed the univalence axiom which can be used to obtain more equalities and gave rise to the field of homotopy type theory (HoTT).

An intuition about the univalence axiom is that it allows to regard isomorphic types as equal. (This isn't entirely correct but gives a good intuition). The consequences of the axiom are severe (probably in a good way) but a lot more research is needed.

The hopes are that the work on HoTT will make it easier to formalize mathematics and in turn make it easier to verify software.
> Sure. But do all those correct statements mean that the A380 hydraulic control systems, and their backups, are "hopelessly intertwined" to an aircraft designer?

I'd hope so, given that all the redundancy didn't prevent an engine control failure on the A380.
Yes, that's what I meant by "duplicated." :)

And yes, I see some value in the reduction of maintenance costs, but you're not doing this manually--you have a package manager of some sort and you're automatically tracking some standard image (either for your company or from some upstream maintainer like Canonical). So conceptually I get the simplicity argument, but practically speaking, it's not really more work to maintain two userlands vs one, right?

I guess there's also an argument of resource (disk, memory footprint, etc) overhead of the second userland. It's not clear to me how significant that is, which was part of my question.
Because Screensavers don’t save screens anymore maybe we should call them energy wasters instead.
Material design based react query builder
> When you need to ask a colleague something, walk up to his/her desk instead of dropping a message

'Did you get that email I sent you?'

Ahhhhhh~ No. Please don't.

There's plenty of good advice on this article, but be careful that the things that you do for yourself don't negatively impact other people; that's not be healthy, its being thoughtless and selfish.
Take it to the limit–considerations for building reliable systems
Who says no one is embracing them? There are tons of tools available if you check for it. But you should google for "feature toggle" libraries and not feature flags
There is this counter argument.

http://www.gocomics.com/pearlsbeforeswine/2017/09/27
Can't seem to figure out what this is
IIRC the ones without are “online” cards given out to for instance students.
Here's my complete line of reasoning:

You can build mutable systems on top of immutable (append-only) systems. But is that a good idea? Yes, it is, for systems which don't have huge amounts of (non-static) data, and/or system which need an audit-trail anyway. And these are more systems than one may initially think.
Hmm.

Open question to anyone with the latest tvOS firmware sitting around: what happens if you grep it for `entries.json`? Do you get a different URL?

Obviously what I'm getting at is ways to try and find (or keep an eye out for) the latest URLs.
I don't really see why a CRM needs to be decentralised. You need to host it yourself to avoid a cloud vendor going out of business but other than that what problem do you solve by decentralising it?
I think a crucial point is missed: email does not have a single point of failure.

If you go through a website, a server downtime halts the development. If the mailing list crashes, patches can still be sent and some discussions kind of continue until it is resolved.

Individual email servers may fail, but it is easy to work around it. Many people have several email and other channels through which to be reached.

Also, a very important point that Linus explained was at the core of some design decisions for git: it works offline. You have your email archive offline so if you take a plan, are at a conference in a place with no internet (does still exist, sadly), are on the road, you can still go through your archives and the patches you have to examine are still available.
> How do you prevent your codebase from becoming if-statement spaghetti?

A valid point- if you're not careful that can happen. Key things: remove those ifs after a launch, and launch fully or remove the feature; consider 'hiding' the ifs behind factories that build the objects that implement the different logic; also, if you have 20 features is development for the same area of your codebase, worry- you may be trying too much!

> How do you prevent new features from being leaked to the user?

I haven't had to worry about this very often just based on my projects, but there are strategies. You could be sending the user a different version of the js/html based on the feature flags (preprocessor as you said). Haven't had to do that, but woah that would be a fun little project.

> What do you use to control feature flags?

My favorite implementation was an S3 json file that effectively encoded a decision tree based on variables used. In code, we could say "here are the five variables about this request, feature object are you enabled?". By modifying that json file, you could change the features state at run time. (Note: this was not perfectly implemented/designed by me and caused a few issues when we first used it. Oops.

But you can do very quick solutions too, read a file or make an object that decides based on non-dynamic logic.
> Every git user should be aware of git-flow

Agree. Every git user should be aware of it and should use it on a project at least once so they know to avoid it forever after.
>a corporation billing another corporation for data transfer, which is pretty ok as business models go (and certainly doesn't justify this level of outrage)

STRONGLY disagree! The corporation already billed their subscribers for the data transfer, why should they be paid twice for the same thing?
Here's a GIF of the landing: https://gfycat.com/VastForthrightBarb
Amusing anecdote from the life of Voevodsky (https://lj.rossia.org/users/tiphareth/2097217.html):

Voevodsky was too lazy to search for an apartment, so he lived in his office (at Harvard each graduate student gets a personal office) and slept on the roof. Unfortunately, the windows of dean office (Willy Schmid) had direct view at that roof. Volodya didn't adhere to the usual day routine (and didn't adhere to anything at all), sometimes he slept during the dean office hours. Some day Schmid looked through the window and saw a roof and Voevodsky was sleeping at the roof. It has to be said, that living and sleeping in the office is a terrible taboo and social stigma in America, so Schmid was outraged. Voevodsky was almost expelled, but everything turned out well, though he was forced to rent an apartment and he has lived there from then on.
I have been using the brain.fm app for over a year now. Has medication, focus and nap/sleep modules.
>Feature flags are a nice idea, but nobody outside of Facebook seems to be embracing them

I worked at Etsy from early 2012 to late 2015 and I used feature flags every day I was there.

>How do you prevent your codebase from becoming if-statement spaghetti?

You remove the feature flag checking code when you turn off or turn on the feature. It's an extra deploy, but it needs to be part of the prod/eng process. This is the most salient issue of feature flagging in my experience and something you need to get ahead of from the get-go.

>How do you prevent new features from being leaked to the user?

You branch at the server/request level, not the client level, so there is no set of features that gets displayed, it's just what the server returns.

>What do you use to control feature flags?

You can use a service like LaunchDarkly or Optimizely or you can write your own service, or you can have a file in memory. Usually it starts simple with boolean toggles and evolves into a ramp up system that let's you selectively target users. The important part is that you need to be able to change features without redeploying code.
Nah, I agree. Solid argument.

So, all dev happens in feature branches, and they're integrated into master as squash commits. That just leaves two questions:

- Use release branches? Or just take the shotgun approach of "everything in master has to be working all the time"?

- When a problem inevitably pops up and you have to roll back, how do you kill just one commit? It's already been pushed to the repo, so a hard reset wouldn't be a good idea, right? So I guess that points to using release branches.
You just need to find activity interesting for you

I used to do sedentary lifestyle most of my life until I found rock climbing 2 years ago

I go rock climbing to a gym 2-3 times a week now. I go there because I WANT not because I have to.
This did tremendous job to my health and overall fitness. And this is sustainable in the long term because I don't have problems with motivation.

So my advice — find your sport, any physical activity you are interested in. If it becomes boring, don't hesitate to change it.

You don't need to be a sportsman and become good at something, you just need consistency to move your body , so care about your motivation. Good body will come naturally after some time.
The tax rate is high, but on the flipside we also have pretty much the best and most extensive public services and social safety nets in the world. Still, it's around 25-35% all-in, nowhere near the 50+% a lot of right-wing pundits keep lying about.

Car registration tax has never been 200%. It has been 105% up to ~$15K of the car's value and 180% above that for years, which was lowered to 150% some time ago. Now the lower rate has been reduced to 85% and the cutover raised to around ~$20K, and rebates for fuel economy and safety gear have increased significantly. A small car is only marginally more expensive in Denmark compared to Germany, while larger and luxury cars are rightfully more expensive.

You obviously only have a very tenuous grasp of what you're talking about, so please stop, listen and learn instead.
That's why I said that he did a lot of terrible stuff.
I absolutely do not excuse the awful stuff he ordered. That does not mean we should now shut all sense of nuance.
I don't really get it. Sure it's fine if one p2P app uses 3GB (1GB for the append only log, 2GB for a database with indices that can actually be queried) of data. What if you have several apps? Let's say 10. Then you need 30GB and because people only have 32GB to 64GB of storage on their phones the discussion ends right here.
> There isn't much allure to it beyond "our hosting/CDN will be cheaper if we let the customers pay for it".

This is a very business/customer-centric perspective. What about resistance to censorship, ease of sharing without relying on central third-parties, resistance to linkrot of non-commercial content or even content from a business that went under, etc?
Back in the day, after learning QBASIC I got hold of a copy of Dark Basic somewhere -- roughly a proprietary basic language for windows with bindings for input, sound, graphics and so on. Apparently these days it is open source: https://www.thegamecreators.com/product/dark-basic-pro-open-...

After learning about arrays I got very excited and cobbled together a space-invaders game in Dark Basic with particle effects where all simulation data was stored in one giant table. Pretty amusing in retrospect. Arrays sure beat having to hand-name each variable in code. Dark Basic was great. Also a good playground for doing little 2D physics games / simulations. It was a lot of fun to do this at the same time as learning highschool trig/physics as you can actually use this knowledge to build something.

After that I went down the C/C++/OpenGL/DirectX spiral and didn't produce anything playable/useful for years (engine development, hah).

After that I went down the early Java-era path and was able to start making playable application again (memory management + a standard library - oh my).

edit: these days i write/maintain python applications. i tried python + pygame for game development a few years ago. honestly python doesnt seem like a great language for game development. e.g. how do you actually ship an application? all the py2exe style approaches to packaging/bundling are essentially hacks. pygame didn't seem like such a performant/easy framework for input/sound/graphics etc.
You remove the feature flag checking code when you turn off or turn on the feature. It's an extra deploy, but it needs to be part of the prod/eng process. This is the most salient issue of feature flagging in my experience and something you need to get ahead of from the get-go.

I don't understand. I was asking about the development source code, not the code delivered to the user. The dev source code isn't stripped of if-statements, right? That's where the feature flag toggling lives. But then it seems like it's easy to devolve into spaghetti.

You branch at the server/request level, not the client level, so there is no set of features that gets displayed, it's just what the server returns.

Ok, but how? I'm not playing dumb. Assume an express server. You want to put a feature flag into your codebase. What is step #1 (and #2 and ... #N) to achieve this?

I looked up LaunchDarkly. $299/mo for basic team support. Uhh... That's almost the cost of WeWork office space.

Are feature flags really so nascent that there isn't a FOSS solution for it?
The complain here is about practicality of car vs bicycle/walk. What does that have with cost of making a familly? They don't complain about car being expensive.

And no, in many places in USA a car is just about the only way how to get kids to school. Which you have to. And yep, cycling along unsafe road when you are adult and when you are 8 is not the same. So ype, familly with children needs car more then single healthy adult.

And yep, unless you want to face aging population problem later on, 3 kids should be doable. Just to get replacement level of population.