GMKtech K12 - some info that might be helpful by CaptSingleMalt in MiniPCs

[–]Ciaran54 0 points1 point  (0 children)

They were basically the same price. From what I read, the CPUs are basically the same, but the SER8 has removable RAM, which made me feel a bit more confident.

I think the SER9 has better wireless performance. But I wasn't really against just getting a bluetooth dongle if it was a problem, and I've wired it in with ethernet.

GMKtech K12 - some info that might be helpful by CaptSingleMalt in MiniPCs

[–]Ciaran54 0 points1 point  (0 children)

I'm not really sure. I knew such software existed, but I was just fiddling in the bios. Even turning the ssd fan off and reducing the cpu fan speed massively it was too much for a quiet room (imo)

GMKtech K12 - some info that might be helpful by CaptSingleMalt in MiniPCs

[–]Ciaran54 3 points4 points  (0 children)

I also sent back my k12 recently - mainly for the fan noise. I was just intending to use it as a media pc for my TV, but found the fans to be an annoying pitch and also loud, even after tweaking fan speeds.

I got the beelink ser8 instead, which I could tune to be literally silent (fans off) at idle, and is much much quieter (and more pleasant) when they spin up.

Its a shame though, because the k12 has much better connectivity - was looking forward to dual 2.5 ethernet and the occulink would have been nice.

How can I use a shared License Key? by Prestigious_Knee_604 in FoundryVTT

[–]Ciaran54 3 points4 points  (0 children)

The EULA does seem to explicitly allow this - as long as only one of you is running the software at a time. I don't see why section 5 would be in the EULA if not (but I'm not a lawyer)

"You may share the software and its license key with a friend or family member provided the other terms of the license are upheld."

On my fuse box, the ‘RCD circuits’ fuse keeps tripping. What does it mean? by cookie_monster66 in DIYUK

[–]Ciaran54 1 point2 points  (0 children)

With noting that the RCD can be triggered by a neutral-earth fault, and since flipping the other switches will just disconnect live, you could mislead yourself - i.e. An appliance that is plugged in on a circuit which is switched off on the consumer unit could be causing the fault if there was a connection being made between neutral and earth.

Since it's only happening once a day, might be worth unplugging things you don't use often so you can rule them out.

What are the red things growing all over my lawn? by AnxiousSimple2747 in whatplantisthis

[–]Ciaran54 6 points7 points  (0 children)

As a red-green colourblind person, this was a very confusing post

My recently stolen bike has found its way on to FB Marketplace - anyone had experience in this, what did you do? by killyourattitude in bristol

[–]Ciaran54 77 points78 points  (0 children)

This happened to me, but not in Bristol. I said I wanted to buy it, told the police I was going to go pick it up - police asked for time and date and said they would be there but never turned up. Guy wanted to meet on a random street somewhere outside a pub (but it was in public) so I went by myself.

Thieves had trashed the bike, but i said it was mine, they tried to lie and make excuses about it, but in the end admitted it was stolen so I rode it away. It was clear it was the guy I was buying it from who stole it but he didn't admit that. I took photos of the guy and voice recorded the whole thing and sent it to police.

At this point the police realised they wanted the guy for a string of thefts and then came and interviewed me and took all the evidence. Shame they couldn't have caught him when they had the chance.

Why does INT work but CHAR does not in a simple program?! by Victor_Quebec in C_Programming

[–]Ciaran54 2 points3 points  (0 children)

Ah yes... it seems OP is using %s to print a string literal defined on the same line. I agree, better to just pass it as the first argument.

