dgriffith

joined 2 years ago
[–] dgriffith@aussie.zone 16 points 2 days ago

Here's a little feedback for you: Never trust the user's browser.

Ctrl-Shift-I -> Console -> "this.proManager.enablePro()" -> <Enter>
[–] dgriffith@aussie.zone 8 points 2 days ago* (last edited 2 days ago) (1 children)

that unions are “not meritocratic,” “prevent innovation,” and “hold back earnings of top performers.”

When they make comments like that, they always assume that they are the "top performers", getting the best deal already (edit: or on track to be one of them in the future). That assumption is usually wrong.

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

You can generally go with the rule of thumb of "one foot per nanosecond" for the speed of light. Signals rattle along data lines a little slower because they are contained on a circuit board and not in free space, so it's more like "150mm per nanosecond" is the metric equivalent of propagation delay. That sounds pretty fast - and it is! It's like 50-60 percent of the speed of light.

But your average 3GHz multi-core CPU is doing a half dozen instructions per nanosecond. That means if you have your RAM over here and your CPU over there on your motherboard, you're going to have wait a measurable, impactful, amount of time for data to go back and forth between the two.

So the mobile/Apple idea of sticking your RAM directly on top of your CPU has some merit.

[–] dgriffith@aussie.zone 3 points 3 days ago

But they needed those .env files to transplant an entire software stack from the developer's laptop into production in a reproducible manner! How else were they ever going to get software into prod? By good documentation, broad version requirements, and following the Robustness Principle? Ha! How are you supposed to move fast and break things then?

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

If you design and print the thing though, that is still creating something, just using different tools to construct the thing that you visualised in your mind.

[–] dgriffith@aussie.zone 1 points 4 days ago (2 children)

I see this, "I just can't deal" a lot in younger generations. I do wonder if they have been conditioned to respond like this due to social media overreaction videos and memes.

Prioritisation is a learned skill. So is communication, that way you can talk to others to determine a task's priority if you can't figure it out yourself.

Education systems really need a few classes on stuff like this, not just letting everyone experience the disaster of a "group project" for themselves.

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

Oh hey, you can still get views! You just need to open an advertising account with them, and them pay them anywhere between $50-$1000 and they'll then show your one sponsored post to anywhere between 2 and 50 percent of people who like that kind of thing, for anywhere between 3 days and two weeks. Just select how much you want to spend to get that sweet exposure!

What's that? You want to reach all your friends and followers? All of them? For free? Sorry, they don't do that kind of thing anymore.

[–] dgriffith@aussie.zone 26 points 4 days ago (3 children)

Pfft, amateur.

If you can't manually adjust ignition timing and air:fuel ratios you can't really drive a car.

[–] dgriffith@aussie.zone 3 points 5 days ago* (last edited 4 days ago)

The problem is that an algorithm defines "less consequential posts" and it doesn't have your best interests at heart, at all.

I did wonder if posts from friends were deliberately delayed so that you would be guilted into responding to their Big Thing that you didn't see on your feed. Eventually, you'd be trained to keep scrolling to find posts from your friends, and they'd be trained to keep checking for replies days after their Big Thing, thus maximising user engagement and profit.

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

They could have verified that shit!

There's no "They". There's nobody home. Nobody's looking at this shit, it's all just algorithms and machine learning, there's nobody customer-facing at Google who's job it is to vet this crap. That scammy website passed some set of automated metrics Google uses to determine scamminess, so it's off to the front page of search results it goes.

[–] dgriffith@aussie.zone 3 points 6 days ago

It'll come in handy later on when you're in that government doomsday shelter and you need to print a hard copy of the nuke disarm codes on the line printer that was big enough to need a tarp as a dust cover.

[–] dgriffith@aussie.zone 29 points 6 days ago (2 children)

Essentially they pushed so much crap into your feed that your friends got pushed out.

So then what was the point of posting your current status when your circle might only see it two or three days later?

The immediacy was lost, and thus so was the usefulness.

 

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 ›