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 - "hex colors"
-
F*CKING DESIGNERS.
Stop sending me your freaking PNG. Don't even dare to FREAKIN' make me use Chrome DevTools to get your FREAKIN' color our of your FREAKIN' PNG.
Give me all your colors in FREAKIN' hex, rgba, or whatever you want.
Give me all the fonts you used.
Give me all the sizes, is it percentage-based? Pixels based? Donuts-based?
I don't give a damn that you think you went responsive-first. Show me the damn responsive mockups. Not just the desktop sized with a note: "Don't worry mate, I made so that it all goes well when responsive".
Oh god. Oh god.
I'm not an artist, I give zero shit about how great it looks.
I'm a programming poet, I want to write code without having to open (or download it first through torrent) the damn photoshop, sketch, or whatever you use.
They take freakin' months to dump a mockup and we have days to make it happen. The pain.
The pain is strong with those damn designers.
Fuck.46 -
My first real "rant", okay...
So I decided today to hop back on the horse and open Android Studio for the first time in a couple months.
I decided I was going to make a random color generator. One of my favorite projects. Very excited.
Got all the layouts set up, and got a new color every tap with RGB and hex codes, too. Took more time to open Android Studio, really.
Excited with my speedy progress, I think "This'll be done in no time!". Text a friend and tell them what I'm up to. Shes very nice, wants the app. "As soon as I'm done". I expected that to be within the hour.
I want to be able to save the colors for future reference. Got the longClickListener set up just fine. Cute little toast pops up every time. Now I just need to save the color to a file.
Easy, just a semicolon-deliminated text file in my app's cache folder.
Three hours later, and my file still won't write any data. Friend has gone to sleep. Homework has gone undone. My hatred for Android is reborn.
Stay tuned, the adventure continues tomorrow...11 -
The manager and selfperceived omnipotent cult leader was the worst kind of businessman. Slimey and trecherous, zero sense of ethics, but felt holier than the pope because he "helped" his weakling herd of piteous employees.
These employees were smart kids, most of them in their late teens. All of them legally disabled. There was this kid who gobbled up ritalin like candy, a boy who had received his measles shots and turned socially awkward (/s), a chubby girl who could name all the hex colors of her chocolate stained shirt... you know, what we call skilled developers in the industry.
Fiftyfive of them.
They were awesome, awkward highschool dropouts, like I had been a decade earlier. They worked 50h a week. They had great humor, were passionate, devoured information about new technologies, and they built custom websites from scratch in no time. I had to lead this flock, and felt honored to work with them.
Then things started to smell funny.
I discovered all 55 of their workstations ran pirated software, from Windows to Adobe CS. I'm not without sin in that regard, but as a company it's just plain stupid.
Clients were treated like shit. I mean, we all feel like punching a client in the face sometimes, but I'm taking about unjustified debt collections paired with death threats.
Then I found out these kids were often disappearing for a few months, only to return months later.
I started digging, and discovered they were all working reintegration internships (because they were on below minimum wage disability payments), at almost zero cost to my employer.
After 6 months, my boss gave them a negative recommendation, they were all too "sick" to function in normal jobs.
Then they were rotated to a shadow company, doing the same work for another 6 months, and so on to a third company.
He broke these kids, talked them down, made them feel worthless. He threatened the ones who understood what was happening.
I ended up bringing the company down, with the CEO and two government officials jailed for fraud and corruption.
Some employees were quite mad about it, at least at first — I was the shepherd who abandoned his sheep. Luckily, most found better paid positions in no time.
Truly one of the most fucked up and difficult situations I've been in.6 -
Thanks Apple to not natively supporting hex colors in Swift! That would be too convenient I suppose...4
-
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!5 -
🍺 Just tapped a fresh feature for PixelPrep!
After countless commits and more coffee than is medically advisable, I’ve shipped a shiny new feature to the PixelPrep - Composer 🍻
Whether you're wrangling web-app snapshots or just trying to keep your design system sane, this update makes composing your design web-app snapshots smoother than a well-poured pint. 🛠️🍺
Check it out and let me know what you think (or rant about how your team still hardcodes colors in hex 🙃):
👉 https://pixelprep.io/composer.html1 -
Pigment 0.2
🎨 A lightweight utility for color manipulation and conversion.
Features
Color Conversion: Convert colors between HEX, RGB, HSL, HSLA, RGBA and Tailwind CSS formats.
Lightness Control: Lighten or darken a color by a specified percentage.
Random Color Generation: Generate random colors in HEX, RGB, HSL, HSLA, RGBA or Tailwind CSS format.
Opacity Control: Set the opacity of color in any format.
Blend Colors: Blend two colors in any format together in a specified ratio.1 -
SoSoLoveTech: Comprehensive Tech Solutions for Modern Needs
In the dynamic world of technology, finding reliable and innovative tools to streamline tasks is paramount. SoSoLoveTech emerges as a prominent name in the tech landscape, offering a suite of solutions that cater to diverse needs. This platform positions itself as a one-stop destination for practical and user-friendly tools designed to enhance productivity, simplify complex processes, and empower users across the globe.
A Vision of Excellence
At its core, SoSoLoveTech embodies a commitment to providing tech solutions that bridge the gap between complex technological demands and user-friendly implementations. Whether you are a developer, a digital marketer, or a general user, SoSoLoveTech offers resources that can elevate your efficiency and enable seamless execution of tasks.
Features That Define SoSoLoveTech
1. User-Centric Design
The platform is built with the user in mind. Its tools and features are structured to be intuitive, accessible, and effective. Whether you're a tech-savvy professional or someone with minimal technical knowledge, SoSoLoveTech ensures that you can navigate and utilize its offerings without hassle.
2. Diverse Range of Tools
SoSoLoveTech offers a wide array of tools, each designed to solve specific problems. Some of the notable tools include:
Dummy Image Placeholder Generator: Simplifies design workflows by allowing users to generate placeholder images for web and app development projects.
Hex to RGB Color Converter: A precise tool for designers and developers to switch between color formats effortlessly.
YouTube Thumbnail Downloader: Enables users to download high-quality thumbnails from YouTube videos with ease.
QR Code Decoder: A convenient tool for scanning and decoding QR codes to retrieve data quickly.
Bank Details to IFSC Code Converter: Assists in locating IFSC codes based on bank details, simplifying financial transactions.
3. Speed and Reliability
In today’s fast-paced world, speed matters. The tools on SoSoLoveTech are optimized for swift performance, ensuring that users can complete their tasks in record time. Moreover, the platform prioritizes reliability, ensuring uninterrupted access to its resources.
4. SEO-Friendly Resources
For digital marketers and content creators, SoSoLoveTech provides tools that enhance search engine optimization (SEO) efforts. By enabling quick access to critical utilities, the platform becomes a valuable companion for those looking to improve their online visibility.
Exploring Key Tools on SoSoLoveTech
Dummy Image Placeholder Generator
Web developers often require placeholder images during the design phase. The Dummy Image Placeholder Generator on SoSoLoveTech allows users to generate images of specific dimensions, colors, and formats. This tool saves time and ensures consistency in design mockups, making it an indispensable resource for UI/UX designers and developers.
Hex to RGB Color Converter
Designers frequently switch between color models to meet project requirements. This converter simplifies the process of transforming hexadecimal color codes into RGB format. Its precision and ease of use make it a favorite among graphic designers and frontend developers.
YouTube Thumbnail Downloader
A tool for content creators, the YouTube Thumbnail Downloader provides an easy way to save thumbnails in high resolution. Whether for reference or reuse, this tool ensures that users have quick access to video thumbnails without compromising quality.
QR Code Decoder
QR codes are omnipresent in the digital world, from marketing campaigns to payment systems. The QR Code Decoder on SoSoLoveTech allows users to scan and decode these codes effortlessly, revealing the embedded information within seconds.
Bank Details to IFSC Code Converter
For individuals and businesses managing multiple transactions, finding accurate IFSC codes is often a challenge. SoSoLoveTech addresses this with its Bank Details to IFSC Code Converter, ensuring quick access to accurate banking information, thus simplifying transactions.
Why Choose SoSoLoveTech?
SoSoLoveTech distinguishes itself through its commitment to innovation, accessibility, and reliability. Here's why it's a preferred platform for many users:
Free and Accessible Tools: Most tools on the platform are available free of cost, making them accessible to a global audience.
Continuous Updates: The team behind SoSoLoveTech ensures that the tools are regularly updated to meet evolving technological standards.
Comprehensive Documentation: Each tool is accompanied by detailed guides and FAQs, ensuring that users can make the most of its features.
Mobile-Friendly Interface: The platform’s design is responsive, ensuring seamless access across devices, including smartphones and tablets.
Future Prospects
As the digital landscape evolves, SoSoLoveTech is poised to expand its offerings.