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 - "5 easy steps"
-
(Written March 13th at 2am.)
This morning (yesterday), my computer decided not to boot again: it halts on "cannot find firmware rtl-whatever" every time. (it has booted just fine several times since removing the firmware.) I've had quite the ordeal today trying to fix it, and every freaking step along the way has thrown errors and/or required workarounds and a lot of research.
Let's make a list of everything that went wrong!
1) Live CD: 2yo had been playing with it, and lost it. Not easy to find, and super smudgy.
2) Unencrypt volume: Dolphin reports errors when decrypting the volume. Research reveals the Live CD doesn't incude the cryptsetup packages. First attempts at installing them mysteriously fail.
3) Break for Lunch: automatic powersaving features turned off the displays, and also killed my session.
4) Live CD redux: 25min phonecall from work! yay, more things added to my six-month backlog.
5) Mount encrypted volume: Dolphin doesn't know how, and neither do I. Research ensues. Missing LVM2 package; lvmetad connection failure ad nauseam; had to look up commands to unlock, clone, open, and mount encrypted Luks volume, and how to perform these actions on Debian instead of Ubuntu/Kali. This group of steps took four hours.
6) Chroot into mounted volume group: No DNS! Research reveals how to share the host's resolv with the chroot.
7) `# apt install firmware-realtek`: /boot/initrd.img does not exist. Cannot update.
8) Find and mount /boot, then reinstall firmware: Apt cannot write to its log (minor), listed three install warnings, and initially refused to write to /boot/initrd.img-[...]
9) Reboot!: Volume group not found. Cannot process volume group. Dropping to a shell! oh no..
(Not listed: much research, many repeated attempts with various changes.)
At this point it's been 9 hours. I'm exhausted and frustrated and running out of ideas, so I ask @perfectasshole for help.
He walks me through some debugging steps (most of which i've already done), and we both get frustrated because everything looks correct but isn't working.
10) Thirteenth coming of the Live CD: `update-initramfs -u` within chroot throws warnings about /etc/crypttab and fsck, but everything looks fine with both. Still won't boot. Editing grub config manually to use the new volume group name likewise produces no boots. Nothing is making sense.
11) Rename volume group: doubles -'s for whatever reason; Rebooting gives the same dreaded "dropping to a shell" result.
A huge thank-you to @perfectasshole for spending three hours fighting with this issue with me! I finally fixed it about half an hour after he went to bed.
After renaming the volume group to what it was originally, one of the three recovery modes managed to actually boot and load the volume. From there I was able to run `update-initramfs -u` from the system proper (which completed without issue) and was able to boot normally thereafter.
I've run updates and rebooted twice now.
After twelve+ hours... yay, I have my Debian back!
oof.rant nightmare luks i'm friends with grub and chroot now realtek realshit at least my computer works again :< initrd boot failure9 -
Data Engineering cycle of hell:
1) Receive an "beyond urgent" request for a "quick and easy" "one time only" data need.
2) Do it fast using spaghetti code and manual platforms and methods.
3) Go do something else for a time period, until receiving the same request again accompanied by some excuse about "why we need it again just this once"
4) Repeat step 3 until this "only once" process is required to prevent the sun from collapsing into a black hole
5) Repeat steps 1 to 4 until it is impossible to maintain the clusterfuck of hundreds of "quick and simple" processes
6) Require time for refactoring just as a formality, managers will NEVER try to be more efficient if it means that they cannot respond to the latest request (it is called "Panic-Driven Development" or "Crappy Diem" principle)
7) GTFO and let the company collapse onto the next Data Engineering Atlas who happens to wander under the clusterfuck. May his pain end quickly.2 -
!Rant
> Go to co-workers working machine
> install tmux and mps-youtube
> play very subtle sounds from console
> close console but keep session running with tmux
> watch coworker go insane because he can't detect the sound source
How to make your coworker go insane in 5 easy Steps3 -
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 -
We were a small startup with only 5-6 developers. I had to design the UI and develop most of the Android frontend, It was quite an easy and fun job for me because I don't get to see people rant about the design that needed to be implemented so, usually I design something that can be easily implemented.
We got 2 projects with a tight deadline and I took care of both project's design part and after completing the design I took the entire frontend of one project and rest of em started working with the other one. Usually we were a strong team and was able to deliver things real quick because we were expert in our intrested fields, I had a fast start in my project where the other project lagged a lot because of the desifn which was hard to implement by them, and the frontend was bo where near to get completed by the deadline and I couldn't help them out because it was all messed up shit handling both projects together.
Finally we were in a situation where none of our project are ready and the deadline was about to hit within a week, so we halted the other project and asked them to join me to complete the project am Working on, I had built most of the Android part and these fellows had a hard time figuring out stuff I made up (yeah, documentation was shit while you go agile), and finally things messed up and I had to work 2 continuous day and night without any sleep just to get the app ready 10 minutes before the official proto presentation.
The best part is I couldn't even get up from my chair and had a headache, fainted instantly when I took a few steps, but the product launch went good.
We fucked uo the code and both the projects just because we weren't available for each other considering the size of the team. Anyway we completed the project but It was a huge failure for us being first time to manage a startup.
Learned a lot of lessons,
Always make a team with people who are good at each of the aspect of development and never divide it to get shit done faster. -
PM comes into my office: "Hey, if <client> asks about his edits, just tell him they're scheduled for this week."
me: "I thought they were scheduled for this week, I thought that you were currently in a meeting to get final specs so you could tell me what needed changed."
PM: "Yeah, he wants to take the plugin from 5 steps down to 3, we told him it wouldn't be a problem and we would have it done this week."
me: "Ok, there are limitations as far as what I can cut out of the process, his tag line when he started as a client was '5 easy steps' and I built something that did what he wanted in 5 steps. Changing things this late in the game is not simple, I'm talking a minimum 6 hours of work."
PM: "Well I tried to make sure that what he wanted was possible but I didn't have a developer in the meeting. It shouldn't change anything that much."
He ended up scheduling a meeting with me and the designer to go over the edits Thursday afternoon. So I will have the new specifications which I said would be a minimum 6 hours of work and I will be given ~10 hours in which to do it. I sure hope nothing unexpected pops up while I'm working on this.
I'm also the only developer this week (and technically speaking I'm junior) since our senior dev wrecked his car over the weekend and isn't planning on being in all week. I'm the only computer literate person in the office of 50 or so, which means that if there is any kind of tech issue I'm ripped away from my desk for 'emergency help'. I have two other sites to get ready for client approval meetings by Friday afternoon and if the clients approve I will be launching their sites that afternoon as well.
The sign on my door currently says "Error 500: unable to handle your request" I need something to throw at these people.4 -
An analytical essay basically requires university students to understand, study, interpret and critique a literary piece, a piece of artwork, a film, trouble or a movement. It can be something which incorporates van Gogh's starry night time, or Shakespeare's Romeo and Juliet.
The idea is to divide and dissect the artwork and figure out the primary factors, how they work on their very down and how do they arrive collectively to perform. In such essays, you shouldn't argue and make the reader accept as true with your factor of view, actually analyze the topic and allow the reader to see what you’re attempting to mention and why.
Comply with those steps to craft a thrilling analytical essay:
1-Find What You Are Interested In:
Look for the element that pursuits you the maximum. Is it a play, or a singular, a movie, or some hassle that is being faced through the society at big.
2-Narrow Your Recognition:
After you are easy about the relevant concept of your paper, you must decide the subject. Write on a topic which you are enthusiastic about because it will make the whole system fun and easy.
3-Enlarge a Thesis Assertion:
Retaining the topic in mind, craft a robust thesis declaration that states the foremost declare, idea and normal reason for the paper.
4-Look for Supporting Proof:
To back up your claim and arguments, do your research and accumulate supporting proof. You have to additionally insert contextual evidence from the textual content that you are reading.
5-Craft an Outline:
Divide the essay into precise sections – advent, body, and end.
6-Proofread & Edit:
Undergo your essay once and cast off all mistakes and typos.
In case you face any problem, in place of filing a poorly-written paper, it’s higher to ask for professional help. Get in contact with a reliable essay creator and ask them to help you together along with your [write my essay](https://www.writemyessay.help) requests.3