Isn't it this case no matter who wrote the code? How do you ever run anything if you're worried about bugs?
HN user
sclangdon
He may be referring to the fact that it could be pronounced Auschwitz. I must admit, my immediate thought on reading the name was "why would someone name their app after a concentration camp?"
Most games don't have the time budget for that. Visuals take precedence, and it's not easy to get to 60fps as it is, especially if you're doing a lot of other processing.
And stealth games especially will probably rely a lot on shadows and other visual things, which make rendering more expensive.
I realise for casual users Windows is always going to be the OS of choice if for no other reason than it comes pre-installed and most people don't know how to reinstall an operating system.
However, Windows may be in trouble with more tech-literate people who do know how to change it. I can only speak for myself, but I've been a Windows user since 95. All but one of my programming jobs over the last 20 years have also been working on Windows. But I really dislike the direction Microsoft are taking and I find Windows to be terribly slow these days, with each version seemingly worse than the previous one. So I decided to look elsewhere.
A couple of months ago I bought a new laptop with the express intention of running Linux on it and giving it a good college try (I didn't want to mess around with dual-booting and I still need Windows on my main PC for work... for now). I know very little about Linux, but I've decided I'm not going to use Windows past 10 so it's time to find something else.
I went with Debian running dwm (Debian because I value stability over everything else, and dwm because I like the suckless philosophy) and it's honestly surprised me how good it's been. It's SO snappy. Everything is instant. It's really been a breath of fresh air.
I was especially dreading programming since I've solely used Visual Studio since Visual C++ 4.0 and don't really know anything else. Anyway, I went all-in and started learning Vim, GDB, and Make, and boy do I feel like I've been missing out. I'm really enjoying programming again, which for me has just become a job over the years.
Anyway, my point is, if tech-literate people are willing to give Linux a try, I wonder how many of them would be as surprised as I was and may make the switch permanently. With Windows getting worse, and Linux getting better, maybe more than ever.
It's not that we think it's arcane or that we are in our own "bubbles of thought", it's that we aren't doing math. We're programming a computer. And a competent programmer would know, or at least suspect, that doing it with logarithms will be slower and more complicated for a computer. The author even points out that even he wouldn't use his solution.
P.S. Please look up the word literally.
Maybe, but a circuit designer is pretty high up the list of things that need to be boring and functional.
Kim Justice has a good documentary on Sensible Software, which I highly recommend if you're at all interested in Sensible Soccer or their other games like Cannon Fodder or Mega Lo Mania.
Things such as function overloading, operator overloading, dynamic dispatch, etc, are all conveinient but also obscure what is actually happening.
To take C++ as an example (I love C++ btw, this isn't another C++ bashing), a line as simple as "variable1 = variable2;", could be doing all kinds of things (including not even assigning) because of the ability to overload the asignment operator. As someone reading this line of code for the first time, you don't really know for sure what is actually happening unless you also go and read the code for "=".
My first job was as a COBOL programmer on an IBM mainframe (OS/370 I believe) for Xerox. The system was absolutely massive and incredibly difficult to navigate. There were thousands of files with names that only had 6 characters. So everything was a two-letter system code, followed by four digits. LP0456, OP0234, SB1245, etc.
Then, in each of those files the variables had similar names in order to cut down on unique identifiers. WP100, WP101, up to the max number you needed at any given time. It was a nightmare. There was as much external documentation to keep track of all of this stuff as there was code.
On top of that, you could only build programs overnight in a batch process with the rest of the system, which was run by a different team in a different country (Spain, I believe). So you would write your program in the day, phone up the guys in Spain and explain that there was a new program going in and you were responsible for it. Problem was, if your program failed to build it would hold up the whole system, which HAD to be up and running and live again by the morning. This meant that every time you made a change that went into the nightly build you also had to be on call.
I remember eagerly watching the build queue at 1AM, waiting for my file's turn. Then immediately shutting everything down and going to sleep the moment it was successful. If it wasn't successful, well, then you had to fix it on the spot and phone Spain again to tell them to give it another try. Unfortunately, you rarely knew why it was failing.
I don't really understand this idea of never taking your hands off the keyboard. Maybe people program differently to me, but most of the time I'm not typing anything. Most of my time is spent thinking. When my thoughts are clear and the problem is solved, then I type. And when I do, it's usually no more than a dozen lines at a time.
I get the impression from these people that they are constantly typing things. In fact, they're typing so much that they can't possibly waste valuable seconds using a mouse. I must be misunderstanding what they mean because that just can't be right.
And what's with the "you can achieve the same thing faster, without breaking your concentration" in regard to using a spell-checker or a calculator or whatever. Are you being serious? I can achieve the same thing faster? I mean how long do you think it takes to check the spelling of a word? Even if I must look it up in a physical dictionary, how long are we talking here?
Guys, seriously, slow down. You're going to burn out. I don't want to judge because I don't know you. Maybe you're a rockstar, but I'd guess that if you're really going this fast, the quality of your code is suffering.
Karl Jobst (does a lot of speedrunnig videos) has a video on this, which is worth watching and explains everything in detail.
I have a similar nitpick with boolean arguments. How many times have you seen something like: DoSomething(true, false, false)? It's much more readable if you use enums (in a language that doesn't let you specify the argument name at the call site). E.G. DoSomething(ENABLE_REPORTING, USE_UTC, OUTPUT_VERBOSE).
If you're developing on Windows, I find a good way of dealing with this to convert paths to short format before using them (E.G. GetShortPathName in kernel32.dll).
I think the point he's trying to make is even if you know how to deadlift correctly the amount weight involved carries a high risk of injury. Cleans on the other hand involve lower weight and so has a lower risk of injury (assuming you know how to perform it correctly, of course).
Take a book out of Eddie Hall's playbook who says the exact same thing... And he's literally the strongest man in the world.
Robert Oberst, another WSM competitor also says the same thing and talks about it on the Joe Rogan podcast (#1321 I believe). To quote:
"I went from football to strongman, and in football we never did deadlifts. It was all hang cleans and power cleans, which by the way, quick little tip: if you’re deadlifting to be a better deadlifter fine. If you’re not, (you’re) doing that for deadlift’s sake, don’t fucking do it. The risk to reward ratio is a joke."
"A lot of people are not going to like that I’m saying that. (…) If you go to any NFL gym, any college football gym, any athletics where people are actually getting paid and it matters what they’re doing, they’re not deadlifting. They’re hang cleaning and power cleaning."
Here is a good video tour of a similar thing in Jordan by premier Permaculture instructor Geoff Lawton.
I'm currently working on a VB6 front-end (I say front end, but it 450,000 lines so probably a bit more to it!) with C++ back-end (and it's old C++ that uses MFC containers instead of std). We also have a lot of C# extras that are called from the VB6 and also consume the C++ stuff.
Oh, and there is Python scripting in there somewhere too.
Ungh.
Are you sure you're burned out? It sounds to me like you just don't like working with your team lead, and he, apparently, doesn't like you too much, either.
Sometimes people feel threatened. Maybe you're getting a lot of praise from the founders that you're not aware of but the team lead is. Maybe your team lead resents that you fixed X and feels his own position is in danager so he's driving you out?
You say you won't go to the founders because you can't see how they could resolve it, but you don't seems to consider that if you really did single-handedly solve X, then the founders might move the team lead on rather than risk losing you. Founders aren't stupid, they know who the value players are. They might be well aware of what's going on, but not to the extent that they risk losing you. If they are made aware of such a thing, you might find things change for the better.
In short, the problem is the team lead, and if the founders are made aware of it, things might change. If they don't, find another job.
I come accross these .io games from time-to-time, and I've always wondered how they make their money. Does anyone have an insight on this?
Actually, 3 is two orders of magnitude (or just 1 depending on whether you count 1 as an order of magnitude or not) more than 0.3
0.3 = 3 * 10^-1, which is -1 order of magnitude
3 = 0.3 * 10^1, which is 1 order of magnitude
You are right that 5.48 is not an order of magnitude more than 1.86, however. They are the same order of magnitude.
Isn't this the same idea as the Introsort[1], which was created in 1997 (four years earlier) and is the default sorting algorithm in C++'s standard library (and .NET framework since 4.5)?
C++, rather than C, but there was a GOTW post about this years ago, which explains the situation in detail.
Very common in my experience. In 16 years and 4 different companies, I've only worked on 2 projects (of dozons) that had a well established test process. The 2 projects in question were also, coincidentally, the only greenfield projects I've worked on. Almost everything else has been legacy enterprise stuff.
Most places have had some kind of review process, but not all. My current job has no tests, no reviews, and no restrictions on committing to trunk/master.
The funny thing is, I haven't noticed that big of a difference in software quality, but the places with no tests/reviews are way more productive.
Your milage, of course, may very.
This is also true in the UK. Any supermarket will stock lard, beef dripping, duck and goose fat.
https://www.tesco.com/groceries/en-GB/products/300346570
Duke Nukem 3D didn't use raycasting, either [0].
0 - http://fabiensanglard.net/duke3d/build_engine_internals.php
The question is, would the Stones be as popular today if they also split up after 7 years at the top? I'd argue they would since all of their best work (with the exception of Exile on Main St. - which was released in their 8th year) was released in this time.
Of course I'm not going to argue that anyone is as popular as the Beatles, but I'm pretty sure the Stones would also have had universal long lasting popularty if they had only been around for the same amount of time.
You also can't compare the wealth of McCartney to Jagger. Firstly, McCartney had a very successful solo career after the Beatles, during which time he released way more albums than the Stones in the same time period and did his own share of touring. Secondly, McCartney owns a significant music publishing catalogue and has other business ventures.
Whilst I agree with you that this isn't the best use of exceptions, one reason to use them this way might be because exceptions (generally) don't cost anything on the success path. if statements do.
Of course exceptions cost a lot more on the failure path, but that's not generally the priority.
Wales introduced the One Planet scheme in 2011 to try and make this easier [0] (it's debatable whether it is, in-fact easier).
The Lammas eco-village [1] in Wales is very similar to the one in the OP, and is one of the driving forces for this kind of movement (and the One Planet scheme).
[0] https://gov.wales/docs/desh/publications/090521susdev1wales1...
I get that the idea is to have an ever-improving champion, and I like the idea, but it's not going to work out that way in practice. The best way to defeat the current champion will be to exploit it in some way, which will usually lead to irregular, but very specific, behaviour of the challenger.
Then, when challenger becomes the champion it's behaviour will be useless and the next challenger will either beat it easily, or will do the same and the cycle will repeat.
To protect against this, the challenger should have to beat all previous champions, not just the current champion.
You may also find the YouTube channel PapersWeLove interesting [0]. I particularly recommend Casey Muratori's episode, where he talks about marching cubes, quaternions, and a fast way of computing the distance between complex objects in 3D [1].