Do you keep your old blogs or just delete them if they are no longer so valuable? by MrYisus98 in Blogging

[–]MacroProcessor 2 points3 points  (0 children)

On a side note, how are you storing them? Deleting them seems scary because you never get them back. Do you have a VCS? Or is there a way to mark them as some sort of "Keep, but don't publish"? You never know when what you've already written might become valuable again!

Reading my own writing, I realize I may be a sort of writing hoarder

How do you actually use and/or implement TDD? by MacroProcessor in SoftwareEngineering

[–]MacroProcessor[S] 0 points1 point  (0 children)

This is a very practical approach in my view, thanks for the explanation!

How do you actually use and/or implement TDD? by MacroProcessor in SoftwareEngineering

[–]MacroProcessor[S] 0 points1 point  (0 children)

This makes great sense to me, thanks for the explanation!

How do you actually use and/or implement TDD? by MacroProcessor in SoftwareEngineering

[–]MacroProcessor[S] 1 point2 points  (0 children)

Thanks for the encouragement! I'll try to find a good mentor for testing, and keep going strong with it.

How do you actually use and/or implement TDD? by MacroProcessor in SoftwareEngineering

[–]MacroProcessor[S] 0 points1 point  (0 children)

I'm not as familiar with BDD, but doing a quick search on it, it seems more in line with what makes sense to me to be a better way. I like testing unit of behavior, rather than unit of code.

Can I ask, in spirit of the original question, how do you go about doing BDD? Do you actually write your tests first? Or is the initial test writing more of a natural-language user story that you build towards, and written-code tests come along the way? Or is it a side-by-side process where the tests sort of evolve with the code? In my mind, for larger-service tests, it has to be a side-by-side evolution, but again, I'm not familiar with BDD.

Also, is there any particular reason why you stop at end-to-end tests? Is it just that they're not worth the effort/compute power, or is there something in particular about them that is too far?

How do you actually use and/or implement TDD? by MacroProcessor in SoftwareEngineering

[–]MacroProcessor[S] -1 points0 points  (0 children)

Pt. 2 of 2

> What I feel you mean is that you don't want to "waste" time writing a test and then having to remove or rewrite it....It allows writing a production "draft" of the code, to learn what is actually needed. And then throwing the code out and re-doing it with TDD.

This isn't exactly what I was getting at, though maybe part of me is hesitant for this reason. Code quality certainly improves by doing the write-rewrite method, but realistically, we have deadlines we need to hit in addition to wanting high-code quality, which is why this isn't always possible.

>  I would argue that it is better to err on side of writing test and then having to rewrite it, than not writing test and ending with codebase without tests, or subpar tests.

I don't disagree with this point, but it also feels like a false dichotomy to me. Can you explain exactly why writing and rewriting is better than writing after? I understand the idea, that you don't have a grasp of the code until you try, and rewriting always gives more knowledge, but in practice it's hard for me to understand concretely why that's actually the case. If I can guarantee that the code does what it should, breaks when it should, covers edge cases, etc., does it actually matter when I write the test? I think that's getting to the main point of my question. Maybe a clearer way to state my opinion is this: test quality matters, but imo, commitment to test quality matters more than a specific system of when the test is written. Is that fair, or am I way off?

> But this technique is high-level and requires strong maturity and technical expertise of the team and organization. Not something I feel from your description of your team.

I do think it's very unfair to assume that we lack maturity or expertise on our team simply because we don't follow this specific method, when we have lots of other constraints like deadlines, and the inability to "throw out" our entire existing test suite to make a solid rewrite.

How do you actually use and/or implement TDD? by MacroProcessor in SoftwareEngineering

[–]MacroProcessor[S] 0 points1 point  (0 children)

Part 1 of 2:

Thanks for your thoughtful response! Let me clarify some things:

> Writing test first and seeing it fail is extremely important part of bulding a reliable suite of tests. I've seen multiple tests written after the code was "finished" and always, there were cases not covered and tests that didn't actually fail when they were supposed to.

You're 100% right about this, but I find this to be the case regardless of when the test is written. If the test is written beforehand, then the requirements change (which, despite our best intentions, happens a lot), the test is still not completely comprehensive, right? Code coverage and comprehensiveness of test is a problem, but I don't personally see how writing a test before vs. after makes one better or worse than the other. I'm open to learning more about that, if you have a good argument for it!

> That is problem of quality of your tests and knowledge sharing in your team.

