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 - "multiply"
-
New engineer: "How do you estimate how long a project will take?"
Seasoned engineer: "I add up the time required for each task, then multiply the sum by pi."
New engineer: "Why pi?"
Seasoned engineer: "It ensures that all my budgets are irrational."5 -
Always multiply your time estimate by Pi (an Irrational number). That way you're guaranteed your estimate will be irrational! (Just like the clients expection :P)3
-
New engineer : How do you estimate how long a project will take..?
Seasoned engineer : I add up the time required for each task, then multiply the sum by π.
New engineer : Why π ?
Seasoned engineer : It ensures that all my budgets are irr-rational..6 -
I hate all of these rants about JavaScript being a terrible language.
In reality, it's one of the easiest languages to work with. This makes it easier for new programmers to write messy code, but is it the language's fault?
People get mad about the things that happen when you multiply "undefined" and a string...what do you expect?
You also have the freedom to choose from a variety of tools the community has created to solve existing problems. People just don't realize that they don't *have* to learn everything, you just learn as you need them.
Don't blame JavaScript for you bad programming, terrible type conversion needs, and great tooling.23 -
Quote by my non-techie co-founder: when a developer says a new feature takes X amount of time, you always have to multiply X by PI to get the actual duration 🤓8
-
[Him]: Hey can I ask a quick question
[Me. ]: Of course!
[Him]: Why do you multiply the amount of timer ticks with 31000 to get the amount of nanoseconds here ?3 -
Me: Hans, Get ze Flammenwerfer!!!
Hans: Why?
Me: They use long instead of big decimal!
Hans: How do they handle the floating values then?
Me: Before sending the request they multiply by 100 and on receiving they divide by 1002 -
(Warning: kinda long && somewhat of a political rant)
Every time I tell someone I work with AI, the first thing to come out of their mouth is "oh but AI is going to take over the world!"
No.
It was only somewhat recently that it started being able to recognize what was in a picture from over 3 million images, and that too it's not that great at. Honestly people always say "AI is just if-else" ironically, but it isn't really that far from the truth, we just multiply an input by weights and check the output.
It isn't some magical sauce, it's not being born and then exploring a problem, it's just glorified-probability prediction. Even in "unsupervised" learning, the domain set is provided; in "reinforcement learning" which has gotten super popular lately we just have the computer decide which policy is optimal and apply that to an environment. It's a glorified decision tree (and technically tree models like XGBoost outperform neural networks and deep learning on a large number of problems) and it isn't going to "decide" to take over the planet.
Honestly all of this is just born out of Elon Musk fans who take his word as truth and have been led to believe that AI is going to take over the world. There are a billion reasons why it can't! And to top it off this takes away a lot of public attention from VERY concerning ethical issues with AI.
Am I the only one who saw Google Duplex being unveiled and immediately thought "fraud"? Forget phone scammers, if you trained duplex on the mannerisms of, for example, a famous politician's voice, you could impersonate them in an audio clip (or even video clip with deepfakes). Or for example the widespread use of object detection and facial recognition in surveillance systems deployed by DoD. Or the use of AI combined with location tracking and browsing analytics for targeted marketing.
The list of ethics breaches are endless, and I find it super suspicious that those profiting the most off of unethical AI are all too eager to shift public concern to some science fiction Terminator style takeover that, if ever possible, would be a long way out and is not any sort of a priority issue right now.11 -
wk147
Estimating development duration.
Whatever number that first came up on your mind... multiply it with 2.5.1 -
Just wanted to leave a little encouragement that can be hard to find on a 'rant' board: As a 40 year old dev doing this for 16 or more years... I'm not jaded, I still have a burning enthusiasm for software dev, I'm lucky to be able to pursue this career. Have I been in some shitty situations and health damaging levels of stress? Yes at times, and I've ranted about them here. This career isn't an easy ride, ultimately there's a reason it's well paid - for all of its physical ease it's mentally and often emotionally hard. But, I still find the highs match the lows, there's still thrill in the chase to make the project and product work right. Only advice I would give is be prepared to shift down a career gear for a while when you have kids. That shit is hard. Keep having fun people, we work with machines that extend and force-multiply our minds, what a time to be alive!7
-
When i worked for a large, international bank (whose name rhymes with shitty), I always had to use the following formula to estimate projects.
1. Take estimate of actual work
2. Multiply by 2 to cover project manager status reports
3. Multiply by 4 to cover time spent in useless meetings.
4. Multiply by 2 to cover user support and bug fix tasks.
5. Multiply by 2 to cover my team lead tasks.
6. Multiply by 3 to cover useless paperwork and obtaining idiotic necessary approvals to do anything
7. Finally, multiply by 3.14159 to cover all the other stupid shit that the idiots that run that company come up with.
It's only a slight exaggeration. Tasks that required less than a day of actual coding would routinely require two weeks to accomplish and get implemented.6 -
First story (not rant) :3
So I was asked to set problems for an online programming contest for my college (I'm a sophomore)
The participants were students from my college.
Teacher told me "make as hard as you can"
I gave it my all.
:|
1 person solved the first question. Nobody solved the other four. :|
Not sure if I should be proud or sad.
And if you're wondering - here was my first question -
Sam wants to invest in real estate. He's got X dollars to spend. He knows the expected value per square meter of a given property. He knows the coordinates of the vertices of the polygon shaped properties he's interested in.
(both the values and coordinates for each property are given in input)
Find the maximum return on investment he can get.
(answer is, basically you calculate the area of each polygonal house using half the vector cross product, multiply it with their expected value per square meter, and then apply a dynamic programming - knapsack approach)
;-; I really thought it was a nice question man. ;-; I put so much thought into others too. ;-;
Got ignored. ;-;6 -
WTF is this shit? Multiply by 0 * Math.pow(2,0) upto Math.pow(2, 10).
Like why the fuck would you write that and not write a comment as to why that logic and explain everything else. Fucking fuck.
Turns out this logic is supposed to mimic the back end logic of breaking the flag value into binary and then set other flags depending on each bit. But why would you do that? I was starting to doubt if 0*n = 0.
This piece of code is inefficient, trying to be smartass, doesn't explain shit and doesn't have the only comment that mattered.1 -
I use a Mac that implements MAC using MAC and its got multiple hardware MACs along with a hardware MAC.... btw, I'm eating a Big Mac.
...
Media Access Control - Networking
Manditory Access Control - Security
Message Auth Code - Security
Mac - Apple
Multiply ACcumulate - Chip Design2 -
I hate myself sometimes.
I wasted 45 minutes in a 2 hour coding competition... Because I forgot to multiply a number by 3.
Now I'm sad because I got a bad rank due to that wasted time, making me unable to complete the next level because there was not enough time left. :(13 -
First I write a list of all the features that the client wants on their website, then I break down the features into tasks, then I estimate the number of hours required for each task, then I sum all the hours and multiply the final number by 3.1
-
"SO culture is so mean, they downvote good questions for no reason!"
Meanwhile, most of the downvoted questions in my list:
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
https://stackoverflow.com/questions...
Translation:
- OP1: "Do my homework for me"
- OP2: "I am too lazy to google this"
- OP3: "Gimme code, here is a shitload of requirements"
- SO: "No."
- OP1/2/3/DevRant: "Oh mah gawd mah question was so gud, SO such toxic, very mean, much wow qq."
Kk.11 -
Go find the most cancerous Instagram page in the "coding community" and multiply it by 10.
Bonus points if they:
>>post vague and utter bullshit motivational captions with completely irrelevant pictures.
>>Have the word "entrepreneur" in their bio
>>Have emojis in their bio
>>Mention coffee in their bio
Oh and you know the shitty clean versions of songs that filter out anything that is slightly offensive words? (I recently heard a song that filtered the words "balls" and "vagina." Apparently anatomy is offensive to the snowflakes now.) That's gonna happen to our code. We're gonna have shitty censored versions that remove all "offensive" words.5 -
1. take a web application working in somebody computer since 4 years with tons of features.
2. Believe that the application is the future and solve brilliantly a general market need.
3. multiply income of current only customer by 10: you are going to be rich.
3. start to install 2, 3 customers.
4. discover the application is shit. Doesn't solve well the problem. Functionalities are different for each customer
5. discover that customers are willing to pay 1/10th of the original customer
6. quickly reingeneer the application to a multitenant cloud application, because with 3 customers and different versions you are already in deep shit
7. keep giving away the application for free to flagship customers. With a lot of customisation developed for free.
8. reach 200 customers in 5 years and still no break even, but lot of debts
9. resort to financial tricks to keep the company going
Luckily money are not mine. They could be recovered.
Unluckily the time spent was mine. It couldn't be recovered
Hope that the application will finally crash so that I can move on to the next thing: retirement in a mental asylum -
I made a post how i experienced a mental breakdown yesterday, a total mental collapse from abnormal dose of studying for college. Here a new day and i still cannot function properly. I cant describe the feeling exactly but feels like my brain is fried by electric shock wave... Like some kind of mild passive aggressive depression of void and nothingness.
During mental breakdown it was so bad that i could not construct basic sentences and comminicate until sleeping for a few hours and resetting myself that way. Now i can but i still cant think or do the coding work. My brain just feels fried... If you never had a mental breakdown just imagine a burnout and then multiply that by 1 million
I dont know what to do
I need help10 -
So apparently some major vpn connection providers got compromised some time ago.
https://twitter.com/hexdefined/...
https://twitter.com/cryptostorm_is/...
adding the fact that major enterprise vpn network providers had security flaws earlier this year
https://sdxcentral.com/articles/...
Sums up what was the major topic in security this year.
At the end I see something like cloud act that allows wiretapping anyone.
https://justice.gov/opa/pr/...
And when we multiply this by number of companies that have services in cloud that sums up privacy these days.
Non existent.6 -
Faster square roots?
Did you know if you multiply your
product by pi, and then use that as
the area of a circle while solving for
the radius, the result will be an
approximation of the square root
of your product.
Example:
let p (the product) = 492181
then √p = 701.5561274766261
492181*pi = 1,546,232~
(leaving off the fraction for
the sake of brevity)
area = 1,546,232
then the radius of the 'circle' would be 701.56
I wonder if anyone has stumbled on this before?13 -
Automation always fascinated me. Not only it looks and behaves like a life form, it also can perform billions of calculations without making a single mistake while I can’t even multiply double-digit numbers with my double-digit IQ.
If you pick the right components, you can make an immortal, perfect machine that can do its job for centuries, even millennia without a single mistake. There is nothing else on earth that can do this.
There is a robot surgeon and its hands never shake. It’s just flawless. If it fucks up, there is only you to blame, the flawed, pathetic operator.
And now it’s time to remember that it was just a 40s technology all along. And now it’s time to remember that now there is machine learning. A whole new perspective isn’t it. All the mistakes that machines make are sitting in front of the monitors.
No wonder I decided to be an engineer.17 -
I estimate by guessing how long it will take me to code then multiply it by 3 and round up to the whole unit.
10-30min work = 1 day
2 day work = 1wk
1wk work = 2-3wks
1month = 3 months
If only I didn't have to deal with other people that take forever....
That and I feel lately whenever my boss ask me for a "quick" change or feature... I literally have to go "down boy down, stop thinking your in a candy store" like he's a little kid.1 -
I have been debugging for like hours trying to figure out the cause an unknown bug spoiling my UI by making my elements overlap.
I'm working on a Unit Converter that takes kWh and then converts to mWh. (Logical Conversion: 1000 kWh = 1 mWh).
Just an easy shit i thought, using Javascript I just passed the dynamically generated kWh value to a function that takes maximum of 6 chars and multiply it by 0.001 to get the required result but this was where my problem started. All values came out as expected until my App hits a particular value (8575) and outputs a very long set of String (8.575000000000001), i couldn't figure the cause of this until i checked my console log and found the culprit value, and then i change the calculation logic from multiply by 0.001 to divide by 1000 and it came out as expected (8.575)
My question is that;
Is my math logically wrong or is this another Javascript Calculation setback?13 -
I am creating a new language. Not like C# but a language specifically for plus,minus,multiply,division stuff
Any tuts related to this?14 -
I need to estimate how much ram and CPUs my team will need next year for our apps... That have yet to be built.
We load a lot of data feeds with batch processes running on a few large machines, some can use like 30 GB RAM at times...) which should be a lot less if we get the data real time I hope...
But wondering how to estimate well... I sorta did a worse case analysis where I just multiply and sum # CPUs/memory* nodes*approx apps...
Comes out to be like 600 CPUs and 800 RAM... So wondering if that's ok...
RAM is ok but # of CPUs is way higher bc now all the apps basically run on their own machines...13 -
Always, always, with every estimate in time or resources you or your pm/manager/whatever thinks to need. Multiply that number by pi.
That's a more real-world estimate.8 -
When we subtract some number m from another number n, we are essentially creating a relationship between n and m such that whatever the difference is, can be treated as a 'local identity' (relative value of '1') for n, and the base then becomes '(base n/(n-m))%1' (the floating point component).
for example, take any number, say 512
697/(697-512)
3.7675675675675677
here, 697 is a partial multiple of our new value of '1' whose actual value is the difference (697-512) 185 in base 10. proper multiples on this example number line, based on natural numbers, would be
185*1,
185*2
185*3, etc
The translation factor between these number lines becomes
0.7675675675675677
multiplying any base 10 number by this, puts it on the 1:185 integer line.
Once on a number line other than 1:10, you must multiply by the multiplicative identity of the new number line (185 in the case of 1:185), to get integers on the 1:10 integer line back out.
185*0.7675675675675677 for example gives us
185*0.7675675675675677
142.000000000000
This value, pulled from our example, would be 'zero' on the line.
185 becomes the 'multiplicative' identity of the 1:185 line. And 142 becomes the additive identity.
Incidentally the proof of this is trivial to see just by example. if 185 is the multiplicative identity of 697-512, and and 142 is the additive identity of number line 1:185
then any number '1', or k=some integer, (185*(k+0.7675675675675677))%185
should equal 142.
because on the 1:10 number line, any number n%1 == 0
We can start to think of the difference of any two integers n, as the multiplicative identity of a new number line, and the floating point component of quotient of any number n to the difference of any number n-m, as the additive identity.
let n =697
let m = 185
n-m == '1' (for the 1:185 line)
(n-m) * ((n/(n-m))%1) == '0'
As we can see just like on the integer number line, n%1 == 0
or in the case of 1:185, it equals 142, our additive identity.
And now, the purpose of this long convoluted post: all so I could bait people into reading a rant on division by zero.30 -
I'm a C++/Obj-C programmer finding it ludicrously hard to switch to Swift.
I find that the constant ability (leading to very poor programmer code) to reduce syntax and add tokens reduces readability and nowhere is this more apparent that with closures.
I'm working through (to my shame) Ray Wenderlich's Swift course and the closure chapter has this:
PS I loathe K&R as much as I do Swift so it's all in Allman formatting for clarity.
let multiply: (Int, Int) -> Int =
{
(a: Int, b: Int) -> Int in
// do Something else
return a * b
}
Why oh why isn't this more simply and elegantly written as:
let multiply = (a: Int, b: Int) -> Int
{
// do Something else
return a * b
}
The equals sign shows clearly that it's a closure definition assignment, as does the starting 'let'. But this way all of the stupid excesses, like the 'in' keyword, the repetition of the params / return type only this time with useful labels and additional tokens are removed and it looks and reads much more like a regular function and certainly a lot more clearly.
Now I know that with the stupid ability of Swift you can reduce all this down to return $0 * $1, but the point I'm making is that a) that's not as clear and more importantly b) if this closure does something more than just one line of code, then all that complicated stuff - hinted to by the comment '// do Something else' means you can't reduce it to stupid tokens.
So, when you have a clousure that has a lot of stuff going on and you can't reduce it to stupid minimalism, then why isn't is formatted and syntactically better like the suggestion above?
I've mentioned this on the Swift.org (and got banned for criticising Swift) but the suggestions they came up with were 'use type inference' to remove the first set of params / return type and token.
But that still means the param list and return type are NOT on the same line as the declaration and you still need the stupid 'in' keyword!5 -
A remarkably stupid but efficient technique I invented today to measure the latency of an audio feedback channel involving multiple hardware elements that is difficult to synchronize by itself:
1. Knock. Observe the echo in the feedback.
2.Try to knock in such a way that the physical sound more-or-less lines up with the feedback. The human brain is really good at this on average.
3. Once you often only hear one knock (as perfect synchronization as your ear can tell), record several minutes of audio
4. Stop knocking, count the additional knocks in the echo
5. Multiply the average delay between knocks on the recording by the number of additional knocks from step 44 -
I gave backend dev my frontend code and he had no idea about SCSS.
So he copied the compiled AND minified CSS, prettified/formatted it and put his own changes by searching the class names.
And he had made lots of design changes arbitrarily so when new changes were to be made I had to cope with it.
As a hack I kept his css as it is and compiled another file with new changes. And now there's two css files all huge, like 800kb multiply by two huge.
It covers about 33+ custom pages with all the bells and whistles.
#let me do the frontend
#I wont bother you either4 -
Taking an online test to practise programming. They give me code that takes two 3x3 matrices as inputs and outputs a third. I have to multiply them together and ouput results.
Within minutes I've worked my head around it, got four lines of code to do it all. Output fails.
Twenty minutes later, nearly failing the time limit I find out that they couldn't output the array proplerly in C++
Are3[I, j];
;( What a hair puller.1 -
* break it into elementary steps, small enough to fit into your "estimation time unit", e.g. days or hours.
* estimate those steps for "developing at a leisurely pace" if nothing goes wrong.
* think about "what could go wrong" (list everything!) and adjust values accordingly.
* adjust total amount with experience values, like:
* times 1.2 for every manager
* times 1 to 4 based on which legacy projects i have to touch
and finally:
* multiply with `1+log(t/u,2)`, with `u` being the amount of useful data in the requirement description and `t` being the total amount of data in the requirement description
* sample: with our current "favourite" customer, about 90% of all tickets is garbage, so t/u = 100/10 = 10 => log(10,2) = 3.3 => multiply everything with 4.34 -
As one of my classmates was translating comments of a function from English to French, she wrote "...puis on multiplie les queues récursivement" which one might understand like "...and we recursively multiply dicks"....1
-
So I'm on my morning stroll. Walking, enjoying, watching the world around me.. It's nice how cherries blossom. They smell very tempting to stop there and enjoy the moment. Some flowers under the cherry...
Why do plants blossom again? Oh yeah, that's right, to exchange some speciments in order to grow fruit and seeds. To have their offspring. Just like every other living macroorganism [with a few exceptions ofc]. Life has no other way to survive but to exchange genetic material between two parties and only then trigger growth of the new life.
And that is a very strict rule. No more, no less: it takes exactly 2 organisms to make new life. But why is that? If my memory serves, theory of evolution says that life is like business: cut the losses and let the profits run. Over time it discards everything not required for the organism in order to save energy, and only successful new "investments" remain in the genome. The unsuccessful ones die before they proliferate, so the bad genes shall not survive.
It also says that very simple things, very simple changes lead to very complex outcomes. Us. Life.
But what is simple about life having to need 2 other lives? Exactly 2. It's either simple or efficient, depends on perspective. BUT IT IS NOT BOTH. Look at cells. They just split in half and multiply. Dead simple. It takes one of them to make another one. But with mammals, birds, reptiles, plants and other macroorganisms [excpt fungi] this is not the case! Why?!? I can't think of any scenario where two generic microorganisms, following some dead simple mutations, would come up w/ something that inefficient and overly complex. Like they're living on their own, multiplying by division, and smth very simple happens and they can no longer divide, only mate in pairs. The primitive, efficient and simple mechanism gets terminated and replaced with a different one, incredibly complex one!
Sure, we have protozoa which have similar reproductive mechanisms. They exchange genetic material to multiply.
But look at our, human cells. They dont need that! Look at some reptiles, some plants that only take one to make another. They don't pair as well! It's simple. Efficient. Why do protozoa need 2 for the species to survive?
It's not simple and efficient [tho helps us adapt, but its not my point for now]. See, things like this make ne wonder. What if we, the life, are not as accidental as we think? What if this whole mechanism was set off by someone or something billions of years ago? That's mean there are much older, much more superior cognitive organisms than us. What if protozoa was version 3 of new life [the first two did not survive]? Viruses - v2? Sea creatures - v3, reptiles - v4, and so on until they came up with us, mammals? That'd surely mean we are not alone in this universe. Are they watching us? Will they create a new species any time soon? What's our purpose, are we just an experiment?
And so, from cherry blossoms to existensial dilemma, my stroll is over. Time for breakfast :)1 -
Managed to derive an inverse to karatsuba's multiplication method, converting it into a factorization technique.
Offers a really elegant reason for why non-trivial semiprimes (square free products) are square free.
For a demonstration of karatsubas method, check out:
https://getpocket.com/explore/item/...
Now for the reverse, like I said something elegant emerges.
So we can start by taking the largest digit in our product. Lets say our product is 697.
We find all the digits that produce 6 when summed, along with their order.
thats (1,5), (5,1), (2,4), (4,2), and (3,3)
That means for one of our factors, its largest digit can ONLY be 1, 5, 2, 4, or 3.
Lets take karatsubas method at step f (in the link) and reverse it. Instead of subtracting, we're adding.
If we assume (3,3)
Then we take our middle digit of our product p, in this case the middle digit of 697. is 9, and we munge it with 3.
Then we add our remaining 3, and our remaining unit digit, to get 3+39+7 = 49.
Now, because karatsuba's method ONLY deals with multiplication in single digits, we only need to consider *at most* two digit products.
And interestingly, the only factors of 49 are 7.
49 is a square!
And the only sums that produce 7, are (2,5), (5,2), (3,4), and (4,3)
These would be the possible digits of the factors of 697 if we initially chose (3,3) as our starting point for calculating karatsubas inverse f step.
But you see, 25 can't be a factor of p=697, because 25 is a square, and ends in a 5, so its clearly not prime. 52 can't be either because it ends in 2, likewise 34 ending in 4.
Only 43 could be our possible factor of p.
And we *only* get one factor because our starting point has two of the same digit. Which would mean p would have to equal 43 (a prime) or 1. And because p DOESNT (it equals 697), we can therefore say (3,3) is the wrong starting point, as are ALL starting points that share only one digit, or end in a square.
Ergo we can say the products of non-squares, are specifically non-prime precisely because if they *were* prime, their only factors would HAVE to be themselves, and 1.
For an even BETTER explanation go try karatsuba's method with any prime as the first factor, and 1 as the second factor (just multiply the tens column by zero). And you can see why the inverse, where you might try a starting point that has two matching digits (like 3,3), would obviously fail, because the values it produces could only have two factors; some prime thats not our product, or the value one, which is also not our product.
It's elegant almost to the level of a tautology. -
No proper normalization and database structure practices seems to continue to be the bane of my fucking existence at work.
One would think that it would be the quirks carried through by the language stacks in question, those are fucking absolutely ridiculously horrible by the way, y'all think you've seen bad Javascript and PHP? these would make you cry, laugh, wonder in amazement and then fucking pity me and eventually buy me a beer NO JOKE.
Y'all think you have seen some obscenely unoptimized SQL code? think of the worst fucking possible output from the shitty-est most error prone boundary checking inefficient ORM out there and multiply it by 10k. Then refer to my other point, and do the same thing for me which culminates in alcoholic consumption.
Worst thing? the developer that wrote most of this is a college level TEACHER rn....i've met the smug piece of shit, he acted severely condescending to everyone around him and I just smiled because I know how much of a piece of shit he is.
The other dude in question (it was two of them that I am talking about) left for another city and currently holds a senior developer position....i-fucking-magine that.
Fuck I hate these mfkers and I really wish they gave me a chance to fucking blow up on them.2 -
I've seen a lot of buzz around the EU's GDPR and since I don't live there I'm wondering if it applies only if you store personal data and should it count if it's hashed for example?🤔
Let's say you hash a client's IP, it's not technically his data you've irreversibly transformed it into something else, like a computation.
For example let's say he provides you with a number and you multiply it by another and store the result, let's say 2 x 2 = 4, Is the 4 his data or yours?
Also I'm really interested in the general opinion of ranters about article 13.14 -
I have a few side project ideas. I started one of them a few months ago (project setup, dependencies, git repo, index page, very basic API and client functionality). But I cannot get myself to work on it or even think about it (for months now). The reason? I do not want to work on the client/frontend! I do not want to deal with React or Vue or Svelte or fuckjs or even jquery. It's a fucking mess.
For the backend, the requests are stateless: you get a request, handle it, and respond back. Need to update state? Database. That's it!
For the frontend, there's just tooo many states I can't keep up with! When the user checks or unchecks this checkbox, I need to maintain the state of the checkbox and maintain the all effects of changing the checkbox while syncing with the backend and making sure the elements are still styled correctly with the applied effects. Multiply that with all the expected interactive elements on the page. It's exhausting!4 -
First and foremost, students should be carefully taught the logic and mentality behind programming. Most of the time I see that the introductory programming courses waste so much energy in teaching the language itself. So students kinda just get fucked cause many people end up ending the course without having actually gained the "programming perspective".
Stop teaching pointers and lambdas and even leave the object oriented stiff till later. If a student doesn't know why we use a For loop then how can they learn anything else.
I believe once that thing in your brain clicks about programming, everything goes smooth from there... kinda :P
Second of all, and this pertains mainly to the engineering and science disciplines.
We need a fundamental and strong mathematical foundation. And no I don't mean taking fucking double integrals. Teach us Linear Algebra, Graph theory, the properties of matrices, and Probability theory.
One of the things I suffered from most and regret in university is having a weak foundation in math and having to spend more time catching myself up to speed.
It's so annoying reading a paper on a new algorithm or method and feeling like an idiot because I can't understand what magic these people did.
Numerical Methods...
Ok this is more deeper, maybe a 2nd year course.
But this is something we take for granted.
Computers don't magically add and subtract and multiply.
They fuck up.
And it'll bite you in the ass if you're not even aware that the computer we all love so much isn't as perfect as we think
Some hardware knowledge.
Probably a basic embedded systems course with arduinos
just so you can get a feel for how our beautiful software actually makes those electrons go weeeeeeeee
And finally
Practice practice
Projects projects
like honestly
just give me the internet and some projects
Ill learn everything else
Projects are the best motivation
I hate this purely theoretical approach
where we memorize or read code and write these stupid exams
Test what we are capable off
make us do projects that take sleepless nights and litres of coffee
And judge our methods, documentation, team work, and output
Team work skills and tools (VCS, communicating, project management, etc.)
Documentation and Reporting
Properly
:)
maybe even with LaTeX :D
Yeah that's the gist of whats on my mind at the moment regarding an ideal computer science education
At least the foundations
The rest I leave it to the next dude. -
I'm in a big fat fucking stinking rut, as in progress on this project has absolutely stagnanted.
Gonna rubber face your duck now **UNZIPS** excepts I don't have zippers, as joggers are the one true way; fake Adidas til I fucking drop.
Brain damage aside, I understand both how I've layed out the data and what I'm supposed to do with it. We have a virtual machine, an array of instructions and arguments for a given process within it, and we need to walk this array and map values to registers.
We also need to spill values inside registers to stack, IF they are required at a further point within that block. This also isn't terribly complex. We simply look forward in the array and see if the value is an argument to any instruction that *needs* this value to be loaded (ie, within a register).
So this implies multiple iterations; we need to better understand how one particular value is used throughout an F before we can make a final decision on how many registers and stack space are actually needed for the whole block.
Here's where it gets tricky. If there's a call, we need to be certain that the symbol being invoked has already been fully processed. Besides the obvious fact that recursion fucks me up, there's another matter: say a private method gets invoked by another private method. We can take advantage of this, by which I mean, sacrilege incoming so put on this toga.
Looking at the output for C compilers, it would seem this is not done in practice, I would assume because it's a pain in the ass. But when you have the guarantee that F will only be called internally, as that's what "private" means, there's two ways it can go:
0. It's well below the 13-20 cycle threshold, so you inline the fucker. No suprises there.
1. It's a more involved affaire, and invoked in more than one place, so you don't inline it. Codesize matters.
Recursion and [1] are the big deal things holding me back. Not because it's too hard, like I said this is kindergarten level abstraction. I'm just slow and fanatical, which is how I prefer to spell "constant obsessive paranoid delusions". I can see the potential optimization I can pull here, so I'm stuck trying to figure it out.
Idea would be, handling the register allocation and stack spill for an internal-internal (or deep internal; what we like to call a "guts" method) in synchronization with the *calling* processes. This is, fundamentally, violating all conventions -- but so under the hood no one will notice.
Let me give you an example. If we were to pass some value to a function, expecting to mutate it and get a different value back, in a lot of cases it'd be stupid to make an implicit copy by using two registers, one for input and another for the output. Dude, it's one cycle. Multiply it by a million, say sixty times per second, for every time you __needlessly__ make a copy of a value that we've already stated is mutable.
Clearly unacceptable. This is, in the strictest sense, everywhere in every single codebase. Premature micro optimization is the root of all goodness, God is great and praiseworthy. So how do we go about it?
Answer is I know and I don't know. By which I mean to say, this very thing I've done by hand. Assembly is fun. Now the issue is teaching a calculator how to do it. Not so fun.
There is a dependency chain between processes, as I believe I've kind of alluded to. I'm trying to make decisions on the side of the caller depending on the details of the callee, which is why recursion is rawdogging my soul. This is the same situation, it's inverting the direction of one or more links in the dependency chain, which makes no fucking sense.
And yet it does.
Brain, explain yourself.
How do *you* handle this without crashing?
Brain?
<<ME STEWPED; BEEP-BOOP>>
Alright then, that was a useless attempt at fuckery. Let's have a nap then, maybe it'll come to me in the morning. That's what I've been saying to myself for almost a month now.
Perhaps it is a hardcoded fuk.1 -
How hard can it be to let sql just multiply some values and sum the results, right? As it turns out, damn hard!
I hear you thinking, surely you can just do select SUM(price*amount) AS total right? Nope! I mean, yes you can, but it fucks up. Oddly. It always ends up giving me wrong results. Always. Wtf sql? And it's not like I'm running a massive dataset or anything, it's like 100 records at most?27 -
I hate it when designers just LOVE to use blend mode multiply everywhere, and the client is looking at the website in IE asking why it's not the same as design.
-
And here it comes bois, the famous Monday Morning Mumbling is back, for everyone's pleasure.
Do you remember your uni years, when you had wonderful coding lessons, and you learned sick languages ?
I do aswell, since I'm still in uni.
But why, WHY, IN ALL OF GOD THOUGHTS, DO I STILL HAVE TO TAKE MATHS LESSONS ?
It's my fourth fucking uni year, and I'm still supposed to deal with math lessons which are about what I learned 6 years ago. And guess what ? I still failed the test since I fucking don't understand a single shit in maths.
"Uuuuh if yu wan tu derivate a function u hav to multiply ur derivated function basic expression with the derivate itself lul xDDD so funi"
FUCK OFF DUDES I DON'T GIVE A SINGLE SICK BIRD SHIT ABOUT MATHS. I WASTED THREE YEARS OF MY LIFE LEARNING ABOUT BINARY TREES, MATHEMATICALS WAYS OF SPILLING YOUR CEREAL BOWL WHEN YOU HAVE TO LEAVE IN FIVE MINUTES, NUMERIC WAY OF OPTIMIZE YOUR SINK SPACE WHEN YOU'RE TOO LAZY TO DO THE DISHES, JUST LET ME FUCKING WRITE CODE INSTEAD OF ANNOYING ME WITH UNEXPLAINABLE MATHS SHIT NOW !
I know maths are important, okay ? But I'm so fucking tired of learning this shit again and again and still failing those shitty tests where they only give you maths problems without any other goal than messing with your grades.
Fuck this shit I'm pissed off on so many levels, I wasted tons of money on a private school to enhance my résumé history, and now I'm stuck with some strange "f'(x)" boi that will ruin my year.
RT's appreciated, if you recognised yourself in this story, don't forget to send some biscuits to my postal address.
TL;DR : Why wasting your time on theoritical lessons when you could use your time to learn new dynamic technos, like C++98 ?2 -
So the views result counter global field in Drupal 8 doesn't like to be bothered with mathematic expressions in TWIG. FUCK FUKC FUCK FUCK FUCK FUCK.
It will render it's own value and seems to be cast as a string like other fields in the view but as soon as you try to increment it or multiply something by it, IT TURNS INTO ZERO!
😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 😡 -
Me: Oh yes this is easy, i will fix it in 5 minutes..
*Deploys the solution to debug it*
*waits 20 minutes....*
(the message says "installation is in progress")
Just fuck you SharePoint Online.1 -
I have learnt html,css, and some basic javascript for web development,and made a few projects including a calculator with prompts.This is the code :
<script type="text/javascript">
function prote(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1 + num2;
alert(result);
}
function prote2(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1 - num2;
alert(result);
}
function prote3(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1* num2;
alert(result);
}
function prote4(){
let firstNum=prompt("Enter first number")
let secondNum=prompt("Enter second number")
let num1=parseInt(firstNum);
let num2=parseInt(secondNum);
let result=num1/num2;
alert(result);
}
</script>
</body>
<form>
<br>
<input type= "button" value="Add" onclick="prote()" />
<input type= "button" value="Subtract" onclick="prote2()" /><br><br>
<input type= "button" value="Multiply" onclick="prote3()" />
<input type= "button" value="Divide" onclick="prote4()" />
</form>
However I want to do game dev and I feel it may have been a mistake to start learning web development,I originally started learning code in roblox studio,however some do not consider making games in roblox studio "REAL" game development and I didn't exactly feel it was either.I messed around with unity and found the layout quite similar to roblox studio. However
I heard phaser uses javascript and Unity uses C#.In which case using phaser would not require using a new language.However I am aware that If I want to make 3d games(Which I do) I will have to move to unity eventually.Basically, as a beginner should I switch to unity and C# first or Phaser and javascript first.6 -
Humans are the one who moves to an area and multiplies. Multiply till the last natural resource is consumed. We are not human. WE ARE MORE LIKE VIRUS.14
-
I hate to even ask but...Thot I'd fool with the Zodiac cipher, Z408. Managed to paste the frequencies of English letters into Android Drive. Multiply that by 408 gives the expected # of letters. So I drag the 1st equation down the column to select the cells but that's ALL it does. Have used 2 other sheets, same thing. What's going on?1