This! Any graphical history for git that doesn't let you show all branches at once is trash. (Like the one in Visual Studio) The interactive rebase editor in Git Graph is very nice too.
I also love how smoothly you can jump between git CLI and GUI in VS Code.
I'll have to look at how to compare arbitrary commits in Git Lens and whether it is in the free version. That's the one thing I still rely upon TortoiseGit for
You have no donate link... if you're gonna be on big sites like HN, you might as well have a donation link so that hopefully you break even on App Engine.
Yes, it does. If it is 'hardcoded', then the intelligence lies in whatever 'hardcoded' it, not in the entity following the 'hardcoding'. Genetic algorithms have a certain amount of intelligence, although slow and clumsy. The fact that the world's biggest genetic algorithm* can program a spider to build an elegant solution does not mean the spider itself is intelligent.
* If you treat the algorithm for spiders and beetles as the same... I strongly suspect that a significant portion of the algorithm is actually implemented within the genes. For example, control genes massively amplify the effect of small genetic changes, allowing creatures using them to evolve faster than those without.
Actually, whether admitting it is dumb or not depends a lot on whether you're dealing with an objective or subjective situation, and the odds * costs of being caught at wrong answers.
For an example of a subjective situation, in a poker game it can be useful to pretend to know you will win in cases where it is unknown, or even in cases where you know you have a weak hand. The other player's subjective impression of what you know is more important than its actual accuracy.
On the other hand, computer programmers and engineers usually are dealing with objective circumstances where not admitting you don't know results in things breaking and delays finding out the objectively true answer.
A common failing is to not recognize which of the two types of situations you are in, and just assume you should treat it like the one you are most used to. Hence engineering types may be ignored because they don't sound confident in their answers, and political types forget that that rules or legislation cannot override the laws of physics.
I think this is the most important point left out of the article. How hard it is to admit that you don't know something is dependent on the costs of doing so. Sometimes it's harder to pretend you do know.
The better real world example isn't poker, but it comes up anytime you're talking with someone who knows less than you: your boss, customers, friends. The cost of being caught at wrong answers is often quite low.
And often the cost isn't only low to yourself, but to all parties involved. The article's author makes the leap to academic dishonesty right away. But, especially in this field of work, we talk a lot about the value of social skills over pure technical skills. BSing has a bad connotation but you can also think of it as consistently leaving good impressions or presenting things in the best light. It's not a rigid distinction.
A good example is the post below who said he probably got passed up for promotions because saying I don't know made the boss think he lacked "confidence". It's not surprising that the person in charge might disagree with the value of "I don't know". It's probably part of the social skill set that put him in charge in the first place.
Of course in the technical field the cost of a fudged truth can be very high, but the potential benefits are equally high, because you're often dealing with people who don't have the background to judge anything on its technical merits. The less knowledgeable they are, the more they have to rely on your presentation.
The "courage" to say I don't know is a good standard in academic and technical fields, but in the fields of business and politics (and social interactions in general!) it's not so clear-cut.
That's because the traditional economic definition of "rational" is an incomplete model of real world sanity that only works in incomplete models of the real world.
In the real world, you have to deal with the uncertain risk that the offer will be unfulfilled due to external factors, which always increases in time relative to present. You, the entity offering you the choice, or the entire environment both exist in, may not still exist in 60 months.
If the same offer is made 60 months from now, you should make a different choice, because the risk of non-existence between time of choice and time of reward has changed.
If the amount of hyperbolic discounting is genetically determined, then is likely that we are still adjusting to the massive drop in risk of death over the past several centuries.
It would be nice if you could tell if there is any local activity before signing up. I'm not giving a random web site my Facebook or email when most likely no one else local is signed up anyway.
I have to disagree there - there are other approaches to market-based funding of the creation of cultural communications that are not advertising based. For a very successful current example, see Kickstarter.
I wonder if this would be explorable for some much tinier subset of the space of images. Like maybe 32 x 32 greyscale JPEG images with some limit on compressed size that keeps it to interesting images.
I'm specifically suggesting JPEG because it is a compression method based on human perception, so if we focus only on easily JPEG compressed images, we should eliminate a lot of the image that look like snow on a TV, and restrict more to images that look vaguely like something.
Unfortunately, I don't remember enough details of how JPEG compression works to make a reasonable guess how many possible JPEGs this is, and whether we are getting into numbers small enough to be feasible.
A very quick approximation seems to indicate it still isn't feasible. I saved 2 32x32 JPEGs using Gimp at quality 30. One is a cutout of a face from a photo, the other is random noise generated using the filter in Gimp. The resulting JPEG files were 427 bytes for the face, and 525 for completely random.
Now, I have no idea how much of that is the header. So, to help guess that, I saved a solid white 32px image with the same settings, and it was 164 bytes.
The reason that is not available is that the universe of options for beginning programming has exploded since the old boot into BASIC days, and there is no longer agreement on the easiest way to begin programming.
As for the same set-up on every single Mac/PC, it's already there, it is just slightly harder to get to than you want. It's called a web browser, and there are numerous URLs you can go to that let you program right in the browser.
The online version of "Eloquent JavaScript: A Modern Introduction to Programming" by Marijn Haverbeke has an integrated JavaScript console at the bottom to follow along. http://eloquentjavascript.net/chapter1.html
If anything, the problem is that there are too many answers, targeted at too many starting levels, so it is hard to Google for any likely phrases and get to the answer easily.Searching for "begin programming" seems to give better beginner answers, whereas "learn to program" tends to give more college-level answers.
I see no reason why a kid who is interested in how to do it, and grew up in the modern era around web browsers and search engines and such, would have any trouble finding something quickly.
I also love how smoothly you can jump between git CLI and GUI in VS Code.
I'll have to look at how to compare arbitrary commits in Git Lens and whether it is in the free version. That's the one thing I still rely upon TortoiseGit for