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 - "make it hex"
-
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 -
These clowns make my blood boil.
fullStackClown: Hey I need some info on that specific color you want for this design
managerClowns: Yes it should look like this <<sends screenshot>>
fullStackClown: That is not a color, it is a screenshot
managerClowns: Yes it should look like this
fullStackClown: Do you know what hex code that is for that color? Can you ask the design team what color from our corporate identity they used?
managerClowns: Yes it should look like this
fullStackClown: Not helping... okay fine I used the eyedropper and I see the hex code is not used anywhere else in our app, so what color should I use?
managerClowns: Yes it should look like this
fullStackClown: ...22 -
FUCK LINUX
now that I have your attention, and you’re probably angry, too, please, even if you don’t read this rant, never use code.org again. now, onto the rant…
god dammit, code.org sucks. I mean, anyone who created it or associates with it should, well, be considered a terrorist. they’re bombing students futures in computer science with false, useless, bullshit information. not to mention, their sponsors like bill gates, mark zuckerburg, and other rich asses, talk in a video about some boring ass shit that is hard to understand for anyone who doesn’t program, and not to mention, they use a fucking five dollar microphone. ear rape. even if you look at a textual version of it, then read the information on it, it’s practically useless because it's so terribly explained, and also useless. ironically enough, they focus on their animations more than their actual explinations, or their students for that matter. the fact that we had to encode a picture in binary, made me about 50% dumber, give or take a 0 or 1. then, we had to do it in hex, which wasn’t really much better, although more realistic I supposed. what's really the most depressing thing about this class is its application in the real world. I've learnt nothing whatsoever that will help me in the real world, or in computer science. I suppose there's two things that may be useful (that I already knew): hex, and that TCP doesn't lose packets. that's it. those two things. five seconds worth of knowledge from the first quarter of the year. the ideas just make me want to throw up. teaching the main ideas of computer science without actually teaching it? one of the teachers (probably a good one) enrolled her students in an online programming course just so they could understand, because the explanations are just so terrible. this is the only [high school] computer science course offered by code.org, and I signed up because it's an AP computer science class (tried to get into AP Java, the day I was supposed to take the test to get into an upper level class, I was told it didn't count as a tech credit). seriously, fuck code.org. it makes you dumber. their 'app lab' environment is pointless, just like everything else. the app lab is basically where you have a set of commands and have to make a dog bark() or a storm trooper miss() [and that's hell when they haven't introduced while loops yet]. the app lab is literally code.org going out of their way to make everything that their students are learning pointless in the real world. seriously, why can't we just use a <canvas> like an ACTUAL PROGRAMMER would do if they were to make a browser game, not use an app engine so slow it would be faster to update windows and android studio each time I run an 'app' in their 'environment'. their excuse is that the skills "transfer over" to the real world. BITCH! IF I DIDN'T KNOW JAVA, AND I WANTED TO MAKE A GAME IN JAVA, I'M NOT GOING TO LEARN PYTHON, THEN "TRANSFER" THE SKILLS I LEARNT, I'M GOING TO LEARN FUCKING JAVA. AND THAT GOES FOR EVER OTHER LANGUAGE, PROJECT, ETC.
I'm begging you code.org, stop, get help.9 -
Go fuck yourself make.
Don't tell me you haven't got a build rule for a .hex file because I'm fucking looking at it. I added a single file name to a variable and now magically you can't find any of my fucking build rules.
NOT FUCKING HELPFUL MAKE.3 -
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 -
I seriously thought I was losing my mind this morning.
Loaded up my IDE and got to work.
Needed to find something in the project, so I hit the keyboard shortcut to find all usages in the project path.
The dialog pops up, but my selection is replaced with a long hex string. I thought it was weird, but I just installed the latest update of my IDE so I thought I'd found a regression. I grabbed the hex string and went over to Google to see if anything useful popped up.
The first result is the reddit post for my keybase key.
Wait. The "random" hex string was the fingerprint for my keybase public key? I double-checked to make sure that keybase wasn't running and I didn't have anything weird hanging out on my clipboard. Nothing amiss, but I still got my key whenever I searched for something.
This is the point where my brain got a little melty. I started running weird conspiracy theories in my head. My ever-helpful coworkers could only suggest to "stop using a Mac".
I saw that the app menu got highlighted when I opened the dialog, so I opened the menu and looked at the Services. Lo and behold, the GPG Suite update I installed recently very "helpfully" added a global shortcut to "Insert My Fingerprint" with the same keyboard shortcut as the IDE action.2 -
This is the story of the API documentation.
Which btw I couldn't find on the producent's website anywhere. I had the pdf shared with me by a coworker.
I knew the api was fucked up the moment I looked at endpoint documentation.
GET params? WHERE, ORDERBY etc. Literally make a SQL select in a GET request.
Returned stuff? The whole thing. Not some DTO, you literally get everything you can get.
Eg if you get IP in your response, you get it in several formats: dotted form, as hex, and as int. In 3 different json fields.
Oh, and regarding IP - one would imagine you can use masks or prefixes for subnets, right? Nope. The only param you can use there is the subnet size. So you have to calculate the power of 2 every time you want to make a request.
That's from the endpoint documentation. But what about some general info on the API, before all that?
As I was looking for something, I decided to read that intro and general info about the API.
Okay, so there was a change log between API versions. "removed [endpoint which sounds like correct REST design], please use [this generic thing with SQL-like GETs]"... Several of them.
And there was also this sentence which said that the API is not restful, "it's REST-like". <facepalm>
If it was a bad attempt at REST API, I would let it go. But this sentence clearly showed they knew they did everything wrong. And the changelog showed they didn't stop there, they were actively making it worse.1 -
Oh my, never was i triggered more. Of course i can only speak for my experience. I study software development as focus.
First off, the starting languages and or concepts you learn.
Why the fuck do they start with java and don't even really explain how instances actually work? Of course they don't. Because it would be way too fucken much for a semester to go over garbage collection, Instanciation of stuff, allocation in such an advanced system, etc..
How about starting with something not 50% managed by a vm?
Good ol' C. And now don't tell me thats a rough start. We all know about these subjects or exams where it's all about sorting people out. Who will be able to manage a whole bunch of shit or who should consider something else.
Yo dawg sick idea: how about sorting it via the will to achieve the skill of coding?
Nah but we make the exams around coding (by the fucking way done on paper, what the hell) such a fucking breeze, asking you how to convert hex do dec.
Meanwhile maths will make you cut yourself in a dark corner, after you nearly shot yourself because of some lame-ass business-subject.1 -
That feeling when you’re working on writing a program to take differently based numbers, parse the input character by character, and return the value in different bases (dec, binary, hex, etc), get stuck, ask your partner to take a look at it and their response is along the lines of “What are you even DOING?! That doesn’t even make sense.”3
-
A "safe" Ubuntu update decided to fuck with my AMD drivers and after rebooting, a nostalgic black emergency terminal greeted me with some cryptic message containing hex code as if any mortal user could make sense of it.
To add insult to injury, local mirrors don't have 18.04 which makes apt vomit errors during software installation.
How the hell does the most well known distro out there manage to have problems like that?6