[-] Zikeji@programming.dev 2 points 1 year ago

In getting mixed vibes. It feels like it's people with no relationship prospects (for whatever reason, and I can attest to this as one of them) who might tend toward the "2d girls > 3d girls" crowd getting a harsh reminder. That and the music.

[-] Zikeji@programming.dev 2 points 2 years ago

Every time I recall those episodes, and the pain, it gets easier to do, emotionally.

And theoretically I could just get it operated on - there have been improvements in the field. But the prospect of going under the knife is scary, especially in an area where one fuckup or miscalculation could lead to partial paralysis for life. Throw in a mix of abusive American healthcare and... Weekly therapy is more preferable.

[-] Zikeji@programming.dev 2 points 2 years ago

No. I've considered it though, but I'm a tad worried it won't make a difference considering the options I've seen probably don't result in 200lbs of force being applied.

[-] Zikeji@programming.dev 2 points 2 years ago

Dang, I did a Ctrl + F on used but should have considered that as an indicator lol.

A couple weeks after getting it I took it on a 1800 mile road trip. The one I got is a '22 Chevy Bolt EUV, the DC fast charge tech is slower than newer stuff and even older Tesla stuff (caps out at 50KW), but honestly that wasn't that noticeable except toward the end when I started getting impatient. ABRP (A Better Route Planner) and the NACS adapter were definitely confidence boosters.

[-] Zikeji@programming.dev 2 points 2 years ago

I work full time at a computer. I have two jobs, so I put in 68 hours a week (second is 28 hours a week, no overlap).

I have no issues with eye fatigue best I can tell, that or I've just gotten so used to it. I will note I do have the blue light filter on my glasses lenses my optician recommended.

[-] Zikeji@programming.dev 2 points 2 years ago

Personally, the meaning of life is the one hard coded into nature. Survive and reproduce.

What makes us "sentient" is that we can ignore that and choose our own, or none at all.

[-] Zikeji@programming.dev 2 points 2 years ago

You're right. And my library aversion definitely made it harder. I think the day I learned the most was day 19, the towel one. Seemed simple at first but I just couldn't wrap my mind around it, looked at a few solutions and one of the dynamic programming one solutions just blew my mind. Took me an hour or so to just wrap my head around it and then once I understood it I was able to write that abomination I posted from scratch (well, without needing to reference what I studied).

[-] Zikeji@programming.dev 2 points 2 years ago

Nice! Though I'm not sure if I belong on the leaderboard. There were a couple solutions I had to look up spoilers / inspiration for. My first year, next year I hope to manage it with no need to check things.

[-] Zikeji@programming.dev 2 points 2 years ago

Javascript

Spent 10 minutes debugging my solution until I reread and found out they wanted the number of keys that fit, not the ones that overlapped. Reading comprehension is not it tonight.

const [locks, keys] = require('fs').readFileSync(0, 'utf-8').split(/\r?\n\r?\n/g).filter(v => v.length > 0).map(s => s.split(/\r?\n/g).filter(v => v.length > 0)).reduce((acc, s) => {
    const lock = s[0].split('').every(v => v === '#');
    const schema = s.slice(1, -1);
    let rotated = [];
    for (let i = 0; i < schema[0].length; i += 1) {
        for (let j = 0; j < schema.length; j += 1) {
            if (!rotated[i]) rotated[i] = [];
            rotated[i].push(schema[j][i]);
        }
    }
    if (!lock) {
        rotated = rotated.map(v => v.reverse());
    }
    const pinHeights = [];
    for (const row of rotated) {
        const height = row.indexOf('.');
        pinHeights.push(height !== -1 ? height : 5);
    }
    if (lock) {
        acc[0].push(pinHeights);
    } else {
        acc[1].push(pinHeights);
    }
    return acc;
}, [[],[]]);

let fits = 0;
for (const lock of locks) {
    for (const key of keys) {
        let overlapped = false;
        for (let i = 0; i < lock.length; i += 1) {
            if ((lock[i] + key[i]) > 5) {
                overlapped = true;
            }
        }
        if (!overlapped) {
            fits += 1;
        }
    }
}

console.log('Part One', fits);
[-] Zikeji@programming.dev 2 points 2 years ago

I had it but typo'd top right and apparently didn't notice, as I thought it was invalid, so I ruled the answer out and put the wrong one.

[-] Zikeji@programming.dev 2 points 3 years ago

Wow, thanks - your response offers quite a bit of fresh perspectives and insight I hadn't considered. Yes, my main pain point was my ability to work on a team - I have done so but not at scale and mostly in the micro-managing kind of way. But I've been letting that impact my motivation by a good deal.

I also hadn't realized being able to convert layman input into usable output was a valuable skill for larger companies, assuming they'd have project managers to handle that. I wonder how difficult it would be to take on a more managerial role - that has been another pain point, I find I get burnt out on large projects fairly fast, but that's usually me doing all of the heavy lifting.

Thanks for the feedback, I appreciate it. I think I'll try and revise my resume some and start looking with some fresh perspective.

[-] Zikeji@programming.dev 2 points 3 years ago

Alternatively you could replace the entire assembly with a comparable one.

view more: ‹ prev next ›

Zikeji

0 post score
0 comment score
joined 3 years ago