Details
-
AboutEngineer. Programmer. Electronics.
-
SkillsHTML CSS JavaScript C Python
-
Github
Joined devRant on 7/15/2017
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
-
Watcher: News feed for anything on the web you can parse
https://github.com/allanx2000/...
Still use it everyday
And the components in it had a few children so good example of reuseability ... And automation.
So very good return on investment.4 -
Honestly if the StackOverflow community was set on fire and I had a huge tank of water
People in Africa wouldn't die from thrist anymore.14 -
Never let anyone make you believe that just because you don't have a specific skill which is 'required' for your dream job/a job you really want, you won't be able to reach it.
I've heard countless times that I could never do anything with programming/linux (server) engineering because I'm freaking bad at maths. They always said it was a requirement to understand it in order to become good at those two things.
Except for a few simple tests with 'okay' marks, I never got a good grade for it and failed it entirely at every school.
Guess who's a programmer (free time) and a professional linuxer right now!
It just pisses me off when people tell someone that because they don't possess a skill, they won't be able to make it to what they would love to do.14 -
I know it wasn't ethical, but I had to do it.
Semester 4 started this week, we all got to vote which day we wanted the lecture to be held on. There were quite a few options. My preference was Monday at 7:30pm.
So I entered the poll, as I have every other semester. But I noticed something, this particular poll didn't require any form of identification. Not even a Student ID.
I dug deeper, found that it used local cookies to store weather you'd voted or not, this is obviously a security problem, so I opened up Python and wrote a simple Selenium program to automate this process.
I called it the "Vote Smasher". First it would open the webpage, then it would choose Monday 7:30pm and vote. Then it would clear it's cookies, refresh and do it over again.
I ran it fifty times.
Can you guess what the revealed vote was for UCD SP4 IT was?
I heard my lecturer mutter:
"The votes aren't usually this slanted..."
I could hardly contain my giggles.
My vote won by about fifty over the others 😂
Let me just say, it was his fault for choosing such a naive poll system in the first place 😉36 -
!rant
I was in a hostel in my high school days.. I was studying commerce back then. Hostel days were the first time I ever used Wi-Fi. But it sucked big time. I'm barely got 5-10Kbps. It was mainly due to overcrowding and download accelerators.
So, I decided to do something about it. After doing some research, I discovered NetCut. And it did help me for my purposes to some extent. But it wasn't enough. I soon discovered that my floor shared the bandwidth with another floor in the hostel, and the only way I could get the 1Mbps was to go to that floor and use NetCut. That was riskier and I was lazy enough to convince myself look for a better solution rather than go to that floor every time I wanted to download something.
My hostel used Netgear's routers back then. I decided to find some way to get into those. I tried the default "admin" and "password", but my hostel's network admin knew better than that. I didn't give up. After searching all night (literally) about how to get into that router, I stumbled upon a blog that gave a brief info about "telnetenable" utility which could be used to access the router from command line. At that time, I knew nothing about telnet or command line. In the beginning I just couldn't get it to work. Then I figured I had to enable telnet from Windows settings. I did that and got a step further. I was now able to get into the router's shell by using default superuser login. But I didn’t know how to get the web access credentials from there. After googling some and a bit of trial and error, I got comfortable using cd, ls and cat commands. I hoped that some file in the router would have the web access credentials stored in cleartext. I spent the next hour just using cat to read every file. Luckily, I stumbled upon NVRAM which is used to store all config details of router. I went through all the output from cat (it was a lot of output) and discovered http_user and http_passwd. I tried that in the web interface and when it worked, my happiness knew no bounds. I literally ran across the floor screaming and shouting.
I knew nothing about hiding my tracks and soon my hostel’s admin found out I was tampering with the router's settings. But I was more than happy to share my discovery with him.
This experience planted a seed inside me and I went on to become the admin next year and eventually switch careers.
So that’s the story of how I met bash.
Thanks for reading!10 -
So as most of you know I was inspired to create a Minesweeper that allows continuing after you hit a mine.
Not sure if such a version existed before but... if it doesn't now it does.
https://github.com/allanx2000/...
Sorry @linuxxx Windows only... don't feel like learning Electron ATM or JavaFX... honestly I just wanted the games to continue after hitting a mine.18 -
A programmer once explained Nietzsche like this:
A long time ago, god created the world, but forgot to leave a developer documentation, thus the whole world was like legacy code...
And humans are like the end user of this world, and some among them spent time studying it, using the Moral API, hoping to get a result of "http 200 ok" from our world for the peace of mind. But the true operation of this world is still yet unknown...
As time passes, humans begin to find that in Moral API, good and evil are two base classes, and all the other moral properties (like ethic, justice and stuff) are just other classes based on those two classes through multiple inheritance.
One day, when programmer Nietzsche was observing the world's runtime behavior, he came up with a question:
"Did god really use good and evil as base classes? Could it be that they are actually derived classes?"
Most of the world is currently in the favor of mankind, and god must've wrote individual user cases for it's end users, he thought.
This made Nietzsche thinking: if end users are considered into two cases: the strong and the weak, how would the world be designed base on its user story?
Let's think about the strong, they can bully the weak as they please, and there's nothing the weak can do to stop them. In this case whether the Moral API exists or not doesn't fulfill the need of the strong.
But when it comes to the weak, Nietzsche thinks that because the weak cannot fight the strong, they need to belittle bullying and praise the strong for being nice. When the weak does this, it covers their powerless state to some extent, making them look somehow equal to the strong by being capable of commenting.
God might have coded the Moral API to fit the weak's requirement, also adding some public methods for the weak to comment on the strong. If the strong takes care of the weak, they call him nice and good, if the strong bullies people, they call him bad and evil.
That's when Nietzsche realized, that good and evil are both derived classes from the weak, and the base class should be the strong and the weak.
Then he started a series of studies about the Moral API, and got some thesis that persuaded lots of other end users...7 -
Internet: YOU are nothing without me.
My phone: Th..That's not true! She cc..can make calls ww..ithout you...and ss...send texts. Sh..Sh..She plays offf..offline games sometimes and has ddd..downloaded music to her storage that she could llii.. listen to and has a sshh..shit load of memes stocked that she sss..sometimes laughs at. I AM usef...ffuul :-/
Internet *lighting up a cigarette*: hahhaa! You can survive without me. If this were 10 YEARS ago! There's not a slightest chance, today.
My phone *starts sobbing*: sh..shut up sshhhuut uu..up.
Internet *blowing smoke rings*: you think you're the ONLY device she owns?? She has too many of them, but guess who is connected to all those devices! ME! She can't function without me. Hell, the world can't function without ME!
Electricity *rubbing it's eyes from sleep* - what's all that noise??
Phone: 😶
Internet: 😶
Phone: 🙂
(I'm about to fall asleep and there's no power right now. Back up ain't working. Life sucks)5 -
I want to pay respects to my favourite teacher by far.
I turned up at university as a pretty arrogant person. This was because I had about 6 years of self-taught programming experience, and the classes started from the ansolute basics. I turned up to my first classes and everything was extremely easy. I felt like I wouldn't learn anything for at least a year.
Then, I met one of my lecturers for the first time. He was about 50~60 years old and had been programming for all of his career. He was known by everyone to be really strict and we were told by other lecturers that it could be difficult for some people to be his student.
His classes were awesome. He was friendly, but took absolutely no shit, and told everything as it was. He had great stories from his life, which he used to throw out during the more boring computer science topics. He had extremely strict rules for our programming style, and bloody good reasons for all of them. If we didn't follow a clear rule on an assignment, he'd give us 0%. To prove how well this worked, nobody got 0%.
We eventually learned that he was that way because he used to work on real-time systems for the military, where if something didn't work then people could die.
This was exactly what I needed. In around one semester I went from a capable self-taught kid, to writing code that was clear, maintainable and fast, without being hacky.
I learned so much in just that small time, and I owe it all to him. So often when I write code now I think back to his rules. Even if I disagree with some, I learned to be strict and consistent.
Sadly, during the break between our first and second year, he passed away due to illness. There was so many lessons still to be learned from him, and there's now no teachers with enough knowledge to continue his best modules like compiler writing.
He is greatly missed, I've never had greater respect for a teacher than for him.21 -
Having PHP as my most useful skill.
I know various other languages, but they're either too exotic for professional use, or my knowledge about them doesn't have the same depth as with PHP.
People joke about how awful PHP is, and it's not entirely true. The incongruous stuff such as confusing parameter ordering can be fixed with libraries. And PHP7 fixed a lot of the ugly stuff. A good dev can certainly write structured, readable, performant PHP code.
But there is a real hard limit. PHP is missing more complex type definitions present in other languages. A weak type system is like building stuff with popsicle sticks and bits of duct tape, it works fast and perfectly fine for small projects, but the lack of strictness is a problem when you have thousands of classes intertwined in all kinds of complex factory, service and repository patterns. And the simple type hints are still newish and fully optional, which means a lot of people don't use them.
So I regret getting stuck in this self reinforcing loop, where I learn more about a very imperfect language through employment, and keep rolling into jobs using that skill because it's what I'm most experienced with.16 -
Q: How to catch an Elephant in the Africa
MATHEMATICIANS: hunt elephants by going to Africa, throwing out everything that is not an elephant, and catching one of whatever is left.
EXPERIENCED MATHEMATICIANS: will attempt to prove the existence of at least one unique elephant before proceeding to step 1 as a subordinate exercise.
PROFESSORS OF MATHEMATICS: will prove the existence of at least one unique elephant and then leave the detection and capture of an actual elephant as an exercise for their graduate students.
COMPUTER SCIENTISTS: hunt elephants by exercising Algorithm A:
1. Go to Africa.
2. Start at the Cape of Good Hope.
3. Work northward in an orderly manner, traversing the continent alternately east and west.
4. During each traverse pass,
1. Catch each animal seen.
2. Compare each animal caught to a known elephant.
3. Stop when a match is detected.
EXPERIENCED COMPUTER PROGRAMMERS: modify Algorithm A by placing a known elephant in Cairo to ensure that the algorithm will terminate.
ASSEMBLY LANGUAGE PROGRAMMERS: prefer to execute Algorithm A on their hands and knees.
ENGINEERS: hunt elephants by going to Africa, catching gray animals at random, and stopping when any one of them weighs within plus or minus 15 percent of any previously observed elephant.
ECONOMISTS: don't hunt elephants, but they believe that if elephants are paid enough, they will hunt themselves.
STATISTICIANS: hunt the first animal they see N times and call it an elephant.
CONSULTANTS: don't hunt elephants, and many have never hunted anything at all, but they can be hired by the hour to advise those people who do.
OPERATIONS RESEARCH CONSULTANTS: can also measure the correlation of hat size and bullet color to the efficiency of elephant-hunting strategies, if someone else will only identify the elephants.
POLITICIANS: don't hunt elephants, but they will share the elephants you catch with the people who voted for them.
LAWYERS: don't hunt elephants, but they do follow the herds around arguing about who owns the droppings.
SOFTWARE LAWYERS: will claim that they own an entire herd based on the look and feel of one dropping.
VICE PRESIDENTS OF ENGINEERING, RESEARCH, AND DEVELOPMENT: try hard to hunt elephants, but their staffs are designed to prevent it. When the vice president does get to hunt elephants, the staff will try to ensure that all possible elephants are completely prehunted before the vice president sees them. If the vice president does happen to see a elephant, the staff will:
1. compliment the vice president's keen eyesight and
2. enlarge itself to prevent any recurrence.
SENIOR MANAGERS: set broad elephant-hunting policy based on the assumption that elephants are just like field mice, but with deeper voices.
QUALITY ASSURANCE INSPECTORS: ignore the elephants and look for mistakes the other hunters made when they were packing the jeep.
SALES PEOPLE: don't hunt elephants but spend their time selling elephants they haven't caught, for delivery two days before the season opens.
SOFTWARE SALES PEOPLE: ship the first thing they catch and write up an invoice for an elephant.
HARDWARE SALES PEOPLE: catch rabbits, paint them gray, and sell them as desktop elephants.9 -
Anyone who remembers my last rant about getting fake chips might enjoy this.
After realizing that the EEPROMs I got last time were counterfeit, I bought a new set (and different model) from Atmel. They were super easy to hook up, and the best part is they actually work! Behold, my bit-by-bit EEPROM programmer:10 -
I heard this joke a long time ago and I've tried getting laughs ever since. I swear I won't give up trying.
A priest, a surgeon and an engineer are going golfing on a Saturday. The golf club owner says the court is unavailable - on Saturdays the golf course is in use by a group of firemen who lost their eyesight while rescuing golf club members out of the club house a year back. The surgeon exclaims "that's awful! I'll arrange a fundraiser, maybe we can help improve their eyesight." The preacher folds his hands and states "my communion will include them in our prayers." The engineer is silent for a moment, then asks: "Can't they just play at night?"8 -
Professor : Explain deadlock and I will give you full marks.
Me:- You give me full marks and I'll explain deadlock.20 -
Okay, we all ranters love pizza, right?
TIL something that we should ALL keep in mind while buying pizza.
One 18 inch pizza has more pizza than two 12 inch pizzas.
if ((3.142*9*9) > (2*3.142*6*6)) {
return buyPizza(18inch, 1);
} else {
/* stop being an imbecile. This is dead code */
}15 -
So let's talk about CNAs, Captive Network Assistants, these downsized browser that open on Smartphones when you try to login to a free wifi which requires you to buy sometging or accept some terms.
I fucking hate them. I'm a web dev which has to deal with these dumbfucks.
Back in the time, there was this dumbfuck who had the idea to capture http requests on network level and response with a redirect to his own landing page. Fuck this guy. Then some dudes had the idea of the CNA as a privacy security feature. A good idea. But also this guys: "hey, let's make them a huge pain to develop for".Fuck them, too. But then came the companies saying: "hey make us a huge SPA with all features we can think of for this fucktard of a browser."
I hate fucking CNAs2 -
Meanwhile, in some college in India, when professors try their best to make an interesting question paper.
Read the last 2 instructions37 -
Ladies and gentlemen, I would like to introduce you to my latest employee, Dave the Duck! Dave is the new head of debugging and took the job to support his out-of-hand caffeine addiction and 72 children (of which paternity tests are still being done on 10). Dave is also wanted in 4 countries as the leader of the popular gang, known as the Dangerous Ducks. Please do no feed Dave, as he is on a strict diet. #DaveTheDuck #ProgrammersTools #ImNotThatCrazy10
-
Replaced semi colons (;) with a greek question mark (;) in my colleague's c# code.. He's now scratching his head... :D27
-
Its such a elating feeling when you implement multithreading perfectly.
I had a task where I read data from one table, searched on it and added the searched data to another table. The table had 0.22 million records.
On single thread it took entire night to do half of the job.
I divided it into 8 thread jobs, and pushed my quadcore to 100% and voila, its done in 2.5Hrs.
Just like Hannibal would have said, "I love it when a plan comes together"5 -
Me and my love-hate Linux.
I lost virginity really early. In the age of 5 it was my first time with windows 95. I spend almost 10 years with Windows before something happened that would change everything. I met Linux. Her forename was Arch. I had a crush on her right from the beginning. It didn't take long for me to abandon windows. Arch had everything I wanted. She had latex which was pretty hot and looked simply and elegant on her. Sometimes she was really hard to deal with and almost drove me crazy, but I knew I fell in love.
Until that day. I had to write a short paper which was quite fun and Linux helped me alot. It was a breeze to work with her. The evening before the deadline she was quite thoughtful. She sometimes was, so I thought it'll be alright, but this time was different. She struggled a bit, so I put her to sleep and she never woke up. I brought her to the emergency lab which was open 24/7. Since no one was there I had todo the surgery myself. After 5 hours I was almost to tired to continue when she finally woke up. I asked her about the things she should remember for me - then I killed her. I started to hate Linux for what she had done to me. The unbelievable stress and horror.
I returned to Windows. Besides that she got a bit more curious what I was doing when and where nothing really changed and she was glad to have me back. I just was happy how simple our relationship was.
One day then, I couldn't believe it at first, I met Archs sister. Manjaro. No matter how strange that is, but it was as if I would meet Linux again for the first time. She was just a bit simpler but as flexible as arch. Since then we are happy together. It seems that we both just grew up a little.
And with Windows? She got even more curious! Actually I have the feeling she is stalking me now, but I don't regret anything!15 -
Github education: You get a bunch of cool free stuff if you are a student.
Intellij: You get all of their IDEs for free if you are a student.
Adobe: You get a discount but you still have to pay 20€ per month as a student.
This is why I love programming and the whole community around it.11 -
doNotMessWithITTeamInAFuckingProject();
Last night me with my team have a discussion with my project team. Currently we have a project for our insurance client building a Learning Management System. The project condition already messed up since the first day i join a meeting. Because since its a consortium project with multiple company involved, one of company had a bad experience with another company. It happened few years back when both of company were somehow break up badly because miss communication (i heard this from one of my team).
Skip..skip... And then day to day like another stereotype IT projects when client and business analyst doing requirements gathering, the specs seems unclear and keep changing day by day even when I type this rant I'm sure it will change again.
Then something happened last night when my team leader force our business analyst to re index the use case number (imho) this is no need to be done, and i know the field conditions its so tough for all team members.
So many problems occured, actually this is a boring problem like lack of dev resource, lack of project management and all other stereotype IT projects had. Its sucks why this things is happening again.
Finally my fellow business analyst type a quite long message in our group and said that he maybe quit because its too tired and he felt that the leader only know about push push pushhhhhy fcking pussy, he never go to the client site and look what we've done and what we struggle so far.
I just don't know why, i know this guy earlier was an IT geek also, but when he leading a team he act like he never done IT project before, just know about pushing people without knowing what the context and sound to me like just rage push!
Damnit, i maybe quit also, you know we IT guy never affraid to quit anytime from the messed up condition like this. Even though we were at the bottom level in a project, but we hold the most main key for development.
Hope he (my leader) read this rant. And can realize what happened and fix this broken situation. I don't know what to say again, im in steady mode to quit anytime if something chaos happen nearly in the future.
doNotMessWithITTeamInAFuckingProject();1