dgriffith

joined 2 years ago
[–] dgriffith@aussie.zone 13 points 3 days ago (3 children)

Well, they used to be trained on Stack Overflow.

In the future they'll be trained on all your code, as per the end user licence agreement you clicked through.

[–] dgriffith@aussie.zone 5 points 6 days ago (1 children)

Perhaps the pressure difference between a column of fresh water and the equivalent height of salty water is enough to tip the scales.

[–] dgriffith@aussie.zone 2 points 6 days ago* (last edited 6 days ago) (1 children)

There is a FreeRTOS option for Arduino which is pretty much the next step when you want to do multitasking.

Basically, you create tasks in your setup routine by pointing to various self contained functions - each function becomes a task - and your "loop" becomes the task that runs when everything else is idle.

Your functions have their own loops so they never exit, and then when you kick-start the tasks the task scheduler in FreeRTOS does all the heavy lifting of timeslicing the various functions so that they all appear to be running at once.

If you share resources, like an I2C bus, you can add locking around it so that tasks that need the resource wait until other tasks are finished with it so you don't get tasks treading on each other's toes.

FreeRTOS is in the Arduino libraries so you can just add it to a blank project and then have a play running two tasks at once.

[–] dgriffith@aussie.zone 27 points 1 week ago (2 children)

Maybe it's time to implement an AI tarpit. Each response for a request from a particular IP address or range takes double the time of the previous, with something like a 30 second cool down window before response time halves.

Would stop AI scrapers in their tracks, but it wouldn't hurt normal users too much.

Maybe I should start looking into it a bit more 🤔

[–] dgriffith@aussie.zone 3 points 1 week ago (1 children)

Only systems that have framebuffer console enabled at boot I guess.

Recovery mode booting would probably be normal 80x25 text console in case there was something up with framebuffer initialisation.

[–] dgriffith@aussie.zone 5 points 1 week ago (3 children)

There was a point, about 10-12 years ago now, where The Algorithm™ took over social media entirely.

If you were around before that, you would have noticed the shift. Your friend's comments and posts started to get intermixed with "other stuff" , and eventually you could scroll endlessly and not see anything from your direct friends, or friends of friends. Forever.

What decided what you could see? Why, The Algorithm™ , of course. So, at that point right there, that's when a direct and consistently biased feed of someone else's opinion about what you wanted to see got pumped into people's brains. And you can bet it's going to be designed to be handing out the most engaging things that it can find for you, to keep you scrolling away on their platform. But it doesn't matter a fuck if what its handing out i's mentally harmful to you personally, as long as you're engaged.

And just like schoolkids in the USA reciting the Pledge of Allegiance every morning, reinforcement of whatever The Algorithm™ wants (simply: more engagement) becomes pretty trivial when it's crammed into your head consistently from a young age. Lacking any other reference points, children are the ones with the least amount of defenses against all of that shite.

These kinds of laws worldwide are trying to stop that kind of thing from happening, because they can't stop the source directly. Social media companies hold too much sway over the population and the economy now, it would be political suicide to try and go toe to toe with them.

In my opinion, The Algorithm™ as it stands now is a cancer that needs to be cut out of social media by any means possible. Whether there's anything left remaining after that is debatable.

[–] dgriffith@aussie.zone 4 points 1 week ago* (last edited 1 week ago)

but are normal plebs going to be arrested for having Signal on their phone or with a Meshtastic/Meshiliscious device?

Are you deliberately trying to be obtuse?

The "criminal encrypted communications device" - whatever the hell that actually is ^1^ - is the very small cherry on top of the firearms and whatever other investigative legwork needed to identify, locate, and then arrest these people.

So no, unless you're also often nipping off in a taxi with a few guns to do a job for another crime group, I think you'll be relatively safe fooling around with meshtastic.

^1^Maybe it's one of those CrimPhones™ that had their security protections quietly broken in the last few years.

[–] dgriffith@aussie.zone 3 points 1 week ago* (last edited 1 week ago) (1 children)

It can be a Cron job that runs every minute. Run a script that:

  • Checks for the existence of a file, if it exists, exit.
  • (Optional) ping your end, if it's up, continue, otherwise exit
  • Touches said file.
  • Runs SSH to try and connect to your end. If the connection is made everything halts here until the connection drops.
  • Cleans up said file.
  • Exits.
[–] dgriffith@aussie.zone 6 points 1 week ago (3 children)

If you can arrange a fixed IP address externally (or dynamic DNS that follows your IP around) you can set up a reverse SSH connection instead.

Basically your server connects to your external computer via SSH and then sets up port forwarding so that when you connect to localhost:2222 or similar on your PC, you're actually connecting back to the server.

[–] dgriffith@aussie.zone 1 points 1 week ago (1 children)

the pursuit of fancy graphics just doesn't make sense anymore

Their assertion is that fancy graphics doesn't necessarily equal good gameplay, and the major industry players are focused on ever-increasing frame rates instead of game quality.

Nobody cares if your game is fully immersive and rendered down to the atomic scale if it is boring or the game mechanics are shite. Sure you can wander around and look at stuff and gasp at the physics, but unless the game is titled "Look around and enjoy it" , that's not the point.

