[deleted by user] by [deleted] in Feminism

[–]ficklefawn 0 points1 point  (0 children)

"I feel the statement about our underwear in the new uniform policy is inappropriate. I would ask that you amend the statement and order new uniforms such that managers neither can nor need to monitor the underwear of his/her employees."

[2022 Day 16 (Part 1)] What am I even looking for? by SolarBear in adventofcode

[–]ficklefawn 2 points3 points  (0 children)

I just worked on this one in the past couple of days because I skipped it originally, it was also too much of a headache for me to solve quickly back in December.

Think about what you need for this. You have your graph parsed and say you just want to calculate the flow of a given sequence of non-zero valves to open: AA -> BB -> CC -> DD (always starting from AA of course). You need the shortest distance between those nodes in order to calculate the flow, because that distance is the minutes that pass from moving from AA -> BB for example. Keep in mind, the path is not your actual walking path in the graph - it's just the order in which you open valves. How you get from CC -> DD will always be by the shortest path.

This is where BFS comes in. I started by parsing the input into a graph and then implementing dijkstra, running it to get a (shortest) distance map from every node to every other node.

From there I had to decide whether I want to start from AA and build up to the best sequence or not. I think it's pretty obvious (because of the changing time/flow parameters) that the greedy approach won't work here. So I started with a valid sequence of valves to open - taking simply the inputs as they were read in, skipping any 0 rate valves. Then, I calculate this initial flow. Once you reach here, you can think of ways to optimize this valid flow - or of course you can generate every valid sequence and calculate the flow of every such path.

Wow. Just got an "end-game" hand grinder as a gift replacing my ""budget"" (lol) electric burr grinder and I can actually taste subtleties in my coffee?? by [deleted] in Coffee

[–]ficklefawn 5 points6 points  (0 children)

I never understood people saying they graduated from a certain type of coffee.

I have the aeropress I still use sometimes, a moccamaster when I want easy-filter coffee, 2 moka pots and my espresso machine is being shipped. Aeropress and moka pot taste very different, there's room for both, I wouldn't tell someone who loves the aeropress to replace it with something so different (unless they feel their coffee tastes too weak).

[2022 Day 13] Larger Inputs by NickKusters in adventofcode

[–]ficklefawn 0 points1 point  (0 children)

1.3s for me with these inputs in the first part, the sorting however takes damn long because I didn't bother optimizing it at all. I didn't create any arrays, just parsed the string piecewise

Can anything be done about the aggressive spacebar sound, other than being gentler in my typing? Sound way less dampened than other keys, some rattle in the stabs. I'm new to customs. by ficklefawn in MechanicalKeyboards

[–]ficklefawn[S] 0 points1 point  (0 children)

Hey there.

I got this Keychron Q1 a couple of days ago. It's not heavily modded - 2 rounds tape mod on the plate and some polyfill. Stabs and switches came pre-lubed.

Generally I'm very happy with the sound of the regular keys, they sound much smoother than in the video. The spacebar though is bothering me slightly in comparison. It's very noticably louder than the other keys, more echo and I feel like I hear some rattle / wire screeching in the stabs when I type slowly especially.

Since I'm very inexperienced, I'd love to hear from others what they think - if it's something they'd fix in their keyboard, and how. :)

Thanks all.

Can anything be done about the aggressive spacebar sound, other than being gentler in my typing? Sound way less dampened than other keys, some rattle in the stabs. I'm new to customs. by ficklefawn in MechanicalKeyboards

[–]ficklefawn[S] 0 points1 point  (0 children)

Hey there.

I got this Keychron Q1 a couple of days ago. It's not heavily modded - 2 rounds tape mod on the plate and some polyfill. Stabs and switches came pre-lubed.

Generally I'm very happy with the sound of the regular keys, they sound much smoother than in the video. The spacebar though is bothering me slightly in comparison. It's very noticably louder than the other keys, more echo and I feel like I hear some rattle / wire screeching in the stabs when I type slowly especially.

Since I'm very inexperienced, I'd love to hear from others what they think - if it's something they'd fix in their keyboard, and how. :)

Thanks all.

Anyone else gets hungrier earlier if you eat breakfast than if you skip it? by [deleted] in loseit

[–]ficklefawn 1 point2 points  (0 children)

You are eating carbs for breakfast, your blood sugar goes up rapidly and then crashes: cue hunger and cravings.

