Threads for kache

  1. 2

    Studying like a madman for my upcoming onsites while putting in a solid 9 hours for my current company. Timed my interviews to be done when the Ontario lockdown ends. Nothing better to do than grind through leetcode problems, system design, and work until then I figured.

    1. 1

      I use it to script basic stuff. Network calls & text blob processing. Bash is too unwieldy to write

        1. 4

          Jakub Konka! Can’t you read!? ;^)

        1. 2

          The rate of change in consumer computing makes me feel physically sick. It’s so fast. It’s so tumultuous. It’s so hard to keep up, and adapt.

          1. 2

            Big release happening next Monday. So you know, hopefully sorting out all breaking changes before then.

            It’s been chill though.

            1. 18

              Does anyone actually enjoy coding interviews? I’ve only been on the receiving end. Between anxiety and social phobia and feeling threatened by strangers, I’m in fight-or-flight mode, with the rational part of my brain shutting down. What’s funny is that I can do public speaking quite effectively, because I can prepare for it. In other words, switch on the autopilot and let my programming take over (no pun intended).

              1. 13

                Yes! But, I am a white male with a lot of experience, so I am not worried about a lack of opportunity if I screw up.

                For me, the only prep I do for interviews is to read one or two good articles to get my mind in tech land, and go in cold, otherwise. I draw upon my experiences to recognize problems and have an honest conversation, share my thoughts, keep an open dialogue, ask questions, etc.

                I enjoy the random set of challenges being thrown at me. I have been passed on at some FAANG companies, but I have had a very successful and fulfilling career working with amazing people, on impactful products, so… for me this strategy has worked out very well! And, I’ve never come out of an interview without learning something new.

                1. 8

                  I like to interview semi-regularly – at least once every 1.5 years. I enjoy doing this for several reasons:

                  • It’s a low-risk way for me to see what companies in my area really want to hire for. Lots of places in my area want .NET experience, so when I wanted to play around with a ML-esque language I picked F# so I can kill two birds with one stone.
                  • It’s a great way to build my network. I live in an area with perhaps a few dozen major tech companies, and by interviewing around I’ve met a lot of the hiring managers. I know who I’d like to work for and who to avoid. And I’ve received a few direct references this way as well.
                  • I’ve made the mistake before of waiting too long at a job that is starting to go bad. Interviewing often is a good motivator for me to leave.
                  • The fastest way to beat impostor syndrome and to worry about interviewing is to get a job offer ;)

                  But when I treat interviews like this, there’s zero stress for me: my interviews are just like yours, a nice conversation, open dialogue about problems I’ve solved and problems the business faces, and generally easy and comfortable.

                  E: Because apg pointed it out, and I think it matters: I definitely have the same privilege he does, which changes my perspective, and when I’m on the other side of the table and evaluating candidates I consistently try to make that count less. One tip I got: I often get to review resumes to decide who to ask for a phone screen, and I’ve asked the internal recruiters I work with to send me resumes with no identifying information. I don’t know how it changes my recommendations, but it’s one more avenue that keeps any implicit bias from slipping in, so I suspect it’s worthwhile.

                  1. 3

                    I don’t do biographical interviews anymore, and so I don’t even look at the person’s resume at all, until after I’ve submitted my evaluation. The interview feedback my company uses is based on our principles and each interview attempts to evaluate the candidate against a set of them. I’ve not been here long enough to have strong opinions on it yet. So far, I’ve enjoyed the attempts the framework makes to be unbiased, and feel that decisions have been fairly obvious as a result.

                    The interview I’ve been doing is a systems design thing, so technical, but not coding.

                    1. 1

                      I’ve been trying to steer the ship away from the “resume -> phone screen -> broader phone screen -> in person” pipeline for a while, but it is fairly ingrained.

                      The interview feedback my company uses is based on our principles and each interview attempts to evaluate the candidate against a set of them

                      Could you share some examples on this? I suspect I’m about to be on another round of interviews and am curious how this works.

                      1. 5

                        Principles – each of the interviews has a set of these that can be evaluated. Sometimes the interviews overlap in these principles, which is fine. The interview feedback I fill out has specific questions related to the interview, with a big focus on the principles.

                  2. 6

                    I appreciate your perspective and willingness to point out that it’s considerably easier as a white male.

                    1. 4

                      I’m not convinced that being a white male helps, though that may depend where you are. At my place of work they have quotas with the effect that women get places more easily.

                      I enjoy coding interviews to a large extent but it is always a major relief when they’re over. And I’m never fully relaxed in any kind of interview. I do very extensive preparation. My mind tends to go blank when asked for examples from my past experience. And, I’m probably not very good at interviews because in 25 years I’ve only ever landed one job offer after an interview. That’s included two rejections from FAANG companies. So by my example, being a white male with lots of experience is not enough on its own. Only time I’ve changed jobs it was to a competitor where they already new me well from working with me for the same client - and that didn’t last long because my original company bought them.

                      1. 8

                        I’m not convinced that being a white male helps, though that may depend where you are. At my place of work they have quotas with the effect that women get places more easily.

                        Hmm. This reads to me as if you don’t believe that white male privilege exists, and instead of responding with ways in which I’ve benefited over the years, I’ll ask you to see if any of these 160 things happen to apply to your situation, especially the work place section? I get that the name of this website may sound pretty scary, but I hope you can look past any potential bias there and give it a fair read.

                        Fun story from my past: I once worked for a company that announced a new diversity and inclusion “council” which was literally comprised of 3-4 Director level folks, 2-3 senior managers, all of which were white and male. I wish I could say that I had trust in this initiative, but needles to say that it was adjusted after some of us raised very publicly that this seemed like a questionable choice.

                        1. 4

                          Try not to worry about whether or not the deck is stacked against you (some folks will insist it is, many will insist it isn’t, some will try to gaslight you about your own experiences either way); there are probably easier wins (resume polishing, practice being interviewed and general social anxiety defusing tricks, better negotiation techniques, and so forth) than worrying about things you can’t control. Good luck to you!

                          1. 3

                            It’s natural that loss of privilege can feel like oppression. I try to take comfort from knowing that many other peoples’ real oppression is really being diminished.

                        2. 4

                          I really enjoy coding interviews. I like high pressure/challenging scenarios, it’s a situation where preparedness pays off and I am a very social person. It’s also a great opportunity to learn more about how other people do their business, and how they interview people. Getting interviewed makes me a better interviewer.

                          1. 4

                            I don’t mind coding interviews as such, but I do mind the kind where you’re expected to spend a lot of time on them (especially the “homework” ones).

                            1. 3

                              Yes. I love coding interviews. This is an employee market, if I fail, l’ll interview somewhere else. Companies should be more worried about their false negative rate and the time they waste interviewing people, but they don’t… Their loss. To make a moneyball analogy: there are a lot of undervalued players on the market.

                              I’ve been on both sides. And I considerably prefer the interviewee side, I rarely learned something or been challenged/amazed on the interviewer side.

                              For context, I am as privileged as /u/apg, YMMV.

                              1. 2

                                Yes, I do. Rather, I like the effect they have on job hunting as a whole. I don’t think it’s ever been easier to increase your income than before since you can prove your skills in a few hours. Solve some problems, get a bump in comp or move over to another company with a different wlb. The true interview is the first 3 months working with people, not the first few hours spent locked in a single room with them.

                                1. 2

                                  There are people who enjoy, but this question may apply to any kind of interview. Most people don’t enjoy at all any type of interview. It does not matter if you are a software developer, a pilot or a teacher, it is not a situation we are used to be and when we are not able to show our best, we feel sad.

                                  On the other hand, I see a lot of complaints on the coding interview with regards to white board interview and questions. What I see on those complaints is that people actually do not propose a real solution to it, just pure complaints.

                                  I made more than 130+ interviews during the last 3 years as an interviewer. During my interviews I never focus on the code the person writes, but if I can work with the person. I look for values such as: the person makes questions, can we communicate properly, can we have work together on a programming challenge. What I find wrong is to ask something very specific like RBT and expect to implement and remember it: this is super specific and does not tell you if you will succeed in the position.

                                  For me interviewing its more about does this person match the team and knows how to work in team/pair.

                                  1. 1

                                    I don’t mind them as much now that I learned how to do them… its just a lot of effort. With that said… I’m also not that good at them. lol

                                    1. 1

                                      On the doing end, I basically have always said no to homework interviews (they’re usually open-ended but just really boring and seem time consuming). An exception has been one place that had interesting questions (sort of “Advent of Code”-style stuff, where it’s not algorithmic prowess, more just a bit of elbow grease and a fun result). For face-to-face stuff, it’s been usually pretty awful. The worst was doing a really simple algorithm problem on a board, and then having the interviewer try to press me on index math (my original solution involved some zipping and stuff and the guy was like “let’s stick to C-ish semantics”). Very frustrating stuff. I also messed up a “string reversal” exercise through my own fault (it was easy in theory!) I feel like it’s a good test of “can you solve advent of code stuff fast”.

                                      On the giving end, we have a vertical slice of a django application that we use for “full-stack”/backend roles. I think it’s been very effective. People pass with flying colors or fail entirely (we really try to make people pass because of all the stress etc involved, and try to reassure people that we are really not trying to ding anyone). And we try to have a lot of varied angles, so people can show off what they know. Again, we are trying to make people pass. Seeing people succeed is extremely gratifying and I’ve learned some stuff from watching people do it.

                                      We aren’t doing fancy algo stuff so we don’t talk about fancy algo stuff (unless candidate brings it up and it’s a fun conversation). We are a CRUD-y webapp with a bunch of legacy code, so we test CRUD-y webapp skills on an unknown codebase.

                                    1. 0

                                      Can we just rename bitcoin to murdercoin already? Here’s Tim May from the 90s, telling us what cryptocurrency will be used for in The Cyphernomicon:

                                      begin quote
                                      

                                      16.10.4. Will I be sad if anonymous methods allow untraceable markets for assassinations? It depends. In many cases, people deserve death–those who have escaped justice, those who have broken solemn commitments, etc. Gun grabbing politicians, for example should be killed out of hand. Anonymous rodent removal services will be a tool of liberty. The BATF agents who murdered Randy Weaver’s wife and son should be shot. If the courts won’t do it, a market for hits will do it.

                                      • (Imagine for a moment an “anonymous fund” to collect the money for such a hit. Interesting possibilities.)

                                      • “Crypto Star Chambers,” or what might be called “digilantes,” may be formed on-line, and untraceably, to mete out justice to those let off on technicalities. Not altogether a bad thing.

                                        end quote

                                      Technology is not value neutral, and the values encoded in this one are a love of death and destruction, rather than a love of life and creation.

                                      Also note the antidemocratic impulses of the anarcho-capitalist in that quote.

                                      1. 3

                                        That would be monero, wouldn’t it? Bitcoin is difficult to anonymize

                                        1. 1

                                          I think bitcoin is easy to use anonymously if you use a laundry.

                                      1. 6

                                        This was a great podcast. It really opened my eyes to the environment in the early days of tech, pre and during dot com boom. Crazy to think that my parents were part of it.

                                        1. 3

                                          I want to do and read so much stuff, but eventually will do too few since I need to work for work.

                                          1. 4

                                            I’ve been scheduling an hour at the end of my day for personal development. Since it’s often work related my manager/coworkers are happy that I do it, I recommend doing the same to others.

                                          1. 1

                                            Hell yeah. I haven’t booted into windows for a month!

                                            1. 4

                                              https://github.com/yacineMTB/isCoffeeGoodForYou

                                              Some code that censors pornographic images off of 4chan

                                              1. 2

                                                I’ve got a bunch of old machines, laptops and phones, that have been sitting around in my closet. I got debian up on one of my laptops, and plan to do the same with two phones. I’m then going to set up a kubernetes cluster on all of them to host my projects. That way, as I continue on living and shedding hardware I can recycle them and put them to use.

                                                1. 3

                                                  Just installed arch linux on the new PC I just built. So probably spending most of my time tinkering with that. Translation: tinkering with bspwm & trying to get xpad to work with steam :P

                                                  1. 2

                                                    I have a bunch of unused laptops just sitting around that I’m going to set up to run some web servers for me. I’m also going to properly set up some observation mechanisms on the smart devices on my network

                                                    1. 2

                                                      This points to an interesting reality that we’re going to see play out. As more small software service companies enter the ring and threaten bigger to reduce revenues of more established companies, there will be a monetary incentive for custom DoS attacks. Many of these software services provide management APIs, either for their dashboard or directly for their customers. You can create resources, read and delete resources in a poorly optimized system in a manner that could bring the whole thing down. And depending on how many people are dependent on that system, the damage you can cause could be widespread.

                                                      A bit cynical, but opportunities to make money are seldom ignored.

                                                      1. 7

                                                        I am getting an Ergodox delivered today, so hopefully get some time to try it out and map some keys.

                                                        Other than that, nothing! Probably take my daughter to the beach at some point.

                                                        1. 1

                                                          Congratulations! I’ve been using mine for 2 years now and I couldn’t go back to a normal keyboard for programming

                                                          1. 2

                                                            Thanks! I got it today and the learning curve is so steep. I’m a bit terrified tbh!

                                                            Did you change the default layout? I’m not sure I can handle how far away the button to switch to symbols is :/

                                                            1. 1

                                                              Oh yeah, I went through about 15 iterations to get to my optimal layout. I use two layers, one for mouse keys and one for symbols. The free thumb is my symbol layer switch. Right hand becomes arrow keys/home/end/pgup/pgdown and left hand becomes symbols.

                                                              1. 1

                                                                I’m having problems learning the symbol layer. I was hoping to avoid having to configure the keyboard layout, but it’s looking like I might have to.

                                                                1. 1

                                                                  The symbol layer becomes natural in a week or two. Write a bunch of C family code and it will get to be second nature fast. Printing out a reference sheet doesn’t hurt either.

                                                        1. 4

                                                          Continuing writing blog posts. I have one on load shedding that I’m going to finalize and publish today. Next up, I’m going to write about evaluating authorization policies, how to reduce it to a set evaluation problem, and an optimal data structure to use for that set evaluation given some properties. Inspired by google’s global authorization zanzibar paper.

                                                          I have a pretty strong feeling that I might be able to get something productized out of my research, offered as a service. Authorization is such a wide problem and there are still a lot of gaps in our industry

                                                          1. 2

                                                            Can we get a link to your blog? I’d love to read what you’ve written thus far.

                                                            1. 2

                                                              http://yacine.ca

                                                              I’m an amatuer, so don’t expect much

                                                              1. 2

                                                                Very cool I actually like the pink/green/blue pastel on black color scheme. I’m sure some designer’s head will explode but it’s very high contrast which is great for me :)

                                                                1. 2

                                                                  I copied it from my text editor theme / terminal theme. https://github.com/dracula

                                                                  Purely for ricing purposes :P

                                                          1. 2

                                                            What are the actual gains in performance? A benchmark would be really interesting.

                                                            1. 4

                                                              We ran benchmarks at my place of employment. The read time increases linearly in relation to the offset, and is problematic for some of our customers with large numbers of entities. We have a small minority of calls that take over 500ms due to large offsets, which is terrible. This ruins our p999 times. The benchmarks were run sequentially & randomly, doesn’t seem to affect the performance much (Postgres)

                                                              On the other hand, using a cursor is constant in relation to the offset.

                                                              Unfortunately we’re going to have to go through a deprecation process now to sort this out :(

                                                              1. 2

                                                                Here is more information on the topic including a reference to slides with benchmarks (see page 42 for the comparison).

                                                                1. 2

                                                                  I added some really simple comparison and a link to Markus’ article to a post.

                                                                  1. 1

                                                                    Great! Thank you :)

                                                                1. 7

                                                                  Continue personal learning on database internals. I started about 6 months ago and thought it would only take a few months. Now I’m realizing that there is so much I do not know. It’s incredible how much there is to learn! It’s been incredibly helpful for work, as I’ve been able to diagnose seemingly arcane issues with our postgres performance.

                                                                  I found a german professor who uploads youtube videos, and I’ve been using that to supplement my knowledge as I go through a book.

                                                                  1. 2

                                                                    Would you care to share a link to said professor? Sounds interesting!

                                                                      1. 1

                                                                        Thanks!

                                                                  1. 12

                                                                    Good article. As always, make sure you put everything on the table when it comes to your current employment when weighing the benefits and drawbacks. I left my last job because I was looking to become more “battle hardened”. It was a comfortable job, large corporation & was getting high performance reviews despite barely putting in any effort (seriously, I could finish a sprint in 2 days). Now my new job does pay more, but I’m putting in 9 hour days of focus & struggle. No more fucking around on IRC. My coworkers are high performing so I’ve got a high bar to match. Now I’m on call for something that can’t really go down. I’m stressed out. But I’m learning more. Way more. My resume is getting stacked. And I’m learning things that I would have never learned at my last position.

                                                                    When you’re early in your career, seek out uncomfortable positions. Especially early, because those investments compound over time as new opportunities. Don’t optimize for income, optimize for mentorship & difficult work. My friend the other day called it “Resume driven development”.

                                                                    And don’t forget, tech isn’t the only thing we have to learn

                                                                    1. 3

                                                                      My coworkers are high performing so I’ve got a high bar to match.

                                                                      That does sound compelling. If I could find such a position, would it be worth it to switch? Maybe. But I can find high performers to work with on my own terms outside my job, and a sleepy job lets me have more brain power left to do that kind of hobby work whereas a gruelling job might suck all my time and energy for someone who is not me.