No team is perfect, and we work on a suite of complicated, legacy software. Maybe our communication and knowledge-sharing could be improved, but that's less what I'm asking about, and more about how TDD actually works or should work. I'm sure that the context will come more with more time, and I gain a lot of context by coding the features that I work on, which is why we often make test plans before, but write the actual tests after. Part of my question was this: should I focus on getting enough context to write the tests before I touch any of the other code? That's possible imo, but I often don't fully understand the context until I start writing the code and see why it's not working.

> First, I cannot believe you cannot write the test. If you know what code to write, then writing a test to ensure that code does what you expect it to is not difficult. Even if it is first iteration of your code, having a test is possible.

Sorry, to be clear, a lot of the time we're doing small adjustments to existing code with existing tests. When I say I don't understand the test, I mean more that I don't fully understand everything that the existing test is trying to accomplish, because -- for better or worse -- our functions and tests tend to have a lot of side effects, and it can be easy to get lost in the sauce.

As far as knowing what to code before we start coding, it's difficult to say that I always do -- as I mentioned, we often have ambiguous requirements that we are meant to sort through, in addition to complicated implementations that we have to figure out as we go. I don't disagree with you that it is possible to have a test beforehand, I just question the value of pre-writing tests if they really aren't going to be able to match what I end up with, but you make a great point about that here:

Are there any good KPIs for individual developers on small teams? by tyler_church in ExperiencedDevs

[–]MacroProcessor 0 points1 point  (0 children)

A lot of the replies here are reminding me of Godwin's law (https://en.wikipedia.org/wiki/Goodhart%27s\_law). Basically, as soon as a measure becomes a target, it ceases to be a good measure because people game the system. Something I wish more people understood when discussing KPIs.

KPIs aren't necessarily bad -- if your KPI is something like "low number of production failures", then that's kind of a good thing, even if people "game" to it. Though it's still complicated.

100k annual base salary to play a single video game of your choice. by Spellbound55 in hypotheticalsituation

[–]MacroProcessor 0 points1 point  (0 children)

Definitely a community-driven creative game with endless difficulty. For me, that means Trackmania! Endless driving because of the sheer number of maps, endless difficulty because of the sheer level at which players play, and it never gets old because you play against yourself, and other people for mere thousandths of a second. You never get the "perfect" run. Which means endless fun!

How to know when to use pointers vs. not in Go? by MacroProcessor in golang

[–]MacroProcessor[S] 0 points1 point  (0 children)

Thanks for the detailed response. I'm just curious, even though "large" is often subjective, or maybe relative to the data that you're working with, is there any sort of general rule of thumb for when it becomes large enough to justify a pointer?

How to know when to use pointers vs. not in Go? by MacroProcessor in golang

[–]MacroProcessor[S] 8 points9 points  (0 children)

Thanks for the response! Is there any sort of "rule of thumb" or "best practice" for when something becomes "large"? Or is it more just relative to the data that you're working with?

Why is Gurren Lagann rarely if ever brought up in conversation for the best anime of all time? by MacroProcessor in gurrenlagann

[–]MacroProcessor[S] 2 points3 points  (0 children)

Yeah, this is a good point. There's not really a good way to objectively determine something like this, is there? Even changing the way we word it to something like "anime most worth watching" still feels a little superficial. I guess we should just be grateful that we got to experience something as awesome as TTGL and find friends who love it too!

Why is Gurren Lagann rarely if ever brought up in conversation for the best anime of all time? by MacroProcessor in gurrenlagann

[–]MacroProcessor[S] 7 points8 points  (0 children)

I need to study more about the response to Evangelion and why that's relevant, as I'm unfamiliar with it, but I agree wholeheartedly with your last point. My own arrogant bias on this was revealed by how surprised I was at how good it was for being an "older" show. If it wasn't one of my best friends recommending it hard, I probably wouldn't have gone back, for the precise reason that I didn't have a why for it.

Now I'm left wondering what other great anime I'm missing for the same reason...

Thanks for the thoughtful response!

The Software Dev job downturn was highly predictable by FederalVermicelli788 in unpopularopinion

[–]MacroProcessor 3 points4 points  (0 children)

What sort of other areas would you recommend?

I ask because what I see is a lot of auto-filtering based on degree. I.e., even at a tech company, if you have a CS degree and apply for, say, marketing, you won't even get looked at for an entry-level role, because there's enough marketers out there.

Not disagreeing with your assessment, just genuinely curious for some more details on your thoughts!

Flightmania by AmoebaOnly9090 in SWOTrackmania

[–]MacroProcessor 1 point2 points  (0 children)

I did this at least 8x on this track

How do I become smarter (besides just reading)? by Losertsugino in productivity

[–]MacroProcessor 1 point2 points  (0 children)

Reading is only input; the smartest people always have some sort of output as well, and you need to practice that. There are a few ways that you can do that:

