Details
-
AboutI just want to ++ the good ones and rant some too.
-
SkillsC++, Python, Perl
Joined devRant on 12/11/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
-
One thing I never "learnt", if learning this is even an option, is things such as UI Design. All my projects in the past have used some sort of template or framework such as bootstrap or more recently quasar.
However, now I really (like really really) want to learn some Design stuff, I want to make my own projects from scratch using my own design and make something that I can look at and be really proud of.
I've been following Adam Wathan & Steve Schoger's `RefactoringUI` (https://refactoringui.com/) and it's absolutely amazing and delves into so many little details I would have never thought of but without would make an app so bland.
What Design resources/things can other people recommend?6 -
Damn, how have I only just discovered localstack?
The ability to spin up and use SQS queues, S3 buckets, lambdas, Kinesis streams etc. for development without worrying about bankrupting myself if I screw something up is really quite liberating.4 -
A living fossil discovers modern software practices. Nice roasting in the answers:
https://workplace.stackexchange.com/...1 -
Saw this on HN recently and thought I'd share it here:
https://github.com/viraptor/...
It is a large collection of interview questions aimed at the company, to help you spot red flags or find things you'd like to have. Hope it's useful for you guys2 -
Decided to try keepass again and the combination of it all nowadays is just (nearly) perfect:
- Keepass2
- KeepassXC Browser extension (the only reason for "nearly" since NatMsg tries to emulate keepassxc but sometimes fails)
- KeePassNatMsg
- Syncthing
- Keepass2Android
There's tons of more things to discover still, but that already gave me a much easier (especially backups wise) and plugin setup than what I had before with bitwarden!
Syncthing also _just works_ (not like it used to be) which makes me all the time question what's wrong with it haha12 -
Open source mail server?
I'm using Mailu but was thinking if there are other good options?
Also it is better if it has a docker image13 -
What console you use?
I use this one:
https://cmder.net/
I highly recommend it, you can use linux commands
Share yours!17 -
Tools i use on windows to make life better, what do u use ?
I use :-
1. processhacker
2. conemu with gitbash(if longer time switch to fish)
3. Services+ from codeplex
4. pickpick for screenshots
5. windows default workspaces(they are pretty decent now)
6. bandizip
7. onecommander
8. from developer settings i turn on show file extensions
9. ditto for clipboard11 -
Client: I know other developers who would do the same and much more for much less.
Me: I am glad you chose to work with me instead.
Client: I mean I like the site but I still feel that the development process has taken longer than it should have.
Me: Well, it is within the time frame I had said I would be able to have the first version of the site running. I have also implemented quite a number of new features that we had not earlier agreed on.
Client: I think I'll pay (quotes less than 20% of the total cost ).
Me: That is less than the amount that you were to pay as the first instalment ages ago!!
Client: I mean I like the site, but I think it still lacks the X factor. I want ...*goes on to mention other features*
Me: While I take pride in making my clients happy, I believe this process should be mutually beneficial. You are constantly making requests for new features but are making no attempts to meet your end of the agreement.
Client: FYI, there are people begging me for this job.
Me: *Takes down the site.* I wish you all the best, I hope the other developers are up to your standards.
Client: *Literally ignoring the fact that I just quit*. I want (makes more requests).
I am simply going to ignore this one!!!!14 -
Modern development methodologies:
SDD - sales driven development.
TDD - torture driven development.
BDD - bug driven development.
CPDD - copy&paste driven development.19 -
Found a random website that lets you design your own anime avatars, its quite in depth and there are many art styles from different artists available:
Pros:
* It's comprehensive, and it has a lot of styles available
* Editor is intuitive and Modern
Cons:
* It's in Japanese, you might wanna use GTranslate.
* Randomizer fucks up on some of the more in-depth art styles.
* Seems to be mobile-exclusive design for the editor.
You can check it out here: https://picrew.me
Here's a little sample from picrew on the Gorilla Art style
(Note: this is actually my GitHub avatar as well)18 -
1. The quality of the coffee and toilet paper you encounter during an interview tells you more than promises about table tennis or fruit baskets.
2. Try to determine who their primary client is: subscribers, app buyers, advertisers, etc. It's a major influence on the company dynamic.
3. Before an interview, you can just say: "I would like to sit down with a PO and run through one backlog feature and one bug, to get a feel for the type of tasks at the company". Such an activity immediately reveals team structure, whether they have product owners & scrum masters, what a sprint looks like, how they prioritize tasks, and how organized/chaotic your work experience will be.16 -
This is from a book I'm reading right now! I found it funny :-D
Pattern: What is a chaperone?
Shallan: That is someone who watches two young people when they are together, to make certain they don’t do anything inappropriate
Pattern: Inappropriate? Such as . . . dividing by zero?8 -
To all the people that dont have the time, knowledge or anything but still want to self host stuff:
http://yunohost.org/
Check it out, install, contribute :)8 -
Fuck you. Really.
For buying a pizza for lunch, bringing it to the office and eating it at your desk.
I was just sitting here eating my lunch, but hey. I guess I have to go get a pizza now. Dammit.8 -
A quite normal Windows day:
Bios to Windows: "Go now! Get up!"
Windows to Bios: "Always slow with the young circuit boards."
"I've got something weird on screen."
Windows' answer: "Ignore it first."
Hardware assistant to Windows: "The user puts pressure. He wants me to identify this thing. Could be an ISDN card."
Windows: "Well, well."
Unknown ISDN card to all: "Will you please let me in?"
Network card to intruder: "You can't spread out here!"
Windows: "Quiet in the case! Or I'll cut both their support!"
Device Manager: "Offer compromise. The network card is allowed on Mondays, the ISDN card is on Tuesday."
Graphics card to Windows: "My driver retired yesterday. I'm crashing now."
Windows to graphics card: "When will you be back?"
Graphics card: "Well, not at first."
CD-Rom drive to Windows: "uh, I would have a new driver here..."
Windows: "What's ich´n supposed to do with it?!"
Installation software to Windows: "Leave it, I'll mach´ that already."
Windows: "That's nice to hear."
USB connection to interrupt management: "Alarm! Just been penetrated by a scanner cable. Request response."
Interrupt management: "Where are you coming from?"
USB connection: "I was in the computer right from the start. I'm joined by another colleague."
"You're not on my list." - "Say something."
Windows: "Hopefully there won't be another printer."
Graphics card: "The new driver twitches."
Windows: "We'll just have to get the old one out of retirement."
Uninstall program to new driver: "Go away."
Unwanted driver: "Fuck you."
Windows to Norton Utilities: "Kill him and his brood!"
Utilities to driver rests: "Sorry, we have to delete you."
Important system file: "Arrrrrrgghh!"
Windows on blue screen: "Gib´, the Norton Boys are over the top again."
Blue screen to user: "So, that's it for this week."
Excuse me for stealing your time
And I know it's way too long7 -
curl cheat.sh — get an instant answer to any question on (almost) any programming language from the command line
tldr
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 wttr.in
or
curl wttr.in/Paris
(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:
curl cht.sh/python/copy+files
curl cht.sh/go/execute+external+program
curl cht.sh/js/async+file+read
or even
curl cht.sh/python/копировать+файл
curl cht.sh/ruby/Datei+löschen
curl cht.sh/lua/复制文件
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:
https://github.com/chubin/cheat.sh
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 -
Some dumb puns to cheer you up after reading/ranting about "part of your workflow you dislike"
#tower-of-pisa {
font-style: italic;
}
#titanic {
float: none;
}
.yomama {
width: 99999999px;
}
.ikea {
display: table;
}
#bigbang::before {
content: " "
}
.illuminati {
position: absolute;
visibility: hidden;
}
I'd rate these horrible puns a C++20 -
Don't do "git pull" quickly. Always do a "git fetch" THEN "git log HEAD..origin" OR "git log -p HEAD..origin". It is like previewing first what you will "git pull".
OR something like (example):
- git fetch
- git diff origin/master
- git pull --rebase origin master
Sometimes it is a trap, you will pull other unknown or unwanted files that will cause some errors after quickly doing a git pull when working in a team. Better safe than sorry.
Other tips and tricks related are welcome 😀
Credits: https://stackoverflow.com/questions...5 -
So many developer that does not know how to generate a simple .csr file. Here you go:
$DOMAIN=www.yourdomain.com
$STATE=State
$CITY=The city
$COMPANY=Company Name Gmbh
openssl req -utf8 -nameopt multiline,utf8 -new -newkey rsa:2048 -nodes -sha256 -out $DOMAIN.csr -keyout $DOMAIN.key -subj "/C=Your CountryCode/ST=$STATE/L=$CITY/O=${ORG:-$COMPANY}/OU=${ORG:-IT}/CN=$DOMAIN"11 -
As a developer, sometimes you hammer away on some useless solo side project for a few weeks. Maybe a small game, a web interface for your home-built storage server, or an app to turn your living room lights on an off.
I often see these posts and graphs here about motivation, about a desire to conceive perfection. You want to create a self-hosted Spotify clone "but better", or you set out to make the best todo app for iOS ever written.
These rants and memes often highlight how you start with this incredible drive, how your code is perfectly clean when you begin. Then it all oscillates between states of panic and surprise, sweat, tears and euphoria, an end in a disillusioned stare at the tangled mess you created, to gather dust forever in some private repository.
Writing a physics engine from scratch was harder than you expected. You needed a lot of ugly code to get your admin panel working in Safari. Some other shiny idea came along, and you decided to bite, even though you feel a burning guilt about the ever growing pile of unfinished failures.
All I want to say is:
No time was lost.
This is how senior developers are born. You strengthen your brain, the calluses on your mind provide you with perseverance to solve problems. Even if (no, *especially* if) you gave up on your project.
Eventually, giving up is good, it's a sign of wisdom an flexibility to focus on the broader domain again.
One of the things I love about failures is how varied they tend to be, how they force you to start seeing overarching patterns.
You don't notice the things you take back from your failures, they slip back sticking to you, undetected.
You get intuitions for strengths and weaknesses in patterns. Whenever you're matching two sparse ordered indexed lists, there's this corner of your brain lighting up on how to do it efficiently. You realize it's not the ORMs which suck, it's the fundamental object-relational impedance mismatch existing in all languages which causes problems, and you feel your fingers tingling whenever you encounter its effects in the future, ready to dive in ever so slightly deeper.
You notice you can suddenly solve completely abstract data problems using the pathfinding logic from your failed game. You realize you can use vector calculations from your physics engine to compare similarities in psychological behavior. You never understood trigonometry in high school, but while building a a deficient robotic Arduino abomination it suddenly started making sense.
You're building intuitions, continuously. These intuitions are grooves which become deeper each time you encounter fundamental patterns. The more variation in environments and topics you expose yourself to, the more permanent these associations become.
Failure is inconsequential, failure even deserves respect, failure builds intuition about patterns. Every single epiphany about similarity in patterns is an incredible victory.
Please, for the love of code...
Start and fail as many projects as you can.30 -
Welcome back to practiseSafeHex's most incompetent co-worker!
*sitcom audience cheers*
Thank you, thank you. Ok so far we've had a developer from hell and a CEO who shot to fame for being the first rectum to receive a passport and be given a job.
2 pretty strong entrants if you ask me. But its time to slow it down and make sure everyone gets a fair chance. Its not all just about the psychopaths and assholes, what about the general weirdo's and the stoners who just made life awkward?
So here we go, Most incompetent co-worker, candidate 3, "A".
"A" was a bit of an unusual developer, despite having a few years experience in his home country, he applied for an unpaid internship to come work with us ... probably should have rang alarm bells but hey we were all young and dumb back then.
I had to say I felt very bad for A, as he suffered from 2 very serious, and job crippling personal conditions / problems
- Email induced panic attacks
- Extreme multifaceted attachment disorder (also known in layman terms as "get the fuck away from me, and do your job" syndrome)
While he never openly discussed these conditions, it was clear from working with him, that he had gone undiagnosed for years. Every time an email would come in no matter how simple ... even the services team asking to confirm his staff ID, would send him into a panic causing him to drop everything he was doing and like a homing missile find me anywhere in the building and ask me what to do.
Actually "A" also suffered from a debilitating literacy issue too, leaving him completely unable to read our internal wiki's himself. Every week we had to follow a set of steps to upgrade something and every week to mask his issue, he'd ask me what to do instead ... no matter how many times I sat with him previously ... must have been truly embarrassing for him.
But "A"'s finest moment in the company, by far, was the day where out of the blue, at the top of his voice (as if wearing headphones ... without wearing headphones) he asked
"DO YOU KNOW ANYONE WHO SELLS POT?"
... why no, manager of the entire department standing behind you, I do not
... why no, tech lead talking to manager, I do not
... why hello 50% of my team staring at me ... no "A", I do not!
Needless to say all our team meetings were a little awkward for the next few weeks after that but hey who doesn't like being thought of as a stoner / drug dealer by their team mates huh?
Will A make it to the top of the list of most incompetent? Well he has some truly logic defining competition yet to be announced.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!15