Details
-
AboutProfessional Programmer
-
SkillsC++, Python I program other languages on occasion. Well versed in process control and realtime systems. Experience with electronics/electrical design. I am interested in game programming and design. Making things move is fun.
-
LocationEarth (most of the time)
-
Github
Joined devRant on 7/29/2019
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Fucking exercise equipment vendors... I have contact at least 3 vendors to ask technical questions about their products and I NEVER get a reply. Do you not want to sell anything you gigantic ass fucks?!
It looks like these vendors are finally standardizing on a bluetooth communication protocol called FTMS. Apps and desktop software are using this protocol to allow all sorts of devices to just work with their software. So I asked a vendor today that connects to 2 competing software systems. Do you support FTMS protocol? Radio silence. Maybe they are in a different time zone on the other side of the planet. But what is the excuse of the other 2 companies?
BTW, FTMS is really cool. You can turn a tread mill on and off with it. I so want this connected to Skyrim.3 -
This is your yearly dystopian reminder that Wordpress enjoys a 43.5% website market share. I think it was lower last year at around 41%. So it grew I guess.
https://demandsage.com/wordpress-st...
And they say web dev isn't a real programmer job...
Full disclosure: I think php is fine.6 -
Working on creating an asyncio UDP server/client. Going to have it talk to another server/client. Why? Because I don't want there to be a round trip to my data. I want send and forget.
So I created a combo server/client in C++. I am testing out the client and I find that it connects and sends data with zero errors as a client even if there is no endpoint (server) active. Okay, well its connection-less so it kinda makes sense. So I am not even sure what connection means at this point. I figured it was sending data into the ether. Fine, I don't have to worry about dropped endpoints or some shit. The server does see messages once it creates itself (tested with Python server). Not old messages, just the ones currently being sent.
So I do the same thing in Python and use asyncio to create server/client with opposite ports to talk to my C++ server/client. However, if C++ server doesn't exist the Python client throws an error. Okay, wtf... So Python UDP client is gonna be extra steps because why? Because fuck you! That's why! lol
UDP Client Comparison:
C++: I don't give a shit, if you don't get the data then fuck off. I won't error no matter what.
Python: Oh shit, there is no server, so I won't even run. Because fuck you and wanting to send messages to the ether.
Now I need to do the same thing in C# and see what kind of "fuck you's" it will have.
What did I learn? I learned Python has a nice asyncio system similar to asio from boost.11 -
Been staring at boost::asio to see if I need to thread the code. I am writing a plugin for skse. I am finding that Papyrus has its own threading now. It also has a programmable OnUpdate function that I can schedule every millisecond if I want. So I can have it process the asio context periodically. I think I can get away with non-threaded now. Just use async calls and service the event loop for this. My original plugin for OBSE used threading because there was just not support for it in the scripting at the time. With skse and papyrus I can actually thread things if I want. This really simplifies my plugin quite a bit. The throughput won't be high. I just want to service the networking portion at least every 10th of a second.5
-
I am using a bunch of vcpkg based cmake projects in visual studio. I realized I don't understand how any of this works from the ground up. So I found this article:
https://learn.microsoft.com/en-us/...
This was an interesting trip getting this to work on a newer version of an auto generated cmake project in vs. It took a bit to understand how to make the vcpkg preset work with the existing generated presets for debug/release x86/x64. Then I had the additional pain of figuring out how to include only the things I actually want from boost. I kept seeing conflicting methods because cmake versions keep changing how it is done.
I am glad to say after much swearing I finally figured out the modern way of using cmake with vcpkg and vs. It is very satisfying when everything downloads, configures, and compiles. I think vcpkg will be not that bad to work with. Still don't understand manifests yet.
Right now my libraries are not version selected. I should probably do that before it decides to install the next latest version of boost or something. -
Want to give Google a giant "fuck you" to their AI results?
https://arstechnica.com/gadgets/...
I now have a custom google search that Firefox defaults to. It looks like I don't get AI results on first try. YMMV11 -
So I am navigating the hellscape called vcpkg. It is a hellscape to me because I don't understand fuck all about how its supposed to work. It has things like manifests and keys which point to repo commits and other weird shit.
I am trying to learn how to get it to install boost.asio today. It keeps installing this old as fuck version 1.80 instead of latest 1.86. I try specifying the version in the vckpg.json file of my project. Then it starts throwing hands and saying it doesn't have port shit for other boost libraries. I try to provide versions for those and it throws more hands. I search and search to no avail. So I give up and let it install 1.80 and all its dependencies. Then its starting fucking erroring out compiling boost.coroutines. So I search on that. Nothing of substance. Just flabbergasted at this point. Does boost work at all with msvc?
I am looking through the errors and is says run "vcpkg update". This fails because I am in manifest mode. Why didn't it give me the command for manifest mode, is it stupid? Then I find the command for manifest mode: "vcpkg x-update-baseline". This updates it commit number is some random file I don't know about. Still don't know what the fuck that does. Then I run the config again on my vcpkg.json. This starts installing boost-asio 1.86. Okay, that is what I wanted in the first place.
So I let it run and do its thing. It installs everything and compiles everything. Its all ready to go. At this point I am like what the fuck is this shit. I don't really want to learn any of this shit. Yet there is someone somewhere that probably can't get enough of this. At work I will probably eventually need to learn this, along with cmake, and all its quirks. It just makes me tired to learn this just to get to a point to write one line of code. I am sure vcpkg will save me time and energy at some point. But 2-3 hours of guessing is annoying at best.
The last time I used boost on windows I just downloaded the source and built it. It was simple and then I just had to provide paths. vcpkg is nice in this respect. Especially when I upgrade the library.
I don't know what the point of this rant is. Getting tired of fighting tooling I guess. Already learning black magic trying to setup my build environment for making skse plugins. Docs are almost non-existent. I did find a discord with some cool people though. Respect to the trailblazers of this art.9 -
So I decided I needed to tell you all a funny Christmas story.
I got a bunch of shirts for Christmas (not surprising). A couple of them were t-shirts and one was a red plaid shirt that buttons up. So to show my appreciation to my wife for the gifts I decided to wear a t-shirt and the plaid shirt (left unbuttoned so you can see funny t-shirt). I put them on and went to talk to my wife in her office at home:
me: Do you know what I would do if I had a wife like you?
her: I dunno, what?
me: Two Christmas shirts at the same time.
If you don't know the reference here is a link:
https://youtube.com/watch/...6 -
Merry Christmas, everyone!
I would send you all Hawk Tuah coin, but I just spent my bonus shopping for ungrateful people. Okay, they aren't ungrateful, just unappreciative.
Anyway, gonna try and avoid devrant for probably a week.
And for you other assholes: Happy Festivus!2 -
My boss uses chatgpt to code all the time. I watched his workflow and he will use chatgpt not for code, but to act like a search engine. He seems to be effective using it like this.
I struggle to include chatgpt in my workflow at all. I am using it to help learn C# to clarify things I cannot find in search. It doesn't always help.
So I have mixed feelings about using it in my work flow.4 -
Just learned that the existing US administration is going to restrict AI to a just a handful of allowed companies. They are talking about limiting AI like they did physics during WW2.
If you don't hate your government then you don't know the evil shit they are doing.
Not sure what will happen come January.13 -
I am experiencing deju vu:
https://reddit.com/r/csharp/...
dude: Why doesn't C# do this dynamic "like" thing?
community: How dare you like something from another language?! Don't you know C# is strongly type?! Dynamic is a curse on your children! <gets out torches and pitchforks>
random dude: Why don't you use <this method> to do this?
dude: Thanks "random dude", this does what I was looking for with a bit different syntax than I was expecting.
lol
Programmers are awesome!9 -
What I learned about C# this weekend:
1. I am shit at C#
2. There is a nice selection of libraries both from Microsoft and third party.
3. I like a lot of the design decisions to not make foot guns. Like you can't use an int as a bool. You must be explicit so you don't have hidden type conversions.
4. WPF isn't terrible, but it took me a bit to figure out how to make sure the front end can see changes by triggering events when a property changes. I knew this was a thing, but it took forever to figure out how. The new terminology for things is tripping me up.
5. I am shit at C#.
So what do I get out of 1.5 days of banging my head against the wall? An https server that simulates a hardware device and exchanges json messages back and forth. It does what my python code is doing now.
I found a nice library for https:
https://github.com/chronoxor/...
I learned quite a bit reading the code from this library.8 -
It is 2024 and C# doesn't seem to have a simple way to parse json data into dynamic objects. It wants some husk classes to read into. I will have to find a good third party library for this. I was thinking C# would have this, but no. I see there is something from asp stuff, but I have no clue what I have to import to get that.8
-
So I am doing some learning of C#. I wrote an https server in Python for a specific task. Now I want to convert it to C#. However, I do want it run as a server, but want some limited controls on it as a window. So I am looking at C# solutions for desktop applications. It seems to be a cluster of unsupported and bug ridden. I don't know if I should do: WinForms, WPA, or Maui.
I don't want to spend a lot of time learning a new gui system. I want stupid easy shit controls. I don't want to html anything.
So I guess I want something for C# that is stupid easy gui builder that barely runs. After reading reviews I just don't know what fits this bill yet.
At least my python server is running...18 -
Weekly Friday Fuck You All!
Have a great weekend! Fuck you...
Enjoy extra sleep if you can. Fuck you...
If you have a "fuck you" moment to share, please do. Fuck you...
It can be a "fuck you" or a "fuck me" or "wtf you" or any kind of "fuck" moment.
Also, one last thing: FUCK YOU!!!3 -
"Microsoft Visual Studios 2022 Community Edition"
or
"Microsoft Visual Studios 2022 Communist Edition"
Get to work on porting C++ code to C#. It will be a fun change of pace.25 -
Took week off work. Didn't do shit on my projects. Just played Skyrim and became and ultra wealthy merchant than raises people from the dead. Found a mod that let me manage up to 512 corpses so they won't despawn. Placed a bunch of dead people in Dragons Reach to traumatize Balgruf's children. I put a fucking dead mammoth and giants in there! lol. Now I want to make some plugins for Skyrim written in C++. Been wanting a generic networking plugin. Guess I should have done that last week. I keep thinking of things I want to do in Skyrim I cannot do. Helps me make my list of features for my own games.
I avoided devrant all last week. I lurked a couple of times, but didn't really participate. Hung out with family and killed stuff in game.
Last night I air fried some leftover turkey using onion dip, fried onions, and a little bit of flour. Turned out really well.
I feel pretty good after just doing mindless shit for a week and hanging with family. Got another week coming up in December. Need to work on side projects though. I actually want to program stuff now. Was getting so I didn't want to look at code before.
What do I see when I get back? @retoor is a new user and has an alt that is a bot too. Did anybody die? Did anyone come back to life? What the fuck is wrong with you people? (retoorical question I know).7 -
Used to think I was a hot shit programmer. Self taught (mostly) and could make all sorts of shit happen. Then I started reading other people's codebases. I got a huge dose of humility. Learned a lot from other codebases in the process. Eventually after a lot of languages and lot of practice I got a programming only job. Started reading through the codebase. Holy shit there are way worse programmers than me. There is some really good code in there too, but 20 year old wtf code too. I assume my perspective comes from seeing what good code can be. I still have a lot to learn though. That is the fun part. You can spend a week on a minute detail of one language or one concept.
So here are a few fun questions:
1. What is the worst code, codebase, or programmer you ever met?
2. What it the best code, codebase, or programmer you ever met?
I have seen a few codebases on github that just told me to walk away. Some of the best code I have found has been in game engines. Probably because I look at a lot of game engine code (sampling bias).
The coolest library I have used has been Construct (Python lib). It is a reversible protocol library. It can deconstruct or construct a data stream.
Leaving the off by 1 or more error in my post.31 -
I don't know if AI makes people dumber. But it lends me to believe that people who swear by it might be dumber.
Time will tell how useful the code generators are.
I should go play with chatgpt today...8 -
I installed VSCode in Linux. I keep finding thing about Linux that make me think its kinda shit. Maybe its just Gnome, but I don't know.
So I startup VSCode. Blank screen. I do a search and find its gpu shit. I start it up with argument to disable gpu accel. Then I go into settings and turn of gpu accel. It now works. Cool that it has these options.
What made me install VSCode. I installed VSCode because I wanted a decent json editor. I search for Linux json editors and I am bombarded by online editors being pushed by Linux websites. Who the fuck in their right mind is going to use a fucking website editor for json data?
I "had" a decent json editor by running notepad++ under wine. But since I turned on GPU in Linux Wine shit just doesn't work correctly anymore. Which is the whole reason I went looking for an editor.
How can a platform like Linux take itself seriously when turning on GPU accelerated drivers breaks every fucking thing in the OS?
Why did I enable GPU accel drivers in Linux? Because updating to 22.04 caused all my java apps to draw incorrectly. Enabling GPU fixes this shit. So I enable GPU to fix one thing and then it breaks a bunch of other shit.
This shit right here is why I have trust issues with Linux.6 -
Why do we post here? Is this just an outlet for our intrusive thoughts? A therapy session for things we can't articulate in meetings? Being able to say controversial things we are not allowed to say other places?
It feels like this place exists outside of time and reality. It really is refreshing, sometimes frustrating, and sometimes really offensive. Things that exist here that would not be tolerated elsewhere:
1. alternate ideas of software, sometimes politics, theories of existence, people liking javascript
2. ostream (I love you man)
3. bullying
4. saying what you really feel
5. telling people to fuck off
What would we do without this place?
Meanwhile my intrusive thoughts:17 -
Frustrated that my build system wasn't recognizing a file change I added to my code. It kept telling me that a function didn't exist in the linked object (linker error). I checked everything and stared at this shit for about 15 minutes or more. The signature matched, the function existed, the relevant source files existed. I was starting to imagine impossible scenarios. I cleaned the project and recompiled. No errors, everything linked just fine. Fuck you? I guess...
So I decided to needed to walk around so I went into my bosses office.
me: I don't want to program anymore.
boss: What do you want to do?
me: Shovel shit.
boss: They are the same thing.
me: True...
TLDR: Tool and possibly skill issue results in frustration and humor.6