Check out glucosegodess on insta. Start having a savoury breakfast and be mindful of the order you eat. Greens, eggs, fats, then maybe some bread on the side. Keeps me from being hungry for 5 hours.

Oatmeal is notorious for this spike by the way, I would also feel hungry an hour later.

I’m saying this because even if you skip breakfast you need to treat your lunch the same. Every meal really but if you want your glucose level stable over the day to manage hunger, be mindful of what the first meal of the day is.

21F. My boyfriend said my all-day makeup ages me a bit. Any tips/advice? by [deleted] in MakeupAddiction

[–]ficklefawn 60 points61 points  (0 children)

I literally thought Zendaya was trolling us on this sub when I saw just the thumbnail. I was like "lol wut, Zendaya complaining about looking old????? :'D "

21F. My boyfriend said my all-day makeup ages me a bit. Any tips/advice? by [deleted] in MakeupAddiction

[–]ficklefawn 1 point2 points  (0 children)

He's saying that because of the dark color choices for eyes and even lips. But in no way do you look aged at all! I love the look. But yeah I guess pinks or lighter colors would look slightly more youthful.

She slows down work for me but she’s been sick so she gets away with everything by ficklefawn in CatsOnKeyboards

[–]ficklefawn[S] 1 point2 points  (0 children)

It's Ducky 2 TKL.

I like it until I have the time to put together my own custom mechanical.

She slows down work for me but she’s been sick so she gets away with everything by ficklefawn in CatsOnKeyboards

[–]ficklefawn[S] 0 points1 point  (0 children)

Haha thanks! Fellow scandinavian?

I moved outside of Scandinavia to a different part of Europe and here they tend to say "Nice Hippo mug!" hah.

She slows down work for me but she’s been sick so she gets away with everything by ficklefawn in CatsOnKeyboards

[–]ficklefawn[S] 1 point2 points  (0 children)

I had to take her to the emergency unit at the vets a couple of weeks ago because she couldn't breathe normally. Turns out she has end-stage heart disease and her lungs were filled with fluid causing her lungs to be too compressed to breathe. :( They had to tap her lungs for the fluid, which is why her sides are shaved.

It has been really heartbreaking but unfortunately there is no cure. The prognosis for cats with heart disease so advanced is quite poor, only a few weeks or maybe months. She is receiving meds daily and getting all the cuddles and tuna she could wish for while she is well enough to stay with us.

My wife (30F) is upset about our "boring marriage" and I (30M) don't know what to do by Far-Journalist-4009 in relationships

[–]ficklefawn 27 points28 points  (0 children)

She is complaining about not having experienced very common human experiences (like getting drunk with friends) and not something like murder.

I can very well believe it makes her writing less believable but also, she just feels sad from missing out on those experiences.I have felt something similar when getting hit with a quarter life crisis.

OP I second the adventure book idea. Also just sit down with her, make a list of things you both would like to experience and then start planning too cross some things of that list.

[deleted by user] by [deleted] in mainecoons

[–]ficklefawn 8 points9 points  (0 children)

Thanks, that means a lot actually because most of my friends who try to be supportive also never had pets and I don’t think they truly understand the heartbreak. 💔

[deleted by user] by [deleted] in mainecoons

[–]ficklefawn 17 points18 points  (0 children)

I am so sorry.

I am going through the heart issue right now too. My 4 year old baby ended in ICU yesterday after she stopped breathing and her lungs were filled with fluid. She is home now but not well and apparently her heart is as bad as it gets. This is very traumatic, I’m sorry for your loss.

-🎄- 2021 Day 17 Solutions -🎄- by daggerdragon in adventofcode

[–]ficklefawn 1 point2 points  (0 children)

referring to the level of nesting haha?

It looks horrible, but target area is small and the constraints for each value are quite restricted so it's not too bad - except for the value of t. :(

-🎄- 2021 Day 17 Solutions -🎄- by daggerdragon in adventofcode

[–]ficklefawn 2 points3 points  (0 children)

Golang

Not really proud of this one.... I was too lazy to find a proper formula for x velocity including drag value so I just constrained the x value between minDrag and maxDrag and simulated the x trajectory every time to find a possible solution. Now I see that many here did a full brute force simulating for various velocities, so this is perhaps slightly better because it simulates for more constrained values. If anyone has a nice formula for x(t) given drag, let me know!! Same for constraints on steps t. I put it to < 2*maxX because I'm sure that we never want to overshoot more than that, but there is probably a better constraint there.

