Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "well maybe just a bit"
meeting with PM, 1:1
me: well, to be honest, i think there is also some room for improvement concerning communication in our meetings. the discussion culture in our meetings could be more open.
PM: what do you mean? i don't know what you're talking about.
me: well, i feel sometimes that in meetings, you overly challenge what colleagues suggest. on the other hand, it's really hard to argue against what you are saying. what you say is often like engraved into stone and it is hard to argue against that, but the next day you might have changed your mind again and then things are different, but engraved into stone again.
PM: hmm. can you give me some more concrete example?
me: well... (gives some examples) it's just that it would be nice if you would listen more to what people say in meetings and try to understand what they actually mean or want to say, instead of saying "nah, that's not how we do it" or "no, that's wrong"... just.. well, have more trust in our skills, try to find out what people mean before you discard what you think they said... a bit more of appreciation and openness.
PM: oh, i can tell you, i'm the MOST open manager in this whole company.
PM: but anyway, i will think about it.
me: well... okay. also i see there are some challenges within our team concerning intercultural communication. i mean, communication between Germans and Indians is in general a bit problematic in our company, and maybe it is a good idea to have some workshop together concerning intercultural competences... i think we could benefit from that. (what i actually meant is, these problems exist, but currently i see them more on his side or between him and Indian colleagues, because e.g. he tends to harshly criticize people in daily standups, and if we "direct" Germans already feel affronted by his behavior, how must Indian guys feel about it? in fact, 2 Indian devs already left the project. also communication doesn't really work well, in a way that there's often a great mismatch between his expectations and what Indian devs actually think they have to do)
PM: i can tell you, i really understand our Indian colleagues, i really know how to work with them. also, their working style has greatly improved since project start. (which doesn't feel quite right after he totally ripped apart the work of one guy in the last sprint review meeting)
of course, that's not the whole conversation, but it's kind of a symptomatic example for the whole situation...11
Two big moments today:
1. Holy hell, how did I ever get on without a proper debugger? Was debugging some old code by eye (following along and keeping track mentally, of what the variables should be and what each step did). That didn't work because the code isn't intuitive. Tried the print() method, old reliable as it were. Kinda worked but didn't give me enough fine-grain control.
Bit the bullet and installed Wing IDE for python. And bam, it hit me. How did I ever live without step-through, and breakpoints before now?
2. Remember that non-sieve prime generator I wrote a while back? (well maybe some of you do). The one that generated quasi lucas carmichael (QLC) numbers? Well thats what I managed to debug. I figured out why it wasn't working. Last time I released it, I included two core methods, genprimes() and nextPrime(). The first generates a list of primes accurately, up to some n, and only needs a small handful of QLC numbers filtered out after the fact (because the set of primes generated and the set of QLC numbers overlap. Well I think they call it an embedding, as in QLC is included in the series generated by genprimes, but not the converse, but I digress).
nextPrime() was supposed to take any arbitrary n above zero, and accurately return the nearest prime number above the argument. But for some reason when it started, it would return 2,3,5,6...but genprimes() would work fine for some reason.
So genprimes loops over an index, i, and tests it for primality. It begins by entering the loop, and doing "result = gffi(i)".
This calls into something a function that runs four tests on the argument passed to it. I won't go into detail here about what those are because I don't even remember how I came up with them (I'll make a separate post when the code is fully fixed).
If the number fails any of these tests then gffi would just return the value of i that was passed to it, unaltered. Otherwise, if it did pass all of them, it would return i+1.
And once back in genPrimes() we would check if the variable 'result' was greater than the loop index. And if it was, then it was either prime (comparatively plentiful) or a QLC number (comparatively rare)--these two types and no others.
nextPrime() was only taking n, and didn't have this index to compare to, so the prior steps in genprimes were acting as a filter that nextPrime() didn't have, while internally gffi() was returning not only primes, and QLCs, but also plenty of composite numbers.
Now *why* that last step in genPrimes() was filtering out all the composites, idk.
But now that I understand whats going on I can fix it and hypothetically it should be possible to enter a positive n of any size, and without additional primality checks (such as is done with sieves, where you have to check off multiples of n), get the nearest prime numbers. Of course I'm not familiar enough with prime number generation to know if thats an achievement or worthwhile mentioning, so if anyone *is* familiar, and how something like that holds up compared to other linear generators (O(n)?), I'd be interested to hear about it.
I also am working on filtering out the intersection of the sets (QLC numbers), which I'm pretty sure I figured out how to incorporate into the prime generator itself.
I also think it may be possible to generator primes even faster, using the carmichael numbers or related set--or even derive a function that maps one set of upper-and-lower bounds around a semiprime, and map those same bounds to carmichael numbers that act as the upper and lower bound numbers on the factors of a semiprime.
Meanwhile I'm also looking into testing the prime generator on a larger set of numbers (to make sure it doesn't fail at large values of n) and so I'm looking for more computing power if anyone has it on hand, or is willing to test it at sufficiently large bit lengths (512, 1024, etc).
Lastly, the earlier work I posted (linked below), I realized could be applied with ECM to greatly reduce the smallest factor of a large number.
If ECM, being one of the best methods available, only handles 50-60 digit numbers, & your factors are 70+ digits, then being able to transform your semiprime product into another product tree thats non-semiprime, with factors that ARE in range of ECM, and which *does* contain either of the original factors, means products that *were not* formally factorable by ECM, *could* be now.
That wouldn't have been possible though withput enormous help from many others such as hitko who took the time to explain the solution was a form of modular exponentiation, Fast-Nop who contributed on other threads, Voxera who did as well, and support from Scor in particular, and many others.
Thank you all. And more to come.
Links mentioned (because DR wouldn't accept them as they were):
Hello there. I'm a junior frontend developer, and I'm starting to think that IT is not for me.
Okay, first things first. This story/rant might be a bit longer than I previously thought, but whatever... :p
I started working in frontend about a year ago.
Now the problem is, that I'm absolutely rubbish with coding, and I'm starting to think that it might have something to do with my personality. While I loved (and still do) doing HTML and CSS, and maybe some JS as well, when it comes to working with frameworks, build tools, TypeScript, and all this *****, I just want to stand up and carefully smash the keyboard through the display. I can't stand the constant cryptic error messages and gazillions of config files, and don't even get me started with TypeScript. This is not how I imagined what programming is like - I know it's my fault, I was a bit naive. I still love making simpler things in HTML/CSS/JS and playing around with Linux, but I lost my will to do any of these even in my spare time. I don't have the patience to feel incompetent all the time with the promise that in a few years, doing this rubbish 8 hours a day, I will get better at it. Some colleagues even talked about it being like Lego and getting into the "flow": yeah... not in my case. There's nothing creative in this, it all feels like a factory line where I have to do the line work but also configure the machines as well...
The funny thing is, I made about the same amount of money working in less prestigious jobs. Sure I didn't like any of them, they were tiring and boring as hell, but at least they were not stressful and frustrating. I'm seriously considering moving to Western Europe and working as a bicycle delivery guy in the Alps, a postman, a waiter, or literally anything else that has something to do with the real world, and leave programming to the actual software engineers (who I deeply respect by the way).
I'll probably add more to this, but I need to go now and meditate a bit. :D11
FML or how I made myself unhireable
TL;DR: Working as a QA.
New job sucked.
Left after three months.
Got laid off from the next one after 4 months (not my fault).
Got a Dev job back in the first company.
Job sucks, cannot leave… (5 months in)
I was doing pretty well as a QA Enginner. Started with internship, then junior in company A, then big pay rise moving to company B, where I quickly got promoted to Senior. As I was nearing 3yrs of exp, I decided it’s time for a change, as things were getting worse project-wise and felt like I was regressing. Also I was constantly bombarded with offers of +50% of my salary I could easily land, while company offered 10%.
Moved on to company C. This is where it started getting rocky. I was told I would be working on this one project, strictly test automation, nothing exciting but an easy gig. However week in, I was told to work on this other project 50/50. This was a startup kind of thing. It was a nightmare. Only manual testing. Most tickets had only a vague title, no description, no requirements, nothing. How do one test something without any knowledge how it should work? Besides that, the project lead on the client side was aggressive sometimes.
The workload was immense - 4 devs, 2 of them doing heavy overtime, so the output was like 6 devs and half of a tester….
Despite raising the problems, nothing was going to change, nor I could switch projects. The job began to heavily affect my mental health. Decided not to prolong my contract and left after 3 month probation period.
Quickly landed a job in company D. As my burnout as a tester kept bothering me more and more I decided that this was going to be my last job as a QA and next one will be a Dev. You see, I never enjoyed the tester part, I always enjoyed the automation part more. The plan was to learn in free time and after 18-24 months start applying for a dev role to see if I can land one (switching inside D was not an option). All plans went to hell, as I was handed a one month notice by the end of my third month. A month before my wedding… I was told the company was having financial issues and was laid off with about 30% of people in the company (mostly new hires).
I got depressed. I wouldn’t get out of bed for a few days. I never thought something like this would ever happen to me. Standing by my decision I was applying for development jobs, but most recruiters seeing either only QA experience or my recent 3 and 4 month employment periods weren’t responsive. Applying for testing jobs was a bit better but still nothing like before C and D.
Since company B I stayed in touch with my former manager, and he kept telling me that a new team has taken over most of the shitty work, and they are now working on cooler stuff and have more coming. He encouraged me to come back, as he has always thought highly of me professionally.
Looking at my options, I could probably get another testing job with lower pay, maybe I could land a junior Dev with like 1/3 of my salary or I could go back. So in my dark time I have reached out to my manager and just like that he got me a Senior Dev position, same pay as in company D.
Finally what I wanted right? Yeah… As soon I as joined all the new initiatives were being dropped one by one, and backlog got flooded with bugs and sh*t again. Five months in I hate my job again. Cannot leave cause no one will hire me…
Where I made the mistake?
Shouldn’t leave B despite facing regression and being underpaid?
Shouldn’t leave C no matter what?
Shouldn’t come back to B?6
I’ve become so indecisive in terms of knowing what I want from my career.
All I know is what I don’t want (to end up a in management)
I’m definitely getting a new job and right now it looks like I’ve got 3 offers on the table
Option 1, a previous company I worked for. Still the same problems with the company there as before but the work was interesting and unusual. and my line manager was a good guy.
They have practically no legacy code.
Not much in the way of company benefits but they’re local and it would be nice to see friends again.
So feels like the pull to this is strong.
Option 2, a fully remote company that I’ve been referred to by an ex-workmate.
They’ve not even tech tested me because they’ve read my blogs and GitHub repos instead and said they’re impress. So just had a conversation with them. I feel honoured that they took the time to look at what I’ve done in my own time and use that in their decision.
Benefits are slightly better than option 1 (more hols)
But they’re using .net 6 and get a lot of heavy use on their system and have some big customers. I think the work is integrations to start with and moving services into docker and azure.
Option 3, even though I’ve got an offer from this one but they can’t actually explain the work until We can arrange a call next week (they recruit and then work out what team your in, but Christmas got in the way of me having a call with them straight away)
It’s working on government systems and .net is their least used stack so probably end up switching to Java. Maybe other tech stacks too.
This place has much better benefits than option 1 and 2 (more hols and more pension), but 2 days a week in office.
All of the above pay the same salary.
Having choice feels almost as bad as having no choice.
It’s doing my head in thinking about it , (even tho I might as well not think about it at all until the call with option 3 happens).
On the one hand with option 3, using a tech stack that’s new to me might be refreshing, as I’ve done .net for 10 years.
On the other hand I really like c# and I’m very good at it. So it feels a bit like I should be capitalising on that and using my experience to shape how the dev is done. Not sure I and I can do that with option 3, at least for a while.
C# feels like it’s moving forward nicely and I’m not sure I can say the same for Java or other languages.
I love programming and learning new stuff but so unable to let things go. It’s like I have a fear that c# will move on without me and I’ll end up turning into one of those devs whose skills are a decade out of date.
Maybe the early years of my career formed me in this way.
Early on I worked at a company where there was a high number of Cobol devs who thought they had a job for life.
But then redundancies came and many left. Of those who stayed they had to cross train to Java and they just couldn’t do it.
I don’t think the tech was hard for them, I think they were just so used to not learning that they could no longer adapt.
Think most of them ended up retiring after trying to learn Java for a few years.8