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
Search - "frames"
-
A super creepy webcrawler I built with a friend in Haskell. It uses social media, various reverse image searches from images and strategically picked video/gif frames, image EXIF data, user names, location data, etc to cross reference everything there is to know about someone. It builds weighted graphs in a database over time, trying to verify information through multiple pathways — although most searches are completed in seconds.
I originally built it for two reasons: Manager walks into the office for a meeting, and during the meeting I could ask him how his ski holiday with his wife and kids was, or casually mention how much I would like to learn his favorite hobby.
The other reason was porn of course.
I put further development in the freezer because it's already too creepy. I'd run it on some porn gif, and after a long search it had built a graph pointing to a residence in rural Russia with pictures of a local volleyball club.
To imagine that intelligence agencies probably have much better gathering tools is so insane to think about.53 -
Linux sucks.
Now now, chill. I'm using it as my main OS for a few years now. I know what I'm talking and this title is a bit click-baity, but this just has to go out there:
1. It's usable as a Windows replacement just fine - FALSE. XFCE4 is years old and buggy as hell especially on multi-monitor set-up, Gnome3 gets stuck more often than my Windows 98 machine used to, KDE is like a rich kid on meth. Plug in Bluetooth headphones? Well no, sorry, you have to research that online, since you'll probably need to install some packages for it to work. Did I say "work"? Well no, because after more research you realize that Debian on Gnome3 on gdm3 launches pulseaudio on its own, so you have 2 instances of pulseaudio, and one of them is stealing your headphones sometimes and you either have no sound or shitty sound. How do I know that you ask? The same way I know everything else - every time you try to do something new on any Linux, it involves a ton of research. Exciting research, don't get me wrong, but at this point it looks more like a toy than a reliable desktop computer operating system.
2. And why am I using pulseaudio? Why not alsa? years ago people were discussing on forums that pulseaudio is old and dead, yet here we are with new LTS release of Ubuntu still shining with Pulseaudio. How about several different service management systems being deprecated by new ones, each having different configurations and calling methods? Apparently systemd is old and lame now. It's a mix of 10 year old software that works badly, with a 5 year old replacement that works worse, somehow trying to live under the same roof. Does it work? Ask my headphones who sound like a fucking dial-up modem.
3. Let's talk about displays, shall we? xorg is old and deprecated, right? We got Wayland that's mostly stable. Don't know what that is? That's just basic knowledge for Linux. And when you try to install network-manager, it also tries to install Mir toolkits. Because why the fuck not install 3 display managers when you want a network manager, of which one is old and dying, one is young and stupid, and another is an infant that died of cancer?
4. Want to integrate with Google Drive? Yeah, there's a tool that mounts the drive as a local directory. Yeah only for Ubuntu. Want it on Debian? You need to compile it. Oh wait, it's on Ocaml, because fuck mainstream languages, we're hipsters. How do you compile Ocaml? Well you need to have Ocaml on your system, dummy. How do you do that? Well you need to compile Ocaml. Ok, how do I do that? Well, git clone, download and install some dependencies, configure, make... oh sorry, you're using libssl1.0.2g when you need libssl1.0.1f, nope, sorry, won't work. Want to install libssl1.0.1f? Why? You already have the "g", stupid! Want to remove libssl1.0.2g? Bye-bye literally everything that you have on your PC. But at least you got the "f". Does it work now? Well no, because you need libssl1.0.2g for another dependency to work.
And all I ever wanted was to get a fucking document from google drive (not nudes, I promise).
5. Want to watch a movie? Let me tear that screen in half and make the bottom half late by a couple of frames, because who needs vertical sync, right? Oh you do? Well install the native drivers maybe. Oh you have? Welcome to eternal Boot to Recovery mode, motherfucka!
---------------------------------
Yeah, most of the times things work just fine. But the reason I know what those things are and how they work is not curiosity. The reason that I know the inner workings of Linux much better than the inner workings of Windows, is because in those few years that I've been using it full time, it has caused me 10 times more headache than I have ever experienced with other systems. And it's not the usual annoyances like "OMG it rebooted when I didn't ask it to", but more like "Oh, it won't work and I need 2 days to find out why" kind of stuff, because even if you experience the same thing again, it's always caused by some new shit and the old solution won't work any more.
I still love it, and will continue to use it. I don't know why really. Maybe because I'm not afraid of fucking it up any more? Maybe because I can do what I want in it and recovering will be easier than on Windows?
It's a toy for me, after all these years. And I also use it for professional reasons.
But whenever someone presents it as a better alternative to Windows, I just want to puke.51 -
Our Web Technology professor taught us this in the year 2016, he said and I quote,
"HTML frames are the latest technologies in the www and are supported by new generation browsers only, for example Netscape navigator."14 -
This facts are killing me
"During his own Google interview, Jeff Dean was asked the implications if P=NP were true. He said, "P = 0 or N = 1." Then, before the interviewer had even finished laughing, Jeff examined Google’s public certificate and wrote the private key on the whiteboard."
"Compilers don't warn Jeff Dean. Jeff Dean warns compilers."
"gcc -O4 emails your code to Jeff Dean for a rewrite."
"When Jeff Dean sends an ethernet frame there are no collisions because the competing frames retreat back up into the buffer memory on their source nic."
"When Jeff Dean has an ergonomic evaluation, it is for the protection of his keyboard."
"When Jeff Dean designs software, he first codes the binary and then writes the source as documentation."
"When Jeff has trouble sleeping, he Mapreduces sheep."
"When Jeff Dean listens to mp3s, he just cats them to /dev/dsp and does the decoding in his head."
"Google search went down for a few hours in 2002, and Jeff Dean started handling queries by hand. Search Quality doubled."
"One day Jeff Dean grabbed his Etch-a-Sketch instead of his laptop on his way out the door. On his way back home to get his real laptop, he programmed the Etch-a-Sketch to play Tetris."
"Jeff Dean once shifted a bit so hard, it ended up on another computer. "6 -
So I'm working on a computer vision project that grabs video from my webcam and detects faces in each frame. Earlier yesterday morning I was capping out at 30 frames per second, which is what I believe to be the max for my webcam. As the day became night and I was wrapping up my work on a portion of the project, I noticed that my newly compiled version was only getting around 8 frames per second. Confused, I looked into my frame grabbing + face detection code.
"Maybe I can only detect faces in a certain region of the image, based on where the face was in the previous image?" No, still 8fps. Hmm.
"How about I lower the resolution of the image, that would definitely help!" I tried that, but no speed boost came either. What??
I start to dig deeper. Maybe I'm not linking my libraries correctly, and it's using an older library I compiled. So I recompile that. Nothing.
"Am I low on resources?" I close out of all my other apps. Nothing.
Okay, wtf. Now I just comment out the face detection code entirely, and only grab webcam frames.
8fps. ?????
Suddenly, I get an idea. I get out of my desk, walk over to the doorway of my room, and flip the light on. I sit back down, and run my code.
30fps.
The stupid webcam switches to "night mode" when it detects low light, which restricts its ability to output frames at high speed and caps at 8fps. Damn, I felt like a fool 😂5 -
I stare through the blueish black backgrounds and blurry colorful syntax into a somewhat familiar office within a mirrored world. That damned reflective glass layer covering these meaningless pixels is certainly not on my side.
The rushing sound of transactions flowing through cables is silenced today. Some blood cloth in the invoicing system is zeroing out everything after the currency mark.
While sighing I spin a one-and-a-half pirouette on my desk chair — even when desperate, you shouldn't give up on style — I take three steps away from my screen and try to harmonize my thoughts.
So much noise, everywhere... Noise from within?
I have been stuck at the apogee of an inhale for a while now. Locked into some masochistic constriction, self-punishment for the blindness which stings my ego.
Just fucking take a deep breath you asshole...
I freeze in place, and fall backwards.
Patterns on the creamy drywall rapidly vibrate and synchronize on vivid rhythms of respiration and resonating basslines. Deep indigo rainbows ripple through tiny veins, in-between chalky grains, raining as fine magenta dust through the ceiling frames.
My bare feet slide over soft oscillating concrete, fine flows of unsievable sand surrounded by toes, toes surrounded by streaming variables veiled in obscure vile abstractions.
A jadegreen field of vectored compressions resiliently rumbles and bounces through the clearances and corners of the vibrant concrete office cave, whispering in tongues. I try to voice my woes in little blips and bleeps but I seem to be missing an asymmetric key to their shrouded sequenced speech.
Suddenly, a wild turbulence breaks up all signals.
Joanna floats by in her tipsy effervescent cloud of disordered black hair and alcohol perfume, one hand grasping grapes, her other waving at me.
With every finger she moves a thousand tensors propagating paradoxically flawed but perfect pieces of an intricate surreal picture, sketching whole constellations of possible paths throughout the leafs of the giant Ficus next to her desk.
She stops dead in her tracks, and asks somewhat hypocritically: "Are you high?"
I can not discern the meaning of her words, and respond stoically.
"Joanna! Check out those branches!".
"Pun intended?", she giggles.
I'm focused on her grapeless hand, her fingers stretching to reach the lush little tree.
On touch, the plant shivers, grappled in the tight net of the puppet master. She pulls her strings, applying measured weights, all nodes normalize, and Joanna speaks in an oddly soft tone:
"Isn't it beautiful, how so many models emulate nature"
Her cheek buried in foliage she babbles on about unbalanced search trees and machine learning models... but from the tips of her fingers tables and indexes flow into the plant. Users, payments, tariffs, invoices and taxes crawl over the bark, joining at thicker branches, joining at the stem....
Joining. JOINING. A JOIN.
"IF THERE'S NO FUCKING TAX MULTIPLIER IN THIS LEFT JOIN, EVERYTHING COALESCES TO ZERO" I shout at a perplexed Joanna who squeezes grape juice over her desk. I hop on the beat to my keyboard. She looks puzzled, hugs her Ficus tightly, and reaches for the whiskey bottle behind her monitor.
Attracted by my exclamation, Tom from finance swings open the door, while I push my branch.
I look at Joanna still half hiding between the leaves, and I laugh at her: "Branches! Oh, lame, I finally got it!"
Tom's heavy voice interrupts me: "Does this mean... does this mean that the invoicing bug is resolved?".
I smile at Tom with his tailored suit and waxed hair. "The money is flowing once more. All debts are being settled."
He releases his breath in relief, which he seems to have held since that morning as well.
Joanna adds: "Although I think he is forever indebted to my Ficus".
I nod.14 -
It was the time of the 90s when one created HTML with frames. During an HTML exam we had 1 hour to create a website with 3 frames. Top, left, main. Some aligned random images and some formatted text. Kind of boring, I know. So I finished early and handed in my diskette with my homepage. To make it easy for him I added my name and class to the title.
When we got our grades I was in for a surprise since I had expected a good grade. I asked him why I didn't get a good grade. He kind of shouted at me that my task was perfectly done but I shouldn't have written my name in the title but name and address of this school. It is not a really dramatic thing but I always hated when teachers quietly assumed stuff and didn't tell us. And then handed out bad graded for totally unrelated stuff.3 -
Proprietary video format. Native iOS app. Ok.
Using swift to decode and render. Ok.
Kills battery and is actually too slow on older devices. Ok..
Diving into armv7 neon assembly, it puts the "ok" in "pleasure".. Ok.....
Getting it to work. Fast frames. Yes. Ok!
Battery still stressed..ok.
Just need to get rid of the brown tint.. ok.
The tint became a brand mark. iPhone gone. Ok! Hours later, received email.
Vendor upgraded to serve h264 over http.
"Kill yourself with fire, ok?"2 -
Hey android devs!
How can I keep receiving bluetooth serial data?
I did what is said in android developers but the app stops receiving data after 12600 frames without any error or exception thrown.
The data is sent with sample rate 2000.
Thanks in advanced1 -
The thing with meetings is that most don't know what a (formal) meeting is.
A meeting has a specific time frame, a defined agenda with specific topics and a moderator or an agreement on a common netiquette.
That's a meeting.
A meeting is not a place to put your willy on the desk and proof to everyone that your cock is thx to operation a long schlong who won't get hard, nor that you don't know how to shave, even less to measure the size of your genitals.
It's neither the time to eat and slurp like a fucking hobgoblin, nor to drink like an alcoholic who hasn't had a drop of alcohol in the last hour.
Parents, I don't care what your satanic offspring achieved today, nor how cute they are, even less what booboo they have.
Crybabies, keep your whining for after meeting time, maybe even stop crying and just have a nice talk outside of allocated time frames to discuss whom hurt whom the most and who has the most sand in his clit.
Get to the fucking point.
If I wanted to read a trilogy to understand what you contribute, I'd have written it on the agenda.
If it's not on the agenda, cram it in your butt cheeks for the next time you need to shit.
If you can't converse with people at all, the meeting is allocated at least 24 hours before it happens.
Prepare yourself for goddamn sake.
You could even read out a predefined text if you want, noone cares.11 -
Hi android devs! 📱📱📱
I wanted to visualize a sound file using graphview.
But since the samplerate is high, it takes a long time .
To save the phone from freezing I tried using thread witch draws 2000 frames each 500 ms but it still takes a while to fully draw the graph .(lowering thread's repeat time also causes the system to freez)
What is the technical way of doing this?7 -
R is the worst language.
* Indices start at 1, so you have to fix all your calculations by either +1 oder -1. It sucks
* Vectors and Lists are both neither vectors nor lists
* Data frames dont have a proper api. Simple operations like add or remove are a pain.
* The naming „conventions“ suck. Why on earth would add dots in your identifiers? You never know if its an object, a value, a function.
* The namespace is cluttered. If you import two libraries that deal with the same problem domain, it is likely that they define functions with clashing names that will overwrite each other defined on import.5 -
Friends of mine have a new flat.
It's a nice flat. Cheap. Noone wanted it. 100 square meters.
Reason noone wanted it...
Previous owners were bastards from hell.
Really. Every motherfucking room needed to be completely renovated by the owner.
Door frames were made of wood, nice and old - at least the part that was left of them. Splinters, scratch marks, partially broken out of the wall.
2 windows needed to be fully replaced. Rest of the windows needed to be bleached, PET abrasive cleaning solution and the frames needed repair with resin as they drilled into the frames. Then treatment with sealant of course.
Yes. There was no other solution. After bleaching you recognized the windows were white. Before... Let's not talk about it.
The previous owners even managed to destroy the bathtub.
The kitchen tiles... Fat cleaner. Bleaching. Abrasion. Polishing.
Soooo.
Day of moving.
The apartment is in the 6th floor / level.
Cran / lift was ordered.
16 people wanted to come.
7 people came.
2 including myself couldn't lift heavy stuff nor walk the stairs due to health issues.
Crane broke after first try.
Today. I want to murder the previous owners. After torture and crucification.
I'm feeling levels of pain I couldn't Imagine before.
Only hate and beer let's me keep my shit together.
I REALLY didn't think after renovating and cleaning the flat for my friends in the last several weeks that it could get worse.
Boy. I was wrong.
Thanks for letting me vent here. I really feel devastated currently -.-
And I need to help them tomorrow, too.
Bikini Atoll, tchernobyl and every other atom bomb desaster Zone combined looks better than the chaos in their flat.
Everyone who could lift shoved everything inside.
I solo carried everything that wasn't too large in the room and then, as every room looked like desaster, completely managed the kitchen (cleaning, unpacking, trash, placing everything where it belongs and so on) :( :(4 -
This fucking teacher was my "Web Design" teacher in high school.
Okay, yes, I acknowledge that this is an entry level course, but does that honestly mean that we need to teach the same source taught to students in the 90s? You know, the one where all layouts are table/iframe-based?
I understand that I completely disregarded your set criteria for grading by using CSS to create my website rather than tables and I frames, however I believe that it's fairly logical to conclude that anyone using CSS has a sufficient comprehension of HTML to be able to pass your stupid assignments. So why must time be wasted with coding poorly designed sites? -
About every project at my last job. Impossible to like any project with a boss that legitimately thinks frames and tables are a better option than learning css.
But why not, attribute styling on html-elements are the future indeed.7 -
What were some of your "OH MY GOD I'M AN AWESOME CODE WIZARD!" moments?
For example, I can remember two or three:
One was when I, with only cursory knowledge of C, never having worked with it but having been exposed to it (and having lots of experience with C# therefore familiar with the c-family syntax), took 5 minute look at a source code and pointed out a bug that the student working on it was trying to solve for the past 2 hours. Sadly, I don't remember what the bug was anymore.
Second one was on reddit, someone posted to gamedev group a 2minute video from his voxel+ai framework he was working on, I watched it, and without any idea what it's written in, or how, I was like "you seem to be dropping frames in a pretty regular manner unrelated to anything I see happening on the screen. You're creating too much garbage on frame-by-frame basis (probably while your AI is exploring what to do), look into object pooling, it'll help".
And the guy responded in a few hours like "by gosh, you're right! thank you! and what do you think about the source code?" (he linked git repo below the video.
And I was like OMG I'M A MAGE, I DIDN'T EVEN CLICK THE REPO LINK, ONLY NOW AFTERWARDS, AND yeah, it's c++ so sadly nothing for me, but OMG I JUST WROTE THE FIRST THING THAT CAME TO MY MIND, DIDN'T EXPECT IT TO BE CORRECT, I'M AWESOME.
=D and the feeling stayed with me for about two days.
(If it's not clear yet, it's perfectly okay, in fact, required, to brag about yourself in answering this question ;) )18 -
Okay, mine is actually mildly interesting.
I was, at the time, obsessed with operating systems. The only thing I knew how to do (and I only knew how to do it poorly!) was make websites. And thus, Frames(TM) was born.
It was really labored for what it was. The whole thing worked off iframes to create different "Windows" which you could drag around the screen in a typical window-based environment. It had a start menu (Without search - I wasn't that good yet), task bar, background image, the whole 9 yards.
Some highlights from that project:
- Not hosted anywhere. Everything was file:/// protocol
- Originally, everything was statically created, and I learned about document.createElement during this project
- To communicate between the "Operating system" and the different frames, I used localStorage, which was continuously exec'ing anything it could find. Smart smart boi.
- Of course, the only thing available was web storage. The "Hard drive" was about 5MB, and if you cleared browsing data, goodbye everything!
Hours and hours happily dumped into that project, but I am definitely happy it is gone forever. -
Just found out when you right click on YouTube video you can find stats like dropped frames and etc..4
-
Client complains about his website. Wants it to be more accessible and responsive. Website is older than 10 years and build with frames...7
-
Winforms.
Thanks to my school I was introduced to this shit and by George is it some of the most unintuitive crap I've ever used.
The drag and drop shit should be fine, but oh if ever you doubleclick on something it will add a [name]_click method, and if you think you can just remove it fuck you!
Then there's the fact that splitting stuff up is unintuitive as hell as well. That is, you can't. You can define areas you can show and hide, and then you can drag stuff into them. That should be fine but everything is still in the same page (and if you have stuff overlapping then you better not move it with your mouse because then it will belong to another of those things). Contrast that with the more ~~~complicated~~~ and ~~~not what we learn~~~ WPF which has frames where the content can be define in different files.
Oh but if thatt wasn't enough, the autogenerated code is horrible as hell.
I died a little inside when I learned someone decided to take it to the web as well D:
https://i.imgur.com/NL5ggIc.png6 -
So I'm making a music game, and I've been struggling to fend off this large sound latency issue. There is like a ~80ms of latency, which is a total deal-breaker for music games.
So I've been polling everything using a profiler, but nothing came up... Until just now, I realized:
IS IT MY F*<KING KEYBOARD THAT IS LAGGING?
I pulled my iPhone out, opened the Notes app, and recorded the screen as I smacked the keyboard.
Whaddaya know, exactly after 5 frames (in 60fps) of the sound of me punching the keyboard, the letter shows up.
Now I need to take *this* lag into account :facepalm:3 -
So recently I had an argument with gamers on memory required in a graphics card. The guy suggested 8GB model of.. idk I forgot the model of GPU already, some Nvidia crap.
I argued on that, well why does memory size matter so much? I know that it takes bandwidth to generate and store a frame, and I know how much size and bandwidth that is. It's a fairly simple calculation - you take your horizontal and vertical resolution (e.g. 2560x1080 which I'll go with for the rest of the rant) times the amount of subpixels (so red, green and blue) times the amount of bit depth (i.e. the amount of values you can set the subpixel/color brightness to, usually 8 bits i.e. 0-255).
The calculation would thus look like this.
2560*1080*3*8 = the resulting size in bits. You can omit the last 8 to get the size in bytes, but only for an 8-bit display.
The resulting number you get is exactly 8100 KiB or roughly 8MB to store a frame. There is no more to storing a frame than that. Your GPU renders the frame (might need some memory for that but not 1000x the amount of the frame itself, that's ridiculous), stores it into a memory area known as a framebuffer, for the display to eventually actually take it to put it on the screen.
Assuming that the refresh rate for the display is 60Hz, and that you didn't overbuild your graphics card to display a bazillion lost frames for that, you need to display 60 frames a second at 8MB each. Now that is significant. You need 8x60MB/s for that, which is 480MB/s. For higher framerate (that's hopefully coupled with a display capable of driving that) you need higher bandwidth, and for higher resolution and/or higher bit depth, you'd need more memory to fit your frame. But it's not a lot, certainly not 8GB of video memory.
Question time for gamers: suppose you run your fancy game from an iGPU in a laptop or whatever, with 8GB of memory in that system you're resorting to running off the filthy iGPU from. Are you actually using all that shared general-purpose RAM for frames and "there's more to it" juicy game data? Where does the rest of the operating system's memory fit in such a case? Ahhh.. yeah it doesn't. The iGPU magically doesn't use all that 8GB memory you've just told me that the dGPU totally needs.
I compared it to displaying regular frames, yes. After all that's what a game mostly is, a lot of potentially rapidly changing frames. I took the entire bandwidth and size of any unique frame into account, whereas the display of regular system tasks *could* potentially get away with less, since most of the frame is unchanging most of the time. I did not make that assumption. And rapidly changing frames is also why the bitrate on e.g. screen recordings matters so much. Lower bitrate means that you will be compromising quality in rapidly changing scenes. I've been bit by that before. For those cases it's better to have a huge source file recorded at a bitrate that allows for all these rapidly changing frames, then reduce the final size in post-processing.
I've even proven that driving a 2560x1080 display doesn't take oodles of memory because I actually set the timings for such a display in order for a Raspberry Pi to be able to drive it at that resolution. Conveniently the memory split for the overall system and the GPU respectively is also tunable, and the total shared memory is a relatively meager 1GB. I used to set it at 256MB because just like the aforementioned gamers, I thought that a display would require that much memory. After running into issues that were driver-related (seems like the VideoCore driver in Raspbian buster is kinda fuckulated atm, while it works fine in stretch) I ended up tweaking that a bit, to see what ended up working. 64MB memory to drive a 2560x1080 display? You got it! Because a single frame is only 8MB in size, and 64MB of video memory can easily fit that and a few spares just in case.
I must've sucked all that data out of my ass though, I've only seen people build GPU's out of discrete components and went down to the realms of manually setting display timings.
Interesting build log / documentary style video on building a GPU on your own: https://youtube.com/watch/...
Have fun!20 -
300 global variables.. THREE HUNDRED FUCKING GLOBAL VARIABLES?
Are you for real?
Now let me check the line numbers again..
hmm.. line 97 to .. yep line 410, just a few new lines to seperate some of them or.. group? Idk, I've given up on trying to understand those.
Now you may ask "But ThatPerlDeb, where did you see this and what was the intention?"
Low and behold, take a chair and I may explain this to you.
First of all: Fuck the dev that wrote this!
Second: Fuck all the devs that kept up with this practice or whatever you want to fucking call this!
Now, the application is our POS system that our customers can use for a monthly fee (That this piece of garbage even requires payment is disgusting) but anyway..
The global variables sometimes are declared for labels, sometimes for some frames, sometimes just for random values to be there.
We're using Perl for the POS system and Perl ain't the best at OOP, so in the dev's defense I can understand why you'd use a few global variables, but not fucking 300!! FUCK OFF WITH THIS BULLSHIT!!
So now I'm going through this torture slowly but surely deleting globals and putting them into some sort of scope and always MANUALLY test if something broke. Again, this company sucks ass and there's nothing that could even be considered a "unit test" or something like that, so fuck that, too.
After two hours I've brought down the count of global variables to about 260, so there's progress being made..
But then, there comes more!
"But how???" you may ask, and you're right, I've asked that myself.
Now to resolve the global stuff in each file some of the initial globals are used, we got about 20-30 files which do different stuff, all fair and square, at least there was an attempt at seperating functions but god this mess is so fucking fucked up. So in order to "safely" delete a global variable I have to check if any of the variables are used in another file, and if so, in which scope and how they are used.
Spaghetti would be a compliment for this fucking disgusting piece of utter bullshit.
Let alone the code quality of this "code"
Indendation? Dafuq is dat?
Scope? Nah, we got everything global anyway
Function size? Well, some are 5 lines, some are 900 lines, who cares anyways, right?
I'm so fucking glad once I leave this shithole, for real.6 -
A question here reminded me of how websites were made long ago. Frames! Remember those little jewels? <frameset> and <iframe>, I still remember them. Man, even then it felt terribly wrong to use them. I remember using them to create web pages with header and side bar.
The only alternative was using <tables>, which, well, we know how they ended up. Frames today have been silently forgotten, but tables have been loudly hated for many years!
Ahhh, those were the times. So much has happened since then.
(Is "website" still a word today, btw?)7 -
The "click" moment always feels fucking amazing. TI made some retarded ASM routines (as usual) for drawing various things to the screen, most of the time whatever you try to draw takes upwards of 3 frames at 15MHz to draw. A LINE KNOWN TO BE 100% STRAIGHT SHOULD NOT TAKE 1/3 OF A FRAME TO PLOT EACH PIXEL OF. I managed to get it down to 300-some cycles per pixel on the 2 i've messed with, which still isn't great, but it's a massive increase in efficiency, so fuck it, i'm happy. The "click" was when I managed to get a serious optimization working that took over 3 hours to debug.2
-
Ugh time for my first google chrome rant... thing...
Ughhhhhhhhhhhhhhhhhhh, finished an arch linux install, fixed my slow internet connection in linux, installed only the things I need, vs code and google chrome but fuck me!
Google chromes performance is sinking like a rock, dropping about 25-40% of frames in youtube, slow page loading and the sort.
Installed firefox to ensure it wasn't my system and its all running perfect, I don't like using firefox and want to go back to the warmth of chrome, anyone able to help on this one :-(8 -
FOR FUCK'S SAKE
My verdict on display ports? From 1 to 10 10 being horrible as fuck I'd say it's about the same amount of times my fucking monitor went black and I almost had a siezure.
This may have nothing to do with programming but honestly, it fucking sucks. I've read so much online about how DP is better but no. I've never had a problem with HDMI, but HERE COMES ALONG THE MAGICAL DP. I was playing a FPS game and my left monitor went black over and over and I almost had a siezure. So I umplug the DP cable and my game fucking switches to my right monitor which is portrait mode, AND IT WASN'T EVEN SIDEWAYS GAMING... IT WAS PORTRAIT ON ONE FUCKING MONITOR... PORTRAIT.
I HAD TO PLAY THE REST OF THE GAME LIKE THAT. IN PORTRAIT MODE. THE DOOR FRAMES IN THE GAME WERE SO SKINNY IT LOOKED LIKE PAPER COULDN'T FIT THROUGH IT.10 -
I remember the first time my Frontpage built website (in a time people used frames and had never heard of css) got 3000 visitors in a month. That was awesome.1
-
wasn't a fight, really, just me having gotten frustrated after half an hour of trying to explain to a 2D animator what smear frames are, since we were making a flying hummingbird, found out that multiframe animations for the wingflaps looked like crap for its flapping speed, so i was like "oh, i know, let's just make the whole wing flap a 3frame anim, one frame wings down, one smear frame, one frame wings up, done"
cue the UNIVERSITY EDUCATED ANIMATOR looking at me with confusion, asking what are smear frames.
cue half an hour of repeated attempts at explanation, each attempt imagining him to be a younger and younger child, last 3 attempts i was actually sketching it out for him in photoshop and playing it to him (via photoshop's timeline for making animated gifs) so that he could see how it looks, which still didn't help him get it.
it turned very unpleasant towards the end, due to me getting very dumbfounded and irritated and interlacing the last couple of explanation attempts with remarks on my fascinated disbelief that a university educated and graduated animator not only had no idea what smear frames are, but isn't even getting it after having it explained multiple times as if he was an elementary school child.
at that point my boss stepped in, told me to go have a smoke, and when i came back, he managed to explain it to the animator by some of the interpersonal magic he (the boss) had.
that dude (the boss) was amazing.
p. s. the hummingbird turned out looking amazing, thanks to the smear frames.9 -
Some people must be forbidden by law from drawing wire frames!!!
I received wire frames, with white background and everything else is #C2C2C2 -_-2 -
> Needed mspaint to change a few colors.
> On Linux, search for alternative
> Pinta is recommended alternative, ok.
> Install Pinta.
> Pinta slow as fuck -- scrolling at high zoom at maybe .3 frames/sec.5 -
I've been working on this personal project, it has a, for lack of a better word, "interesting" work flow. I'm trying to make a program similar to Netflix, here's the way it works.
I have an html page with a video, and a black background, I use the webview plugin for fusion, which acts as a mini web browser, it's programmed to load the test.html file, which the test.html file than loads the video, then I build a gui connected to it in different frames. It's odd, yes, but it does the job done. -
Showing off this PC cluster rendering these gigantic 3D frames, a customer shakes his head: "Why is this so slow?" I asked why he thought it was slow and he said, "I have an old Windows laptop but if I double click on an image on the desktop, it opens immediately!"
-
Possibly my favourite function is Clojure's "recur", which isn't really a function at all, but a special form that gives you a guaranteed tail-position call to the current function.
Basically what that means is you can write recursive functions (functions that call themselves) and know that you're not creating a potential stack overflow.
Um. Okay, I can feel people looking at me like 🤔 Basically what *that* means is: normally when a function calls another function, a "stack frame" is allocated, holding all the local variables for that call. If a function calls itself 1000 times, 1000 stack frames get allocated. "Tail call optimisation" is a process by which if you call yourself as the very last thing in a function, the language doesn't need to remember the current frame; it just has to pass the return value upwards. The trouble is, it's sometimes hard to notice that you've turned a tail-call optimisable function into a non-optimisable one. Clojure's recur keyword makes it explicit, and therefore safe: if you try to do anything with the return value of recur, it's an error.
PS I'm sure another language did explicit TCR first, but Clojure is where I first saw it.6 -
My first software boss who didn't like sharing the source code...
OR using built in classes
and insisted on using frames because "they prevent caching" 😂2 -
Time for a 00:30 rant that has no structure!
(There is a theme tho)
TI-BASIC optimization (framecount is from TI-84 Silver, with the higher Z80 clock):
"0→S": 3 frames
"DelVar S": 2 frames
```
0
Ans →S
```
1 frame???
(Variable "Ans" holds the last answer given to the normal calc functions. This makes it blazing fast to use [for some reason])
also refreshing the real TI-8x line's LCD at its actual, normal rate is bad and *SOMEHOW* ends in LCD overvolting (makes parts of the LCD blue instead of dark gray) after ~15 frames. The TI-8x line's normal OS thing refreshes the LCD at 30-45FPS depending on their clock speed, the LCD is native 80FPS. Just figured i should point this out. (Yes, TI, you do make hardware, it's just that sometimes you should make it when SANE)
why the fuck did they make a multitasking machine that runs on a Z80 at, like, 7/8 the original Gameboy's speed (the B/W DMG, the original. The CGB had DoubleSpeed mode.)1 -
A command-line animation command.
Input frames and an expression
It will be able to reorder frames, play video/frames/music in the background, smooth transitions, diff and patch frames and render into a video
It will be written in Go. No idea what to call it.
What do you think?8 -
Programming an app for a friend = inevitable feature creep, unrealistic expectations and insane time frames. How do you guys deal with developing for non devs? It's like talking to a brick wall 😔7
-
How resource calculations for software services like code analysis, monitoring, etc are done:
Opening fridge, putting all the beer one can find in it.
Opening the necessary tools, e.g Excel, Accounting software, ....
Drinking the first beer.
Starting to aggregate the monthly costs - cause you can never trust the reports written by someone else...
First beer poof.
Looking at the monthly cost, adding columns "Intended use", "Actual usage pattern", "Usage factor"...
Opening next beer...
Usage factor is btw a factor of 0.1 ... 1.0 - to give an estimate how much the products feature are actually used, for further analysis if the invest is justified or not...
Oh. Another half bottle gone...
Filling in the columns...
Oh. Bottle empty and the next one toooooooooooooooo...
*burping*
*cracking finger joints*
Now let's get to the sad part...
Next worksheet, adding infrastructure costs...
Cost and description as columns.
Hehe. Column sounds like gollum.
Another beer...
Ugh. Need the paper reports, manually typing off things for stuff that was e.g. tax deductible.
Many beers die during this task. Poor little beers, dying for such an boring and mundane task...
SUM is a real useful function. I don't think I can add numbers anymore.
Now we can add another sheet.
Hehe. Sheet sounds like shit. And yes, everything in this file is shit.
Summing up costs from both sheets and including the cost factor from 1
... Beeeeeeeer Beeeeer beer we need more beer here... Beer beer beer...
Where was I. Oh yeah. Cost factorization total vs effective.
Why do I want to get even more drunk.
Oh yeah. Most software is completely underused and the costs aren't justified.
Let's add some colored highlighting ...
Uuuuh. ,Too much red. Better change the highlights.
Too much red.
More beer.
Don't give a fuck.
Hm.
Time for some whiskey.
What else is there to do....
Oh yeah.
Diagrams.
The bloody wankers from accounting need diagrams as numbers are too boring.
Not that everything in accounting is boring, no matter how much you paint colors on it... *sigh*
Hm. More whiskey...
Hehe. Whiskey rhymes with frisky.
Uff. Now just need to write mail. Mail mail mail....
"Copy paste the last mail from last month"
Hm.
Ah.
*sipping whiskey*
Spell check extension - to the rescue.
Thesaurus *burps*.
Let's change a few words here and there... Maybe another paragraph there.
Uh....
Trying to attach file...
*fucking mouse is pretty constantly crashing into empty beer bottles*
Done.
Damn.
Need to press send button.
*Creating mess on the desk by just randomly crashing the beer bottles*
Done.
*Pressing computers power button*
Mwahahahaha. No mouse needed.
*regretting to stand up too quickly, nearly barfing on the floor*
Couch ... Where Couch...
After hitting several doors, frames and other stuff, the glorious mission ended successfully with a most graciously executed gut buster on the couch.
(Regretting next morning to have emptied two 6 packs and a few glasses of whiskey) -
for me, the most interesting project I''ve worked on was 4 years ago for a beer company.
it was a facebook app developed in HTML (not html5), jQuery & jQuery hi, php, imagick, ffmpeg, & YouTube library.
for the Euro Cup, users had elements to drag and drop on a stage, add frames, dialog boxes, and create a 15 second animated story board. all positions of these elements along with the frames where sent server side to create images of each frame (rendering fronts and positioning), then combining them using ffmpeg to generate a video.
these videos were later uploaded on the client's YouTube channel.
this project was awesome, knowing css3 and html5 were prohibited to use due to cross browser compatibility. it was ban exercise on all levels :) -
Keep going into application level timeouts and insufficient number of xml messages frames transmitted through tcp sockets.
Found that a "custom" C-written xml parser needs 10 seconds to find the core data within 2500 chars of that xml.
I knew that C is blazing fast but that's until it's used by some dick head.2 -
Gah. So i replaced my Laptops HDD with an SSD. So far, so cool, but in the process i fucked up the keyboard. Its one of those that kinda click into place. Frames broken in one or two spots and there's a chunk missing at the top. I mean, it still works fine, but it looks ugly where the chunk is missing and the left side feels a bit too soft. And a new keyboard with German Layout would cost almost 70€ (English layout only 30€ WTF!) LENOVO, Y U DO DIS!6
-
Hello all, I know we can search in git lab for the labels(easy, first commit etc) to find open source projects that suit me, but as a rookie it gets a bit frustrating not understanding the project and so on. Does anyone know a better way to contribute to open source and learning at the same time?2
-
Just finished a little proof of concept of a reprojected multisample antialiasing technique and daaaaamn it's looking good. First time ever a rendering technique I invented isn't complete shit so that's an improvement
It still has some (pretty big) issues with both spatial and temporal ghosting but I have some ideas in the pipeline
I wish I could show you guys comparison images but as it turns out most anti aliasing techniques look pretty good on still frames but only the good ones stand up under motion and I don't know of a good way right now to capture pixel perfect clips like that5 -
Just started playing Rust again after like 9 years and holy shit is this game not noob friendly at all
I play(ed) on a relatively chill server where raiding is only enabled in the last week before wipe every month and it's not too many people playing
So I'm out on adventure, I come back and my entire base is raided... Uhm okay, I did sort of have an uneasy feeling that I left the door open when I left so okay, my dumb mistake. Lesson learned: Always make sure doors are definitely closed
So I farmed hours more to get all my stuff back, repaired a vehicle, built a nice little garage, upgraded all my windows to reinforced windows so that nobody can interact with the car or my horse inside the house, just in case that allows you mount and get in the house that way, no clue
This day I log back in. Base completely cleaned the fuck out again
Actually what the fuck man. I did *everything* right, made sure every door is locked and closed, replaced all accessible windows with reinforced ones, had 27 days of upkeep materials and still, my entire progress of 10 hours of playing is gone again
What did I do wrong? After talking with people in chat apparently I had wooden frames for the doors, which apparently are just always destroyable by anyone... Even on a damn server where raiding is disabled. Yea sure makes sense
I like Rust but holy shit, this core game mechanic of raiding is still one I cannot get over. It's so stupid to be cleaned out over night while you're not even online. It's just fucking frustrating to start all over AGAIN farming and farming and farming. I didn't really want to play because the game always looked like a meta gaming sweat fest and this just proves that it's exactly that. You have to know every single meta game mechanic to even have your damn base survive overnight
On a positive note I did figure out that unity's concurrent garbage collection doesn't seem to be a big problem for a proper fps game though, so that's something4 -
all QBASIC tutorials:
"your scrollers need something to scroll from, so always hold a screen mirror in an array, draw to that and blit it to the screen"
but like
i can scroll anything on screen in Mode 13 with PEEK/POKE. In like... 7 lines? Probably 5 if I fuck with it some?
it's even fast enough to only take 3 frames to scroll one pixel on a 2GHz vCPU!6 -
Html and CSS and Noob
hey guys
trying to do something, search my ass off and can't find it.
So, I have a e page to access tables (another html file)
you can check It at rjpf.ddns.net .
I have a menu, with links to a iFrame, but that is not a good solution for cellphones.
I want to click the button and insert the html inside the main Div , instead of using frames.
how can I do that ?
so>
click the link(CSS button),
opens another page in the div
when I click another button opens another html file in the same DIV
tht way instead of a frame that is had to scroll It would be a single page, easy to paged own in cellphones.
Have another question but this oné must be taken care of first.
Thanks in adance11 -
Can you give me some tips on how to debug a massive app? (Android app running on android studio which is basically intellij idea).
For example I need to fix a bug where a certain action results in unexpected behaviour.
But oh my god the codebase is so large (mainly architecture is MVVM and rxjava) that searching for the specific place is like searching for a needle in haystack.
For example I added a breakpoint in few places, but I can see only like 4 or 5 last frames in the stack that led to the current action, last frame is a lambda which doesnt help me so frankly Im unable to even track where current event started. I am loosing my mind. I cant even find where the buttonclick action started because everything is reactive and done with observables which can be anywhere.
Any tips on debugging will be appreciated7 -
My experience was very recent. I was working on my game engine, Pillar3D, and realized that the setup allowed it to be automatically multithreaded with little to no concern about deadlock or race conditions. All based on the assumption that individual levels don't talk to each other, and that moving entities between levels could be done between frames. I can even track about how much work each thread has to do and use that to distribute levels among the threads. Now I can do things like force UI trees to exist in their own level and get fantastic multithreading.
-
Hey guys I've a problem I've been trying to solve for a while. Also I'm a college student so my knowledge isn't going to be the greatest so go easy on me if it's simple to solve😂. So I'm creating a real time licence plate detector using yolo lite, my own deep learning ocr and plan to add the model to fast api. So as an input to the rest api, the user will submit a IP camera link for openCV to get individual frames for preprocessing before yolo predictions. The problem I have is how to I handle multiple real time IP camera feeds at once?. Ive been researching multi threading but read that it can cause issues with async definitions in fast api. Any advice will be greatly appreciated and if more information is needed just shout!.
-
Recent VM/Emulation Adventures:
The goal was to get TCP/IP and SSH running on whatever weird VM/emulated machine, and connect to the chatroom at chat.tcp.direct successfully.
Longhorn, somewhere late pre-reset: Crashes right after installer begins "Starting Windows", 0x7b from sum-match ISO. Fail.
TempleOS (well, Shrine, but y'know): Dear god. No. No, I am not writing SSH in HolyC myself *fuck that,* fail.
Slackware: oh ffs i gotta use fdisk to partition this damn thing? and it's not even the good fdisk? Oh, wait... it hangs. Fail.
WinME: shockingly, was *fairly* stable... until it hung up WASAPI and the hypervisor two frames into desktop rendering. Fail.
Mac OS 7: First-boot after install, immediate unknown trap. Just works, eh? Fail.
Amiga: After about 85 resets and 7 hours of constant fighting with WinUAE, I finally got TCP/IP working. (Required 10MB of total RAM and an FPU to connect.) Success!
Win98FE: just... PuTTY and done. Easy. (This was the warmup.) Success...
Other people's achievements so far:
- Minecraft using the new QEMU interface mod thing.
- Hacked smart fridge.
- iPhone, from custom initramfs.6 -
If the same data is being fit over and over again to a neural net shouldn't it start spitting out the result it was trained to very quickly if over svereal frames its training for 100 epochs each ?8
-
Anyone here do animation?
So I'm developing this command-line animation program. It'll obviously only be for quick stuff
I'm thinking of accepting frames and an expression to order, overlay and diff/patch frames.
What kinds of things should I implement? I have done basically no animation ever.
Previous post: https://devrant.com/rants/2312640/...
PS join the chat! https://gitter.im/animator-project/...
https://github.com/skuzzymiglet/...2 -
see now this is the f-ing shit that pisses me off.
There is this project named dain.
One time I made a project that dropped frames using opencv or ffmpeg i can't remember, creating a test output file and ran them through dain to benchmark it for myself.
alot of things just like this actually I tended to do to get a better sense. Its the reason I abandoned the NN since I think I have a feel for how to design them for certain tasks and remember that with my 'successes' i was still really far off from where i'd like to be.
additionally there are other kinds of ml that interest me more that I am not seeing too much on... point is
I worked all this crap out
got wavenet working to check on it YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARS ago and because the dirty fucks out west kept stealing my stuff, i end up back at square one waiting for some douchebag to steal my stuff again who isn't even going to do anything but pretend he's straight or pretend everything has some faggot meaning. its very annoying. why do these people live this way again ?3 -
Just some figma improvements from the perspective of a new customer:
* Copy/paste is broken. If I want to make a change, I have to create a whole new
component. They recommend cmd+c/v for copypaste but as far as I can see it does nothing
* Needs to be an explicit component drawer button instead of hiding it under assets. Through me for a loop for a couple minutes.
* Empty textboxes shouldn't vanish because you happened to click in the wrong location
while setting your properties.
* Text should start big enough to actually see.
* "send to back/front", "hide item", "change transparency' all need to be prototype actions and more, give us access to object properties both by parent/sibling/child, and by
object id
* create a new frame based on a specified size is non-obvious and if you're creating
a lot of frames, what with copypaste being non-intuitive, it can become laborious.
This is especially so when you're copying frames in order to make minor changes and observe the differences side by side, instead of potentially destructive edits.
* I see no obvious way to manage transitions/animations between frames.
* The difference between frames and groups isn't sufficiently explained. The words
frame, groups, and layers all appear to new users to be used interchangeably, even
if they are distinct things.2 -
My first real coding project was a parser for planetarion.
Years before i made an html website with frames to show off me and my brothers skating pics. But i don't count that. -
Now here is an excellent question.
How do I programmatic ally manipulate frame and audio data in a video, potentially going so far as to create and insert whole new video frames and fill in audio.30 -
Does anyone knows what the hell is "coala" that's used for liting and fixing code? Cause I am pushing something and they said I need to fix my code using "coala" but I can't seem to figure it out what it is, how to install... I even tried to install in atom as plugin but that shit gives errors.7
-
I remember using opencv already
and i remember tori and i discussing that the video frames are in what i later read as mat format.
and i remember thinking ..'sigh, whats the use'.
i wish i could have enjoyed the last number of years not pumped the strength out of my body just trying to survive and retain some semblance of intelligence meanwhile.
its a waste of time.
all of this, a complete waste of time and always has been.
and there is noone trustworthy to tell me what to do. noone who means anything but harm to everything and everyone.10 -
So I was building opencv some time back.
Nice enough package, like most python linked packages I'm finding though I know you can use it via c and its meant to be but why would you want to ? .. it contains a whole bunch of half finished crap that is actually useful in part including the capacity to tear apart video files and manipulate frames one at a time and then rewrite them back to a file. about the only lib that's easy to use that I saw that does that. hell I can even compose my own video frames. also the only other lib I saw that does that thus far.
so...
I post a bug, because of FUCKING CMAKE NOT WORKING. not conforming with the well thought out build environment that most GNU style c packages use.
you know like when you need an upstream source package to build the code, or a downgraded package to build the code and don't want to fuck up your host environment so you have to specify a bunch of lib paths and the like so that ld and gcc work correctly etc etc etc from your custom build location and so you can later use these same values to find the compiled lib and build software against it.
fucker closes my ticket saying i hijacked the c environment................
no.
its because cmake sucks.
they're using and i don't know why a module specifically written to find libtiff.
specifically written but doesn't find the only source on my system that provides tiff which my env variables point directly to !!!!
lazy fucking cocksuckers !
I want to code a solution this issue.
something that translates ac files and am files and cmakelists into something intelligent and easy to follow that doesn't sacrifice the flexibility of make and gnu shit and unfucks cmake based projects !7 -
The timelines at my workplace are too short that it's impossible to actually build anything or observe procedures like testing, software techniques for maintaining oop code, telemetry and other things I may have learnt along the way
So application templates are the order of the day. They pull solutions off the shelf, edit the interface, hand over to clients at an alarming rate (sometimes, within a matter of days!). So yesterday, the cto asked for ways I can recommend that the team is made more efficient. He takes what I say very seriously, owing to Suphle's appendix chapter as well as the issues its blueprint set out to solve
Like I said, those do not apply here. I mean, the developers I've met are making do and winging it. I'm the one struggling to adapt to rummaging through templates and customise shit
Maybe I'm over thinking it cuz there's no sense in fixing something that's not broken. So far, only flaw I've observed (because the product designer has complained to me bitterly that the devs hardly ever translates his prototypes verbatim), is the need for a dedicated mobile developer (not that multifunctional, confused portfolio called "fullstack). But I didn't raise this since the time frames hardly even afford time for writing apis or writing mobile code. You'd be surprised to realise that everything a client can possibly ask for is already somewhere, built at a higher standard than you can replicate
My question now is, what other positive novelty can I bring aboard? How can this process be further optimised? If it can't, what suggestions outside regular software development or this work flow can I bring to the table?
Personally, I'm considering asking him to tell me bottlenecks if he has identified any. But it's very likely that he would already have begun working towards it if he knew them. I suspect he needs someone outside the system to see what is lacking or a new addition that could even be a distant, outlandish branch of the tech market, but drive the company towards more profit1 -
XFCE keeps crashing in the weirdest way when I boot, 50% of the time it works, the other 50% the startup applications launch like normal but the window frames and the bars are gone and none of the positioning shortcuts work. It's like an issue specifically with xfwm but I have no idea how the wm in particular could be fucked. I already know that the compositor can fail without taking the wm with it.