|
I bought an Apanage brand powered USB hub on Amazon for like $30-$40 USD.
I've used it for a number of years now without a hitch, and if anything i'm kind of hard on it, given the devices that I plug into it are often hand wired to god only knows what.
I can't remember the last one I had before that, to be honest, other than a chintzy little 4 port unpowered doodad i used with my PS4. It never died, but I didn't use it very rigorously or frequently.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I've had a couple 4-port hubs connected to my computer for a couple (few?) years now, with no problems. Haven't had the impression either of them are dying, so maybe it is just the brand you picked?
|
|
|
|
|
glancing at side of desk with two usb hubs 10 years old... still working...
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
I have a super cheap 2 device KVM for keyboard, mouse, and HDMI.
The first one lasted about 15 months. I think it may have over heated since I keep my computer on 24/7.
I bought the same model again and drilled a bunch of holes in the top and bottom and put some feet on it for an air gap.
I am hoping to get a little more life out of this one.
I calculate the cost to about $2/month. Worth the convenience.
|
|
|
|
|
I have a decent quality 4-port KVM switch, which has worked flawlessly for 4 years. Two ports are connected to desktop PCs, and two are used for portable stuff (work portable, my portable).
My wife had a 2-port KVM from the same company that stopped working after 2 years when she spilled a mug of tea over it.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
I've never discarded a USB hub because it "no longer worked".
I tend not to connect/disconnect/reconnect devices. Once it's hooked up, it tends to stay there.
I know there's cheap hubs out there that should be externally powered but don't come with a power adapter, and draw the power from the one port they're connected to. That's just a recipe for disaster.
|
|
|
|
|
I got my font caches working.
One is for measuring. The other is for drawing. You can use none, one or both.
Expiring is still not as efficient as I'd like, but:
You can set the number of bytes, and/or the number of items to limit them to.
It's easy to get statistics on them.
It's just generally easy to use
m_font_draw_cache.initialize();
m_font_measure_cache.initialize();
m_font_draw_cache.max_entries(21);
m_font_measure_cache.max_memory_size(512);
From there you can just pass them to the font's render() and draw() methods as desired.
Only wrinkle is you can potentially screw up your caching if you reuse the cache for a different font without the clearing the cache first.
I decided to make the caching on a per font basis to give you that level of control. It's embedded so you're dealing in a constrained environment and constantly robbing peter to pay paul. This way you have fine control over trading RAM for speed.
In addition, I think I finally got my text measuring code working correctly.
I got 3 different kinds of font working with a common base class - 16-bit windows .fon/.fnt files, .VLW anti-aliased raster, and TrueType/OpenType.
Also the way I handle drawing it is kinda nice. You can use draw::text<>() and give it the font, or you can use the font's draw() method with a callback in which case I provide you a series of alpha transparency maps, and locations. You can simply draw using my lib's draw::icon<>() function:
static gfx_result draw_cb(spoint16 location,const const_bitmap<alpha_pixel<8>>& glyph, void* state) {
draw_cb_state* st = (draw_cb_state*)state;
control_surface_type& dst = *(control_surface_type*)st->dst;
const srect16 r(location,(ssize16)glyph.dimensions());
if(r.intersects(st->clip)) {
return draw::icon(dst,location,glyph,rgb_pixel<16>(rand()%32,rand()%64,rand()%32));
} else {
return gfx_result::success;
}
}
Also I made my text encoding pluggable so I'm not stuck with just latin1 and UTF8.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
modified 16-Aug-24 11:28am.
|
|
|
|
|
|
Ah yes. I forgot about that. Thanks. I'll close it now. Unfortunately I don't have an easy explanation for what I did.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Write an article?
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
I will eventually, but not on this code specifically. The caching isn't very generic or general purpose.
The reason being is that it's part of a much larger graphics library I'm create a major version update of.
I will be writing an article on that once it's ready, but I have a lot of work to do before then.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
It's finally fast(er) then?
|
|
|
|
|
Fast enough now.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
|
“enough”
The difference between engineering and design!
|
|
|
|
|
It all kind of runs together for me but also I know what you mean.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Surprising what Copilot (AI integrated in vs Code) does:
In my team we buy cake every Wednesday. Duties circulate based on "hmm feels like my turn today". I bit bored I wrote a Python snippet that printed a "100% fair" calendar. Still bored... I wanted to add a fun license. I started with a modified MIT license (MIT has no restrictions).
# CAKE License
# Copyright (c) 2024 - 3024 Adam .......
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software with the sole restriction
at this point Copilot, without being prompted, continued:
that the person who uses the Software
# must provide a cake to the author of the Software. The cake must be of the
# chocolate variety and must be delivered to the author in person. The cake
# must be accompanied by a glass of milk.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
So, it turns out that the cake is not a lie?
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Cake even AI understands it.
To err is human to really elephant it up you need a computer
|
|
|
|
|
I like the fact that AI recognizes chocolate as the best flavor of cake. But milk goes with cookies.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
|
Happy birthday to you!
Happy Birthday to you!
Happy Birthday @Brisingr_Aerowing
Happy Birthday to Youuuuuuuuuu!
Have a good one:
"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!
|
|
|
|
|
Happy Birthday
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Me too, Me too!!!
Happy Birthday.
Have lots of them, they are good for you health.
>64
It’s weird being the same age as old people. Live every day like it is your last; one day, it will be.
|
|
|
|
|
Wordle 1,154 3/6
⬜🟨⬜🟨⬜
🟨⬜🟩⬜🟩
🟩🟩🟩🟩🟩
|
|
|
|