|
I'd recommend a color laser printer, unless you're printing photographs. Most of the lasers I've seen can't do natural color as well as inkjet.
Software Zen: delete this;
|
|
|
|
|
I'd still put up with the less-than-perfect colors. I do have a color laser printer (see some of my responses above). The only reason I still have an ink-jet (and have one on the way) is that I have a need to print on discs (the CD and DVD kind). I'd otherwise be ecstatic if I never had to deal with an inkjet printer ever again.
Printing on labels is not an option - I did before; never again.
According to my research, I'm not the only one who wished lasers could be used on discs. But, everyone concludes that even if it were possible, they run so hot they'd warp the discs. And given how hot sheets of paper get sometimes when coming out of my printer, I tend to believe that...
|
|
|
|
|
If you only print 'rarely' I see only one solution: remove printer cartridges after printing and vacuum them
|
|
|
|
|
0x01AA wrote: remove printer cartridges after printing and vacuum them
AKA "buy a new set of cartridges every time you need to print something".
This is practically what I've been doing with this printer, well, not Day One, but "Day on which I needed to print a second time". Until it decided that even with new cartridges, it's gonna put up this new error message.
|
|
|
|
|
Any particular reason you're still using a printer? We in tech should be driving changes and well, we should all be paperless by now.
Some times it can't be avoided. Some industries refuse to move forward... like the medical industry still requiring a fax (from different parties besides yourself). But, by and large, printers should be a relic of the past for most of us.
Jeremy Falcon
|
|
|
|
|
Someone, I forget where, recently posted a rant about--not the promised paperless office--but those who keep pushing that decades-old lie.
There will always be a need to have something printed. In my case, picture a pile of identical, plain white, inkjet printable CDs and/or DVDs. The alternative is writing on them with Sharpies.
|
|
|
|
|
Oh lovely.
The ESP32 line by Espressif (a fabless semiconductor company) is a line of MCU processors out of China that have 2 hardware I2C busses on them. Two. This is important.
Well in previous versions of their development framework you'd simply tell it I2C_NUM0 or I2C_NUM1 to indicate which bus you were going to send data on. It has been this way through 4 major versions of the framework, and it works similarly in Arduino, at least similarly enough to make code forking minimal if you want to support both platforms.
Now Espressif has decided that's not good enough in 5.0+
Now you must configure a bus, and then get a handle for it, rather than using one of two fixed constants.
It's unnecessary complexity. Furthermore, it makes supporting both Arduino and ESP-IDF platforms tricky, because there's no bus initialization required to reference an I2C bus with Arduino or ESP-IDF 4-
To that end I made a stupid little lib called htcw_esp_i2c. The ugly code is at the end of the post.
Now you can do for example to init bus index 1 on pins 21 and 22:
static ft6336<320, 280> touch(esp_i2c<1,21,22>::instance);
static m5core2_power power(esp_i2c<1,21,22>::instance);
which works on any ESP-IDF 4.0+ or Arduino platform.
The issue with this is the code to facilitate it is ugly, and shouldn't need to exist.
Was it Einstein? who said "something should be as simple as it can be, and no simpler"
Well, code should be that way.
template<int Port, uint8_t SdaPin, uint8_t SclPin>
class esp_i2c {
public:
#ifdef ARDUINO
static TwoWire& get_instance() {
if(Port==1) {
Wire1.begin(SdaPin,SclPin);
return Wire1;
}
Wire.begin(SdaPin,SclPin);
return Wire;
}
static TwoWire& instance;
#else
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
static i2c_master_bus_handle_t get_instance() {
i2c_master_bus_config_t i2c_mst_config;
memset(&i2c_mst_config,0,sizeof(i2c_mst_config));
i2c_mst_config.clk_source = I2C_CLK_SRC_DEFAULT;
i2c_mst_config.i2c_port = Port==1?I2C_NUM_1:I2C_NUM_0;
i2c_mst_config.scl_io_num = (gpio_num_t)SclPin;
i2c_mst_config.sda_io_num = (gpio_num_t)SdaPin;
i2c_mst_config.glitch_ignore_cnt = 7;
i2c_mst_config.flags.enable_internal_pullup = true;
i2c_master_bus_handle_t bus_handle;
if(ESP_OK!=i2c_new_master_bus(&i2c_mst_config, &bus_handle)) {
return nullptr;
}
return bus_handle;
}
static i2c_master_bus_handle_t instance;
#else
constexpr static const i2c_port_t instance = (i2c_port_t)Port;
#endif
#endif
};
#if defined(ARDUINO) || ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
template<int Port, uint8_t SdaPin, uint8_t SclPin>
#ifdef ARDUINO
TwoWire&
#else
i2c_master_bus_handle_t
#endif
esp_i2c<Port, SdaPin, SclPin>::instance = get_instance();
}
#endif
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: #if defined(ARDUINO) || ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
Several seal pups died from this line alone I hate it when you are forced to that kind of ugliness #MaintainMyCode
|
|
|
|
|
Wordle 1,080 5/6
🟩🟩🟩⬜⬜
🟩🟩🟩⬜⬜
🟩🟩🟩⬜⬜
🟩🟩🟩⬜🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,080 3/6
🟩⬜🟩🟨⬜
🟩🟩🟩⬜🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,080 3/6*
🟨🟨⬜🟨⬜
🟩⬜🟩🟩⬜
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
⬜🟨🟩⬜⬜
🟩🟩🟩🟩⬜
🟩🟩🟩🟩🟩
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 1,080 4/6*
⬜⬜🟩🟨⬜
🟨🟨🟩⬜⬜
⬜⬜🟩🟩🟨
🟩🟩🟩🟩🟩
Happiness will never come to those who fail to appreciate what they already have. -Anon
And those who were seen dancing were thought to be insane by those who could not hear the music. -Frederick Nietzsche
|
|
|
|
|
Wordle 1,080 3/6
🟨⬛⬛⬛⬛
🟨🟨🟩🟨⬛
🟩🟩🟩🟩🟩
Ok, I have had my coffee, so you can all come out now!
|
|
|
|
|
Wordle 1,080 5/6
🟨⬜⬜⬜⬜
⬜🟨🟨⬜⬜
🟩⬜🟩🟨⬜
🟩⬜🟩🟩🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,080 3/6*
🟨🟩⬛⬛⬛
🟩🟩🟩🟩⬛
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 1,080 2/6
⬛⬛🟩🟩🟨
🟩🟩🟩🟩🟩
Jeremy Falcon
|
|
|
|
|
I dislike these YouTube tutorial videos that try to teach content but there is no voiceover of someone talking or there is sound but it is just a music track playing the whole time. Why do they do that? Doesn't seem very personable to me.
It seems lazy instead.
|
|
|
|
|
They likely don't speak the most popular language.
|
|
|
|
|
And because speaking and communicating an idea clearly is much harder to do than writing + music.
|
|
|
|
|
Possible reasons:
1. They may be not comfortable with English as a spoken language.
2. They want to be language agnostic. Meaning language independent, implying a higher reach across all continents. Often, language itself becomes a communication barrier.
Against this, instead of a silent video, they use music as a filler.
|
|
|
|
|
Yeah, I don't even watch them.
YouTube ads have gotten so bad I don't watch many videos now.
If you can't find time to do it right the first time, how are you going to find time to do it again?
PartsBin an Electronics Part Organizer - Release Version 1.4.0 (Many new features) JaxCoder.com
Latest Article: EventAggregator
|
|
|
|
|
Firefox with a blocker helps considerably. But yeah, it is now crap in a manifest V3 browser...
|
|
|
|
|
I switched to Chrome a while back and don't like it much.
Used FF for years and really liked it but it turned to crap so I switched.
If you can't find time to do it right the first time, how are you going to find time to do it again?
PartsBin an Electronics Part Organizer - Release Version 1.4.0 (Many new features) JaxCoder.com
Latest Article: EventAggregator
|
|
|
|
|
I am also in the 'it is crap' camp, as it sucks up so 'effin much memory. But it eliminates YouTube ads when done that way, since it is still Manifest V2. I pretty much only use it for YouTube and FaceBook, since it has anti-FB tracking in it when you enable the 'container'.
|
|
|
|