AboutI'm a History major with a fairly strong computing background, learning my way into web development and machine learning as a hobby to take my mind off of school. My current dream project is a procedurally generated fantasy world à la Silmarillion.
SkillsI can find my way around C++ and Python, have basic HTML and CSS skills, and strong Google fu.
Joined devRant on 1/10/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Eric Thomas' Top 10 Rules For Success
1- Know what you want.
If you don’t know what you want, how will you know what to say yes to in your life? Stop taking every body else’s leftovers and step up and take what you deserve!
2- Work on your gift.
We all have our own individual talents, gifts and strengths. But those natural gifts will only become truly great by refining and nourishing them. Natural ability will get you started, but commitment and determination to achieve greatness is what will get you to where you want to be.
3- No excuses.
Stop using your circumstances, finances or current position in life as an excuse to justify why you aren’t working towards your goals. You are in charge. If you aren’t where you want to be, take a look in the mirror and ask yourself honestly- WHY? Take responsibility for you life once and for all.
4- Upgrade your values.
Your values dictate your behaviours. And your behaviours create your results. If you want to a different result, you need to change your behaviour.
5- You reap what you sow.
Nothing in life is free. It is up to you to determine the course of your life. If you want success, you need to do what it takes, daily, to get there. Don’t focus so much on being successful. Focus on solving problems, helping others, and adding value to people’s lives, and success will come.
6- Education is the great equaliser.
If you are at the bottom, you need to learn. If you are at the top, you still need to learn. Never, ever, ever stop growing and educating yourself.
7- What is your WHY?
Why do you wake up in the morning and hustle? Why do you do what you do? Knowing the answer to this question is the single most important thing to know about yourself if you want to become successful. When you know WHY you are doing what you do, you won’t ever quit, even on a bad day.
8- Have boundaries.
If you want to be a huge success, you have to be strict on yourself with how you spend your energy. Distractions will come in many forms, family, friends, TV, but you have to make sure that your time is being spent wisely.
9- Speak from the heart.
Transparency is attractive. Don’t be afraid to open up to the world and let yourself be seen.
10- Succeed as bad as you want to breathe.
Everybody wants to be successful. But not everybody is willing to do the work that it takes to become successful. When you are willing to get so uncomfortable, so out of your depth, so blind that you have no other choice but to be successful, THEN you will become successful. The only question you need to ask yourself is this. Am I willing?
I think I've learnt something worthwhile from nearly every project I've been involved with. If I had to pick one however:
Started an open source project designed for projecting multimedia content during church services as procrastination from final year undergrad revision.
Fast forward nearly a decade, and I've learnt tremendous amounts as a result of starting it - dealing with everything from GStreamer on a native C layer, right through to WebRTC stuff (STUN, TURN, ICE, etc.) at the other end. What started as some odd attempts to show text and images on a screen in a user friendly fashion has grown tremendously, and is now used all over the world.
A curated collection of python scripts of all kinds - from the fun and silly to the more complex and sophisticated. A small toolset to enable easy usage of scripts from the repository is also underway.
Check it out here -
A brilliant article that talks on the state of internet
The Bullshit Web - https://pxlnv.com/blog/...
Tldr: as internet speed increased, page loading time did not decrease because the extra bandwidth is being stuffed with unnecessary big scripts and autoplaying videos.
AMP is nothing more than a business tactic by Google26
I've finally gotten everything on my Debian workstation configured they way I like it. Openbox + xfdesktop, tint2, compton & conky. The windows open in the screenshot are emacs, Tilix and ranger (URxvt).3
After switching between Fedora, Ubuntu, Debian, Manjaro, Antergos and a dozen WM's I've settled for Arch on the desktop.
Took me over a week of trial and error, but it's worth the pain for the level of control you get.
Switching to Linux reminded me much of trying to find out if I liked text editors or IDE's more when I first started programming. I changed tools every day before I settled.
Screenshots of course. Now to actually get back to my JDBC projects before I start obsessing over how to get all my apps on the terminal. :D12
@2lazy2debug Has reminded me that I hadn't posted my desktop as I promised for my 2,000 upvote, so screw it I'll just make it for my 2,500 mark. :P
I'll take not one, but two bowls of rice for this one.4
Long rant ahead. Should take about 2-3 minutes to read. So feel free to refill your cup of coffee and take a seat :)
It turns out that the battery in my new Nexus 6P is almost dead. Well not that I didn't expect that, the seller even explicitly put that in the product page. But it got me thinking.. why? Lithium batteries are often good for some 10k charges, meaning that they could last almost 30 years when charged every day! They'd outlive an entire generation of people!
Then I took a look at the USB-C wall charger that Huawei delivered with this thing. A 5V 3A brick. When I saw that, I immediately realized.. aah, that's why this battery crapped out after a mere 2 years.
See, while batteries are often advertised as capable of several amps (like 7A with my LiitoKala 18650 batteries that I often use in projects), that's only the current that they can safely take or deliver without blowing up. The manufacturer doesn't make this current rating with longevity in mind. It's the absolute maximum in current that a given battery can safely handle.
The longevity on the other hand directly depends on the demand that's placed on the battery. 500mA which is standard USB 2.0 rating or 1A which is standard USB 3.0 rating, no sweat. The battery will live for at least a decade of daily charges and discharges like that no problem.
But when you start shoving 3A continuous into a battery, that's when it will suffer. Imagine that your current workload is 500mA and suddenly you get shoved 6 times that work upon you. How long would you last?
Oh and not only the current is a problem, I suspect that it also overvolts the battery to maintain a constant current all the way till the end. When I charged my lithium cells with my lab bench power supply, the battery would only take a few milliamps when it got close to the supply voltage. Quick bit of knowledge: lithium cells are charged at constant current first, then when the current drops below that, it continues at constant voltage - usually 4.2 or 4.35V depending on the battery. So you'd set your lab bench power supply at 4.2V 500mA. But in that constant voltage mode, as the battery's voltage and the supply's voltage equalize, the current drops because the voltage difference becomes lower. Remember, voltage is what causes current to flow. Overvolting at the supply to stay in constant current mode all the way till the end speeds this process up but can be dangerous and requires constant monitoring of the battery voltage.
So, why does Huawei and a bunch of other manufacturers make these 3A power chargers? Well first it's because consumer demands ever more, regardless of the fact that they can just charge at 500mA for the night (8h of sleep) and charge a 4000mAh battery from 0 to 100% no problem. Secondly it's because sometimes you need that little bit of extra juice fast, like when you forgot to plug the damn thing in and you've got only 30 minutes in the morning to pour some charge into it.
But people use those damn fucking things even when they go to bed, making that 3A torture a fucking standard process!! And then they complain that their batteries go to shit?!
Hopefully this now made you realize that the fast charger shouldn't be used as a regular charger ^^30
*builds a DIY 3.5mm audio wire out of metal jacks, 28 AWG electrical wire, and Ethernet wire coat as a sleeve*
*measures its resistance by doing 4 wire measurement*
(4 wire measurement explanation => https://youtu.be/L9q5vwCESEQ?t=260)
Turns out to be 800 milliohms for this wire.. well that's crappy. At such a low voltage like what the sound card puts out (30mV peak-to-peak at best) that's gonna heavily attenuate the sound, no?
*measures another audio wire that I bought a while ago with the same method*
3.2 fucking ohms, and my test at 1A significantly heated up the wire too. Turns out that this DIY contraption is 4 times better than the commercial ones out there... Sometimes you really have to dial down to what common standards you're building your own stuff against. And it's relatively easy to build too.. awesome! :)
Well, all I can say is that I'm satisfied ^^11
GUI user: "How can you work from such a basic text interface like that terminal?"
Me: "How can you work with all those stupid buttons that more often than not can't do jack shit?"
Being a Powerline user, I do think that design matters a lot. But so does usability (I don't want my programs to take half a minute to load their bloated UI's) and the ability to use every feature that this or that piece of software has in its command line arguments but not necessarily as a GUI option.9
Hello fellas! 👋
I recently told you that I’m planning to pull out Chaaat – a fully open source messenger that doesn’t track you and doesn’t share your data: https://devrant.com/rants/1549251/....
The project is also mentioned here: https://devrant.com/rants/1570178/...
So, I’m here to tell you good news – a great developer, @not-a-muggle, decided to join me, and now we made a team!
I also made some conversations and acquired “chaaat” name from another team on Heroku, so now we have consistent domain name on both Heroku and GitHub Pages.
We have Trello board with very well described tasks almost anyone can do. We also have Slack to have both business and free conversations.
If you’re seeking a place to contribute and gain some NodeJS / React / PWA / WebRTC experience with detailed code review from experienced developer, just mention me here or shoot me an email on firstname.lastname@example.org. Provide your email so I’ll be able to contact you.
Our main goals are:
1. Have fun and some experience
2. Make it to Chrome Experiments mention
Marketing/advertising help is much appreciated.
Feel free to email me anytime!9
Working on a fuck off/you message service. You can easily generate a fuck off/you message and send it to someone.
No clue why I've (nearly) made it, maybe because I'm sick at home and wanted to make something.
It's nearly working though, yay.16
Me: *Watching a movie*
Main Character: "Oh no, we have to hack the CIA to figure out how this machine works! Hacker girl, do the stuff"
Hacker Girl: "Consider it done!"
Hacker Girl: *Opens Linux bash*
Hacker Girl: *types 'mkdir Hack_CIA'
Hacker Girl: "They have two-factor authentication in place, this is going to be a hard one."
Hacker Girl: *Types 'cd Hack_CIA'*
Hacker Girl: "I'm in!"
Friend: "Wow, so well done, so realistic!"
Mom: You should do stuff with blockchain.
Me: Why, I don't believe in blockchain on the long run.
Mom: You should start believing in blockchain and you should start using it for all your stuff.
Me: Mom, i really appreciate that you are trying to help, but why are you saying this? My projects have zero to do with blockchain.
Mom: Blockchain is the future, because the media said so.
Update on my previous rants: finally got it working! after spending 2 days compiling the kernel and trying to fix some issues, I just reinstalled my laptop with a fresh antergos image, installed the kernel and both the speaker and headphones work just fine! no distortion, no weird chrome video speed ups, just works - it was probably just something I had installed ages ago to make external usb sound work.
I also used this opportunity to apply the missing grub theme and found this: https://gnome-look.org/content/... it's perfect with almost any custom background too.
Why is this a rant? well some asshat at gnome decided to remove the "global dark theme" option from tweaks, so now thousands of themes are broken if you want the dark theme, since the developers now have to offer the dark theme seperately, well numix-frost has had this reported since the 7th may and no response since, the hack to make it work is to replace the gtk.css with the dark equivalent gtk-dark.css for now..31
I think I will ship a free open-source messenger with end-to-end encryption soon.
With zero maintenance cost, it’ll be awesome to watch it grow and become popular or remain unknown and become an everlasting portfolio project.
So I created Heroku account with free NodeJS dyno ($0/mo), set up UptimeRobot for it to not fall asleep ($0/mo), plugged in MongoDB (around 700mb for free) and Redis for api rate limiting (30 mb of ram for free, enough if I’m going to purge the whole database each three seconds, and there’ll be only api hit counters), set up GitHub auto deployment.
So, backend will be in nodejs, cryptico will manage private/public keys stuff, express will be responsible for api, I also decided to plug in Helmet and Sqreen, just to be sure.
Actual data will be stored in mongo, rate limit counters – in redis.
Frontend will probably be implemented in React, hosted for free at GitHub pages. I also can attach a custom domain there, let’s see if I can attach it to Freenom garbage.
So, here we go, starting up modern nosql-nodejs-react application completely for free.
If it blasts off, I’m moving to Clojure + Cassandra for backend.
And the last thing. It’ll be end-to-end encrypted. That means if it blasts off, it will probably attract evil russian government. They’ll want me to give him keys. It’ll be impossible, you know. But they doesn’t accept that answer. So if I accidentally stop posting there, please tell my girl that I love her and I’m probably dead or captured28
curl cheat.sh — get an instant answer to any question on (almost) any programming language from the command line
do curl cht.sh/go/execute+external+program to see how to execute external program in go
And this question: why I actually should I start the browser, and the browser has to downloads tons of JS, CSS and HTML, render them thereafter, only to show me some small output,
some small text, number or even some plot. Why can't I do a trivial query from the command line
and instantly get what I want?
I decided to create some service that will work as I think such a service should work.
And that is how wttr.in was created.
Nowadays you probably know, how to check the weather from the command line, but if not:
(curl wetter in Paris if you want to know the weather in Paris)
After that several other services were created (the point was to check how good the console
can solve the task, so I tried to create services providing information
of various nature: text, numbers, plots, pseudo graphic etc.):
curl rate.sx/btc # to check exchange rate of any (crypto)currency
curl qrenco.de/google.com # to QRenco.de any text
And now last but not least, the gem in this collection: cheat.sh.
The original idea behind the service was just to deliver a various UNIX/Linux command line cheat sheets via curl. There are several beautiful community driven cheat sheet repositories such as tldr, but the problem is that to use them you have to install them first, and it is quite often that you have no time for it, you just want to quickly check some cheat sheet.
With cheat.sh you don't need to install anything, just do:
curl cheat.sh/tar (or whatever)
you will get a cheat sheet for this command (if such cheat sheet exists inf one of the most popular community-driven cheat sheet repositories; but it surely does).
But then I thought: why actually show only existing cheat sheets? Why not generate cheat sheets or better to say on the fly? And that is how the next major update of cheat.sh was created.
Now you can simply do:
and get your question answered
(cht.sh is an alias for cheat.sh).
And it does not matter what language have you used to ask the question. To be short, all pairs (human language => programming language) are supported.
One very important major advantage of console oriented interfaces is that they are easily
programmable and can be easily integrated with various systems.
For example, Vim and Emacs plugins were created by means of that you can
query the service directly from the editor so that you can just write your
questions in the buffer and convert them in code with a keystroke.
The service is of course far from the perfection,
there are plenty of things to be fixed and to be implemented,
but now you can see its contours and see the contours of this approach,
console oriented services.
The service (as well as the other mentioned above services) is opensource, its code is available here:
What do you think about this service?
What do you think about this approach?
Have you already heard about these services before?
Have you used them?
If yes, what do you like about them and what are you missing?26
Free dev eBooks on various stuff, today's is nlp. Different one each day, you can see previous day's books). In case you're interested:
Hi, some time ago I was looking for a good app on Play Store and Bam! I found devRant. I opened it and the first rant I saw was from aswinmohanme. It was an image of Marilyn Monroe, but somehow created with circles, hope you understand me. I thought this is a great opportunity to test my dev skills so I opened Visual Studio and started coding. Today, after 2 days od work, I finally done it. It was written in C# and I have to say, I'm very proud od my child :^)
Link to repo on GitHub:
In Debug directory there are some examples of this on action. If you're working on Linux just build this solution with Mono.4
Who encodes a whole gif inside the main CSS of a multifolder JS app without any documentation as to what it is? My university, that's who.9
A while back a co-worker of mine fucked up by leaving some debug code and pushing to production.
He quickly repaired it, redeployed and everything was good again before the customer experienced any issues.
Later that day, management showed up by his desk to ask what happened, how it happened and stating that he was not "angry enough" about his fuck up, long after it has been repaired.
Up to this day i regret not asking in what unit of measurement we could determine if we were angry enough; decibels? gray hairs? grams of shit in my underwear?4
So if I buy this stuff, word has it that I will have "a computer." Is this enough to get to play with CUDA on a little tiny GPU?23
Somebody programmed a programming game using a programming game. Why I can't have time enough to make fun stuff like this? https://youtu.be/yMnOEgbm2fE
Anyone played Human Resource Machine yet? It's fun to solve and optimize these algorithm puzzles after a hard work day.
Does anyone know other games like this?5