[–] dgriffith@aussie.zone 5 points 1 week ago* (last edited 1 week ago)

Ditto on the QuietComfort headphones. I've had a pair of QC35's for 10 years now with heavy use on weekly flights.

Runs off a AAA battery which is good for like 18 hours or so. Works as regular headphones when the battery goes flat. 3.5mm cable with media controls and a mic in it.

Still in its original hard case, have replaced the ear pads a couple of times, decent pads are cheap enough on eBay and etc.

I also bought a Bluetooth insert for it for ~AUD75, it plugs in where the cable goes and has it's own rechargeable battery with only about 6 hours life which is a bit of a nuisance.

Edit: regarding audio quality, I can say that if you're using headphones in any sort of urban environment, noise cancelling absolutely trumps audio quality. But the QC35's aren't too bad in the quality stakes, especially if you're using them on the move.

Small edit: The major thing that stops portable electronics from lasting 5+ years is the little rechargeable battery inside that dies. Removable batteries like the AAA battery in the QC 35 solves that, and as a bonus it's "instant charge" when it goes flat, as long as you keep a tiny packet of AAAs in your bag. 4 x AAAs lasts me about 3 months.

[–] dgriffith@aussie.zone 10 points 1 week ago

I know, instead of folders, we could use "shelves" and the Dewey Decimal System.

 

I know, upvotes/downvotes mean less compared to That Other Place. But it would be nice if I could set Boost to not show all the spammy spam spam in my communities that have a score below a configurable threshold.

 

Hi all,

In an effort to liven up this community, I'll post this project I'm working on.

I'm building a solar hot water controller for my house. The collector is on the roof of a three-storey building, it is linked to a storage tank on the ground floor. A circulating pump passes water from the tank to the collectors and back again when a temperature sensor on the outlet of the collector registers a warm enough temperature.

The current controller does not understand that there is 15 metres of copper piping to pump water through and cycles the circulating pump in short bursts, resulting in the hot water at the collector cooling considerably by the time it reaches the tank (even though the pipes are insulated). The goal of my project is to read the sensor and drive the pump in a way to minimise these heat losses. Basically instead of trying to maintain a consistent collector output temp with slow constant pulsed operation of the pump, I'll first try pumping the entire volume of moderately hot water from the top half of the collector in one go back to the tank and then waiting until the temperature rises again.

I am using an Adafruit PyPortal Titano as the controller, running circuitpython. For I/O I am using a generic ebay PCF8591 board, which provides 4 analog input and a single analog output over an I2C bus. This is inserted into a motherboard that provides pullup resistors for the analog inputs and an optocoupled zero crossing SCR driver + SCR to drive the (thankfully low power) circulating pump. Board design is my own, design is rather critical as mains supply in my country is 240V.

The original sensors are simple NTC thermistors, one at the bottom of the tank, and one at the top of the collector. I have also added 4 other Dallas 1-wire sensors to measure temperatures at the top of tank, ambient, tank inlet and collector pump inlet which is 1/3rd of the way up the tank. I have a duplicate of the onewire sensors already on the hot water tank using a different adafruit board and circuitpython. Their readings are currently uploaded to my own IOT server and I can plot the current system's performance, and I intend to do the same thing with this board.

The current performance is fairly dismal, a very small bump of perhaps 0.5 - 1 deg C in the normally 55 degree C tank temperature around 12pm to 1pm, and this is in Australia in hot spring weather of 28-32 degrees C.(There's some inaccuracy of the tank temperatures, the sensors aren't really bonded to the tank in any meaningful way, so tank temp is probably a little warmer than this. But I'm looking for relative temperature increases anyway)

Right now , the hardware is all together and functional, and is driving a 13W LED downlight as a test, and I can read the onewire temp sensors, read an analog voltage on the PCF8591 board (which will go to the NTC sensors), and I'm pulsing the pump output proportionally from 0-100 percent drive on a 30 second duty cycle, so that a pump drive function can simply say "run the pump at 70 percent" and you'll get 21 seconds on, 9 seconds off. Duty cycle time is adjustable, so I might lower it a bit to 15 or 10 seconds.

The next step is to try it on the circulating pump (which is quite an inductive load, even if it is only 20 watts), and start working on an algorithm that reads the sensors and maximises water temperature back to the tank. There are a few safety features that I'll put in there, such as a "fault mode" to drive the pump at a fixed rate if there is a sensor failure, and a "night cool" mode if the hot water tank is severely over temperature to circulate hot water to the collector at night to cool it. There are the usual overtemp/overpressure relief valves in the system already.

All this is going in a case with a clear hinged cover on the front so I can open it and poke the Titano's touchscreen to do some things.

Right now I am away from home from work, so my replies might be a bit sporadic, but I'll try to get back to any questions soon-ish.

A few photos for your viewing pleasure:

The I/O and mainboard plus a 5V power supply mounted up:

The front of the panel, showing the Pyportal:

Thingsboard display showing readings from the current system:

Mainboard PCB design and construction via EasyEDA:

view more: next ›