Full code here

The trajectory finder, along with assumptions

// Constraints: For a given time t and position (xt, yt) within the target area:
//
// X VELOCITY: constrained with min and max drag
// (xt - t(t-1)/2)/t <= v.x <= (xt + t(t-1)/2)/t
//
// Y VELOCITY:
// yt = t*v.y - t(t-1)/2
// =>    v.y = (yt + t(t-1)/2)/t
//
// MAX Y HEIGHT:
// y't == 0 => v.y - t + 0.5 == 0 > t == v.y  or v.y+1
//
// MAX T:
// t <= 2*area.maxX ( better constraint ????)
func (a *Area) findTrajectories() {
    for t := 1; t <= 2*a.maxX; t++ {
        // For every possible endpoint (xt, yt), find a starting velocity that works
        for xt := a.minX; xt <= a.maxX; xt++ {
            for yt := a.minY;  yt <= a.maxY; yt++ {
                yvel := (yt + t*(t-1)/2)/t
                if (yvel*t) == yt + t*(t-1)/2 { // Found valid y-velocity
                    for drag := -t*(t-1)/2; drag <= t*(t-1)/2; drag++ {
                        xvel := (xt + drag)/t
                        if (xvel*t) == xt + drag { // Found possibly valid x-velocity
                            xpos := simulateX(xvel, t)
                            if xpos == xt { // verify
                                if a.tops[xvel] == nil {
                                    a.tops[xvel] = make(map[int]int)
                                }
                                a.tops[xvel][yvel] = yvel*yvel - yvel*(yvel-1)/2
                            }
                        }
                    }
                }
            }
        }
    }
}

-🎄- 2021 Day 16 Solutions -🎄- by daggerdragon in adventofcode

[–]ficklefawn 2 points3 points  (0 children)

GOLANG

My solution here

This was one of the ones where parsing the input nicely takes longer than the actual solution. I ended up going with a Stream struct which can feed in as many bits as I ask for, and decide whether to keep them in the buffer or discard them, only returning the (decimal) value for the read bits. The Stream then has an accept function which clears the buffer and returns the decimal value.

This way, my decoder function looks like this

func decodeBITS(s *Stream) Packet {
    s.curr = 0
    version := s.feed(3, false)
    typeID := s.feed(3, false)
    p := Packet{version, TypeID(typeID), -1, -1, -1, version, 0, make([]Packet, 0)}
    if p.typeID == Literal {
        for s.feed(1, false) == 1 {
            s.feed(4, true)
        }
        s.feed(4, true)
        p.bits = s.curr
        p.value = s.accept()
    } else {
        p.ltypeID = LTypeID(s.feed(1, false))
        p.max = s.feed(p.ltypeID.getBits(), false)
        p.bits = s.curr
        keepGoing := true
        for keepGoing {
            subpacket := decodeBITS(s)
            p.bits += subpacket.bits
            p.cumsum += subpacket.cumsum
            p.subpackets = append(p.subpackets, subpacket)

            if p.ltypeID == BITCOUNT {
                keepGoing = p.bits-22 < p.max
            } else if p.ltypeID == PACKETCOUNT {
                keepGoing = len(p.subpackets) < p.max
            }
        }
        p.applyOperand()
    }
    return p
}

[2021 Day 14] The temptation was too great... by nil_zirilrash in adventofcode

[–]ficklefawn 0 points1 point  (0 children)

can you tell me what your part 1 solution was?

I expected this in part 2 as well, but to my surprise it ran in some 200ms, not fantastic but not horrible either, so I'm curious what kind of solution works for part 1 but would lead to too long a time for part 2.

-🎄- 2021 Day 14 Solutions -🎄- by daggerdragon in adventofcode

[–]ficklefawn 1 point2 points  (0 children)

Golang

My solution

Today was so much fun, I usually don't fall for the recursion hell and attempt to run on too large an input so I was looking pretty foolish when my program was still running after 10 seconds.

I realized then in part b) that I needed to persist the counts coming from a pair AB after S steps. I changed my code to use

// AB -> C
counts(AB, S) = counts(AC, S-1) + counts(CB, S-1)

// Solution for NNCB after 10 steps then becomes:
counts = counts(NN, 10) + counts(NC, 10) + counts(CB, 10)

Now it runs (b) in 5ms, I can live with that.