Combo air fryer pressure cooker. Last year when I bought a new washer and dryer. Don't even get me started talking about my battery-powered string trimmer. Have yet to find a vacuum cleaner that sparks joy.
occasionally subtle

JVL
art blog(derogatory)
KIROKAZE

Kiana Khansmith

Kaledo Art
Peter Solarz
almost home
Keni

No title available
styofa doing anything
Alisa U Zemlji Chuda

★
i don't do bad sauce passes
Claire Keane
DEAR READER
NASA

titsay
Show & Tell
Today's Document

seen from Türkiye

seen from United States

seen from Portugal
seen from Türkiye

seen from Singapore

seen from Singapore

seen from Czechia

seen from United States

seen from Switzerland
seen from United States

seen from Netherlands
seen from Poland

seen from United States
seen from United States
seen from United States
seen from Mexico
seen from Mexico
seen from United States
seen from Mexico

seen from United States
@jhavard
Combo air fryer pressure cooker. Last year when I bought a new washer and dryer. Don't even get me started talking about my battery-powered string trimmer. Have yet to find a vacuum cleaner that sparks joy.
he knows what he did
translator's note: in america, "seek shelter immediately" means "go outside and stand on the porch"
This post is ancient and stupid but I still laugh whenever I see it
can someone please be proud of me like fuck I’m trying
reblog to let prev know you’re proud of them
I re-fingied my fingie-less drawing glove
But only 👆🖕☝️THREE
remember to bury the dead with a phone, everyone. these days the ferry terminal at the river styx wants you to download a fucking app
Sometimes the Hardest Problems Need Only the Simplest Fixes
I have been working on improving video output for my PikaPC homebrew computer. When last I left off, I was able to initialize the video chip to output 320x200 video, but it was only outputting 4 colors instead of 256. I really wanted to get it into the proper 256 color mode.
I never did figure it out.
Throughout this project, I've been referencing an annotated disassembly of the Trio64 VBIOS to try to figure out how to use these chips. I've also spent some time in ghidra working through the ViRGE VBIOS. I am currently working with the Trio64V+ which is different from both of those, but they are all close enough to get a good feel for what is going on. The VBIOS initialization sequence is a little hard to follow because it jumps around quite a bit, and requires some detailed knowledge of the PC platform which I lack. But I was eventually able to find and work through the video mode selection function, stepping through the data tables it used for configuring the myriad registers.
The result? 640x480, 16-bit color, with full linear addressing enabled. Far better than I had hoped for. The results were beautiful! But unfortunately it really called attention to a problem I had been ignoring.
I had initially noticed the problem when trying to write low values (dark colors) to video memory. Higher values tended to work without issue, but darker values would end up written to the wrong location or skipped entirely. There was a pattern to the glitches vaguely resembling incrementing binary values, presumably influenced by the write address.
It didn't make much sense to me. Why would the data value affect the address that the data ended up written to? And why would writing 0, in particular, result in a higher address being affected?
And then the problem got much worse … after I removed my logic analyzer probes.
Where previously only very low value writes would glitch, now any value was potentially affected. The binary pattern was much more pronounced. And over time as I tried to debug the problem, it continued to get worse. Eventually nearly every write would fail.
Ok, this is clearly a timing issue. I've had timing issues before; I know how to handle this. I'll just reduce the clock speed from 25MHz to 20MHz. No change. Perhaps 16MHz? or even 12? I think that made it worse. Well … what if I throw a 32MHz oscillator at it, what might that do? Surely overclocking the system will only …
… Largely fix the issue.
What? How‽ That is the craziest thing I've seen. When fighting timing issues, the answer is never go faster. But faster really did improve the issue. It did not resolve it completely, but it was much better.
I decided I needed to pull out the big logic analyzer and compare what was happening on my shared Address/Data bus with what was getting latched by the video card's address registers. This required soldering 21 tiny 30-gauge wires to the leads of the TSSOP package register chips. It was very fiddly work that took far longer than it should have, but I got there in the end.
With all the analyzer leads attached, I was finally ready to sit down and figure out what was causing this problem.
There was just one small new problem — there was no problem. With all the test leads attached, it worked flawlessly.
[techknight] pointed out that the probes would change overall capacitance of the bus, which tied into a previous conversation we'd had regarding series termination resistors for high speed signals.
Series termination resistors are small-value (20Ω to 30Ω range, typically) resistors placed near the driver on a bus to help with signal reflections. Adding discrete resistors to my hand-wired prototype would be a challenge. I don't have a lot of board space left over and it would require a significant amount of rewiring.
There was an alternative option though — 74'2244 buffers. Anyone in this hobby deep enough to know a few 7400-series part numbers off-hand might recognize the 74'244 octal bus buffer, but '2244? The difference is integrated series termination resistors. As I understand, series termination resistors work best if they are as close as possible to the output driver, and it's hard to get closer than on-die. Plus, it would mean no wiring changes.
So I ordered a few 74ABT2244 buffers and swapped them in for the 74AHCT244 buffers I had been using. And it works beautifully.
That was such a wild ride. Countless hours debugging for a fix that ended up being so simple. But I'm glad to finally have it working. I plan on exhibiting this project at VCF Southwest 2026 coming up at the end of May. It might not be doing anything interactive, but at least it will be able to make some pretty pictures.
Millions of years ago, the cat was invented. And since then, things have been great. Well, for the most part. There's some unfortunate stuff that happened to us humans in between, but the cats probably didn't even notice most of it.
When you want a pet that is loyal, loving, and attentive to your needs, then you get a dog. Any chump can do that, and many chumps do. That's why Hollywood movies are full of the world's dumbest protagonists hanging out with a dog, who saves the movie by being lovable and charming. Like Cujo.
Sometimes a dog is not enough. Sometimes... it's time to turn the difficulty level up a notch. Your average cat is like when you used to play Asteroids at the crooked roller rink, where everything was super fast compared to the pizza parlour one. Maybe that reference is dating me a bit. A roller rink is a place where people used to make gyrations in the dark to repetitive loud music. A "cat" is something entirely different.
Primarily, cats are great because they don't want to go anywhere. This makes them the perfect companion animal for those of you with bad cars. While a Golden Retriever will give you sad eyes if you don't use your rugged 4x4 to go to a place where there's weird smells, the average American Curl is fine with making a clicking sound at a malevolent-looking bird in the yard. You can then provide valuable enrichment by going outside, grabbing the bird, and throwing it back into your kitchen. No need to play "when was the last time I ran this thing enough to get the starter battery charged?" It was six months ago, bud. The dome light isn't even coming on.
There's more benefits to cat ownership, too. The average size of a cat is smaller, so you can fit more broken car parts in your house. They love jumping in boxes, so you can justify that big RockAuto order as being for both of you. And, above all, they help keep mice out of your wiring harness. Or at least they should. Mine figured out about a million years ago that he doesn't have to do anything and I'll keep feeding him.
Entelechy II. Sea Island, GA
Architect: John C. Portman, 1986
Someone said, "I want to feel like I live in a shopping mall."
Without the power of imagination, any dreary visit to a doctor's office is just that. With the power of imagination, however, things can change very quickly for the better. You can also get arrested for stealing the doctor's tongue depressors and trying to build a log cabin out of them in the waiting room.
For centuries, human beings have been growing up. As part of growing up, we're expected to put aside make-believe and its pretend friends, and concentrate on what's real. Luckily for us, we exist in a period of time where nobody can agree what's real (unless it makes a bunch of money for some dude with a punchable face) and so nobody can stop you anymore.
Who's to say that my best friend, Inspector Imaginary, is not telling me to solve a murder mystery on this crowded commuter train? Only societal pressure, and the risk that someone will be able to Google up some scary brain words and repeat them to a doctor, get in your way. Don't forget your wacky Sherlock hat. You need it to help reinforce the illusion, to protect your fragile state of mind from your judgmental foes (every other jerk on the train.)
So try it out today. What's the worst that could happen? There's basically no difference in cost between being forcefully remanded to a mental hospital and going on vacation, and the hospital is probably less stressful overall. Let your mind be free!
Good Enough to Move On (For Now)
I've been working on bringing up the video card for PikaPC, my PowerPC homebrew computer. This is a custom card I designed to support the S3 ViRGE or Trio64V+. I'm using the latter for now because ViRGE was known to have some bugs in its VLB support. Last week I was finally able to work out a wiring error that was preventing me from accessing the chip and get it to output a valid video signal. That's about all I could get it to do though — no matter what I wrote to video memory, the output remained black.
I stayed at that point all week. I tried different initialization sequences, video modes, timing. I dug through example code, existing drivers, disassembled S3 VBIOS. I read and reread the descriptions for each of the hundreds of registers. Nothing helped. The best I found was I could set the color of the screen by writing to RAMDAC color 0, so I figured I had to be missing something that was blanking the screen.
Eventually I did find an output enable setting in the first VGA Attribute register. It gets disabled during initialization and should be re-enabled at the end. It seemed like just the thing I was missing! It had no effect.
Later, I was doing some experimentation with getting a text mode set up instead of graphics, hoping I might have better luck with it, when I found the enable bit in the Attribute register. I didn't have all of the register settings programmed out for the text mode so I had pasted the graphics initialization routine into the Forth prompt and run that, and then I ran my partial text mode initialization routine. The screen changed color and this time had a border.
After some more reading, I ran the graphics initialization routine again so I could run some more tests and suddenly the monitor switched to displaying random garbage on screen. Finally I had the chip displaying its (uninitialized) frame buffer!
There was just one problem — I had no idea how I had done it.
I tried to retrace my steps and figure out what I had done, but I still kept ending up at that same old blank screen again. At some point, I ended up inadvertently running the graphics initialization routine a second time without resetting the chip. The display again switched from black to a solid color with a border. So I ran it a third time. The display switched to the random contents of video memory.
Something is wrong with my timing or order of operations. I have no idea what it is, and so far have had no luck finding it. But if I run the initialization routine three times in a row it works and I can draw video. It shouldn't be necessary, but at least it works reliably. Good enough to move on.
Now that I could finally draw on screen, I set about modifying my Forth Mandelbrot renderer to output to video instead of to the terminal.
It took around six minutes to render this 320x200 frame at 256 iterations. Not bad, especially given the limitations in ppcforth that required some rather inefficient code. I would like to get a C dev environment set up to see if I can get that time down. I know PowerPC can do better, even at only 24MHz.
This is the bare minimum I wanted to have working in time to exhibit the project at VCF Southwest in May. I have some time to keep building from here. I am very excited. It has taken a lot of work and a lot of frustration to get the project to this point. It's great to see it starting to come together.
New cosmology dropped, we know what's underneath the turtle now!
it’s actually very easy to live a life free of social media if you don’t consider tumblr a form of social media. which i don’t. #freedom #technologicallyfree #offline #amish
Humanity was put on this earth for one reason: to eat fried food. There's no fighting it: every one of our brain-thinkin' parts really loves chowing down on every kind of oil-obliterated crispy snack we can find. Sure, it's bad for our health and the planet, and it makes our kitchens all greasy and occasionally on fire. Like we ever let "it's a bad idea" stop us before.
Another terrible idea for our health is all the robots we're making friends with. Us humans are way too willing to create a little buddy out of almost anything, even if it is likely to kill us. Dogs were once trying to tear our throats out, but we wore them down. Space aliens? We'd probably try to crush some brews. If you don't believe me, then here's a science experiment: go outside, draw a smiley face on a rock with a Sharpie, and then tell me you don't think it's cute. Hell, you're probably talking to it. You have lost all objectivity for this rock.
Robots are the same way. We build ourselves something that looks like a human, or like a cute fluffy thing, or put googly eyes on an industrial arm. Then we act surprised when something goes wrong, and people get hurt. "Oh, it's only Bob," we say, about five seconds before a persistent bug in "Bob's" floating point routines suddenly decide that the fastest way to get from 179.9° to 180° of rotation is the long way around, at Mach Five, and turns your intern into aerosolized meat. That's why safety is important, and rule one of safety is not letting the robots worm their way into your heart.
What I'm trying to say is that, just for the sake of humanity, you have to dismantle a cute robot today. Find a Furby, and rip that alien son of a bitch limb from limb. What's inside them? What's the contents of their stomach? I bet it's human fingers. We got here too late.
to the person in the NASA press conference who asked if the toilet issue aboard Orion was "a number one priority or a number two priority": I love you