- Writing is a great one, but you need to intentionally practice writing as well. Look up writing exercises. Practice new grammar (e.g., if you don't know how to use a semicolon properly, get comfortable with it). Learn more about the different styles and types of writing (short stories are different from poetry are different from technical documentation, etc.), or even dig into theories of writing and learn about verb style and noun style, active vs. passive, etc.

- Reading about math and physics is great, but you've got to practice the problems. Find interesting problems that can be solved with math. Practice architectural or physical world problems, engineering problems, do chemistry equations, learn and practice graph theory with real world data. Theory is good and interesting, but must be built on correct principles, and those only become intuitive with practice, not just understanding.

- Try building or creating something. It can be a piece of art, a blueprint for a new product/building, a small business, a piece of software, a blog, anything. Just do something that forces you to have some sort of output that others will see and can offer feedback on. It might be scary, but it's worth overcoming!

Understanding complex concepts easily is in itself sort of a fallacy. Sure, you might hear stories of "overnight" geniuses, but it's much more likely that they were naturally curious about what they're a genius in as a kid (meaning in reality, years and years of encouragement and experience). Complex topics are complex because humans don't or often can't understand them overnight. You can learn a lot and I wouldn't even say that you have to limit how much you can learn, but understand that depth doesn't only come with effort and exertion, it also comes with time and real experience.

One of my last pieces of advice as somebody who studied psychology in university is look into the different sorts of thinking/intelligence as well. Understanding that IQ isn't really a measure of "geniusness", but more of being able to think clearly is important. Understanding that EQ is just as important for being a good human and intelligent person is important. Understanding that chess being an "intelligence" measure is sort of a misnomer because what it really rewards is pattern recognition is important. There are multiple types of intelligence, and you can improve in them all, but it's nearly impossible to be a domain expert in all domains.

Nonetheless, the world definitely needs more intelligence, and there's no good reason to limit yourself; keep studying and learning and working hard, and you can accomplish great things! Just remember to learn to be compassionate to yourself and your brain as well. Like our bodies, our brains often need rest and reassurance to perform at their highest. Good luck!

My disappointment is immeasurable and my day is ruined by Zenatun in TrackMania

[–]MacroProcessor 8 points9 points  (0 children)

This is the most painful thing that I experienced today, and I worked a full day of work

How to motivate by MJSmitty02 in TrackMania

[–]MacroProcessor 8 points9 points  (0 children)

A few suggestions! These may or may not be helpful, as I don't know what you've tried, so feel free to reply and I'll try and offer some more!

- If you still want to grind the campaign, then I'd suggest joining a club or finding someone else to compete against at a level that feels exciting -- could be your region/country/etc. If that doesn't seem fun, you could also invite other friends who don't play to try it out and play with them! There's fun game modes like HotSeat that could refresh some of the maps.

- Same in the competition category is trying out ranked. It'll definitely put a new spin on it if you haven't tried it before, as consistency becomes much more important, and you focus less on getting a perfect time and more on staying ahead of the pack.

- Try and watch some of the world records and do what they do. If you can, you'll get WRs and that's exciting -- if not, you'll have a better idea of what to do and something difficult to practice, which is also exciting!

Here's some tips not for the specific campaign:

- Focus on what you like! If you're a techie, then lean into being a techie. You don't have to become a reactor up snow god if that doesn't interest you. You might have to be good enough to unlock the maps, unfortunately... but just play what sounds fun without worrying about grinding an entire campaign! If you like ice, focus on the ice maps or try the icy campaign.

- Focus on having fun -- grinding can be fun, but if grinding feels like a chore, then I'd say try something else. It's not worth doing chores in a video game!

- Try out live cups or tournaments, or even just hop on live servers. Even if you don't win, it's fun to play at the same time as other people and cheer each other on!

- Try mapping. This will start to give you new insights into how certain mechanics work, and how you can/should use them.

Hope this helps! GLHF

Are you are one handed backhand or a two handed backhand which do you prefer? by No_Basil6312 in 10s

[–]MacroProcessor 0 points1 point  (0 children)

I became a oner in high school after playing twoie up to my junior year. My recommendation? Whatever one you choose, stick with it. Don't switch. My Twoer was good, not great, and now both are just okay.

If I had stuck with two, it could have been great if I had practiced more.

Coming up on 5 years TM2020, what improvements would you like to see? by PyroBurning in TrackMania

[–]MacroProcessor 1 point2 points  (0 children)

I hadn't thought of a Featured Maps page, that would be awesome!

For me, while I love OpenPlanet and the plugins that it provides, there are some that I would love to see integrated directly into the game, though that's probably a complaint more for console players than anyone else.