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 - "pixel 6"
-
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 -
Why is web development such a headache?
I'm writing a responsive wesbite from scratch. All goes perfect, even cross browser.
It all works, adapts to screen size etc. Nice! About to get this code into production.
Me: I'll test the iPhone 5 viewport size before I push the code...
Responsive Developer Tools:
FireFox: nu uh, there's a magic random 1px margin to every element on your page now, which you cannot find in your css or in the computed tab. It's magical.
Me: weird, what if I change the viewport size to the iPhone 6's dimensions?
Issue persists.
Me: hmm, what if I add or substract one fucking pixel from the viewport width or height?
FireFox: What 1px margin? Don't know what you're talking about ... There never was one...
Me: ok, weird (sets viewport size back to the iPhone 5 format for testing)
FireFox: I present to you: the magic random 1px margin.
I'm at a loss. I really am. Been clicking and unclicking almost every responsive part of my css I could find for this page and it just doesn't want to work persistently. And I swear to god that it worked a week ago in that exact viewport size. It's so frustrating.31 -
everytime i buy a new phone ,i feel this sense of extreme regret :(
i bought a moto g 5g phone last year in feb, it was so good . it didn't had any out of the world cameras or some funky stuff, but it gave a decent performance and i couldn't want any other phone.
In October my mom's phone started giving issues so i bought a realme phone for her that was half my phone's price. i couldn't spent any mor e because otherwise she wouldn't take it. she accepted the cheaper phone and within 4 days sue was cursing it. the phone had decent specs but would lag in certain apps like zoom, and won't run some call recorder apps. at the end i swapped my phone with mom's since i didn't cared about zoom or the recorder.
now this shit realme phone's memory has gone around 60% full of my stuff, and its showing its limitations. this shit auto relaunches insta after a few minutes of usage, probably because its runtime memory gets short( 4gb 128gb device gets memory shortages. nice). its video quality is shit and camera also takes rarely good pics.
the worst thing i like about smartphones today is how they over optimise the ui. this insta issue and auto call recorders not working is simply because of the realme skin running over the stock android. i had similar issues with a xiaomi device i bought for my dad sometime ago. (fortunately my dad is more medieval so that crap has not came back to me :'/ )
so overall i am buying a 3rd phone in 17 months.
This time it's Samsung f23 and am worried that it's also going to suck. i was this 🤏close to buying a pixel 6 or even an iphone coz i can afford them.
but the regret of buying such an expensive phone that will need replacement in 2 years made me rethink.
the only android os that have suited me the best is stock and as of now only 2 companies are making it : google and moto(* it's 100% aosp with 3 extra apps but they can't say that, so they also state that they are not stock os) . one plus is also a brand that i have heard makes a good os . but recently i also heard that they have completely scrapped their os and using oppo's softwares . plus the amount of tickets we get for notifications not working in oneplus, am sure their optimization is extremely aggressive.
so everything between a moderate price phone ( that will need a replacement in 2 years ) to a flagship felt unnecessary to me, so i went ahead with a Samsung's shit phone. f23 has almost same specs as moto but it's again a heavily customised os. i wanna waste my money on trying a custom os and declare it shitty.
most of my friends that use Samsung are fan of it but they are also not very techy so i guess it suits them well. i am the guy who first installs nova launcher in his device, so let's see what it brings on the table. from the 3rd person p.o.v, i felt its screen and camera images to he nice whenever i used their mobiles, so let's see what this brings to the table :(7 -
Don't call is ECMAScript 6 — call it JS 2015.
Don't call it iPhone 16 — call it iPhone 2024. Or Apple Phone 2024.
Don't call it Ubuntu 24.10 Oracular Oriole — call it Ubuntu 2024.
Don't call it WiFi 802.11 b/g/n/ac/ax — call it WiFi 1 gb/s.
Don't call it SDXC II 3 10 — call it SD 300 mb/s.
Don't call it USB 3.2 gen 2x2 — call it USB 20 gb/s.
Don't call it Google Pixel 6A — call it Google Phone 2022 Lite.
STOP. Giving. Bullshit. Names! Make it SIMPLER for once.28 -
Should've traded in my pixel 2 for the 5g during Black Friday..... Main phone is a rooted OnePlus 6... Which specs wise and without the bloat ware still beats Pixel aside from the camera...
Apparently it's now impossible to hide root.... Which means for day to day use, have to use an unrooted phone....10 -
Fucking Pixel 6.... Worst upgrade ever ...
Already the battery is crapping out.... As of last night, it maxes out at 72%....
What happened to adaptive charging that's supposed to make the battery last longer...
Should've kept my 4a 5g and returned this instead...8 -
Fuck this dieing pice of cheap chinese android crap. Sure it was anly 250 bucks, but holy hell... I could deal with the software side... Android 6 isn't the newest but eh...
But now the fucking hardware is failing too... To be more precise the buttons seam to randomly fire, which is really fucking annoying. Sometimes when both back and the other button fire the touch screen even joins the party of triggering touches in the right upper corner... Why the fuck ever.
Just ordered a pixel 3a, your days are counted fucking piece of trash!
Had to order the new one to a mailbox in germany though, as google doesn't ship them to switzerland (and the few retailers who import them charge like 130 bucks more, so paying the 5€ pickup fee will be a lot cheaper...)5 -
Ever since Google emailed me today telling me they accepted my trade in, the fingerprint scanner on my Pixel 6 stopped recognizing my finger(s)...1
-
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
As if that weren't enough, there's a beanshell interface to allow users to script the test system, but none of the users know Java well enough to feel confident writing interpreted Java scripts (and that's too close to JavaScript for my comfort). I once tried swapping this out for the Rhino JavaScript interpreter and got all the verbal support in the world but no developer time to design an API that'd work for all the departments.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2 -
Fucking Pixel Pro 6 still overheats when transcribing for too long.... What happens to the ML chip...3
-
My Pixel 6 Pro Review...
-i hate the on screen fingerprint scanner
-the camera seems no better than the 4a 5g... At least at 4x zoom.13 -
Fuck Google for only including a USB C to USB C cable with the Pixel 6...
...along a USB to USB C adapter
And then have to pay $25 for basically a.... Pixel 4a 5g charger.10 -
Just realized looking at my order history... I bought the Pixel 4a 5g I'm February.
And just finished switching to a Pixel 6 Pro....
So not even a year...16 -
The Verge: Google shows off AR glasses that might make a case for augmented reality.
See live translations... What a fckin joke...
The Live Translate and Transcribe features on the Pixel 6 and along with all the other features... Are a joke too....
Can only translate between English, French, Deutsch, Italian and Japanese...
https://theverge.com/2022/5/... -
has anyone used latest google pixel phones (5/6/7 etc) ? are there camera/video quality comparable to iPhone?
i am thinking of buying a new phone. i recently saw the various live photo/cinimetic/other features of iPhone's camera, and i became an instant fan of it. i personally am not a big photogenic person, but the quality of apple is worth on trips and events.
but i everything else about ios shitty and miles behind android. so want some good camera phone in android.
PS : no bloatware phones like xiaomi or oppo9 -
So I have been using my HP laptop(r007tx) for over two years and a half now. Here are it's top 'features'
1. A dead pixel on the screen. Slowly it started to grow every time I close and open the lap and eventually it grew to a horizontal line across the screen. Luckily it was under warranty.
2. Volume is very low. Can't be fixed.
3. Broken hinges. Never had it faced any impact.
4. WiFi adapter stopped working after an year. Bought an external adapter.
5. Monitor frame started to come off.
6. Battery is shit. Explained it a bit detail here.
https://devrant.io/rants/655618/...
7. DVD player doesn't work.
Most of the problems came just after one year. If you are thinking to buy HP laptop do pay for extended warranty.
But still successfully running it because of the software that every dev has developed.
Kudos! -
Hopefully the Google cover I ordered if worth it and won't be slippery like the Pixel 6 Pro's edges...
Weather was nice outside though cold but figured would take it out for some real world testing, vs the 4a 5g it's replacing...
Well taking it out of my pocket and holding it was scary cuz it's slippery as fuck... The cold probably made it worse.
On the other hand the 4a was fine since it has a TPU case...
I think though I'm gonna get a tempered glass screen protector after all...
Picture is from 4a3 -
Today I got the case for my new Pixel phone... so switched from my Oneplus 6.
It's the first one I'm not going to root...
It's also only my 4th phone now that I think of it...
Google Galaxy, Oneplus 1, OP 6, pixel 4a 5g... -
!rant
So I decided to collab with a website's maker (who i wont name here) to create something like r/place. (not an exact copy.)
I decided to start by learning their API, and customizing the server later.
I asked the guy for some help, and HOLY SHIT.
Let's start off by this: I had to request a chunk. The response data was in binary. 4 bits meant 1 pixel, so right away, I had to deal with that in my code.
No problem, just decided to use C# instead of JS. (see https://www.devrant.io/rants/547013)
I was finally done after a couple of mental breakdowns, and decided to implement updates.
I needed to use webhooks, and that was completely fine. But when I got "C1FFFF0000CA06" as response (in hex), I seeked some help.
C1 is the operation type: it means that a pixel was updated.
FFFF and 0000 were the chunk coordinates. But remeber: it's a signed integer. Guess what, I had to use Two's compliment. I decided to be a lazy asshole and only check for "00000000" because I was only displaying chunk 0,0.
CA06: This is a weird one. It's 2 bytes, and CA0 contains the X and Y coordinate of the pixel (in the chunk), and 6 contains the new color of the pixel.
I was sent the following code to work with 0xCA06:
color = 0xF & buffer
x = buffer >> 10
y = (buffer >> 4) & 0x3F
So I tried to do it, and it didn't work. I'm not blaming the developer of the server (original dev is reddit) because maybe I screwed up, but which guy will have a night of frustration and debugging?
Me.
P.S.: Dev, if you see this, I'm sorry. This API is way too complicated. I know we need to save bandwith and stuff, but damn.1 -
I hate on screen finger print scanners...
I've had to take 3 prints of my thumbs... And unlocking is just slower... Especially since the screen first needs to turn on....
I bet for Pixel 7, they going to undo this...4 -
Anyone find a Pixel 6 Pro tempered glass protector?
I can find films... Ordered this for now. https://amazon.com/dp/B09JYJ278J/...
. Is it because of the curved edges...
Or the on screen finger print scanner...
Only found thin films.... No it's how good those are... -
I'm now confused... Supposedly Pixel 6 was supposed to have a huge camera upgrade to 50MP (and latest Samsung has 108MP).
But in the device info and camera apps the highest quality is still ~12MP.
So what exactly is different then, how is it better than before?4 -
With the Tensor chip in Pixel 6 and all the Android features it unlocks, feels like Google just became a Monopoly since no other Android phone makers can compete?10