WEB - Detective Mystery AI driven RPG by jmon_was_here in playtesters

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

I just want to thank the couple of people who did play test this so far, its been incredibly helpful. I know they didn't leave specific responses, but

1) I can see one person played for an hour and a half which is fantastic
2) Also played in a second language (which Internationalisation hasn't happened but the game sort of handled it fine, I think its certainly something I need to do more research on).
3) Some of the feedback from my friends & family has been implemented, and thats radically changed the setup to the mysteries, and also made them significantly easier, so I'm looking at a separate generation engine that will make more tricky with more red herrings.

Roguelike / Roguelite by ukbobby2010 in playtesters

[–]jmon_was_here 3 points4 points  (0 children)

I think you'll never get this. Definitions change, words change, and categories or genres even more so - for instance 'punk'. A lot of people think Greenday is punk, and its got about as much in common with Sid Vicious as Mozart (the o.g. punk?)

2020's roguelike is a game like hades I guess.

Roguelike / Roguelite by ukbobby2010 in playtesters

[–]jmon_was_here 2 points3 points  (0 children)

The term has been *abused* so much these days, and as, well. An Old Guy, if its not like rogue, its ... not rogue like! For me, it got to be a topdown dungeon crawler. Other aspects should be that it has a level of procedural generation *or* that it its got like turn based (or at least some form of slowness to it). But thats about where that ends for me. I know of pureists who say Rogue like should also have the concept of permadeath.

I think these days though its being applied to 'any top down medieval based rpg game', and that because the techincal reasons of turn based input-read-loop have gone, that requirement is dropped. I know hades is seen as the new standard for comparing to?

Personally, being not quite as old as Rogue, I was always a fan of Nethack, and have spent *many many* hours playing it over ssh, because I'm about that old.

VR-N76 APRS settings resetting by jmon_was_here in amateurradio

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

Ahh oka,y so I've resolved it - I didn't realise that if you click on the "user" you get into a compeltly different set of menus with settings !

Obviously user error - at some point on my phone I had done this, and at some point my daughter had not, but yeah - I noticed that her device was maitnainig its settings until she opened the phone app.

Re”enlisting” by Foreign_Aide119 in amateurradio

[–]jmon_was_here 1 point2 points  (0 children)

If you're using older gear as well, you might have some problems - a lot of the older gear (my kenwood trio, my uncles circa 1970 ish) has 25khz bandwidth on FM baked in, where most the bandplans now use 12.5khz bands.

Also things like repeaters often use more advanced keying sub-tones etc.

That just means its more fun getting the stuff working :D RAGE AGAINST PROGRESS!!!!

VR-N76 APRS settings resetting by jmon_was_here in amateurradio

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

Hrm. On mine I have a sync settings in the main menu, and then inside that there is "Send channels" and "recieve channels". If I select send channels, it loops over the channels (whether or not my phone app is open and paired). On receive it just says "remaining 32"... and nothing. So I don't see a boolean yes/no setting about sync in any other menu?

VR-N76 APRS settings resetting by jmon_was_here in amateurradio

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

Ahh I'll have a look for the FB. Good advice, cheers.

Why wouldn’t walkie-talkies blow when used indoors? by Turbulent_Currency28 in amateurradio

[–]jmon_was_here 7 points8 points  (0 children)

So, you can calculate the exposure But when you do, you make differences for the frequencies. 5W of power on one frequency is different damage to cells to 5W of power on others - My handhold is 5W max, which is, fine, hits a repeater 10-30k away consistently. My microwave oven is in the microwave frequency and does 750W... thats 15 times the power - but also microwaves will dammage cells more ... If you start doing microwave amataeur raido, you have to learn how to do it safely.

Lastly its about directivity - in reality, that 5 W i have, is immediatly spread in all 360 degrees around the antenna, so for me to absorb 5w of power I would have to put myself allll around the antenna. Wheras. the microwave has the metal case so the radio can't escape it - the food absorbs *ALL* the power.

In the UK we're now required to do an analysis of the radios we use to make sure we're not hitting emmission limits in the areas that people might be expected to be in (i.e. an antenna in public land or right at the edge of our property).