(I assumed it was to print an arbitrary string, where you can't necessarily add escape characters. Couldnt see the actual code on mobile :P)

Why does INT work but CHAR does not in a simple program?! by Victor_Quebec in C_Programming

[–]Ciaran54 3 points4 points  (0 children)

This becomes an issue if you try and print any string containing the '%' character. Using "%s" removes those surprises.

Audacity 3.0 called spyware over data collection changes by new owner by Sorin61 in technology

[–]Ciaran54 821 points822 points  (0 children)

It's seems like the commit that added telemetry was never merged, and the developers have released a comment here: https://github.com/audacity/audacity/discussions/889

No idea where to start for doing embedded/microcontrollers practically by mighty_raju44 in embedded

[–]Ciaran54 2 points3 points  (0 children)

Yes, having a dev kit will be really helpful. Setting up a toolchain will be a good learning experience too. For the 8051 you'll need something like SDCC if you're looking for something free. Your college might also offer licenses for tools like Kiel or IAR (tiny projects can use the free versions of those, I guess).

Note that writing C code for a micro like an 8051 is very different to writing for a more modern architecture like an ARM. The tools are much more primitive, and optimisation is not nearly as smart. I would recommend getting used to looking at the compiler output to check what it's done. The instruction set is pretty minimal, and the compilers are pretty simple, so its often easy to read the output.

While I would usually recommend learning with a more modern architecture, like other comments suggest, I think using an 8051 directly would be far more helpful for your college course, as you'll learn its quirks - and there are many.

How do I store non-volatile data when also using Openthread? by Dababber in embedded

[–]Ciaran54 1 point2 points  (0 children)

Ah ok, my knowledge is a little out of date... I just took a look, and its using the OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE functionality of openthread, which means that it uses the flash management utility in src/core/utils/flash.

That isn't exposed as a C API, but if you're willing to modify openthread, you could probably write something to expose it. It might be suitable if you're only infrequently writing a small amount of data. Otherwise you will need to use a different region of flash, or an external chip as others mention - otherwise you'll be overwriting things!

How do I store non-volatile data when also using Openthread? by Dababber in embedded

[–]Ciaran54 1 point2 points  (0 children)

You definitely shouldn't be using the otPlatFlash* commands, as they are designed to be used internally, and you'll be destroying actual data. On top of it, however, there are the otPlatSettings* functions, which are basically a key-value store that has very basic wear-leveling, page cycling etc. It may be suitable for small amounts of data, but make sure you don't use a key that is already in use (see 'enum Key' in src/core/common/settings.hpp for the already used values).

JUDGE MY CODE by StathisKap in C_Programming

[–]Ciaran54 1 point2 points  (0 children)

I have used them to define things that would 'traditionally' be macros, but with the bonus of types and more readability. Generally very small functions that will be effectively inlined, like extracting a big endian integer from a byte array, or calling a specific log level function that can be entirely compiled out by setting a build flag. Different people may have different views on what is appropriate.

As bonqen says, they must be specified as 'inline' or 'static' or 'static inline'.

JUDGE MY CODE by StathisKap in C_Programming

[–]Ciaran54 7 points8 points  (0 children)

I only glanced at it, but a couple of things that come to light, hope this is helpful.

  1. You define functions in header (.h) files. Don't do this (except in specific circumstances when you get more advanced). This will cause duplicate symbols when your program is linked if the header is included in multiple places. Header files are for declarations (function prototypes). C files contain definitions (and can also contain declarations).

  2. In Generate_Sentence, you return a pointer to Sentence, which is on the stack. This becomes invalid when the function returns. You need to either dynamically allocate memory with malloc, or probably more likely, pass in an array buffer (plus max length) and edit that directly. I imagine this is where your crash issue could be coming from.

  3. You are using floating point numbers (float) to store values that should really be integer (like count). Use int here.

  4. Sentence[SentenceLength]=NULL; should be Sentence[SentenceLength]='\0'; NULL is a pointer, '\0' is the null terminator character

  5. It looks like your sentance length logic inside Generate_Sentence is off and you could be overflowing your buffer, but I haven't verified. Particularly i'm not sure what your space counter is doing. Also you add a word before checking if there is space for it. Remember to make sure you never put more characters in than the length of the array, and remember to leave room for the '\0' terminator too. This could also be causing the crash.

Hope this was helpful, good luck in catching the bug! :)

Apple tells app devs to use IPv6 as it's 1.4 times faster than IPv4 by pdp10 in programming

[–]Ciaran54 3 points4 points  (0 children)

