Details
-
AboutFull stack developer, Linux enthusiast
-
Skillsnode.js, mongodb, Linux, html, css, js, angular, react, C#, express, APIs, GIT, Bootstrap 3/4, ASP.NET, C#, OpenVPN, WordPress, PHP.
-
Location/dev/null
Joined devRant on 3/2/2018
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
-
!coding
Fuck I am such an idiot. I was talking to a super awesome girl on the phone and she was laughing at some jokes and I had the great idea to tell her some darker jokes and of course she didn't laugh at all and got offended. I think I'll always find a way to fuck it up.12 -
“The great questions of the day will not be settled by means of speeches and majority decisions... but by iron and blood.” - Otto von Bismarck2
-
"Every designers’ dirty little secret is that they copy other designers’ work. They see work they like, and they imitate it. Rather cheekily, they call this inspiration." - Aaron Russell1
-
"It’s really hard to design products by focus groups. A lot of times, people don’t know what they want until you show it to them." - Steve Jobs1
-
"When I am working on a problem, I never think about beauty. I only think about how to solve the problem. But when I have finished, if the solution isn’t beautiful, I know it is wrong." - Richard Buckminster Fuller
-
"If the reader notices the interior page design of a book – even if he or she likes what they see – I’ve missed, because I distracted them from their reading." - Stephen Tiano2
-
"Design is the application of intent – the opposite of happenstance, and an antidote to accident." - Robert L. Peters1
-
"One should respect public opinion in so far as is necessary to avoid starvation and to keep out of prison." - Bertrand Russell2
-
"Find the simple story in the product, and present it in an articulate and intelligent, persuasive way." - Bill Bernbach3
-
"When you do something, you should burn yourself up completely, like a good bonfire, leaving no trace of yourself." - Shunryu Suzuki2
-
This should not be called wisdom teeth, should be called stupid teeth
Mother fucker is growing perpendicular.
What fuck is wrong with you bro , grow upwards you dumb fuck!!45 -
!Story
The day I became the 400 pound Chinese hacker 4chan.
I built this front-end solution for a client (but behind a back end login), and we get on the line with some fancy European team who will handle penetration testing for the client as we are nearing dev completion.
They seem... pretty confident in themselves, and pretty disrespectful to the LAMP environment, and make the client worry even though it's behind a login the project is still vulnerable. No idea why the client hired an uppity .NET house to test a LAMP app. I don't even bother asking these questions anymore...
And worse, they insist we allow them to scrape for vulnerabilities BEHIND the server side login. As though a user was already compromised.
So, I know I want to fuck with them. and I sit around and smoke some weed and just let this issue marinate around in my crazy ass brain for a bit. Trying to think of a way I can obfuscate all this localStorage and what it's doing... And then, inspiration strikes.
I know this library for compressing JSON. I only use it when localStorage space gets tight, and this project was only storing a few k to localStorage... so compression was unnecessary, but what the hell. Problem: it would be obvious from exposed source that it was being called.
After a little more thought, I decide to override the addslashes and stripslashes functions and to do the compression/decompression from within those overrides.
I then minify the whole thing and stash it in the minified jquery file.
So, what LOOKS from exposed client side code to be a simple addslashes ends up compressing the JSON before putting it in localStorage. And what LOOKS like a stripslashes decompresses.
Now, the compression does some bit math that frankly is over my head, but the practical result is if you output the data compressed, it looks like mandarin and random characters. As a result, everything that can be seen in dev tools looks like the image.
So we GIVE the penetration team login credentials... they log in and start trying to crack it.
I sit and wait. Grinning as fuck.
Not even an hour goes by and they call an emergency meeting. I can barely contain laughter.
We get my PM and me and then several guys from their team on the line. They share screen and show the dev tools.
"We think you may have been compromised by a Chinese hacker!"
I mute and then die my ass off. Holy shit this is maybe the best thing I've ever done.
My PM, who has seen me use the JSON compression technique before and knows exactly whats up starts telling them about it so they don't freak out. And finally I unmute and manage a, "Guys... I'm standing right here." between gasped laughter.
If only it was more common to use video in these calls because I WISH I could have seen their faces.
Anyway, they calmed their attitude down, we told them how to decompress the localStorage, and then they still didn't find jack shit because i'm a fucking badass and even after we gave them keys to the login and gave them keys to my secret localStorage it only led to AWS Cognito protected async calls.
Anyway, that's the story of how I became a "Chinese hacker" and made a room full of penetration testers look like morons with a (reasonably) simple JS trick.9 -
Talking to my son today about one of his CS classes, not sure which.
He says: "I missed the lecture yesterday, but I'm not going to bother re-watching it."
Me: "Why? You really should. You're paying for these classes AND you really need to actually learn this stuff."
Son: "Well, because I got 100% on my last assignment without going to class. I just Google'd everything and figured it out on my own from what I found."
My wife out of the blue: "DAMN IT, BUT THAT'S NOT HOW IT WORKS IN THE REAL WORK WORLD!"
Oh, you poor, uninformed summer child. I love her, but she just doesn't know that my son has already learned the key lesson he needed to learn from his schooling in order to get a job and make good money in this field! #ProudTechieDadMoments12 -
1. Indent with 3 spaces to fuck both tabs guys and spaces guys git repos.
2. Use windows line endings and laugh and laugh and laugh.
3. Giant full page ascii art intro on every single file.
4. After the giant ascii art intro there are literally zero comments.
5. Keep the bracket on the same line for getters, but on the next line for setters because fuck you.17 -
I don't understand this day to day windows bashing. Been using Win10 since release and didn't had a single problem.9
-
I seriously do not understand the rants against Windows.
I love Windows 10 (got as free upgrade from MS), and have no issues with MacOS or Linux OS. I use them as well but do all serious work on Windows.
All my life, I have worked on business / commercial side and picked up Web development in last couple of years. I started using computers on DOS in 1992, and shifted to Windows 3.0 in 1995. There was no Mac or MacOS back then.
For serious work, I purchased a old Dell Precision M4700 workstation grade laptop with quad-core i7, at throwaway price, got 32GB RAM, 2.4TB (1x2 TB + 400gb) of SSD on super sale online, and installed it myself. It easily supports dual 4k monitors.
Git-bash on windows allows all the necessary linux command line on windows. Though not tried, Windows 10 allows embedded Ubunutu with linux terminal. Web development tools like - VSCode, git, github / bitbucket clients, NVM/Node, React / Redux / Webpack / Gatsby / Jest, REST clients, GraphQL client and server, Graph Server, Chrome PWA / Chrome Dev Tools, http/Websocket/WebRTC interception, Google Firebase SDKs, AWS sdks, cloud utilities, CI/CD tools work flawlessly. Windows even has its own package manager for applications.31