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 - "frame by frame"
-
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
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 -
You know side projects? Well I took on one. An old customer asked to come and take over his latest startups companys tech. Why not, I tought. Idea is sound. Customer base is ripe and ready to pay.
I start digging and the Hardware part is awesome. The guys doing the soldering and imbedded are geniuses. I was impressed AF.
I commit and meet up with CEO. A guy with a vision and sales orientation/contacts. Nice! This shit is gonna sell. Production lines are also set.
Website? WTF is this shit. Owner made it. Gotta give him the credit. Dude doesn't do computers and still managed to online something. He is still better at sales so we agree that he's gonna stick with those and I'll handle the tech.
I bootstrap a new one in my own simplistic style and online it. I like it. The owner likes it. He made me to stick to a tacky logo. I love CSS and bootstrap. You can make shit look good quick.
But I still don't have access to the soul of the product. DBs millions rows of data and source for the app I still behind the guy that has been doing this for over a year.
He has been working on a new version for quite some time. He granted access to the new versions source, but back end and DB is still out of reach. Now for over month has passed and it's still no new version or access to data.
Source has no documentation and made in a flavor of JS frame I'm not familiar with. Weekend later of crazy cramming I get up to speed and it's clear I can't get further without the friggin data.
The V2 is a scramble of bleeding edge of Alpha tech that isn't ready for production and is clearly just a paid training period for the dev. And clearly it isn't going so well because release is a month late. I try to contact, but no reaction. The owner is clueless.
Disheartening. A good idea is going to waste because of some "dev" dropping a ball and stonewalling the backup.
I fucking give him till the end of the next week until I make the hardware team a new api to push the data and refactor the whole thing in proper technologies and cut him off.
Please. If you are a dev and don't have the time to concentrate on the solution don't take it on and kill off the idea. You guys are the key to making things happening and working. Demand your cut but also deserve it by delivering or at least have the balls to tell you are not up for it. -
I had the dream of working as web designer in Berlin.
You know: techno partys, hedonistic lifestyle and cheap living.
I applied and flew over and got some Interviews.
Arrived at the agency situated in a beautiful broad avenue in a villa at the Olympia Stadion. I was greeted by 2 loud small dogs and nobody else was there. So i waited an half an hour.. and another one...
I notice their company code of conduct nicely framed on the wall. You know what is written on the first place?
"We value peoples time therefore we're punctual."
"We are cosequent"
So after two hours waiting they came. They were pretty stressed out and neded another 45 minutes to get ready to interview me. So they sat at the table telling me excuses. And i pointed at the frame and they suddenly got very bleak in their faces. I stood up and left after 3 hours of waiting. 😆
Sadly no Berlin for me.13 -
The inofficial devRant Toolbox for Firefox has been approved by Mozilla and is now available in the public Mozilla AddOn section:
https://addons.mozilla.org/de/...
It adds extended controls, themes (black, solarized, comic), dual frame layout and some more additional features.
A chrome version is also available:
https://chrome.google.com/webstore/...5 -
3 rants for the price of 1, isn't that a great deal!
1. HP, you braindead fucking morons!!!
So recently I disassembled this HP laptop of mine to unfuck it at the hardware level. Some issues with the hinge that I had to solve. So I had to disassemble not only the bottom of the laptop but also the display panel itself. Turns out that HP - being the certified enganeers they are - made the following fuckups, with probably many more that I didn't even notice yet.
- They used fucking glue to ensure that the bottom of the display frame stays connected to the panel. Cheap solution to what should've been "MAKE A FUCKING DECENT FRAME?!" but a royal pain in the ass to disassemble. Luckily I was careful and didn't damage the panel, but the chance of that happening was most certainly nonzero.
- They connected the ribbon cables for the keyboard in such a way that you have to reach all the way into the spacing between the keyboard and the motherboard to connect the bloody things. And some extra spacing on the ribbon cables to enable servicing with some room for actually connecting the bloody things easily.. as Carlos Mantos would say it - M-m-M, nonoNO!!!
- Oh and let's not forget an old flaw that I noticed ages ago in this turd. The CPU goes straight to 70°C during boot-up but turning on the fan.. again, M-m-M, nonoNO!!! Let's just get the bloody thing to overheat, freeze completely and force the user to power cycle the machine, right? That's gonna be a great way to make them satisfied, RIGHT?! NO MOTHERFUCKERS, AND I WILL DISCONNECT THE DATA LINES OF THIS FUCKING THING TO MAKE IT SPIN ALL THE TIME, AS IT SHOULD!!! Certified fucking braindead abominations of engineers!!!
Oh and not only that, this laptop is outperformed by a Raspberry Pi 3B in performance, thermals, price and product quality.. A FUCKING SINGLE BOARD COMPUTER!!! Isn't that a great joke. Someone here mentioned earlier that HP and Acer seem to have been competing for a long time to make the shittiest products possible, and boy they fucking do. If there's anything that makes both of those shitcompanies remarkable, that'd be it.
2. If I want to conduct a pentest, I don't want to have to relearn the bloody tool!
Recently I did a Burp Suite test to see how the devRant web app logs in, but due to my Burp Suite being the community edition, I couldn't save it. Fucking amazing, thanks PortSwigger! And I couldn't recreate the results anymore due to what I think is a change in the web app. But I'll get back to that later.
So I fired up bettercap (which works at lower network layers and can conduct ARP poisoning and DNS cache poisoning) with the intent to ARP poison my phone and get the results straight from the devRant Android app. I haven't used this tool since around 2017 due to the fact that I kinda lost interest in offensive security. When I fired it up again a few days ago in my PTbox (which is a VM somewhere else on the network) and today again in my newly recovered HP laptop, I noticed that both hosts now have an updated version of bettercap, in which the options completely changed. It's now got different command-line switches and some interactive mode. Needless to say, I have no idea how to use this bloody thing anymore and don't feel like learning it all over again for a single test. Maybe this is why users often dislike changes to the UI, and why some sysadmins refrain from updating their servers? When you have users of any kind, you should at all times honor their installations, give them time to change their individual configurations - tell them that they should! - in other words give them a grace time, and allow for backwards compatibility for as long as feasible.
3. devRant web app!!
As mentioned earlier I tried to scrape the web app's login flow with Burp Suite but every time that I try to log in with its proxy enabled, it doesn't open the login form but instead just makes a GET request to /feed/top/month?login=1 without ever allowing me to actually log in. This happens in both Chromium and Firefox, in Windows and Arch Linux. Clearly this is a change to the web app, and a very undesirable one. Especially considering that the login flow for the API isn't documented anywhere as far as I know.
So, can this update to the web app be rolled back, merged back to an older version of that login flow or can I at least know how I'm supposed to log in to this API in order to be able to start developing my own client?6 -
Dear sales team please stop promising the customer stuff that doesn't exist within the system and then promising them dates for getting said functionality without discussing it with the product team let alone the development team. Also repeating 'but I promised the customer they'd have it by august' will not make 6 months of development work fit into that time frame!5
-
I've been lurking on devrant a while now, I figure it's time to add my first rant.
Little background and setting a frame of reference for the rant: I'm currently a software engineer in the bioinformatics field. I have a computer science background whereas a vast majority of those around me, especially other devs, are people with little to no formal computer background - mostly biology in some form or another. Now, this said, a lot of the other devs are excellent developers, but some are as bad as you could imagine.
I started at a new company in April. About a month after joining a dev who worked there left, and I inherited the pipeline he maintained. Primarily 3 perl scripts (yes, perl, welcome to bioinformatics, especially when it comes to legacy code like is seen in this pipeline) that mostly copied and generated some files and reports in different places. No biggie, until I really dove in.
This dev, which I barely feel he deserves to be called, is a biology major turned computer developer. He was hired at this company and learned to program on the job. That being said, I give him a bit of a pass as I'm sure he did not have had an adequate support structure to teach him any better, but still, some of this is BS.
One final note: not all of the code, especially a lot of the stupid logic, in this pipeline was developed by this other dev. A lot of it he adopted himself. However, he did nothing about it either, so I put fault on him.
Now, let's start.
1. perl - yay bioinformatics
2. Redundant code. Like, you literally copied 200+ lines of code into a function to change 3 lines in that code for a different condition, and added if(condition) {function();} else {existing code;}?? Seriously??
3. Whitesmiths indentation style.. why? Just, why? Fuck off with that. Where did you learn that and why do you insist on using it??
4. Mixing of whitesmiths and more common K&R indentation.
5. Fucked indentation. Code either not indented and even some code indented THE WRONG WAY
6. 10+ indentation levels. This, not "terrible" normally, but imagine this with the last 3 points. Cannot follow the code at freaking all.
7. Stupid logic. Like, for example, check if a string has a comma in it. If it does, split the string on the comma and push everything to an array. If not, just push the string to the array.... You, you know you can just split the string on the comma and push it, right?? If there is no comma it will be an array containing the original string.. Why the fuck did you think you needed to add a condition for that??
8. Functions that are called to set values in global variables, arrays, and hashes.. function has like 5 lines in it and is called in 2 locations. Just keep that code in place!
9. 50+ global variables/hashes/arrays in one of the scripts with no clear way to tell how/when values are set nor what they are used for.
10. Non-descriptive names for everything
11. Next to no comments in the code. What comments there are are barely useful.
12. No documentation
There's more, but this is all I can think to identify right now. All together these issues have made this pipeline the pinnacle of all the garbage that I've had to work on.
Attaching some screenshots of just a tiny fraction of the code to show some of the crap I'm talking about.6 -
Story time!
I worked at a company that was the HQ for a sizable organization for a while, until it was eventually bought out by another company, and then yet another company who was located in the valley.
We were kinda a forgotten office not being the HQ, like most places like that are.
No customers EVER visited our building, few if any people knew we existed even, even our own company. I visited HQ in the valley on a number of occasions and was stalked by the video monitoring system for hours before I was stopped by security and the cops called because nobody believed there as an office outside the valley when I explained why my badge looked different .... (San Jose cops were very nice about it and really pissed at the security team.) But that's another story...
One day people who were never at our office decided (after many meetings without talking to anyone at the office) ... they decided the beige walls at our office didn't match the company colors.
So they took all the generic wall coverings down and painted all the walls an almost imperceptible different color.
So now we had an office with all white(ish) walls and nothing on them. Due to the configuration of the building there were these huge monolithic white walls that looked pretty dumb.
This lasted quite a while so as a joke I printed up and framed (found an old frame, as a former HQ we had lots of stuff lying around) a sign that said:
"This space intentionally left blank."
When the "mediocre hotel room quality art" and posters were scheduled to go up the folks putting the art up skipped that wall thinking the sign was official.
Even the somewhat corporate drone directors, and one VP at our office thought it was so funny, they didn't say a word about it. Word has it back at HQ they assumed it "must be fire code or something" and told the folks hanging the crappy art to skip that wall.
It lasted on that wall for a decade until we moved out of that building. On the last day, everything was moved, but that sign remained. No idea if it is still there or not...1 -
LPT: NEVER accept a freelance job without looking at the project's source first
Client: I have a project made by a company that is now abandoning it, I want you to fix some bugs
Me: Okay, can you:
1) Give me a build to test the current state of the game
2) Tell me what the bugs are
3) Show me the source
4) Tell me your budget
Client: *sends a list of 10 bugs* Here's the APK and to give you the project I'll need you to sign an NDA
Me: Sure...
*tests build*
*sees at least 20 bugs*
*still downloading source*
*bugs look quite easy to fix should be done under an hour*
Me: Okay, so, I can fix each bug for $10 and I can do 2 today
Client: Okay can you fix 8 bugs today for $40??
*sigh*
Me: No I cannot.
Client: okay then 2 today for $20 is fine, I want a refund if you can't fix them today
*sigh*
Me: Look dude, this isn't the first time I am doing this, aight? I'll fix the bugs today you can pay me after check they are done, savvy?
Client: okay
*source is downloaded*
*literal apes wrote the scripts, commented out code EVERYWHERE
Debug logs after every line printing every frame causing FPS drops, empty objects in the scene
multiple unused UI objects
everything is spaghetti*
*give up, after 2 hours of hell*
*tfw averted an order cancellation by not taking the order and telling client that they can pay me after I am done*
Attached is an image of a level object pool
It's an array with each element representing a level.
The numbers and "Final" are ids for objects in an object pool
The whole string is .Split(',') into an array (RIP MEMORY BTW) and then a loop goes through each element in the split array and instantiates the object from an object pool5 -
Who are the people who are pushing for phones, laptops and desktops to be even thinner? Do they actually exist?! Or are that mythical creatures invented by Apple engineers so they can get paid to invent new stuff?
"Yeah, we need to invent a new keyboard design as customers are complaining how fat our pro laptops are."
I don't think I've looked at a laptop built in the last decade and wondered how I'll carry it with my tiny frame.
Just give me a Mac Pro that is a solid chunk of aluminum with a removable drive and access to the RAM. It'll look fine and it's going to sit quietly on my desk. I promise not to move it without hiring at least two men with appropriate safety equipment.
I want someone to stand up at an Apple keynote and say, "We made this thicker---you're welcome."13 -
Tired of reading spaghetti code written by your team mates?
Sit right next to them and ask them to write unit tests for that code.
Smash their head on the keyboard everytime they have to think longer than 10 seconds on how to test a specific logic.
Strangle them with any wire you find nearby till they agree to break up that spaghetti code unless they already started within that 10 second time frame.
When the exercise ends, tell them this is what refactoring is and ask them to pass on the knowledge.5 -
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 -
Discovered pro tip of my life :
Never trust your code
Achievements unlocked :
Successfully running C++ GPU accelerated offscreen rendering engine with texture loading code having faulty validation bug over a year on production for more than 1.5M daily Android active users without any issues.
History : Recently I was writing a new rendering engineering that uses our GPU pipeline engine.. and our prototype android app benchmark test always fails with black rendering frame detection assertion.
Practice:
Spend more than a month to debug a GPU pipeline system based on directed acyclic graph based rendering algorithm.
New abilities added :
Able to debug OpenGL ES code on Android using print statement placed in source code using binary search.
But why?
I was aware of the issue over a month and just ignored it thinking it's a driver bug in my android device.. but when the api was used by one of Android dev, he reported the same issue. In the same day at night 2:59AM ....
Satan came to me and told me that " ok listen man, here is what I am gonna do with you today, your new code will be going production in a week, and the renderer will give you just one black frame after random time, and after today 3AM, your code will not show GL Errors if you debug or trace. Buhahahaha ahhaha haahha..... Puffff"
And he was gone..
Thanks satan for not killing me.. I will not trust stable production code anymore enevn though every line is documented and peer reviewed. -
New idea: Fuck raytracing for global illumination because you just need too many rays for it to converge
What if we do surfels (to keep the number of probes down and relevant to our scene) and we update the 4x4-ish sized hemisphere irradiance maps not by tracing a single ray per frame per surfel. I have a fast as shit compute shader rasterizer... What if I just raster each surfel each frame? Should be around the same number of pixels as the primary visibility so totally feasible....
Each frame just jitter the projection a bit and voila. Should have extremely high quality diffuse global illumination at well below 1 ms. Holy shit this might just work3 -
Boss: I wonder how the whole plan failed
Developer *thinking*: If only I could have told this to you weeks ago. Well, I knew you wouldn't listen. Your actions were clear. Your loss. Or maybe it kinda became my plan to fail the plan and it work worked. Idk, lol. Maybe next time don't categorise what I say as negative by asking me to frame it positively. I won't give any feedback then, especially critical feedback to improve -
When I discovered that our awesome eForm solution for paramedics was a web frame in an iOS app containing a crappy HTML form powered by a 2000 line JS file3
-
This is my favorite item on my desk at work. A kinetic sand frame. Gifted by my girlfriend on my birthday. This frame is always a nice detraction from the difficult stuff.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 -
Had a bad day at work :( They gave me this code for some obscure streaming job and asked me to complete it. Only after 3 days did I realize that the LLD given to me was incorrect as the data model was updated. Another 2 more days, I was able to debug the code and run it successfully— I was able to parse the tables and generate the required frame but not able to stream it back to the output topic as per the LLD. That’s where I needed help but none of my emails/messages were replied to. The main guy who is pretty technical scheduled a code review session with me— I expected that I would run the code and he would spot it something I might’ve missed and why my streaming function isn’t working. Instead, what happened was that he grilled me on each and every line of the code (which had some obscure tables queried) and then got super mad at me saying “Why are we having this code review session if your code is not complete?”. I’m like bruh, you asked for it, and yes, the main parsing logic is done and I’m just having this issue in the last part. And he’s like “Why didn’t you tell me earlier?”. Wtf?! I left at least 5 emails and a dozen messages. He’s like this has to go live on Monday, and I’m like Ok, I’ll work in the weekend. And he’s like “Don’t tell me all these things! You’re not doing me a favor by working on weekends! How am I to ask my colleagues to connect with you separately on Saturday/Sunday? You should have done the on the weekdays itself. What were you doing this whole week?”. Bruh, I was running the code multiple times and debugging it using print statements. All while you were ignoring my attempts to reach out to you. SMH 🤦♂️ I can go on and on about this whole saga.4
-
@dfox (this might not be the correct way to tag here, but we'll see once I post)
A few suggestions:
1. Being able to move between day, month etc. by swiping left or right
2. A web interface (to rant from a laptop/desktop)
3. Link "framing" (a-la WhatsApp, messenger, where links get a frame with a picture and description)
4. basic markdown (bold, quotes, etc. a-la Reddit. this might exist but I haven't run into it, and if it does maybe a preview window for the result would be helpful)
Really like the app, cheers!12 -
No no no. That's it. Less than 2 years experience supposed to be leading a team of 12 soon to be 17 most of which have more experience than me! Been given sever admin responsibilities, training and managing 2 large frame works in addition to everything else I was doing before.
With the current set of projects we were given half the amount of time to do over twice the amount of work. Management seems to expect constant over time. And I keep being nagged by management to finish x,y,z. Every thing is high piority and I keep being asked to switch between tasks every hour or so nothing gets completed when this happens every time I make them aware this happens. The worse thing is that the CEO has a way of naming and shaming people who fall behind work infront of the entire company.
I have only been surviving thanks to a few saints in the team who just get on with the work without argument but now found out a bunch of these are moving to better companies!!!
I like helping people but with everything that is going on I can't find time to and I know at times I end up coming across inpatient with them that they don't deserve. But if you are part of a team please try and solve your issue yourself before asking others every half an hour there are too many of you and I need to get things done too.
And why is it so damn hot sitting at the desk sweating.
Ok I am prob on my meriod and being over the top grumpy. I want to find a new job but so tired in the evenings that I just want to collapse on my bed and do nothing. At end of writing this and feel a little better.2 -
Have you ever felt that you are just existing mechanically like a robot?
I went through a dark phase and came out on the other side stronger. Though people helped me but technically I was all alone.
I have had countless people tell me that I inspire them.
I used to get approached by so many every week for mentorship and career advice.
One of my closest college friend said he survived extreme Schizophrenia and depression because of my support.
Hell, I have had people tell me that they are alive today because of me.
I never bragged about my achievements unless asked. People said they feel light and positive after talking to me. They felt I gave them a sense of purpose.
I used to have immense clarity in my life. My life path used to be crystal clear.
Many even said I am the happiest they met.
But with recent narcissist abuse, all my life, emotions, and positive energy drained out of me. Literally squeezed. My biggest regret.
I can no longer feel a soul within me. I cannot feel happiness. I am fucking lost.
I am just existing like a mechanical machine and I hate it. This is taking me longer to heal than the time frame I anticipated.
I feel this will take some more time for me to heal but I am 100% sure I'll fucking bounce back and bounce harder.
I'll dream again...
I'll smile again...
I'll make new friends again...
I'll love again... I'll live again... -
FUCKING CHINESE SUPOSED IP CAMERAS...
First, they aren't Ip cameras, they are p2p cameras with different settings and more limited...
then took me 3 days to open 5 ports for 2 cameras, config the cameras, till they work.
YEY they finally work, can see them over the Internet (no default settings, even changed the Alias), have my Ip camera viewer on the Phone... but one doesn't activate on moviment.. in this 3 days only took 2 pictures with motion detection on and people passing in front of them... the other was working for like 5 minutes... giving black and white 7kb jpgs... after a few teeks... can't make it work again.
Now I have two cameras that I can see if my house is being robbed but no motion detection to warm me, or at least save some pictures on the server to serve as evidence (and maby finally get the team that is robbing one house a day, If they try to rob my house again...).
The cameras are very good as baby monitors or to play around, for 14$ and 20$... (love the 360º ball) , but as security cameras... Unless you have them connected to a security station and with a repeater close by... worthless...
Oh, and they may give me 1 good frame a second or lag to 10+seconds a frame...6 -
When you pause a YouTube video, the § key will seek forward by exactly one frame. Works on Mac, on other systems the key could be different4
-
Things I wish I knew when I was younger:
- no matter how clean your teeth are, bad breath won't go away until you clean your tongue. Buy a tongue cleaner and use it after you brush your teeth
- whitening toothpastes don't work, while desensitizing ones work well.
- after you brush your teeth, spit but do NOT rinse!
- when brushing your teeth, keep the toothbrush angled 45 degrees. The bristle ends should touch the area where your gums meet your teeth.
- use sunscreen every morning.
- don't waste money on acne-treating products unless they contain salicylic acid, benzoyl peroxide, tretinoin or adapalene.
- if you want to lose weight, you have to eat MORE, not less. But, that “more” should be protein.
- showering every morning feels like “humanity restored” thing from Dark Souls. Also, clean your damn room and wash your damn windows.
- APS-C DSLR cameras make no sense. For their weight, you can get a full-frame camera, and for their price you can get an APS-C mirrorless cam that will be way lighter.
- If you want a damn thing, save up and buy that damn thing. Don't buy the alternative thing you don't want. You'll be asking “what if” till you either die or buy the original damn thing.
- people aren't replaceable, but many people can fit their designated role. Not being able to replace your ex-boyfriend with his exact copy doesn't mean no one else can be your boyfriend.
- try a MacBook & iPhone as soon as you can to check whether it's your thing or not, because if it is, oh boy are you in for a treat.
- added sugar is evil, but it's beneficial for the economy. It makes you fat, so you need a car, so you buy fuel. Also, you feel guilty because you're fat, so you buy diet products & things to compensate because you hate your reflection in the mirror. You also pay medical fees to treat your newly developed health problems, and you die a day before retirement. Everyone makes a buck on you eating added sugar but you.
- you can use the freshly removed sticker to remove the sticky residue left by that same sticker.
- static typing doesn't solve jack shit.3 -
Reasons to NOT be a dev sounds rather negative so I'd like to propose 3 things that you need to BE a dev as to frame it in a positive light:
- When a problem peaks your interest you want to solve it, you may even be obsessed by it.
- You enjoy learning, not necessarily enjoy school, just enjoy learning new things (even better if it's by your own means)
- Failure may get you down, but you learn and don't give up until you have exhausted all paths to success.
You may need other skills like math, logic and reasoning abilities, being able to handle deadlines, attention to detail, and cope with stress. I've seen people being crap at all of those and if they have the former 3 they, in time, will hone the others enough to make them a productive dev.
No need to be a 9-9-6 code monkey willing to be squeezed by Big Corp for massive profits and a low salary or a 1337 purist coder that only focuses on the crafting side of developing software. That may make you a great coder but not a well rounded developer or individual. Remember, you program machines but you are NOT one.10 -
Just boosted my Starling/Adobe AIR game engine's performance by 60%! active code time per frame @ 60fps reduced from 50% to 19%. Now I have more room for lighting effects :)
-
Working on a project to create a space Invaders clone using Android studio/java. Point is to prove teamwork and our ability to optimise for a phone.
Leader makes the engine
Passes code to me who is doing gameplay.
Creating classes, testing them with a temporary activity class to get them on screen.
Okay, time to get it going properly.
Starts creating the game by placing aliens to the screen via the new alien manager, created in the true starting place.
Nothing appears on screen, sounds still play.
Odd. Repeatedly try to fix, but objects will not appear on the screen if created outside of temporary activity.
Show problem to leader as I haven't been able to figure out.
Gets lectured to no end about how I can't just ask him for help (first fucking time) if I get stuck!!!
Turns out, the value for frame time is way off for the first frame, and their positions get going way off the screens range when being placed. Temp activity works as it skips first frame.
Why did this happen? Genius leader didn't properly initialise it, so first frame time was equal to the First Date Object time ever locked - current time 🤔🤔🤔
We figured it out together. -
Let me start by sharing a bit of history about myself.
When i finished my secondary school i did not go immediately to high school. I took a year because i needed to improve some grades to enter high school more easily.
In that year i started to learn programming languages (Java).
So when i went to high school i already had a good foundation of programming logic and could make some simple games that my friends were amazed (Like Pong and tetris).
In my first year in high school, in my hometown, a photo frame builder's shop asked me if i could make a desktop program to help him calculating prices and such.
I did it in like 4 months. This was not my biggest projet so far but was the most satisfying at the end. He paid me really good money for it and i was very proud of myself.2 -
(Part 1/2?)
Ohhh my god am I furious and this one's a gem.
Also I'm gonna namespoil all of the entities in my post. If this is against rant rules I'll reframe it.
So the story starts over an year ago. Me, being in a bad place, where I couldn't do a job due to external issues, wanted to try out an internship. Thought I could pull off a 5 hour shift and then attend to my problems.
THE INTERNSHALA ARC:
I apply to a bunch of applications on Angel, Internshala and Indeed.
I was contacted by a few handful of these places. One of them was called "ARCHITECTA SOFTWARE SOLUTIONS". These guys had arranged an online aptitude test for me which I promptly took.
I looked up this company and they seemed like a pretty okay big firm from the outset but didn't have many reviews on Glassdoor and likes of such. (first red flag). Post aptitude test, I was quite sure I fucked up and wouldn't get further contact. Surprisingly, a person from the company sends me his Whatsapp number over chat and asks me to save it. The message is worded like a bulk email (Starting with Hello everyone!!) which I thought was quite odd since the interaction from these platforms has always been a person-to-person contact for me. Since Internshala showed that only around 40 people applied for the position I was quite intrigued but attributed this to my lack of exp in internship operations.
THE WHATSAPP ARC:
I was contacted by the number on WhatsApp saying that they'd be interested in moving forward and I gave them my work experience details.
The person sends me over a development assignment to complete within a few days. The assignment consists of massive scope of details. I'm talking production level concept and implementation. Asks to me implement a custom emotion detection CV model (worded as "emotion camera" lmao), generate a 3d model (specified nowhere and expects to implement a mono-ocular system for the curious) and deploy it over AWS with a website to go along with it and also host that. The website should contain a VR ("360 rotatable") view that can explore the depth-map ("not worded as depth-map") of the face. My first assumption was that they had picked this work up for outsourcing and didn't bother to chip off parts so as to create an assignment out of it (I know very optimistic).
So I shoot it at him on WhatsApp asking which parts of the assignment should I do?
Him: So, which parts CAN you do?
I thought of it as an HR thing.
Me: I could do most of it but given the time-frame of the assignment and my applied position as a web developer it is perhaps out of scope for my application.
Him: Don't worry about the assignment. You can submit when you complete the whole assignment.
I was visibly angry over the stupidity of this man.
Me: This task is a Full-Stack + CV + VR task. It will take over two months to get working. Am I supposed to work on it for that long for an assignment?
Him: Okay just do the basic functionalities like add to cart. But also try to do the camera thing before next week.
At this point I'm sure that they are having trouble handling an eager client and they're offloading work to interns. So I do only the backend and minimal frontend and submit the assignment (a 2 day job done over a weekend).
Nothing. Empty. No messages since then. I tried sending in a Whatsapp message on the application and how to proceed. Then, if I could get to know if I have been rejected. Nothing.
And all this time I can clearly see the account is active as it pushes pretentious motivational quotes over it's Whatsapp status.3 -
Sus!
yesterday I bought a cool domain in namecheap, I was very lucky to find short and good one for my case.
Today (at weekends!!!!) I receive a letter:
>Hello **redacted name**,
>
>We are contacting you from the Namecheap Risk Management Team regarding your '**redacted name account**' account.
>
>Unfortunately, your Namecheap account was flagged by our fraud screening system as requiring verification and was locked.
>
>Please follow the instructions below to get your account verified:
>
>- take a color photo of the credit card used for the payment at **redacted link**
>
>Please make sure all of the edges of the credit card are visible, and that we can clearly see the card holder's name, expiration, and last four digits of the card number. The screenshots or images of the card cannot be accepted for verification. >If the submission does not meet these requirements, we can either request to submit the details again or permanently suspend your account.
>
>- provide a valid phone number and the best time to call you (within normal business hours, US Pacific time).
>
>If we do not hear back from you within 24 hours, we will be forced to cancel your orders.
>
>We apologize for any inconvenience that may result from this process. This extra verification is done for your security and to ensure that orders are legitimate. This industry, unfortunately, has a high rate of fraudulent orders, and this sort of >verification helps us drastically reduce fraud and ensure our customers remain secure. Such documents are used for verification only and are not provided to third parties in any way. Account verification is a one-time procedure, after your account >is verified, you will never face this issue again.
>
>Looking forward to your reply.
>
>---------------
>Dmitriy K.
>Risk Management
> Namecheap, Inc.
what if I did not notice it in 24 hours? It is the weekend for god's sake! People usually rest until monday.
They would what, cancel order and scalpel it to super high price?!
I have some doubts if the request is trully having anti fraudulent origins.
What if I used digital visa card? How was I supposed to photo it?
And the service they provided for photoing accepts only photos from web camera. I was lucky that I bought recently web camera with high enough amount of pixel power and manual focus. What if I did not?
That's all really SUS!
The person can not notice the letter within 24 hours time frame until the morning, when it would be already too late.10 -
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 -
The beta version of the new DEVRANT TOOLBOX is available now.
Its an unofficial web extension for Chrome and Firefox.
Chrome Web Store:
https://chrome.google.com/webstore/...
Firefox:
The certifaction process takes a long time, therefore I provided a direct download for the xpi file (for side loading).
https://drive.google.com/drive/...
Additional features: DUAL FRAME MODE (feeds left, rants right), themes (black, mono, darkgray, darkblue, comic, solarized), scrollbar plugin (perfect scrollbar, FF only), extended controls, fixed header, sorted userprofiles (by votes), autoreload (recent feed, 180 sec), highlighting new rants (recent feed), personal filter, image preview (mouseover), keyboard shortcuts, timestamps for rants, compact mode, colored notifs with clickable usernames, weekly rant.
I tested the extension with Windows Browsers only.
It would be great to get a feedback how it works with other systems!
Have fun with the toolbox.7 -
Does anyone else find it strange that the stupidest people in the company are making all the decisions.
In order to be able to engineer software you have to understand everything that the product owner knows, the business analyst knows, the product manager knows + how to actually make the system both work in a reasonable time frame and be maintainable long-term.
But we're not the one making the decisions. The irony of it is something that I can't get beyond.
And when I do go out on a limb to point out a logical inconsistency to UX or product... They don't thank me for it they hate me for it and then 3 days later figure out that they should be doing it and quietly follow my suggestions.
Seriously is the goal here to create good software or to avoid stepping on everyone else's toes in the company who is overwhelmed by the complexity of the project.
I think companies based on a hierarchy of non-technical people controlling technical people, in the creation of software products are a dying breed.
When it comes to creating software products everyone in the hierarchy should be technically minded.
I've seriously been trying to come up with an alternative perspective here.
The executives of the company are completely out of touch and the only thing which looks like progress to them in a sprint review is something visual on the front end.
The technical architect, the product owner and the product manager all seem to be engaged in keeping the executives happy and managing their expectations. By means of obscuring the truth.
Imagine how much more cost-effective building a software product would be if the executives were engineers themselves.
I'm keen to do an experiment and build a company comprised of engineers only.
Obviously they need to have insight into the other roles. But none of these other roles are as complex as implementation itself.
So why exactly are we the slaves of these well-meaning under thinkers?7 -
What was your nickname given to you by others? Just please, no cheating and no making things up.
I had two:
1. “Chalk” at school, because I was _very_ pale.
2. “Wonderful librarian”, given by my wife's uni friends when my wife had a class on zoom during covid, I forgot about it, casually walked into frame and kissed her. She was at my place, and my room looked like a library with all those bookshelves I had. I was a book hoarder before depression.14 -
It seems like there is a whole another grade of fear — Basilisk grade. It’s impossible to experience it and walk away without serious consequences.
Imagine: I’m barely 20. It’s my first real, official, high-paying job. I’m already a team lead. A big Russian non-govt company with a blue logo. Huge new office in Moscow.
My “childhood” is officially over — I’m not playing around anymore. I’m an adult in every sense of the word.
Several weeks go by. Maybe even a month. Just a regular day at the office. I’m waiting for the coffee machine to heat up, and suddenly, it hits me. I’m here, at the office. Moscow, a city of 10 million people, is beautiful in the summer, yet I can’t just leave the office and go for a walk whenever I want to. When the day is over, it’s already evening, and I barely have time for myself. There are other people around me, with way higher positions, but their schedule is just the same as mine: nine-to-six. My adult life just started. I have forty years of this ahead of me. No matter the company, no matter the position: unless I’m the CEO, I’m doomed to get to work in the morning and go back home in the evening. And then I retire, old and not that beautiful anymore. And then that’s it.
I was never the same after that day. People are plotting my betrayal behind my back. They all act as one. Just out of my frame of view, their heads are turned to me, and they all look at me with the same devilish grin. There are no people — it’s all one huge shoggoth that lives under the office floor, and my colleagues are its ugly tentacles wrapped in human skin. I start missing deadlines. I become paranoid. Next thing I know, I’m at the psychiatrist’s office, being prescribed aripiprazol — a strong antipsychotic that is designed to literally make you slower. Anxiety worsens. I develop restless legs syndrome. I lose my ability to sleep. My intelligence is slipping away. I’m fired.
I have the return to Saint-Petersburg, cariprazine prescription that felt like lobotomy with extra steps, losing my ability to read, delirious manic episodes ahead of me.
It is only now that I kinda-sorta tuned my medication scheme in by going through countless psychiatrists of all sorts. But I sure as hell work at a place where I can do whatever I want if I meet deadlines.3 -
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 -
So currently working on a basic game engine written in Vala using SDL, fuck me it is such a rabbit hole!
Have a basic renderer and and was using the default SDL frame rate manager and decided to write my own so I could knock out using the SDL gfx package.
So now I have to create a window manager and renderer manager just to handle a basic framerate manager that isn't completely negated by VSYNC.... -
Created this sprite to frame by frame codepen inspired by Eadweard Muybridge:
https://codepen.io/kfalencik/pen/... -
Got my QBASIC demopart ready for testing, completely optimized and ready to roll. Found 486 owner (33MHz, 8MB of RAM) who tested it for me.
Takes 13 seconds for the scroller to draw each frame at 300x200.
No possible optimizations are present, everything's crushed as far as it'll go, meaning a completely different method of scrolling is needed.
(Still faster than the array method by 37 seconds per frame, but y'know...)
fuck me... -
Let's start by saying that I fucken know nothing.
Not even how to fucken start this rant.
I have to build a simple game for a university project.
In Java.
Since everyone in my team chose plain swing/awt, and for many other reasons, I jumped on that band wagon.
Knowing myself and that I quit the project last year, I chose an extremely simple type of game with very simple goals and Use-cases.
So far so good.
Logic, layer, and nearly everything else is nearly finished.
Since about 3 month.
Friends helped me restructure my game for better layer separation and I couldn't be happier with how that turned out.
But all those 3 month, my main problem has persisted.
I can't get it to draw a thing on the jframe.
For 3 month.
3 fucken month.
And now I don't even get a jFrame anymore.
WHAT THE FUCK
Git, tell me, what have I changed?
...
Nothing related to construction of the frame?
Ok, I removed a call to repaint there.
Let's putt it back.
NOPE, no JFrame.
What the actual fucken hell?
This is where you can stop reading, after this there will only be me crying about everything.
Sweet tears. 😭
In-between I got a frame, and something was drawn onto it.
But only on construction.
I couldn't get the paint chain to run a single time after that.
I have a nice thread with some loops that is supposed to update the logic and make a call to repaint/ update/ refresh the frame so that the game runs nicely with 60fps.
Logic works fine, but no call to what ever does anything related to painting.
This morning I had the idea that it might be because of the thread.
Refactored that the game loop runs in the main thread and here I now am without a jFrame.
And still 3255 letters to go.
I don't even even even even even..,...rant wtf fuck fucking fuck fuck! java nojframe jframe wth what the fuck pls kill me java swing java awt5 -
My graphics card is only able to play video on YouTube with max resolution 720p. If I choose 1080p then I get less than 1 frame per second playback.
This is disappointing; seeing that Radeon 5600 XT graphics card can only play videos in 720p. I am pretty sure that poor performance is caused by Radeon graphics driver; there are no other problems of any kind on my system.
Radeon software team = 🤡🤡🤡
The bugs without end need to be stopped. AMD software deserve their bad reputation 100%11 -
So I was wondering if any of you know if any good ways to inject additional functionality into a function in CPP. My use case is injecting a counter into an OpenGL draw function to see how many times per frame it's called. I know I can do this using assembly Inca more hacky manner as you might do for cheats in games(code caves), but I'm more interested in adding is for debugging/statistics for the game engine I'm working on. Basically im looking for a portable stable way of doing it that when I compile as a debug build, the code gets added to various functions, and when I compile under release, it doesn't.
Example:
glDraw();
Would call
glDraw() {
drawCount++; //some debug stuff
glDraw(); //call the real one internally
}
I should mention with code caves you can do this by saving the original address of the function, patching the vTable to point to your new function that has the same parameters etc, then all calls to that function are redirected to yours instead and then you simply call the original function with the address of the function you originally saved. That said, I'm not sure how to access vTable, etc the "normal" way...2 -
omg it's been 3 months they've been nitpicking this fucking project by looking for one frame drift on a 4 hours video.
-
These marketing videos for that surface thing and that new Mac thing are identical. Watch the vids which have been put side by side. Released days apart and from rival companies how can they be identical almost frame by frame?
http://youtu.be/36WCHfGwusc1 -
Confluence WYSIWYG-editor shall burn in a thousand hells. This thing pretends to be smart, yet all its autoformatting achieves is to enrage me. I don't remember dropping so many f-bombs in such a short time frame.
I hoped to ease to the pain by writing markdown, yet I can only write markdown in a new insert markup window which does not even comprehend nested lists. And don't get me started that it wants to push its Confluence Wiki syntax first. Why does it need to reinvent the wheel?
Why can't I disable the WYSIWYG feel of it and just write plain old markdown?
Confluence, you are part of the problem!
I rather keep the documetnation inside the git repostory inside of md files. But no, confluence shall be our source of soon to be outdated documentation.
Sigh. -
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 -
How do I write an essay?
If you're working within a time frame then you require tackling it in an organized way. I typically jot down quickly the central ideas I want the essay to deliver. I typically work a bit more on the introduction and the conclusion of the essay. I believe they tend to have a somewhat more lasting effect on the brain. Good use of vocabulary is icing on the cake and adding just a tad bit of your stylе can do wonders. I always choose a theme. In the first few minutes I decide whether I desire it to be monotonous or riveting or slightly sarcastic or just factual depending on the theme. The best of the essays I've come cross ways have very clear and lucid language and they now hit the nail in the head. Every writer has his own way. Try to expand one. Expressing ideas accurately is what keeps the readers absorbed. Don't miss to hit a chord with your readers. The best essay writing service [ https://buyessays.us/ ] should to clearly express the correspondence direct set up. Also, it ought to express the sufficiency of the channels as evaluate by clients.5 -
The Voice Changing Software Market is relied upon to surpass more than US$ xxx million by 2023 at a CAGR of xx% in the given conjecture time frame. A comprehensive examination has been done on the key players working in the Global Voice Changing Software Market. The report covers the income share, cost, item offering, late improvements, net benefit, business outline, and mergers and acquisitions, which encourages the clients to comprehend the key players in a progressively significant way.
https://clownfishvoicechangerdl.com/...1