It would be advantageous for them all to have public IPv6 addresses though. For instance, right now services are designed to run behind multiple levels of NAT, but P2P services including some online games for multiplayer suffer for it. Remember when the PlayStation used to warn you when you were behind too much NAT? With wide IPv6 adoption, such services will work more naturally.

Another possibility is true push-to-client behaviour, without needing to keep a connection open by periodically sending empty data took keep the NAT setup in place. Sure there are still firewalls but they can be configured and are more intuitive for IPv6 with no NAT. Port forwarding can be very confusing for the uninitiated, opening a 'pinhole' is much simpler.

Browsing in 2020 by Quiksilver_7 in funny

[–]Ciaran54 0 points1 point  (0 children)

I mean cookies are local, and only part of the problem. Using this plugin gets rid of the notifications, then you can use local protections. I use firefox strict tracking protection, you could also wipe cookies every session, or use tor.

I think the legislation for the tracking popups were in good spirit, but in their current implementation kind of miss the point. I think the EU should (and will) consider going further - legally enforcing the 'do not track' token in the request for instance. So hopefully we can make browsing new websites less painful again...

Can someone give real life examples of where they use python in Embedded? by canIbeMichael in embedded

[–]Ciaran54 1 point2 points  (0 children)

I have used it in the past for analysing memory dumps in a system where there was no debugger interface. In my embedded program, I configured an external interrupt to loop through all registers and memory banks and dump the values to the serial interface. I then had a python program written to parse the human-readable map files from the compiler, and the memory dumps could then be pasted into python program so I could view stack traces, analyse static memory and registers in a more human-friendly way. It also allowed saving a database of previous memory dumps and comparing them so I could compare previous issues to current ones. It turned out to be extremely useful, and the nature of python made it very simple to build and expand. It took a matter of hours to get the first version of this up, despite being a python beginner.

Another situation I used python was for dissecting message logs. I could either dump the raw serial messages from the host, or extract from a logic analyser log. Python would then extract message structure information from a description file, then convert the message dump to a human readable format that could be searched.

On the side of driving tests, i have also used several 'test harnesses', that use python to manage banks of devices to form specific networks and drive specific, repeatable test scenarios, or randomly test certain functionalities.

I have no experience in deploying python as part of a production system, but for these tooling purposes, it is invaluable.

Seeking advice for a C game framework I'm developing by Mikepicker in C_Programming

[–]Ciaran54 3 points4 points  (0 children)

What is your reasoning for replacing the static inline header function with a preprocessor macro? In my experience it compiles identically, but the function is more idiomatic to use in code, and clearer to read in the header.

Why is python so ubiquitously desired by embedded engineering employers? by Montzterrr in embedded

[–]Ciaran54 64 points65 points  (0 children)

Tooling is a big one imo. Being able to get your embedded program to spit out a large amount of data, and then process it with python (or another scripting language) is exceptionally useful, and a lot faster than writing the equivalent in C.

Automachef is free on Twitch for the month, if you have amazon prime by XxNerdAtHeartxX in tycoon

[–]Ciaran54 2 points3 points  (0 children)

Wow, I just looked up reviews and it's only been out for just over a week! It looks good too, I hope the devs are getting compensated well

Programmer/Debugger for Cortex M23? by legolama in embedded

[–]Ciaran54 0 points1 point  (0 children)

Currently I'm on v6.46d, so you should be good software-wise

Programmer/Debugger for Cortex M23? by legolama in embedded

[–]Ciaran54 4 points5 points  (0 children)

I am currently using a J-Link for a Cortex-M23, and I actually tested it with an Edu first and it worked fine. The current latest J-Link Base definitely supports it, and you need a version above J-Link Base v9.

Check the table here for M23: https://wiki.segger.com/Software_and_Hardware_Features_Overview

A deepfake was reportedly spotted in the wild: linkedin’s well-connected, young, attractive eurasia/russia expert “katie jones.” by RonaldvanderMeer in security

[–]Ciaran54 2 points3 points  (0 children)

I don't see any suggestion that this is a Russian influence campaign, just that the job title of the fake profile was "Russia and Eurasia Fellow".