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 - "thumbnail"
-
One of our web developers reported a bug with my image api that shrunk large images to a thumbnail size. Basically looked like this img = ResizeImage(largeImage, 50); // shrink the image by 50%
The 'bug' was when he was passed in the thumbnail image and requesting a 300% increase, and the image was too pixelated.
I tried to explain that if you need the larger image, use the image from disk (since the images were already sized optimally for display) and the api was just for resizing downward.
Thinking I was done, the next day I was called into a large conference room with the company vice-president, two of the web-dev managers, and several of the web developers.
VP: "I received an alarming email saying you refused to fix that bug in your code. Is that correct?"
Me: "Bug? No, there is no bug. The image api is executing just as it is supposed to."
MGR1: "Uh...no it isn't. Images using *your* code is pixelated and unfit for our site and our customers."
MGR2: "Yes, I looked at your code and don't understand what the big deal is. Looks like a simple fix."
<web developers nodding their heads>
Me: "OK, I'll bite. What is the simple fix?"
<MGR2 looks over at one of the devs>
Dev1: "Well, for example, if we request an image resize of 300, and the image is only 50x50, only increase the size by 10. Maybe 15."
Me: "Wow..OK. So what if the image is, for example, 640x480?"
MGR1: "75. Maybe 80 if it's a picture of boots."
VP: "Oh yes, boots. We need good pictures of boots."
Me: "I'm not exactly sure how to break this to you, but my code doesn't do 'maybe'. I mean, you have the image from disk.
You obviously used the api to create the thumbnail, but are trying to use the thumbnail to go back to the regular size. Why not use the original image?"
<Web-Dev managers look awkwardly towards the web devs>
Dev3: "Yea, well uh...um...that would require us to create a variable or something to store the original image. The place in the code where we need the regular image, it's easier to call your method."
Me: "Um, not really. You still have to resolve the product name from the URL path. Deriving the original file name is what you are doing already. Just do the same thing in your part of the code."
Dev2: "But we'd have to change our code"
Mgr2: "I know..I know. How about if we, for example, send you 12345.jpg and request a resize greater than 100, you go to disk and look for that image?"
<VP, mgrs, and devs nod happily>
Me: "Um, no that won't work. All I see is the image stream. I have no idea what file is and the api shouldn't be guessing, going to disk or anything like that."
Dev1: "What if we pass you the file name?"
<VP, mgrs, and devs nod happily again>
Me: "No, that would break the API contract and ...uh..wait...I'm familiar with your code. How about I make the change? I'm pretty sure I'll only have to change one method"
VP: "What! No...it’s gotta be more than that. Our site is huge."
<Mgrs and devs grumble and shift around in their chairs>
Me: "I'm done talking about this. I can change your code for you or you can do it. There is no bug and I'm not changing the api because you can't use it correctly."
Later I discovered they stopped using the resize api and wrote dynamic html to 'resize' the images on the client (download the 5+ meg images, and use the length and width properties)22 -
Just noticed YouTube got inspired by porn video sites and now they are showing very short preview of video on thumbnail hover.
Nice but not that useful feature for non porn video site.5 -
Saw my GitHub project shared on social media. WTF? Guess what the thumbnail is everytime it's shared. Why does GitHub use my fucking face? Fork You!
**changing avatar...**4 -
I received this special picture per WhatsApp. It changes its color the first time while downloading and the second time after you tap on it.
It goes from about #ff96e1 to #42000d
(Yes, I know these Thumbnail-Faker but in this case it keeps changing its color even after opening and closing the pic multiple times)
I did not find anything by inspecting it on PC...
Does anyone have an idea how it works?21 -
It bothers me that the thumbnail image for GitHub repos on Reddit is always an awkward profile pic of the developer.1
-
Google, will you ever manage to fix YouTube so it actually doesn't fucking break every day?
This "feature" where the page doesn't reload when I click reload is neat until I want to, you know, reload to see new content. Or reload because you failed to load a single video thumbnail. But no, you managed to combine the shit of both worlds and give me a loading progress bar and then don't change anything.
Also YouTube is the prime example why you don't try to reinvent text input fields. I can't remember a single instance in the last 5 years where the comment fields didn't have at least one weird bug.
Why do tech companies build the shittiest websites?10 -
Dev Diary Entry #56
Dear diary, the part of the website that allows users to post their own articles - based on an robust rights system - through a rich text editor, is done! It has a revision system and everything. Now to work on a secure way for them to upload images and use these in their articles, as I don't allow links to external images on the site.
Dev Diary Entry #57
Dear diary, today I finally finished the image uploading feature for my website, and I have secured it as well as I can.
First, I check filesize and filetype client-side (for user convenience), then I check the same things serverside, and only allow images in certain formats to be uploaded.
Next, I completely disregard the original filename (and extension) of the image and generate UUIDs for them instead, and use fileinfo/mimetype to determine extension. I then recreate the image serverside, either in original dimensions or downsized if too large, and store the new image (and its thumbnail) in a non-shared, private folder outside the webpage root, inaccessible to other users, and add an image entry in my database that contains the file path, user who uploaded it, all that jazz.
I then serve the image to the users through a server-side script instead of allowing them direct access to the image. Great success. What could possibly go horribly wrong?
Dev Diary Entry #58
Dear diary, I am contemplating scrapping the idea of allowing users to upload images, text, comments or any other contents to the website, since I do not have the capacity to implement the copyright-filter that will probably soon become a requirement in the EU... :(
Wat to do, wat to do...1 -
I didn't posted something in a long time so...
TL;DR: FUCK YOU ANDROID STUDIO YOU FUCKING SHIT PIECE OF SOFTWARE
Thank you for your time.
I am running my own meme social network. For quite some time I wished I knew a Android developer, which could help me.
Because I know java I tried it myself, and Android studio is one of the worst programms I've ever seen.
My app crashed the whole time, just because my studio version was 1 behind. Updated studio, everything worked.
My layout wasn't showing correctly, reopened Studio, all layouts deleted.
For no good reason video views aren't resizing, so I need to use exoplayer.
One video on my platform nearly crashes the app when creating a thumbnail.
And so one....
I fucking hate Android studio...
(PS: if your a German, Swiss, Austrian you could check out my network and may become a beta tester of the app)15 -
It takes so much effort to put a quality video on YouTube.
1. Researching
2. Scripting
3. Recording ( screen record while doing the hands on of the topic, drawing concepts on whiteboard + voice over )
4. Editing
5. Thumbnail
Then upload.3 -
Dear TypeScript, could you not have chosen any other extensions rather than .TS? Apparently telesync have been using .TS for IDK may be decades. But all you could go with was .TS?
Now Windows Explorer keeps on thinking .TS is a telesync file thus it keeps on trying to load a thumbnail for the files whenever a folder with .TS files are opened.9 -
A few months ago I got recommended a Flutter and Dart course on Udemy, thought yeah fuck it lets get it, fast forward to 5 minutes ago...
"Ok I'm bored, feel like coding and doing something different, lets do some of this course..."
*Opens udemy, clicks on course*
"Hm, must have changed the thumbnail..."
*Clicks first lecture and is greeted with "Hello friends!"*
Yep, got the wrong fucking course didn't I ;-;
Here hoping Udemy may offer a refund seeing as I hadn't started the course till now... Fuck1 -
Client complains constantly over image quality.
Then continues to upload diagrams as jpg not as png and then is bothered about compression artifacts...
It also doesnt help he works on a retina screen and we had to migrate his tiny thumbnail images from his old website.
Maybe I should buy a microscope... Or maybe send him the imagemagick documentation and he can choose the parameters to his liking? -
My new passion in life is to spend a whole morning trying to figure out why I can't create a thumbnail with node-imagemagick, only to discover that I forgot an 's' to the output directory.
FUCK. ME.2 -
All I want to do is thumbnail some damn images but PIL and libjpeg are being a pain in the ass and turning everything green.3
-
Looks like google dumbed down the YouTube home page by making it look like some retarded mobile app. Fuck this shit I'm not using my fingers and my fingers arent so fat that I need 5 cm large thumbnail ffs.3
-
When user interface elements unsolicitedly change their position, something unexpected might be clicked.
For example, the search engine list at the bottom of the Firefox suggestion box that appears when typing something into the URL bar ("This time, search with:"). When the number of suggestions changes, the height of the box changes, and since the search engine list is at the bottom, its position changes too. This could happen milliseconds before I wanted to click on one, which causes either searching for something I did not look for, or closing the URL bar.
It also causes an uncertainty whether the buttons will remain in place, causing delays until clicking.
The same happens on the image context menu for images on the Kiwi browser. It shows a preview thumbnail on top of the options in the context menu, but since the context menu opens before the thumbnail loads, the appearance of the thumbnail pushes the options down. If this happens few milliseconds before one is going to tap on something, it causes one to tap on the wrong place.2 -
Im not a thumbnail maker but what does this look like? im using scratch btw lol has a lot of block lag that when u play projects you freeze for a bit , same with blocks , the only thing that kills lag is something better than chromebook or my pc definetly run 3d scratch games on that xD includeing an android emulator so i can go back to scripting!, (what does this look like tho?)22
-
1000 lines of css is still smaller then most images optimized for modern displays (aka everything that isn't a thumbnail). Either our designers don't come up with stuff complex enough to validate adding a compilation step to interpreted code or I'm missing something,
I've been looking into CSS preprocessors. Can anyone give me an example of why you'd use one that isn't some lame programming platitude like "pushing technology forward"? Like an actual design element that can't be done in straight up CSS?
As someone who compiled AS3 for the web back in the day the "new wave" of internet technology (with all it's compilation steps) seems super dodgy.4 -
Chinese remainder theorem
So the idea is that a partial or zero knowledge proof is used for not just encryption but also for a sort of distributed ledger or proof-of-membership, in addition to being used to add new members where additional layers of distributive proofs are at it, so that rollbacks can be performed on a network to remove members or revoke content.
Data is NOT automatically distributed throughout a network, rather sharing is the equivalent of replicating and syncing data to your instance.
Therefore if you don't like something on a network or think it's a liability (hate speech for the left, violent content for the right for example), the degree to which it is not shared is the degree to which it is censored.
By automatically not showing images posted by people you're subscribed to or following, infiltrators or state level actors who post things like calls to terrorism or csam to open platforms in order to justify shutting down platforms they don't control, are cut off at the knees. Their may also be a case for tools built on AI that automatically determine if something like a thumbnail should be censored or give the user an NSFW warning before clicking a link that may appear innocuous but is actually malicious.
Server nodes may be virtual in that they are merely a graph of people connected in a group by each person in the group having a piece of a shared key.
Because Chinese remainder theorem only requires a subset of all the info in the original key it also Acts as a voting mechanism to decide whether a piece of content is allowed to be synced to an entire group or remain permanently.
Data that hasn't been verified yet may go into a case for a given cluster of users who are mutually subscribed or following in a small world graph, but at the same time it doesn't get shared out of that subgraph in may expire if enough users don't hit a like button or a retain button or a share or "verify" button.
The algorithm here then is no algorithm at all but merely the natural association process between people and their likes and dislikes directly affecting the outcome of what they see via that process of association to begin with.
We can even go so far as to dog food content that's already been synced to a graph into evolutions of the existing key such that the retention of new generations of key, dependent on the previous key, also act as a store of the data that's been synced to the members of the node.
Therefore remember that continually post content that doesn't get verified slowly falls out of the node such that eventually their content becomes merely temporary in the cases or index of the node members, driving index and node subgraph membership in an organic and natural process based purely on affiliation and identification.
Here I've sort of butchered the idea of the Chinese remainder theorem in shoehorned it into the idea of zero knowledge proofs but you can see where I'm going with this if you squint at the idea mentally and look at it at just the right angle.
The big idea was to remove the influence of centralized algorithms to begin with, and implement mechanisms such that third-party organizations that exist to discredit or shut down small platforms are hindered by the design of the platform itself.
I think if you look over the ideas here you'll see that's what the general design thrust achieves or could achieve if implemented into a platform.
The addition of indexes in a node or "server" or "room" (being a set of users mutually subscribed to a particular tag or topic or each other), where the index is an index of text audio videos and other media including user posts that are available on the given node, in the index being titled but blind links (no pictures/media, or media verified as safe through an automatic tool) would also be useful.12 -
So how do you find motivation to finish a work project which is supposed to "go long"?
So, umm, this is weird, but i have been in this situation a few times and i am not sure if i deal with them correctly.
- the company proposes a brand new feature : a feature which never existed in the product before.
- they have high level directions (both business logics and technical) on how its supposed to be build
-they set vague but comfortable timelines (20-30days) to complete it
- they align me as the main dev for frontend, some x guy for backend , some y guy for parallel frontend (ios/web) and kinda forget about us.
- the business requirements are evolved/cleared as we go on making the product, the backend keeps on providing evolving apis which get stable over time.
- the business ppl shows that yeah there is no pressure and we won't mind extending this for release as other systems will be "obviously" taking time.
- our (the folks on new feature) feature is sidelined .nd we are rarely talked about until we reach those deadlines and at that time we are questioned.
I... am not a powerful performer in these situations. adding a new feature required solving some major problems again and again , while solving smaller problems too, so as the product finally takes shape . for eg:
1. i will start fast by adding all the possible screens, their abstract code, their navigation logic, their xmls etc
2. then based on designs, i will try creating designs a bit
3. then once the apis arrive, i start adding them and modify the logic to handle those.
4. meanwhile many smaller problems come up , like when sending an image from one screen to the previous screen, the thumbnail don't show up, so i spend 5+ hours ensuring that it works precisely . or how i could make 3 api calls in async and make the upload flow better.
5. this goes on for days, until and i and other people start to realise that my project is not upto the point of completion
i keep getting distracted from the original goal of making a working poc first and then fixing the nuances2 -
i'm trying to figure out how to work this;
The element now has an id of thumbnail. With this selector, use the example CSS values above to place a box-shadow on the card.
this is the css values;
box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
and this is the code i used;
.thumbnail {
box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
but it's mot working on the fcc site.2 -
I need to position circles on a curve in a HTML page, the number of circles can be variable (a minimum of 3 and a maximum of 7) and these should be spaced equally. Each circle is a clickable element that has some functionality, and also just hovering on these circles should show a thumbnail right beside them.
https://i.stack.imgur.com/jC3gE.png
As shown in the above image. The whole design consists of 2 of these curves one on the left and one on the right(I cannot put the whole design here sorry) one approach I can think of is rendering the curve as an SVG and then position the beads (circles) on them but I cannot think of any way to position those elements exactly on the svg. Any kind of help or code which achieves this functionality is a huge help.
Note: I am using Angular, if there's a nice way to do the same in Angular I'd be pretty delighted. I know that this isn't the right place to ask this but any help would be greatly appreciated.
Thanks in Advance10 -
FUCKING FACEBOOK API
Instagram posts can be either images or videos. If you request a media object through user's media or media by ID, you get link to the media and, if it's a video, link to the thumbnail.
But if you request it through a list of media in a hashtag - you don't get the thumbnail, because fuck you, that's why. Make it yourself or something. Fuckers. -
So I'm using bxslider on a site I'm developing...when it's not running everything lays out nicely (pic1). Then using a simple script and options it functions just right (pic 2) but a huge layout issue in the thumbnail pager happens (pic 3) and I can't locate where or why. Any ideas?