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 - "pseudo-work"
-
Father bought a PC in 1997. Back then very few had it. I learned doing things like accessing the internet and sending emails, among others. I remember having added age on websites to be allowed to sign up at times :P My sisters used to play games on it sometimes. The first few ones we had were Tomb Raider: The Last Revelation, Tomb Raider Chronicles, American McGee's Alice(Which caused us to upgrade the PC xD)... And some others.
I have a memory of this pseudo-3D-looking game where you move in a maze and try answering questions. I want to remember its name, but I cannot :(
We literally have video evidence of me liking the computer as a child, yet my parents either say I'm addicted or deny I've ever liked it before. Not only that, but continuously limiting my time with the PC hasn't been a literal obstacle in my way of trying to do things in their opinion. Funny how my parents think the last few years I've been my worst when they've hurt me in those years so much that our relationship is guaranteed not working out. There were doubts in my head before, but now it's cemented and there is no way of going back. Father, for example, tells me it's too late to do anything with a PC now(As well as how I've been unable to use the PC. He looks at these pro players' footage in some TV show and he's like, „You've been unable to use your hobbies“, as if they have never ever screamed at me for perceived gaming and not actually cared to check), and I need to look for a „real“ job.
Sorry. I went to bed at 2:00 in the morning. Feel like a zombie because of ongoing weirdly insufficient sleep, even though I sleep kinda more than normal. Even when I took Melatonine for that it didn't help at all.
Childhood was where beating began. I was about 6/7. Right when I entered school. The first school that I attended was a private one and supposedly for „Wunderkinds“, while in reality I haven't seen a SINGLE teacher or psychologist approve of it, their argument being that children were basically drowned in work that wasn't age-appropriate(I don't mean anything bad. Just that teaching about Galaxies and all in first grade isn't the brightest idea). There was always a mountain of homework to do and as opposed to some other countries, we had to do it on a day to day basis. We didn't have a week-long deadline. I was predictably not keeping up with it as I could have, had it been a normal amount, so my parents decided I didn't want to study and began their methods of getting me to „study“. I have yet to see a person able to keep up with that school's tempo, no matter the age.
This place was also where I got bullied. I felt I had nowhere to be: At home, the parents' situation, at school, the bully. I never really went outside to play with other children, so I missed that part of childhood.
After the second year of school I was transferred to an advanced German school, called like that because they taught German and not English there. I also got to learn a bit of Russian before they removed it from school. In that period I used to attend ballet. But for less than a year. And piano, which I remember having attended for quite a long while, some years, if my memory isn't fried. I quit it because of it having been forced on me. Last piece I ever played fully was Beethoven's Marmotte.
In this school I was once again the outcast of the class. I had some people to interact with. All of those interactions lasted a few years at most. Then, because of a part of my class choosing me as a laughing-stock N2 and another girl as the N1, I found my best friend, who I still have today. She's the only friend I have nearby.
Most of the time I hated myself. Even today I struggle with that sometimes.
After that came university. This us where I got something like a friend circle at last. But it still didn't last. I got in a relationship with one of the guys, but I was just attracted. There was another I couldn't dare getting close to. Turns out he also had something for me. Then he disappeared from our lives and a year after, I still cannot forget the person. If I want to, I have to deprive myself of my own personality. Not a thing I'm willing to give up. Then I broke up with the guy I was in a relationship with and completely disappeared from the friendship circle. To be honest, I had reasons to. They refused to even try to look for the guy and they called him a friend for years. Sometimes parents hitting me can occur even today, but if I REALLY piss them off.
Now I'm here and oh, my God, I'm officially am aunt now! My sister gave birth to a daughter this morning... She's in Berlin with mother and both she and the child are doing great. I just hope she manages to be a good mother.20 -
curl cheat.sh — get an instant answer to any question on (almost) any programming language from the command line
tldr
do curl cht.sh/go/execute+external+program to see how to execute external program in go
And this question: why I actually should I start the browser, and the browser has to downloads tons of JS, CSS and HTML, render them thereafter, only to show me some small output,
some small text, number or even some plot. Why can't I do a trivial query from the command line
and instantly get what I want?
I decided to create some service that will work as I think such a service should work.
And that is how wttr.in was created.
Nowadays you probably know, how to check the weather from the command line, but if not:
curl wttr.in
or
curl wttr.in/Paris
(curl wetter in Paris if you want to know the weather in Paris)
After that several other services were created (the point was to check how good the console
can solve the task, so I tried to create services providing information
of various nature: text, numbers, plots, pseudo graphic etc.):
curl rate.sx/btc # to check exchange rate of any (crypto)currency
curl qrenco.de/google.com # to QRenco.de any text
And now last but not least, the gem in this collection: cheat.sh.
The original idea behind the service was just to deliver a various UNIX/Linux command line cheat sheets via curl. There are several beautiful community driven cheat sheet repositories such as tldr, but the problem is that to use them you have to install them first, and it is quite often that you have no time for it, you just want to quickly check some cheat sheet.
With cheat.sh you don't need to install anything, just do:
curl cheat.sh/tar (or whatever)
you will get a cheat sheet for this command (if such cheat sheet exists inf one of the most popular community-driven cheat sheet repositories; but it surely does).
But then I thought: why actually show only existing cheat sheets? Why not generate cheat sheets or better to say on the fly? And that is how the next major update of cheat.sh was created.
Now you can simply do:
curl cht.sh/python/copy+files
curl cht.sh/go/execute+external+program
curl cht.sh/js/async+file+read
or even
curl cht.sh/python/копировать+файл
curl cht.sh/ruby/Datei+löschen
curl cht.sh/lua/复制文件
and get your question answered
(cht.sh is an alias for cheat.sh).
And it does not matter what language have you used to ask the question. To be short, all pairs (human language => programming language) are supported.
One very important major advantage of console oriented interfaces is that they are easily
programmable and can be easily integrated with various systems.
For example, Vim and Emacs plugins were created by means of that you can
query the service directly from the editor so that you can just write your
questions in the buffer and convert them in code with a keystroke.
The service is of course far from the perfection,
there are plenty of things to be fixed and to be implemented,
but now you can see its contours and see the contours of this approach,
console oriented services.
The service (as well as the other mentioned above services) is opensource, its code is available here:
https://github.com/chubin/cheat.sh
What do you think about this service?
What do you think about this approach?
Have you already heard about these services before?
Have you used them?
If yes, what do you like about them and what are you missing?24 -
POSTMORTEM
"4096 bit ~ 96 hours is what he said.
IDK why, but when he took the challenge, he posted that it'd take 36 hours"
As @cbsa wrote, and nitwhiz wrote "but the statement was that op's i3 did it in 11 hours. So there must be a result already, which can be verified?"
I added time because I was in the middle of a port involving ArbFloat so I could get arbitrary precision. I had a crude desmos graph doing projections on what I'd already factored in order to get an idea of how long it'd take to do larger
bit lengths
@p100sch speculated on the walked back time, and overstating the rig capabilities. Instead I spent a lot of time trying to get it 'just-so'.
Worse, because I had to resort to "Decimal" in python (and am currently experimenting with the same in Julia), both of which are immutable types, the GC was taking > 25% of the cpu time.
Performancewise, the numbers I cited in the actual thread, as of this time:
largest product factored was 32bit, 1855526741 * 2163967087, took 1116.111s in python.
Julia build used a slightly different method, & managed to factor a 27 bit number, 103147223 * 88789957 in 20.9s,
but this wasn't typical.
What surprised me was the variability. One bit length could take 100s or a couple thousand seconds even, and a product that was 1-2 bits longer could return a result in under a minute, sometimes in seconds.
This started cropping up, ironically, right after I posted the thread, whats a man to do?
So I started trying a bunch of things, some of which worked. Shameless as I am, I accepted the challenge. Things weren't perfect but it was going well enough. At that point I hadn't slept in 30~ hours so when I thought I had it I let it run and went to bed. 5 AM comes, I check the program. Still calculating, and way overshot. Fuuuuuuccc...
So here we are now and it's say to safe the worlds not gonna burn if I explain it seeing as it doesn't work, or at least only some of the time.
Others people, much smarter than me, mentioned it may be a means of finding more secure pairs, and maybe so, I'm not familiar enough to know.
For everyone that followed, commented, those who contributed, even the doubters who kept a sanity check on this without whom this would have been an even bigger embarassement, and the people with their pins and tactical dots, thanks.
So here it is.
A few assumptions first.
Assuming p = the product,
a = some prime,
b = another prime,
and r = a/b (where a is smaller than b)
w = 1/sqrt(p)
(also experimented with w = 1/sqrt(p)*2 but I kept overshooting my a very small margin)
x = a/p
y = b/p
1. for every two numbers, there is a ratio (r) that you can search for among the decimals, starting at 1.0, counting down. You can use this to find the original factors e.x. p*r=n, p/n=m (assuming the product has only two factors), instead of having to do a sieve.
2. You don't need the first number you find to be the precise value of a factor (we're doing floating point math), a large subset of decimal values for the value of a or b will naturally 'fall' into the value of a (or b) + some fractional number, which is lost. Some of you will object, "But if thats wrong, your result will be wrong!" but hear me out.
3. You round for the first factor 'found', and from there, you take the result and do p/a to get b. If 'a' is actually a factor of p, then mod(b, 1) == 0, and then naturally, a*b SHOULD equal p.
If not, you throw out both numbers, rinse and repeat.
Now I knew this this could be faster. Realized the finer the representation, the less important the fractional digits further right in the number were, it was just a matter of how much precision I could AFFORD to lose and still get an accurate result for r*p=a.
Fast forward, lot of experimentation, was hitting a lot of worst case time complexities, where the most significant digits had a bunch of zeroes in front of them so starting at 1.0 was a no go in many situations. Started looking and realized
I didn't NEED the ratio of a/b, I just needed the ratio of a to p.
Intuitively it made sense, but starting at 1.0 was blowing up the calculation time, and this made it so much worse.
I realized if I could start at r=1/sqrt(p) instead, and that because of certain properties, the fractional result of this, r, would ALWAYS be 1. close to one of the factors fractional value of n/p, and 2. it looked like it was guaranteed that r=1/sqrt(p) would ALWAYS be less than at least one of the primes, putting a bound on worst case.
The final result in executable pseudo code (python lol) looks something like the above variables plus
while w >= 0.0:
if (p / round(w*p)) % 1 == 0:
x = round(w*p)
y = p / round(w*p)
if x*y == p:
print("factors found!")
print(x)
print(y)
break
w = w + i
Still working but if anyone sees obvious problems I'd LOVE to hear about it.36 -
Today at college our professor was dictating Debain update command - "sudo apt-get update"
Person next to me complained it didn't work for him. Peeped into his screen to see - "pseudo apt-get update"1 -
About 18 months ago my non-technical Manager of Applications Development asked me to do the technical interviews for a .NET web developer position that needed to be filled. Because I don't believe in white board interviewing (that's another rant), but I do need to see if the prospective dev can actually code, for the initial interview I prepare a couple of coding problems on paper and ask that they solve them using any language or pseudo code they want. I tell them that after they're done we'll discuss their thought process. While they work the other interviewing dev and I silently do our own stuff.
About half way through the first round of technical interviews the aforementioned manager insisted we interview a dev from his previous company. This guy was top notch. Excellent. Will fit right in.
The manager's applicant comes in to interview and after some initial questions about his resume and experience I give him the first programming problem: a straightforward fizzbuzz (http://wiki.c2.com/?FizzBuzzTest). He looked as if the gamesters of Triskelion had dropped him into the arena. He demurs. Comments on the unexpectedness of the request. Explains that he has a little book he usually refers to to help him with such problems (can't make this stuff up). I again offer that he could use any language or pseudo code. We just want to see how he thinks. He decides he will do the fizzbuzz problem in SQL. My co-interviewer and I are surprised at this choice, but recover quickly and tell him to go ahead. Twenty minutes later he hands me a blank piece of paper. Of the 18 or so candidates we interview, he is the only one who cannot write a single line of code or pseudo code.
I receive an email from this applicant a couple of weeks after his interview. He has given the fizzbuzz problem some more thought. He writes that it occurs to him that the code could be placed into a function. That is the culmination of his cogitation over two weeks. We shake our heads and shortly thereafter attend the scheduled meeting to discuss the applicants.
At the meeting the manager asks about his former co-worker. I inartfully, though accurately, tell him that his candidate does not know how to code. He calls me irrational. After the requisite shocked silence of five people not knowing how to respond to this outburst we all sing Kumbaya and elect to hire someone else.
Interviews are fraught for both sides of the table. I use Fizzbuzz because if the applicant knows how to code it's an early win in the process and we all need that. And if the applicant can't solve it, cut bait and go home.
Fizzbuzz. Best. Interview. Question. Ever.6 -
Grr the feeling when one of your interviewers has a hard-on for trying to find ways to sink your boat.
Went to a job interview yesterday during my lunch break for a mid level dev job in central London , i have been trying to transition from a junior role.
First were two senior devs , that went quiet well...
Next up was the tech lead and a team lead, lets call the latter Mc-douche for some problem
The tech lead was fine, very relaxed and clam guy more interested in seeing the logic of my answers and questions as to why i did certain things in this or that manner....
Mc-douche, he would always try to find something wrong then smile smugly and do that sideways head waggle thing
His tech lead is like " yup that's correct"
But he would be like " yeeess but you didn't think about bla bla bla" then talk about shit not even present in the context of the question
Ah also he would ask a question then cut me off as soon as I begin to say that i didnt mention or take into account x or y even though literally my next sentence is about address those details he wanted.
let me fucking finish you dickbag 😡
Had a js question, simple stuff about dom manipulation, told not to bother with code... yet McD starts asking me to write the code for it....managed it , quite easy stuff
Then a sql and db test , again technlead was happy with the answers and the logic am approaching the question when writing my query, yet mc d Is bitching about SQL syntax....
Ok fine, i made a simple mistake, I forgot and used WHERE instead of HAVING in a group by but really?! Thats his focus ?!
Most devs I know look up syntax to do stuff , they focus on their logic first the do the impl.
Then a general question on some math and how i would code to impl a solution on paper
That was a 20 mins one, the question said they didn't expect me to finish it totally so
I approached it like an exam question.
First
I focussed on my general flow of my process, listing out each step.
Then elaborated each step with pseudo code showing my logic for each of the key steps.
Then went deeper and started on some of the classes and methods , was about to finish before it was time up.
Mc douch went through my solution
And grudgingly admitted my logic was "robust enough" it was like he really had to yank that deep out of his colon.
I didn't really respond to any of his rudeness throughout the whole interview,i either smiled politely or put on a keen looking poker face.
Really felt awful the rest of the day, skipped the gym and went home after work, really sucks to have a hostile interviewer.
Pretty sure i wont be hearing anything good from them even though the three other interviewers were happy with me I felt.4 -
I had a great insight today: What annoys me so about social media and society in general are these „fake insights“ everyones having.
LinkedIn and Reddit are just undoable for me lately. Everything there feels like a youtube title: „Look how I increased my productivity“ - A To-Do-List.
We does everything anybody does or thinks have to be pseudo empowering? It less severe irl but I can feel it spilling into work in my startup company.
I feel people on devrant are the least annoying online. Why is that?9 -
* How I solve a problem*
"Okay, it seems to be interesting, OK think solve it generally"
*Solved the problem manually
"Okay pseudo code is /do this and that/ break it and write Algo.
Seems like it will work,
Making all sense
Okay let's code"
*Wrote in IDE
" Hmm compile and execute"
*Expected output : Hey you!
*Actual output : F you!
Me: What the hell
"Uhh! Just gonna apply brute force"
*Somehow got the actual output = expected output
"I knew, it gonna solve it but how it worked?"
*Thinking
*Thinking....
*Thinking and it's 2 am
"Oh! I'm done, I'm going to sleep"
*4 am, while lucid dreaming
"That's how that thing worked, I got it"
*Relieved
*Next day using the logic dreamt of
*No matter how much surreal it is
*It didn't work
Me : F U!!!
..
..
...
(to be continued)2 -
Who am I?
Some of you, because of the hyperbolic, outrageous, trollish, and often self-satirical nature of my posts, might doubt me. Thats completely relatable.
Heres the truth:
I was diagnosed in childhood with ADHD, fucking everyone, every male, these days is diagnosed with that. I was diagnosed bipolar. Hell anyone reading my posts could see that from a mile away. I was diagnosed on the borderline personality spectrum. Yeah, I could see that.
I was tested. They said I was in the 98th percentile for clerical ability, not extraordinary but pretty good, mathematical ability a little higher than that. My SAT was 1491. Not yale material, but I coulda been someone.
Over the years I studied a LOT of politics and read a metric fuckton of books. (40+ books over the course of three years).
I predicted every single presidential election since bush juniors second election. Three supreme court picks. Senatorial elections. Congresional elections. More than that.
I have a better analysis track record than some of the multidecade analysts sitting in the fucking NSA.
No I am not shitting you. No I am not exaggerating.
It's about the only claim to fame I get to legitimately make.
People ask me, "then why aren't you famous?"
How do you know I'm not.
Look I'm gonna tell you my actual name.
My real name is Lawrence B. Lindsey
Okay, I'm bullshitting for fun. But words I have written on alt twitter accounts have legitimately come out of presidential hopeful's mouths. No, this I am *not* bullshitting you about.
Imagine that. A guy who lived in his parents attic for five years, writing words that came out of presidential candidates mouths.
At one time I was about as popular and influential as that fuckboy catturd.
yes, really. No I am not fucking joking.
Under normal conditions I wouldn't talk about this or reveal it, because who the fuck cares? I'm just some dude on the internet, drunk, both on alcohol, and the pseudo-anonymous equivalent of bragging rights.
You know how many women I turned down because I could? You know how fucking drunk I am? They say a drunk man's words are a sober man's thoughts. Well, I'm not usually honest like this because the internet is full of false braggarts, and you tell people the truth and they don't fucking believe you.
I swear, it seems like I made some faustian bargain at some time, and can achieve no fame or lasting wealth in my life--to save my life.
Shit, I was talking to a chinese women who ran a bank in china (yes, really), who advised me to buy into bitcoin early on. Didn't have the money to. Woulda been a fucking millionaire if I did.
*Non-obvious* Ideas that major corporations are now persuing? Yeah those were sitting in my card index since the early 2000s.
I helped two people build and sell businesses. One for me tens of thousands. Another for millions. Yes, really. Got zero, and I mean, *zero* credit for it.
Point is, doesn't matter how famous you are, or coulda been, Doesn't matter the ideas you have, or had.
The world doesn't promote runners-up, or hasbeens, or wannabes, or could-bes.
What matters is execution.
If you're wandering through life, wondering when you're lucky break will be, stop. You have to realize, you make your own luck. Recognize the difference between what you can control, and what you can, and work on promoting your own ideas or business or values, instead of other people's dreams.
And for those wondering, yes I am drunk, and no, I ain't fucking kidding you in anything I wrote here.
The most important lesson I learned is this:
First work on your own success, before you work on the success of others.
p.s.
I give surprisingly good advice for someone who doesn't benchmark well on traditional measures of success. I know, even I was shocked when I looked at the statistics.32 -
I've kinda ghosted DevRant so here's an update:
VueJS is pretty good and I'm happy using it, but it seems I need to start with React soon to gain more business partnerships :( I'm down to learn React, but I'd rather jump into Typescript or stick with Vue.
Webpack is cool and I like it more than my previous Gulp implementation.
Docker has become much more usable in the last 2 years, but it's still garbage on Windows/Mac when running an application that runs on Symfony...without docker-sync. File interactions are just too slow for some of my enterprise apps. docker-sync was a life-saver.
I wish I had swapped ALL links to XHR requests long ago. This pseudo-SPA architecture that I've got now (still server-side rendered) is pretty good. It allows my server to do what servers do best, while eliminating the overhead of reloading CSS/JS on every request. I wrote an ES6 component for this: https://github.com/HTMLGuyLLC/... - Frankly, I could give a shit if you think it's dumb or hate it or think I'm dumb, but I'd love to hear any ideas for improving it (it's open source for a reason). I've been told my script is super helpful for people who have Shopify sites and can't change the backend. I use it to modernize older apps.
ContentBuilder.js has improved a ton in the last year and they're having a sale that ends today if you have a need for something like that, take a look: https://innovastudio.com/content-bu...
I bought and returned a 2019 Macbook pro with i9. I'll stick with my 2015 until we see what's in store for 2020. Apple has really stopped making great products ever since Jobs died, and I can't imagine that he was THAT important to the company. Any idiot on the street can you tell you several ways they could improve the latest models...for instance, how about feedback when you click buttons in the touchbar? How about a skinnier trackpad so your wrists aren't constantly on it? How about always-available audio and brightness buttons? How about better ports...How about a bezel-less screen? How about better arrow keys so you can easily click the up arrow without hitting shift all the time? How about a keyboard that doesn't suck? I did love touch ID though, and the laptop was much lighter.
The Logitech MX Master 3 mouse was just released. I love my 2s, so I just ordered it. We'll see how it is!
PHPStorm still hasn't fixed a couple things that are bothering me with the terminal: can't reorder tabs with drag and drop, tabs are saved but don't reconnect to the server so the title is wrong if you reopen a project and forget that the terminal tabs are from your last session and no longer connected. I've accidentally tried to run scripts locally that were meant for the server more than once...
I just found out this exists: https://caniuse.email/
I'm going to be looking into Kubernetes soon. I keep seeing the name (docker for mac, digitalocean) so I'm curious.
AWS S3 Glacier is still a bitch to work with in 2019...wtf? Having to setup a Python script with a bunch of dependencies in order to remove all items in a vault before you can delete it is dumb. It's like they said "how can we make it difficult for people to remove shit so we can keep charging them forever?". I finally removed almost 2TB of data, but my computer had to run that script for a day....so dumb...6 -
I didn't leave, I just got busy working 60 hour weeks in between studying.
I found a new method called matrix decomposition (not the known method of the same name).
Premise is that you break a semiprime down into its component numbers and magnitudes, lets say 697 for example. It becomes 600, 90, and 7.
Then you break each of those down into their prime factorizations (with exponents).
So you get something like
>>> decon(697)
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
And it turns out that in larger numbers there are distinct patterns that act as maps at each offset (or magnitude) of the product, mapping to the respective magnitudes and digits of the factors.
For example I can pretty reliably predict from a product, where the '8's are in its factors.
Apparently theres a whole host of rules like this.
So what I've done is gone an started writing an interpreter with some pseudo-assembly I defined. This has been ongoing for maybe a month, and I've had very little time to work on it in between at my job (which I'm about to be late for here if I don't start getting ready, lol).
Anyway, long and the short of it, the plan is to generate a large data set of primes and their products, and then write a rules engine to generate sets of my custom assembly language, and then fitness test and validate them, winnowing what doesn't work.
The end product should be a function that lets me map from the digits of a product to all the digits of its factors.
It technically already works, like I've printed out a ton of products and eyeballed patterns to derive custom rules, its just not the complete set yet. And instead of spending months or years doing that I'm just gonna finish the system to automatically derive them for me. The rules I found so far have tested out successfully every time, and whether or not the engine finds those will be the test case for if the broader system is viable, but everything looks legit.
I wouldn't have persued this except when I realized the production of semiprimes *must* be non-eularian (long story), it occured to me that there must be rich internal representations mapping products to factors, that we were simply missing.
I'll go into more details in a later post, maybe not today, because I'm working till close tonight (won't be back till 3 am), but after 4 1/2 years the work is bearing fruit.
Also, its good to see you all again. I fucking missed you guys.9 -
developer makes a "missed-a-semicolon"-kind of mistake that brings your non-production infrastructure down.
manager goes crazy. rallies the whole team into a meeting to find "whom to hold accountable for this stupid mistake" ( read : whom should I blame? ).
spend 1-hour to investigate the problem. send out another developer to fix the problem.
... continue digging ...
( with every step in the software development lifecycle handbook; the only step missing was to pull the handbook itself out )
finds that the developer followed the development process well ( no hoops jumped ).
the error was missed during the code review because the reviewer didn't actually "review" the code, but reported that they had "reviewed and merged" the code
get asked why we're all spending time trying to fix a problem that occurred in a non-production environment. apparently, now it is about figuring out the root cause so that it doesn't happen in production.
we're ALL now staring at the SAME pull request. now the manager is suddenly more mad because the developer used brackets to indicate the pseudo-path where the change occurred.
"WHY WOULD YOU WASTE 30-SECONDS PUTTING ALL THOSE BRACES? YOU'RE ALREADY ON A BRANCH!"
PS : the reason I didn't quote any of the manager's words until the end was because they were screaming all along, so, I'd have to type in ALL CAPS-case. I'm a CAPS-case-hater by-default ( except for the singular use of "I" ( eye; indicating myself ) )
WTF? I mean, walk your temper off first ( I don't mean literally, right now; for now, consider it a figure of speech. I wish I could ask you to do it literally; but no, I'm not that much of a sadist just yet ). Then come back and decide what you actually want to be pissed about. Then think more; about whether you want to kill everyone else's productivity by rallying the entire team ( OK, I'm exaggerating, it's a small team of 4 people; excluding the manager ) to look at an issue that happened in a non-production environment.
At the end of the week, you're still going to come back and say we're behind schedule because we didn't get any work done.
Well, here's 4 hours of our time consumed away by you.
This manager also has a habit of saying, "getting on X's case". Even if it is a discussion ( and not a debate ). What is that supposed to mean? Did X commit such a grave crime that they need to be condemned to hell?
I miss my old organization where there was a strict no-blame policy. Their strategy was, "OK, we have an issue, let's fix it and move on."
I've gotten involved ( not caused it ) in even bigger issues ( like an almost-data-breach ) and nobody ever pointed a finger at another person.
Even though we all knew who caused the issue. Some even went beyond and defended the person. Like, "Them. No, that's not possible. They won't do such dumb mistakes. They're very thorough with their work."
No one even talked about the person behind their back either ( at least I wasn't involved in any such conversation ). Even later, after the whole issue had settled down. I don't think people brought it up later either ( though it was kind of a hush-hush need-to-know event )
Now I realize the other unsaid-advantage of the no-blame policy. You don't lose 4 hours of your so-called "quarantine productivity". We're already short on productivity. Please don't add anymore. 🙏11 -
Why won't you just approve my PR???
Whats wrong with you?!
I don't understand your cryptic one-sentence feedback. I'm not even sure you understand what you're asking yourself.
What the hell does "make it a transaction" mean? Don't give me pseudo-code examples that don't even work fucking asshole!
Its a small change that does NOT need a canary build dammit. Don't go testing the ORM, its a goddamn standard library. Why does working with you make everything so complicated?!?!
The code fucking works! There is no need to make it comply to your specific tastes goddamn it. Working with you is like pulling teeth!
/endrant9 -
Current workload as dev lead:
- 1% actual development
- 2,5% waiting for SaaS to load
- 2,5% cursing company server network connectivity issues
- 5% switching VPNs
- 7,5% pkg management & deploys
- 10% writing JIRA and support tickets
- 12,5% filling in timesheets
- 15% coaching & reviewing a bot coworker
- 19% doing 2FA, refreshing expired passwords
- give up and spend the remaining 25% doing something meaningful10 -
1. It's gonna be more and more specialized - to the point where we'll equal or even outdo the medical profession. Even today, you can put 100 techs/devs into a room and not find two doing the same job - that number will rise with the advent of even more new fields, languages and frameworks.
2. As most end users enjoy ignoring all security instructions, software and hardware will be locked down. This will be the disadvantage of developers, makers and hackers equally. The importance of social engineering means the platform development will focus on protecting the users from themselves, locking out legitimate tinkerers in the process.
3. With the EU getting into the backdoor game with eTLS (only 20 years after everyone else realized it's shit), informational security will reach an all-time low as criminals exploit the vulnerabilities that the standard will certainly have.
4. While good old-fashioned police work still applies to the internet, people will accept more and more mass surveillance as the voices of reason will be silenced. Devs will probably hear more and more about implementing these or joining the resistance.
5. We'll see major leaks, both as a consequence of mass-surveillance (done incompetently and thus, insecurely) and as activist retaliation.
6. As the political correctness morons continue invading our communities and projects, productivity will drop. A small group of more assertive devs will form - not pretty or presentable, but they - we - get shit done for the rest.
7. With IT becoming more and more public, pseudo-knowledge, FUD and sales bullshit will take over and, much like we're already seeing it in the financial sector, drown out any attempt of useful education. There will be a new silver-bullet, it will be useless. Like the rest. Stick to brass (as in IDS/IPS, Firewall, AV, Education), less expensive and more effective.
8. With the internet becoming a part of the real life without most people realizing it and/or acting accordingly, security issues will have more financial damages and potentially lethal consequences. We've already seen insulin pumps being hacked remotely and pacemakers' firmware being replaced without proper authentication. This will reach other areas.
9. After marijuana is legalized, dev productivity will either plummet or skyrocket. Or be entirely unaffected. Who cares, I'll roll the next one.
10. There will be new JS frameworks. The world will turn, it will rain.1 -
Pseudo-flexible working hours suck. I get the "choice" to start work between 7:30-9:30 AM. I'm a night owl so waking up at 6AM is not an option. Why can't they just allow to start at 10AM and finish at 6:30PM? Between 7:30 & 9:30 is peak rush hour and I'm bound to lose 1h30 in traffic for 30km (normally it would take half an hour) and start my workday pissed off.6
-
I really hate PHP frameworks.
I also often write my own frameworks but propriety. I have two decades experience doing without frameworks, writing frameworks and using frameworks.
Virtually every PHP framework I've ever used has causes more headaches than if I had simply written the code.
Let me give you an example. I want a tinyint in my database.
> Unknown column type "tinyint" requested.
Oh, doctrine doesn't support it and wont fix. Doctrine is a library that takes a perfectly good feature rich powerful enough database system and nerfs it to the capabilities of mysql 1.0.0 for portability and because the devs don't actually have the time to create a full ORM library. Sadly it's also the defacto for certain filthy disgusting frameworks whose name I shan't speak.
So I add my own type class. Annoying but what can you do.
I have to try to use it and to do so I have to register it in two places like this (pseudo)...
Types::add(Tinyint::class);
Doctrine::add(Tinyint::class);
Seems simply enough so I run it and see...
> Type tinyint already exists.
So I assume it's doing some magic loading it based on the directory and commend out the Type::add line to see.
> Type to be overwritten tinyint does not exist.
Are you fucking kidding me?
At this point I figure out it must be running twice. It's booting twice. Do I get a stack trace by default from a CLI command? Of course not because who would ever need that?
I take a quick look at parent::boot(). HttpKernel is the standard for Cli Commands?
I notice it has state, uses a protected booted property but I'm curious why it tries to boot so many times. I assume it's user error.
After some fiddling around I get a stack trace but only one boot. How is it possible?
It's not user error, the program flow of the framework is just sub par and it just calls boot all over the place.
I use the state variable and I have to do it in a weird way...
> $booted = $this->booted;parent::boot();if (!$booted) {doStuffOnceThatDependsOnParentBootage();}
A bit awkward but not life and death. I could probably just return but believe or not the parent is doing some crap if already booted. A common ugly practice but one that works is to usually call doSomething and have something only work around the state.
The thing is, doctrine does use TINYINT for bool and it gets all super confused now running commands like updates. It keeps trying to push changes when nothing changed. I'm building my own schema differential system for another project and it doesn't have these problems out of the box. It's not clever enough to handle ambiguous reverse mappings when single types are defined and it should be possible to match the right one or heck both are fine in this case. I'd expect ambiguity to be a problem with reverse engineer, not compare schema to an exact schema.
This is numpty country. Changing TINYINT UNSIGNED to TINYINT UNSIGNED. IT can't even compare two before and after strings.
There's a few other boots I could use but who cares. The internet seems to want to use that boot function. There's also init stages missing. Believe it or not there's a shutdown and reboot for the kernel. It might not be obvious but the Type::add line wants to go not in the boot method but in the top level scope along with the class definition. The top level scope is run only once.
I think people using OOP frameworks forget that there's a scope outside of the object in PHP. It's not ideal but does the trick given the functionality is confined to static only. The register command appears to have it's own check and noop or simply overwrite if the command is issued twice making things more confusing as it was working with register type before to merely alias a type to an existing type so that it could detect it from SQL when reverse engineering.
I start to wonder if I should just use columnDefinition.
It's this. Constantly on a daily basis using these pretentious stuck up frameworks and libraries.
It's not just the palava which in this case is relatively mild compared to some of the headaches that arise. It's that if you use a framework you expect basic things out of the box like oh I don't know support for the byte/char/tinyint/int8 type and a differential command that's able to compare two strings to see if they're different.
Some people might say you're using it wrong. There is such a thing as a learning curve and this one goes down, learning all the things it can't do. It's cripplesauce.12 -
My C# teacher. From all the beginning CS classes that I have taken she is the only that I really respect. She took the time to teach us how operators work, took the time to teach us Pseudo code, and made us code using just a pen and paper. I bought my laptop (instead of a desktop) to code along her in classes. She would ask us how to solve something. Gave us like 5 min to think about it, and then we would answer it, and she would translate our solution to code making comments for us to fully understand what was going on.2
-
What's the strangest Assembler or Pseudo-Assembler you've ever encountered?
I wrote a Z-machine (Infocom's virtual text adventure interpreter) and it was quite an interesting interpretation of bytes:
- The first 3 bits of an instruction tell you the opcode category, the rest are the instruction
- The 2nd (and maybe 3rd) byte tell you in 2-Bit chunks the operand types.
- text is encoded in 5-Bit chunks, with special characters for CapsLock that double function as padding (if your text doesn't align with the 3 letters per 2 bytes).
- and of course there are 5 different versions that all work slightly differently (as in CapsLock becomes Shift or "this special character isn't in use anymore")3 -
ChatGPT is so much better than Google:
instead of wasting my time by linking to unhelpful / outdated / unrelated StackOverflow resources, it tells me to do the work by myself right away:
> To ensure consistent pseudo-element width across different browsers, including Safari, you can follow these steps: [...]
> (some basic HTML/CSS 101 seemingly quoted from a 2015 textbook)
>
> It's important to note that browser behavior might vary due to different rendering engines or versions. While following best practices helps achieve consistent results, you might still encounter small discrepancies. Cross-browser testing is always recommended to ensure your design looks consistent across different browsers, including Safari.
>
> For any specific issues you encounter in Safari, consider checking for known bugs or quirks that might affect pseudo-elements and their sizing. Online resources, developer forums, and documentation can provide valuable insights into Safari-specific behavior and workarounds.3 -
!rant
Today I learned you can basically just copy and paste python code into a PHP script, add some brackets and change some functions and it will just work.
I guess this saves me having to rewrite this very dodgy pseudo-random number generator I have to make!1 -
i come from a very closely knit family and i kinda like it. i am in close proximity to my parents, they are growing old so i do a lot of home chores. meanwhile a lot relatives and dad's business friends live nearby , and the whole area around my home feels like a place of known people. my free time goes with 5-6 friends , who again live nearby, or with gym buddies. this is a nice life, which could further expand with a wife and my kids in future .
at the same time, i have seen the "work" life. my office is in a different state, 90% of people there are people like me who would be renting a home nearby and living alone/with strangers. their main "family"(well pseudo-family) will be their coworkers, and that's also not a bad thing.
in the workplace the reasons to be happy will be a lot (as parties or celebrations will occur on multiple birthdays/ company growths and other achievements) , and so will be the reasons to feel sad ( company failure, teammates leaving, missing family)
at the end of the day , when you are living an office life, you are a corporate rat running for the cheese you are never gonna (or , if you are a glass half full person, let's say that you are a "dedicated work professional giving your 100% to the company")
but here comes the dilemma : with AIs like chat gpt coming around and redefining nthe expectations from a software engineer, you will no longer be expected to be resourceful but rather how much of a corporate rat you can be. ( https://twitter.com/bajicdusko/...)
so 1) is it the only way forward for an upcoming engineer's lifestyle? to be like a soldier for their company , while their family and friends await for their long return? 2) if yes, what is the positi8 aspsct we can take away from this?
PS : what a stupid profession those AI/ML guys work in. they put out their minds together to make a sword which is gonna cut the heads of s/w engineers, their own breed. not lawyers, not doctors, not even the fucking peons, but their own freaking brothers4 -
(imagine all of this said in Undoomed's "hey moron" tone)
Hey, moron, fuckin moron! How about if you're a noob with no actual programmer on your side, you just tell me so we can work it out together, instead of sending a moronic 4page "acceptance criteria" that pretend you know what you're talking about, and then bury me under loads of moronic noob questions that reveal you as thenmoron you are, all of that for a fuckin 50 quid?! I thought it's me being an idiot, not being able to do the task within two days timeframe, but now I see you're just too much of a moron to have any idea how much these things take. And now you nonchalantly mention a one-line one point from the four page document full of drivel, which (loads of moronism credit for me here) i didn't notice amongst all of that other mundane drivel, which actually like doubles the whole workload on the task, but your moronic document, which makes 3 parts of the same algorithm into three separate MILESTONES, makes this whole thing that nearly DOUBLES the workload into a shitty SEVENTH SUBPOINT of the completely unrelated first "milestone"?
FUCK YOU, YOU STUPID ROBBERY CHEAPFUCK, and fuck me for letting myself be tricked by all your fancy wordings that pretend you actually know what the fuck you are asking for, so i assumed you did, so I missed THE POINT, WHICH ACCORDING TO THE SEGMENTATION LOGIC OF THE WHOLE REST OF THE DOCUMENT SHOULD BE 3 SEPARATE FULL-SIZED MILESTONES, NOT A SINGLE SUBPOINT, YOU FUCKING FUCK!
... so much for still trying to at least a bit trust people.
FUCKING DISGUSTING MORONIC CHEAPSKATE FUCK.
and I can't even tell him to fuck off through the rectum he came here because he's all nice and polite so I would be the asshole!
"hey, please, can you build me a house?"
*house is basically finished*
"oh, great job, i love it, but i think you might have missed the fineprint in our contract that says that the house is supposed to stand inside an entry hall of a multibillionaire-sized mansion, so could we please sort that out and add it to the building real quick before i pay you the toolshed's worth we agreed on based on the contract? "
FUCK. HIM.
FUCK
FUCKFUCKFUCKSHITFUCKERYFUCKDISGUSTINGIDIOTICFUCKINGFUUUUUUUUCK!!!!!!
i thought i can be a shitty liar and a con man, but this is some next level shit that would be totally beyond my abilities to pull off...
YES I KNOW IT'S MY FAULT I DIDN'T COMB THROUGH THAT BULLSIT "SPECS" OF HIS LETTER BY LETTER TO MAKE SURE THERE'S NO CON BULLSHIT LIKE THIS HIDDEN AMONGST ALL OF THAT MUNDANE SELF-EVIDENT PSEUDO-TECHNICAL DRIVEL, SHUT THE FUCK UP.
fucking disgusting moron, pretending all nice and innocent probably even to himself because he HAS NO FUCKING IDEA WHAT HE EVEN ASKS FOR.
i bet it's one of those pukefucks who get an overpriced contract for 50k without even knowing or caring what programming is, because "i'll just outsource the core functionality of the app for 50 quid to some naiive idiot who lives in the illusion that people are not diarrhorea-worthy pieces of feces, and this other third of the app to some other moron for hundred quid and then i somehow outsource gluing it together to some third poor sod, and that's 49.8k quid of pure profit for me, yay"
and now i'm torn between three options, just cancelling the "contract" with a comment saying "fuck off, you con man", or cancelling it with a lengthy explanation why he's a know-nothing piece of shit who conned me already into having done something worth about 5x more than his shitty "acceptance criteria" requests, or just start conning and bulshitting him back, which won't net me any money, and waste my time, but at least will also waste HIS time, which might be nice because he seems to be on a tight schedule so if i play this right i might have the chance to sink his whole contract which might be mighty nice satisfying...
FUCK THIS, ALL OF THIS, FUCK HIM, FUCK ME, FUCK ALL OF YOU, I SHOULD HAVE STARTED FUCKING OVER EVERYONE RUTHLESSLY A LONG TIME AGO BECAUSE FUCK THE WHOLE WORLD, WHY SHOULD I CARE WHEN NOBODY ELSE DOES, WHY SHOULD I BE DECENT WHEN NOBODY ELSE IS, AND IT ONLY ROYALLY BITES ME IN THE ASS.
stupid fucking lobotomized fuck, IF YOU DON'T KNOW HOW TO DO SOMETHING, DON'T OFFER YOURSELF TO DO IT FOR MONEY AND THEN CON-SOURCE IT TO OTHERS YOU SHITTY BARFPILE!
FUCK. -
Oh china, you always know how to snap me out of long stints of mundane and/or annoying, chore-esq work.
//...and letting me excuse a 10min, otherwise purely wrong procrastination down a current political rabbit hole
I gotta say, at least in china they are bold enough to put their image and identity on whatever they make... but in that 'im selling pseudo-sex, not because im sexy--just the opposite, so you know I relate' way.
Side note: i got an automated spam call survey yesterday*... it ot got to the 1st (of claimed 3) question.. which had a surprising amount of actual reiterations before looping... it was determined to get opinions(and totally incept the lemmings, soccer moms and politically ignorant into their stance, plus intense rage/disgust/dreams of standing on a soap box and fighting about this new issue they were totally unaware of.)... about this actively serving, politician's demand that china sell tiktok or totally stop allowing any operations/use on american soil... because of the heavily implied heinous nature of controlling and twisting society via media to it's explicitly declared communism... even directly called china, as a whole, communists, with impressive dramatics (and i coached public speaking hs and college kids then over a decade of business consulting, typically involving coaching vocals and implicit vocab)
I actually listened to it because it's what a typical subject, brought out of the koolaid fog, would view as ridiculously ironic(assuming they knew the actual, and therefore inherently ironic, def if irony... most dont. It's disturbing)... but it you have decent common sense, and dont emotionally view your entirety as wrong/broken/needing to be fixed in a cult-like manner, it's the oposite of irony. History of/and politics pull this crap all the time. It still works.
It reminds me of how my moniker, awesomeest, came about. In 3rd grade i realised that even adults, knowing they were chatting with an 8yr old, even if they knew/used the correct spelling of a, less common, term... if i misspelled it as if i thought it was right, theyd actually change their spelling to match (in perpetuity) albeit my vocab was easily high school level by then...likely at least in part to my flawless(aka blind/ignorant) demeanor of confidence that whatever i said/thought was totally correct, as a matter of fact. Not like the insecure ppl trying to prove something
I used to find it so comical... now it's just sad.
This bs automated political spam/manipulation is the modern version of i remember of kids farting in the late 90s... the culprit quickly accusing someone else of their offense, but even extra immature kids 25+ yrs ago figured that out... and even made the retort a catchy rhyme..."the one who smelt it, dealt it"
*i basically programmed in a counter attack/something akin to immature passive aggressive ' who"s really the one wasting the other's time and resources now?!? Ha!' ...odd numbers automatically go into a sort of echo chamber instead of ringing, with a manual escape to actually ringing/calling prompt built in.
I can listen in at any time without it having any effecf/sound too.
I'm curious if anyone participates in these minor acts of terrorism to complete an unrequested, intrusive, and human-less format of a proclaimed opinion poll? And if you do, are you honest? Why do you do it?
Annoyance at spam aside... the real victim I mentally mourn, and view it's method of demise akin to a cardinal sin (assuming religion...blah blah)... is the data! I <3 data... good, unobscured, not contrived, simple, pure, raw data... killed before its birth :'(5 -
Thread topic: religion, philosophy, matrix
Summary: skip if you don't like these topics, stay if you want to find out why the conclusion has relevance to programming
.
.
.
Ok.
Let me get this straight:
There are 4 founders of the BAYC NFTs.
1 has a fasist/nazi pseudo name
1 has a racist pseudo name
1 has a satanic pseudo name
1 has a pedophile pseudo name
Their logo is a copy of Nazi Waffen Totenkopf emblem, which was the German division force of the Nazi concentration camps
And they became billionaires.
Ok
.
.
.
Sam bankman the founder of FTX crypto shit robbed people for 32 BILLION dollars. And hes not in jail because he donated most of that money to democratic political party, leaving himself 1 billion dollars as allowance. Now that he bought political power, politicians protect him. So he's having fun in the bahamas and penthauses, having generational wealth and enriching his fraud parents.
Ok
.
.
.
Balenciaga. They posted photos of female children holding fluffy toys with BDSM sexual bondage. Books on the table, with excerpt of Michael Borremans, who draws "art" of naked children covered in blood and being sacrificed in rituals. Then a book of "The Cremaster Cycle", which is a demented image that symbolizes "the murder and resurrection of Abiff". Hiram Abiff was the central character during Masonic initiation rituals as the culmination of a three-part process. Etc
Balenciaga is a multi million dollar "brand".
Ok.
.
.
.
What i learned through all my years of existing on this planet is, being good and doing good, does not pay off. I still live in the matrix. I am still a slave. I am still playing the game of earn to survive. Even while doing software engineering. And I don't know 1 single wealthy person who has obtained all that wealth by doing something good.
This has further lead me to realization: God doesn't help you get rich or wealthy. God doesn't give a fuck if you're rich or poor. He aint gonna help you. But do you know who will? That's right - evil forces will help you get wealthy. Funny how that works?
Because I am christian and believe in God, pray to God and did good all my life - I haven't received anything good in return, my life has not improved, in fact it has devolved and became worse.
Therefore, I came to a conclusion: I will switch teams. I'll let the evil demonic forces take over and guide me to wealth. I'm ready to scam, defraud, develop ponzis and step on corpses and people to get out of the matrix. Perhaps this is how and why good people turn into villains?
Now you understand.
I dont ask to be on the top. I just want to Not play the Matrix game. Which is the game where you have to earn to survive. I want to get into any store and buy whatever i want, without worrying how much does it cost or asking for a discount. People dumber than me do it. But i cant? That means there has to be a loophole in the matrix. An escape plan is possible. I tried escaping since 2018 and failed. For 4, almost 5 years. Because i was trying to escape through good forces. I'll now try to escape using demonic forces and perhaps I'll end up like BAYC founders, FTX founder, Balenciaga brand and many others similar to them. Ending up even half of their success or a fraction - I'll be more than happy. I am not happy living in poverty. Im getting sick of it. I'm getting sick to be underpaid $600/month for doing a job as hard as software engineering, even with a CS degree. Life is not meant to be slaved away till 65+ years old. I can't even afford to buy a car with this slave salary.
So forgive me God. Im just tired of life. Im tired of being a slave. Im tired of watching my parents become older, weaker and still working. I'll shut down all of my morals and I am ready to rob people in Web3 using all of my programming knowledge that has been undervalued.
"A little boy asked God for a new bike for his birthday, but he knows God doesn't work that way. So he stole a bike and prayed to God for forgiveness"21 -
TL;DR: Embedded software guy needs to create a multi-instance sandbox environment in Jenkins for testing and not sure what good solutions are out there. Looking for suggestions.
So at work, we have these really cool integration tests that validate our system for flight safety. What's not so cool is that due to factors outside of my control, each test has to be run serially and the entire test suite can take many many hours. This is mostly due to a hardware limitation (not enough physical NICs), but there are other SW factors as well.
What I would like to do is somehow be able to wrap up all the resources into a neat little package and then deploy that package into some kind of virtual environment that can be instantiated on a Jenkins job. The NIC issue would be replaced with a virtual one and *theoretically* I should be able to spawn as many instances of this virtual environment as my CPU and RAM can handle. In short, I want to pseudo parallelize our test suite and drive down our testing time. Somehow I would need to be able to control this entire thing from a script of some sort.
Does anyone know of something out there that would satisfy these kinds of requirements? Double internet points if it's open source. -
Wanted for once use FireFox for dev / tooling.
Welp, it only took 1 page load to see why devs don't use it :
There is NO information on how long an ajax request took.
A lot of useless stuf like "Destination IP" (Who the fuck cares?) or "Initiator" (I already know where it started, I want to iknow how long it took).
That concludes my try to work with a non chromium browser and i'm sad. because chromium is a new IE6.
Don't belive me ? Look how websites manages checkboxes. Yes that's right with ::before and ::after.
These pseudo elements SHOULD NOT work in <input>. But they do in chromium. Which basicly a deal break to use firefox for our users.
Fuck you chromium. IE6 bis i'm gonna call you now
And FireFox : Please, just COPY dev tools of chromium, yours are unusable.
Ok, I feel better, going back to my bug.2