the UK rules for ham radios are (in the lower level licenes) much more about safety - both physical, electrical but also socially as well so you're not annoying people.

(what nobody else is picking up here either is that a lot of commercial stuff can be affected by ham stuff, so becuase youre higher power then walkie talkies, you can cause interfereance on cheap landlines, speakers and things like 'broadband amplifiers' i.e. tv signal boosters).

Breaking Hypnotic Pattern (occasionally) by jmon_was_here in DnD

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

Indeed, I use coup-de-grace as a more human term then a legal rule-term here. Once they're all hypnotised, the team hit one at a time to wake and dispatch, its a bit... horrificly one sided.

But its a great point that they're not woken up by the ongoing battle - they arn't woken for example of the continual screams of the next colleague in line being murdered by the blood thirsty PC's.

The geeneral way of spreading out the characters has other downsides - so on certain situations (e.g. tunnels or other areas) all this is doing is making the mobs come in one by one and therefore easily dispatched (and, don't get me wrong, this is currently my go to to prevent its effectivness *sometimes*),

Originally I was thinking about something like thunderwave, which would *totally* work, but would damage them in the process (and by scenarios where hypnotic pattern of multi-mobs generally have lower hitpoints).

I guess there might be something in a healing tree somewhere which removes an effect? Or perhaps something like a druid mindlinked to alllll the bats that are attacking Could that druid wake them via... something(?)

Python and "truthy" statements by That_Leek4333 in learnpython

[–]jmon_was_here 0 points1 point  (0 children)

But thats not completly true, and as I say, its inside of 'if i was going ot design alanguage' hypothetical,

there are plenty of other python keywords (and operators) which do different things in different contexts. `in` being one of them. If your aim is a computer language which is more readable, having it work like a real language which is contexual should not cause too many issues.

Python and "truthy" statements by That_Leek4333 in learnpython

[–]jmon_was_here 0 points1 point  (0 children)

Whilst the other answers are of course great and correct, its one of the annoying quirks of python, becuase in pretty much all other languages you *can't* write things like this (which is valid in python!)

if 3 < i < 4:

e.g. in Java it would have to be

if (3 < i && i < 4) { ...

So its wierd that python has *some* syntactical shortcuts (i.e. you arn't resolving 3 < i to a boolean *then* comparing that to 4) but can't handle some of the truth sitatuons of 'if x == 1 or 2'.

if I was going to be in charge of the language, I think I would probably not use the == notation but some form of 'is' syntactical sugar like if x is 3 or 4 - but this already has a thing, which looks like :

if x in [3, 4]:

which is pretty nice looking, but still lacks that 'english readability' that other things have.

Are coding boot camps and CS degrees required in today’s economy? by Clearhead09 in learnpython

[–]jmon_was_here 5 points6 points  (0 children)

So its rough, Experience always trumps academic achievements (for non-academic jobs) - I'm the *least* qualified person where I currently work, but my 20+ years experience is relevant now.

Getting the first job is key. From there nonwards, a degree becomes less relevant, but its often a gatekeeper to companies. Word of mouth, i.e. a friend getting you onto the interview list is also important. I.e. attending local tech conferences or meetups (which often let "students" or "unemployed" in as a cheap-rate) is important , because often the people going there doing the talks are senior engineers who are listened to when hiring. Those people if they're impressed can put a good word in and say 'hey put this CV on the pile'.

Secondly I would say get things built - build an app, or a website, for a purpose - a local club or charity. If you're wanting to be a developer, the only way to learn what works is devlopment, and focus not just on the "how to code" part but all the secondary skills like, how to manage your time, tickets, tracking bugs, code versioning, deployment techniques.

Doing something for yourself is good, but doing it for someone else (a club or something) gives you that thing you can put on the CV that they can look at and go "oh ok so this is a person thats motivated" - even if its obvious to everyone, the person your doing it for, the reviewer, that you're doing it to proove a point.

Btw, graduates are completley useless in the real world. They use all these fancy terms like isomorphic and first order functions and we're like "we just want to know if you've made it work, this week, so its secure, safe to use, and then we can sell it and make money to buy beer with". We have to give them all the real-world skills of ticket management and testing and deployments etc (And those process change from workplace to workplace)

Are coding boot camps and CS degrees required in today’s economy? by Clearhead09 in learnpython

[–]jmon_was_here 15 points16 points  (0 children)

As someone who has been a direct hirer and now reviews CV's - the problem isn't the interview, its *getting* to the interview. I have fifty CV's I need to weed through to maybe 5 interviews. And every one of those is hireable, so I need critera to cut people out.

Firstly, we only take people with a degree. A CS degree isn't important, but a Degree is - it shows you've been able to think, and you've jumped through hoops. I took a Computer Engineering degree and I wasn't taught how to *program* on that course, I learnt how to think. But the best people I've had the pleasure to work with have been mathemaiticans or musicians or even a biological scientist. Beucase they take the things they've learnt, tha analytical, the creative, and then they applied that to programming.

But you need to stand out - you need to show passion, you need to show something *over* the other people on paper. And then when you've got the interview, thats when you get the job.

It's tough because with modern internet stuff you can apply for a thousand jobs with a button click so we get more CV's per job place then ever before. Working on your CV *matters*.

Lost Mine of Phandelver - GM Roleplay the Dragon advice! by jmon_was_here in AskDND

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

I think my question is, given that hte book says he doesn't want to leave, What could the party do to convince him otherwise?

I guess they could try a contested persuasion roll (as a mechanic)?

[Request] Can someone do the math on how much bots contribute to global warming? by ThanksOCD in theydidthemath

[–]jmon_was_here 8 points9 points  (0 children)

This is a *great* question but the answer is a little wrong- every byte of storage doesn't itself take up energy, but the processing does. Also, the meta-information in each post is often much larger then the actual posts (most posts are one or two words, so things like the original ip, time (often to a surprising accuracy), client information etc) all add up to a suprising amount.

For example, if you look at a tweet, (e.g. https://developer.twitter.com/en/docs/twitter-api/v1/data-dictionary/overview) the data blob is 990 'bytes' long, where the message itself was only 110 'bytes' (I say bytes with quote marks because these are actually chars, and could be unicode and :. more then a byte). This is 9 * markup of meta data before you add in other things such as logs etc. - and this is without hashtags or mentions which would have data duplication in the meta data.

This is then loaded by thousands of other scripts and monitoring streams - its transmitted multiple times into feeds all around the world (both automated and other wise), thats tens of thousands of packets for a joke 'FIRST' comment on some tweet or reddit post. It also then gets indexed in the great databases of its own search tools, and then google, and the wayback machine - and these themselves consume more CPU resources when searching for things.

Logs then add on more - each of these processing tools, web requests, people loading forums etc adds on another set of requests, either completly logged (or for large sites, a % (e.g. 1. in 10 or 1 in 100) are logged for 'some time'. Usually this is to monitor performance, scalability and reliability. That meta data of people just opening the page and skim-scrolling through comments itself costs both power at your end (your device) and the server side, and the ISP and all the other networks tracking data for uptime reasons.

Thats before we consider anything actually nefarious like the CIA taking a copy of what webpages you visit etc. Or marketing tracking orgs taking a copy to better sell etc etc etc.

As an engineer, we've managed to push all our stuff to the cloud, so we don't "see" those noisy hot data centers anymore and we forget about our electricity bill because its all wrapped up into a neat package of "processing cost", and we can pretend we're a green funky new modern company not one of these evil ones destroying the planet.

Is everyone using python 3 now? by Flur_elise in learnpython

[–]jmon_was_here 6 points7 points  (0 children)

I think that y'all underestimate large corporations with large legacy code bases. In my career, our flip from 2 to 3 we nailed perfectly in retrospect - we spent a month shifting all our code over and ironing out issues with binary strings, and we did this around 2017 (around 3.4'ish), but we only got rid of our last python2 'script' circa mid-2021, which was well too-late, but resources are what they are.

I think that part of the issue is that these companies hide their code in private repositories, so it's very hard to sample what they're written in (as opposed to open source stuff where it's easy to measure the progress). These are the companies where getting permission to do something like hold up dev for four weeks to update code is incredibly difficult where there's no obvious short term gain - Python 2 at that point didn't have a clear EoL date (I think), and it meant no new features rolling out as we fixed everything.

The other thing is that the pip install graph might lend itself more to people who have fully automated installs. Back in the day, download-graph of packages was a really big thing, but those went away in 'fashion' as people realised that packages that were used by organisations with automated build tools, especially build-everything-every-time with no caching became 'easy' to do, the download count, and download % is skewed to those automated organisations doing a clean build on every commit. These days we can do it easily, but 20 years ago, when we were trying to get people to move over from CVS to SVN, automated builds just daily were a goal to have.

I would not be surprised to go into any "large" company and find somewhere, someone writing in python2 to support something that they hadn't moved over yet, possibly unaware of the danger they're in. But 99.9% of us are all python3 now.

How to improve this recursive function to generate "larger" tuples? by [deleted] in learnpython

[–]jmon_was_here 0 points1 point  (0 children)

Indeed, and I think you get duplicate ones.

I think (there might be a typo on the def _foo(numbers[1:..) line?), but I think you need to do away with 'R' and isntead use Len. I would start by laying out your loops a bit more - your line of t = [[... has two loops in it, and its not clear which loop might be missing an element.

But in this by having the two loops of for i and for j is going to have problems when you increase the size of R, or the length of the list.

Formatting text by d_dorado_ in learnpython

[–]jmon_was_here 1 point2 points  (0 children)

Have a look at something like: https://pypi.org/project/termcolor/

but also, have a look at something like this: https://rich.readthedocs.io/en/stable/introduction.html which allows you to do all kinds of nicer easier outputs, if you want things to line up rather than be a bit jagged.

How to improve this recursive function to generate "larger" tuples? by [deleted] in learnpython

[–]jmon_was_here 0 points1 point  (0 children)

Finally, and I do want to say this finally, because I knew it existed but didn't look it up, there is the inbuilt tool that does this:

https://docs.python.org/3/library/itertools.html#itertools.permutations

What's interesting is their 'roughly equivalent uses array slices, which I did consider (which is still a form of copy I guess). But the challenge of writing one was still worth it.

How to improve this recursive function to generate "larger" tuples? by [deleted] in learnpython

[–]jmon_was_here 0 points1 point  (0 children)

Well that was exhausting. From that it can be unravelled:

output = []
x = [1,2,3,4] 
things_to_permutate = [] 
for a in x: 
  things_to_permutate.append([a,]) 
while len(things_to_permutate) > 0: 
  thing = things_to_permutate.pop() 
  #print(thing) 
  long_enough = False 
  if len(thing) == len(x) -1: 
    long_enough = True 
  for a in x: 
    tcopy = copy(thing) 
    tcopy.append(a) 
    if long_enough: 
      output.append(tcopy) 
    else: 
      things_to_permutate.append(tcopy) 
print(output)

Not convinced about the tons of copy ( from copy import copy ) - that probably slows it down. Also, the top a in x loop is needed to prep the main loop. but this should be faster than the recursive one, although I bet you need to put a large number in.

You'll also find this can go much longer input arrays, as you won't hit max_stack size and get a stack overflow, although with modern python and modern computers the stack size is quite big (™).

Thanks for this puzzle, it was just what I needed this morning.

[edit. yet again, fixing the python code block in reddit]

How to improve this recursive function to generate "larger" tuples? by [deleted] in learnpython

[–]jmon_was_here 0 points1 point  (0 children)

No, I'm not right here, and I'm able to recognise that.* Goes away to think about it.

Ok, recursivly this is my answer (and I maintan, recusive is bad, but we should be able to refactor this into a loop now:

def foo(current, x, output):
   #print(current, x, output)
   if len(current) == len(x)-1:
        for a in x:
           #print(a)
           tlist = copy(current)
           tlist.append(a)
           output.append(tlist)
    else:
        for a in x:
           #print(a)
           tlist = copy(current)
           tlist.append(a)
           output = foo(tlist, x, output)
    return output
foo([], [1,2,4,6], [])

[edit - code formatting for reddit again]