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 - "algorithm"
-
Based loosely on the popular "git" command, I am happy to announce my new product, "hit"!
Essentially, hit hooks into "git blame" and automatically slaps the shit out of whoever wrote this garbage.
It uses SOHTTP (Slap Over HTTP) to deliver a nice firm wallop to any subpar script kiddie that had the audacity to come up with this bullshit.
Careful, the user is not immune to the effects10 -
When I'm coding, I often come up with some cool algos and when I do, I feel pretty good.
But the next second, I get this feeling that I know there are a million other people in the world who have solved the same problem with the same or better algorithm and I feel like shit. Like all the work I put in is somehow redundant.
Like finding answers on StackOverflow... When you do, you know the person who answered has already done it. You're just repeating it. But again, the fact that I'm looking for answers from other people in the first place is ....
I don't know. I guess I need to change the way I code from now on....5 -
So my localization algorithm actually runs onboard my YouBot :)
My paper was basically torn apart by my professor, so I had to write some new classes and redo the whole experimental section. And all the other sections too. I resubmitted it to him after revisions, and the second iteration was way better - I'm really close to final paper level :)
I told my professor and postdoc that I will appreciate more support and positive feedback, because so far our communication was only very dry criticism. For me it's really devastating, because feeling like I constantly disappoint people just kills me on the inside.
It seems like they took it to heart, they have been nicer to me in the last few days :)6 -
!dev What pisses me off about today's job market is that the following idea is a naive one:
Let's just find a junior position and learn on the job so you can demonstrate your skills to your employer so they can promote you.
Wroooong. Reality: They only hire the most gifted geniuses who already know everything and they don't have the budget for someone who is rusty.
Welcome to the modern world of the CompSci market, where you are expected to have expert level knowledge in every language, especially in Software Engineering and Algorithms. And if you don't remember how to write an efficient Comparator algorithm in under 3 minutes, you're screwed.
Yaay.7 -
During my first-ever technical interview, the interviewer asked me "Do you know the FizzBuzz problem?"
"Uhh, not really." (I was just thinking ok this problem has a name, must be some algorithm problem)
"So the problem is basically to give you the numbers 1 to 100, if the number is divisible by 3, print 'Fizz', if divisible by 5, print 'Buzz', if divisible by 3 and 5, print 'FizzBuzz'. For other numbers just print out the number itself."
After hearing the problem, I felt so many ideas popping out of my stressed brain.
I thought for a bit and said "ok, so if the digit sum of a number is a multiple of 3, then the number is divisible by 3, and if the last digit is either 0 or 5, it's divisible by 5."
Then I started to code out my solution until the interviewer said "there's an easier solution. Can you think of it?"
This stressed me out even more.
I thought for a bit and said "well, starting from 3, keep a counter that records how many iterations are done after 3. When the counter hits 3, that number would be divisible by 3 for sure. Should I try this solution?"
The interviewer said "Sure." So I started again.
However, I struggled for about another 3min until I realized this solution is a lot harder to implement. The interviewer probably saw my struggle too.
This was the point where he stepped in and asked me "Ummmm there's an easy way of solving this. Have you heard of the MODULO OPERATOR?"
In sheer embarrassment, I finished the code in 30s.
Of course, there was no further question after this, and I felt the need to seriously reevaluate my intelligence afterwards.17 -
I wrote pagerank algorithm in python for data mining course but my teacher told me to write it in R because according to him python can't be used as data mining tool.5
-
My advisor thought that my MCL algorithm behaves a bit strange, so he wanted me to investigate it. I said I'd be happy to review the code because I anyway considered refactoring, and asked if I can have another pair of eyes to help me.
A more senior PhD student was assigned to help me, and by the suggestion of my advisor we tested my code against a very well-written and well-performing implementation of MCL. This implementation was written by another professor, who is a close friend of my advisor and the actual supervisor of the student assigned to help.
But this implementation was optimized for a very specific type of maps, and on the maps I worked on it just failed consistently. The student, in a misguided attempt to protect the pride of his advisor and subsequently his, wasted days adding code and fine-tuning the implementation.
In the meantime, my MCL has a stable configuration that converges on both types of maps. It behaves differently, but the outcome is about the same as the other implementation.
I am a little sick of wasting my time (week+) on someone else's attempt to reassure their ego, so I'm doing my planned research work on the weekend...1 -
So my department is "integrating CI/CD"
Right now, there's a very anti-automation culture in the deployment process, and out of our many applications, almost none have automated testing. And my groups is the only one that uses feature branching - one of the few groups that uses branching at all beyond "master, dev"
So yeah... You could see how this is already ENTIRELY fucked from the very beginning.
First thing they want to do is add better support for a process... Which goes directly against CI/CD.
The process is that to deploy to production (even after it is manually approved by manager), someone in another department needs to press a button to manually deploy. This, as far as I can tell, is for business rule reasons rather than technical ones.
They want us to improve that (the system will stay exactly the same with some streamlined options for said button pressers)
I'm absolutely astounded at the way our management wants to do something but goes in exactly the opposite direction. It's like the found an article of what CI/CD was and then took notes on exactly what not to do.25 -
- Get invited to apply to job
- Technical interview, guy shows up late starts small talk wasting time and gives me the exercise
- Start implementing the first algorithm, finish it passing min test cases then realize there's a solution that would make both algorithms a breeze
- I pitch my solution realizing there's no much time left, cuz we lost almost 20 min of my test hour talking about BS plus the almost 10 min he arrived late, and reassure the interviewer it can be developed faster
- Interviewer says it doesn't matter, we should finish edge cases
- Kay no problem, finish the first algorithm successfully and explain pitfalls on the second part with the current implementation
- I tell him there's a better solution but he doesn't seem to care, he says time's up
Now here's the funny part.
I get called by the recruiter today (2 weeks later) and she says "They are happy with your soft skills but feel there are some gaps with your coding, they would like to repeat the technical interview because they didn't feel there was much time to assess the 'gaps' ".
Interviewers, either I'm competent enough to work for you or not, your tests must be designed to assess that, if you see you can't fit the problem you want in the time you have left change the problem, reschedule or here's an idea...LEAVE THE BS CHITCHAT TILL THE END AND START THE INTERVIEW ON TIME. When I do interviews I always try to have one complete free hour and a one algorithm exercise because I expect the candidate to solve it, analyze it and offer alternatives or explain it, I've never had someone finishing more than 2 an hour.
You can keep your job I'll keep my time. I'll write a similar problem on the comments to pass on the knowledge for people who enjoy solving these kinds of problems, can't give you the exact same thing, also tip guys don't do NDA's for interviewing it makes no fucking sense trust me no one cares about your fizz buzz intellectual property.13 -
Article about "best chromium alternatives"
- First is opera
- Second is Vivaldi
Fucking zero brain cells. Entirely braindead. Not a single god damned thought behind the eyes.22 -
Today we mourn the loss of a once excellent technology, and secretly celebrate it like a grandparent that turned bitter in old age.
RIP Internet Explorer.26 -
BUZZWORD BUZZWORD AAAAAH
ARTIFICIAL INTELLIGENCE
BLOCKCHAIN
ALGORITHM
CLOUD
IOT
BIG DATA
SaaS
DEVOPS
5G
AR
VR
AAAAH BUZZWORD HERE BUZZWORD THERE4 -
Just wanted everyone to know that I did a find and replace all in my project and it actually worked as intended.
That's all.8 -
How to psych-out a machine learning algorithm:
> Use a platform for 10 years
> Never like, comment, or give it any inkling of your preferences
> Like one random video
> Never log in again10 -
Apply for a data engineer role.
Get invited for a data science interview.
HR says they're building AI and I were to supervise another person writing its algorithm.
It's a media company.
*Risitas intensifies*6 -
What's a database? Oh, uh... Think, like, a spreadsheet -- but it makes you wanna kill yourself even harder.4
-
Music is not always a foreground activity.
Spotify... why don't you have a volume slider specifically for your output on my phone..?
Why do I need to turn ALL non-call volume down to just turn the music down.
Sometimes I want to play games with music but I don't want the music to be totally loud.
Sometimes I wanna do WHATEVER at full volume with some music in the background.
But I just... can't
What the fuck.4 -
Google's algorithms seem to act stupidly on purpose so we are mistaken to think we have nothing to fear from artificial intelligence.2
-
You probably hate bootstrap and jQuery, as I do, but if you block CDN paths for these libraries, you'd probably never see the internet as it was intended.
Side note: web devs, please learn media queries, vm and em for font sizes, and etc. You really don't need complicated stuff, browsers already have your back, I promise.3 -
Looks like I got dislike-banned as well... eventhough I only used it where appropriate.
I understand that our almighty gods dfox and trogus implemented this to fight bots and mischievous downvote cunts, but why not inform the user affected by it?
I fucking hate these silent bans, just like Twatter and YouTwat do it... you feel like you posted something but in reality it disappears and you're not even aware of it.
Man, nowadays a lot of people behave like bots thus I can't blame The Algorithm™...3 -
I know a lot of people disagree with modern art, but fuck me, at least we got away from this ugly shit.7
-
The only really influential product Microsoft ever created is Verdana. Yes, the typeface.
It was the first typeface designed to be displayed on a screen rather than in print. Before that, there only were monospaced typefaces like we saw in terminal, or digitized typefaces like Helvetica Neue.
More than that, its looks were partly generated by an algorithm, hence the odd, alien looks. But because of it, Verdana works amazingly good in small labels. The 8pt Verdana is more readable than 10pt Helvetica.
I still use Verdana in all of my projects, religiously.
All the other Microsoft products: Windows, Xbox, Surface, Office, Azure, all that stuff — is mere garbage compared to the influence Verdana made on how our interfaces look now.5 -
The following paper combines recurrent neural nets for vision with methods from reinforcement learning research:
https://proceedings.neurips.cc/pape...
Apparently an agent learned to catch a ball 85% of the time, without being explicitly told to track the ball. The RL algorithm rewarded the agent *only* for successfully catching the ball. The system itself used this reward signal to set its *own* policy/goal, which was used to guide it toward the goal of tracking the ball itself--all on its own.
Behold, the very infancy of the paperclip maximizer problem.3 -
Having fun with HTML5 custom elements and shadow DOM. Finally, a genuine way to make widget libraries.6
-
In other to sharpen my algorithm and data structure skill.
I implemented the complete *eval()* function for arithmetic Expression in java
It can compute any kind of arithmetic Expression even with parenthesis grouping
Here is the github repo
https://github.com/Afrographic/...1 -
During my first-ever technical interview, the interviewer asked me "Do you know the FizzBuzz problem?"
"Uhh, not really." (I was just thinking ok this problem has a name, must be some algorithm problem)
"So the problem is basically to give you the numbers 1 to 100, if the number is divisible by 3, print 'Fizz', if divisible by 5, print 'Buzz', if divisible by 3 and 5, print 'FizzBuzz'. For other numbers just print out the number itself."
After hearing the problem, I felt so many ideas popping out of my stressed brain.
I thought for a bit and said "ok, so if the digit sum of a number is a multiple of 3, then the number is divisible by 3, and if the last digit is either 0 or 5, it's divisible by 5."
Then I started to code out my solution until the interviewer said "there's an easier solution. Can you think of it?"
This stressed me out even more.
I thought for a bit and said "well, starting from 3, keep a counter that records how many iterations are done after 3. When the counter hits 3, that number would be divisible by 3 for sure. Should I try this solution?"
The interviewer said "Sure." So I started again.
However, I struggled for about another 3min until I realized this solution is a lot harder to implement. The interviewer probably saw my struggle too.
This was the point where he stepped in and asked me "Ummmm there's an easy way of solving this. Have you heard of the MODULO OPERATOR?"
In sheer embarrassment, I finished the code in 30s.
Of course, there was no further question after this, and I felt the need to seriously reevaluate my intelligence afterwards.11 -
"f(n) is O(g(n)) if c and n0 f(n) <= cg(n) for all n > n0".
I have a couple of questions related to this equation.
1: why we use this equation?
2: which thing cg(n) is represented for?
3: what is the real-life example of this?10 -
What's the fuckin point when a language makes you call the constructor of a parent class in the child class before you can use the inherited items?
Why do I need to call `super()` every time in my constructors? Why can't this be automatic?7 -
Sharing a first look at a prototype Web Components library I am working on for "fun"
TL;DR left side is pivot (grouped) table, right side is declarative code for it (Everything except the custom formatting is done declaratively, but has the option to be imperative as well).
====
TL;DR (Too long, did read):
I'm challenging myself to be creative with the cool new things that browsers offer us. Lani so far has a focus on extreme extensibility, abstraction from dependencies, and optional declarative style.
It's also going to be a micro CSS framework, but that's taking the back-seat.
I wanted to highlight my design here with this table, and the code that is written to produce this result.
First, you can see that the <lani-table> element is reading template, data, and layout information from its child elements. Besides the custom highlighting code (Yellow background in the "Tags" column, and green gradient in the "Score" column), everything can be done without opening even a single script tag.
The <lani-data-source> element is rather special. It's an abstraction of any data source, and you, as a developer can add custom data sources and hook up the handlers to your whim (the element itself uses the "type" attribute to choose a handler. In this case, the handler is "download" which simply sends a fetch request to the server once and downloads the result to memory).
Templates are stored in an html file, not string literals (Which I think really fucks the code) and loaded async, then cached into an object (so that the network tab doesn't get crowded, even if we can count on the HTTP cache). This also has the benefit of allowing me to parse the HTML templates once and then caching the parsed result in memory, so templates are never re-parsed from string no matter how many custom elements are created.
Everything is "compiled" into a single, minified .js file that you include on your page.
I know it's nothing extraordinary, but for something that doesn't need to be compiled, transpiled, packaged, shipped, and kissed goodnight, I think it's a really nice design and I hope to continue work on it and improve it over time1 -
I've got a kinda basic networking question I can't quite figure out
How does a push notification work?
Like, on an Android app. A good example is an authenticator. Say I don't login to the service for 4 months.
Then, one day, I try to log into the web portal and it prompts me to accept the request on my authenticator app on my phone.
Immediately, there's a push notification on my phone.
Wtf.
Is there a socket open for 4 months? Does it send requests every few seconds for 4 months? I can't imagine that either of these options scale whatsoever: both horrendously waste bandwidth and server connections.
How the fuck does it work? I don't even have the first idea.7 -
That annoying moment when you took an algorithm test, you didn't even pass any test case or you passed just 3 🙂, doing that same algorithm again outside the time scope, then you killed it.
Moral lesson: you have to take your time to think properly even when time is running out. -
Me: What algorithm prioritizes food no matter how you use it?
Coworker: Idk, never heard of that one.
Me: Bread-First-Search1 -
I'm going to be making a table library (think DataTables)
So for those web dev gurus, should I render the data to a basic <table> or should I use CSS grids?
IE compatibility is not a consideration.
The table will also support grouping (pivot table) so something like rowspan will be a must11 -
*looks drowsy* Ugh my head..
You know what, guys? If you can freshly and directly remember how to do this:
- calculate the time complexity for each type of loop and code structure
- knowing how to write the following regex:
"A 15-digit number starting with a possibility of a group of 1-2 digit numbers, segregated into three 5-digit numbers tuples with three different separator characters, evaluated ahead"
- mentally work out how to reverse an array's indexes (swapping algorithm) without writing anything down
- know how to optimize a binary search in your head
then kudos to you. lmao
I'm rusty. It took me a while..7 -
Think about the amount of mental effort spent by programmers trying to understand the fundamental difference between a program and an algorithm!🤯4
-
My in-laws seem allergic to keeping fruit on the fridge. In a 40° heat. No wonder half the fruit are spoiled by next morning.
My algorithm for storing produce:
Is it fresh produce? => (No) use another algo. (X)
Is it potatoes or onions? => (Yes) put it in a bowl in a closet (X)
::: Put it all in the fridge, dammit. -
I never use pwd.
Either I figure out where I am via my prompt, or I use LS and sleuth out the folder via its contents, or I just "cd" and restart from home but I NEVER have used pwd.8 -
Drawing pictures in your mind. This is something I have always struggled with.
Is there a set of exercises a person can do to develop imagery in your mind?
I have had times when I closed my eyes that I experienced what I would call imagery that rivaled or was more detailed than what my eyes fed me. But I only experienced this and did not create what was in the imagery. It has only been once or twice. I know that when I start to dream I can start seeing things with imagery, but I still cannot control this directly. I had one lucid dream where I woke in my dream and was able to construct things for a short period.
What I would like to be able to do is construct shapes and diagrams in my head. Perhaps visualize how an algorithm might function.
Is there a way to learn this?5 -
Since Google is failing me...
Given a user input (string query) and a list of larger strings (like email bodies or something), what's the best way to search and rank the list of strings against the user input.
So far I have implemented levenshtein distance but it doesn't really seem to do extremely well. (Short strings rank very well against each other, whereas long strings **containing** exact matches will go lower in the list)
Should I be splitting the input and the list by word and then averaging the distances?
The only thing I have tried is removing complete non-matches from the list by not including them if the distance is equal to the length of the largest string17