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 - "new concepts"
-
WHY THE FUCKIDY FUCK DO PEOPLE THINK THAT JUST BECAUSE YOU ARE A DEVELOPER THEN YOU CAN DO EVERY FUCKING THING IN A SNAP?!
THIS ENTIRE SUMMER I WORKED FOR THIS MIDGET OF A FUCK AND THE IDEA WAS TO MAINLY DEVELOP AN IOS APP FOR THEIR PRODUCT. THAT ONE APP TRANSLATED TO THREE SEPARATE APPS AND KEEP IN MIND THAT I AM THE ONLY DEVELOPER THEY HAVE SO I HAVE TO DEVELOP IT, TEST IT AND DOCUMENT IT!! AND WHAT'S EVEN WORSE IS HE KEEPS GIVING ME DESIGNS AT THE LAST MINUTE SO I ALWAYS END UP HAVING TO CREATE NEW PROJECTS ALL THE TIME. WHEN A WEEK PASSES BY WITHOUT ANY UPDATE HE AND HIS FUCKED UP BRAIN CELLS GATHER A MEETING WITH HIS 'DONALD TRUMP HANDS-SIZED' BALLS TO ASK ME, 'WHY ARE YOU TAKING SO LONG? THESE ARE JUST THREE BUTTONS ON THIS VIEW?' MOTHERFUCKING COCKSUCKER!! GO GET YOUR MOM TO DO THIS WORK THEN IF IT'S JUST THREE BUTTONS. TO HIM EVERYTHING IN IOS WHICH INCORPORATES A TAP IS A FUCKING BUTTON! BUTTON THIS! BUTTON THAT! AND IT'S NOT LIKE HE HAS SIMPLE DESIGNS..NO.NO.NO.NO. THIS ASSHOLE-SHAPED-HEAD MUGGET DESIGNS SHIT WHICH REQUIRES ME TO HAVE TO DRAW A UIVIEW AS THE SHAPE OF A HUMAN BODY AND HEART. THEN ASIDE FROM THAT, JUST BECAUSE MY RESUME SAYS I MINORED IN MATH AND APPLIED MATH, HE SENDS ME A PAPER THAT EXPLAINS MATHEMATICAL CONCEPTS OF DATA ANALYSIS THEN WANTS TO MEET WITH ME TO DISCUSS THE SUGGESTED METHODS THEN IMPLEMENT THEM. AT THIS POINT I HAD ALREADY IMPLEMENTED AN ALGO FOR COUNTING THE NUMBER OF STEPS THAT WAS WAY WAY WAY MORE ACCURATE THAN THE SHIT THEY HAD IN THEIR CONTROLLER..
SO AS I AM ABOUT TO FINISH IMPLEMENTING JUST THE INITIAL 5 VIEWS OF THIS 'FINAL' APP, HE SERIOUSLY WALKS IN AND TELLS ME, SO I'M STARTING TO WORRY THAT WE'LL NOT MEET THE AUGUST DEADLINE SO I'M THINKING MAYBE YOU SHOULD START SWITCHING BETWEEN DEVELOPMENT. WORK ON IOS FOR 4 HOURS THEN SWITCH TO ANDROID FOR THE REMAINDER OF THE TIME. OH AND UHH IF YOU FEEL LIKE TAKING THE IMAC WITH YOU TO WORK FROM HOME, THAT'S FINE AS WELL AND I'LL BE AVAILABLE IN THE WEEKENDS AS WELL. IT WAS AT THIS MOMENT THAT I REALLY REALLY HOPED I WERE GAY! LIKE 'NO LUBE' STYLE KINDA GAY!! OH BTW AT SOME POINT HE HAD ME PROGRAM ONE OF THEIR CONTROLLERS, AND WAS ASKING IF I COULD START RESEARCHING MEANS OF WRITING AN SDK FOR THEM.
KEEP IN MIND THAT I'M AN INTERN WITH ONE YEAR IOS DEV EXPERIENCE.. THEN HE WANTS ME TO ENTIRELY START LEARNING ANDROID AND GIVE HIM TWO VERSIONS OF THIS THIRD APP IN TWO WEEKS.
HE CAN GO SUCK HIS OWN DICK WHILE GETTING FINGER FUCKED BY A FORK WITH A BLUE WHALE'S 6FT LONG DICK UP HIS MOUTH.
*** that felt good ****36 -
//
// devRant unofficial UWP update (v2.0.0-beta)
//
After several concepts, about 11 months of development (keep in mind that I released 20 updates for v1 in the meantime, so it wasn't a continous 11 months long development process) and a short closed beta phase, v2 is now available for everyone (as public beta)! :)
I tried to improve the app in every aspect, from finally responsive and good looking UI on Desktop version to backend performance improvements, which means that I almost coded it from scratch.
There are also of course a few new features (like "go to bottom" in rants), and more to come.
It's a very huge update, and unfortunately to move forward, improve the UI (add Fluent Design) and make it at the same level of new UWP apps, I was forced to drop the supported for these old Windows 10 builds:
- Threshold 1 (10240)
- Threshold 2 (10586)
Too many incompatiblity issues with the new UI, and for 1 person with a lot of other commitments outside this project (made for free, just for passion), it's impossible to work at 3 parallel versions of the same app.
I already done something like that during these 11 months (every single of the 20 updates for v1 needed to be implemented a second time for v2).
During the closed beta tests, thanks to the awesome testers who helped me way too much than I ever wished, I found out that there are already incompatiblity issues with Anniversary Update, which means that I will support two versions:
1) One for Creators Update and newer builds.
2) One for Anniversary Update (same features, but missing Fluent Design since it doesn't work on that OS version, and almost completly rewritten XAML styles).
For this reason v2 public beta is out now for Creators Update (and newer) as regular update, and will be out in a near future (can't say when) also for the Anniversary Update.
The users with older OS versions (problem which on PC could be solved in 1-2 days, just download updates) can download only the v1.5.9 (which probably won't be supported with new updates anymore, except for particular critcal bug fixes).
So if you have Windows 10 on PC and want to use v2 today, just be sure you have Creators Update or Fall Creators Update.
If you have Windows 10 PC with Anniversary Update, update it, or if you don't want to do that, wait a few weeks/months for the update with support for your build.
If you have an older version on PC, update it, or enjoy v1.5.9.
If you have Windows 10 Mobile Anniversary Update, update it (if it's possible for your device), or just wait a few weeks/months for the update with support for your build.
If you have Windows 10 Mobile, and because of Microsoft stupid policy, you can't update to Anniversary Update, enjoy v1.5.9, or try the "unofficial" method (registry hack) to update to a newer build.
I hope it's enough clear why not everyone can receive the update today, or at all. :P
Now I would like to thank a few people who made this possible.
As always, @dfox who is always available for help me with API implementations.
@thmnmlist, who helped me a lot during this period with really great UI suggestions (just check out his twitter, it's a really good person, friend, designer and artist: https://twitter.com/thmnmlist).
And of course everyone of the closed beta testers, that reported bugs and precious suggestions (some of them already implemented, others will arrive soon).
The order is random:
@Raamakrishnan
@Telescuffle
@Qaldim
@thmnmlist
@nikola1402
@aayusharyan
@cozyplanes
@Vivaed
@Byte
@RTRMS
@tylerleonhardt
@Seshpengiun
@MEGADROID
@nottoobright
Changelog of v2.0.0-beta:
- New UI with Fluent Design and huge improvements for Desktop;
- Added native support for Fall Creators Update (Build 16299);
- Changed minimum supported version to Creators Update (Build 15063), support for Anniversary Update (Build 14393) will arrive soon;
- Added mouse support for Pull-To-Refresh;
- Added ability to change your username and email;
- Added ability to filter (by 'Day', 'Week', 'Month' and 'All') the top Rants;
- Added ability to open rant links in-app;
- Added ability to zoom GIFs (just tap on them in the Rant View);
- Added 'go to bottom' button in the Rant View (if more than 3 comments);
- Added new theme ('Total Black');
- ...complete changelog in-app and on my website (can't post it here because of the 5000 characters limit)...
What will arrive in future updates:
- 'Active Discussions' screen so you can easily find rants that have recent comments/discussions;
- Support for 'Collabs';
- Push Notifications (it was postponed and announced too many times...);
- More themes and themes options;
- and more...
If you still didn't download devRant unofficial UWP, do it now: https://microsoft.com/store/apps/...
If you find some bugs or you have feature suggestion, post it on the Issue Tracker on GitHub (thanks in advance for your help!): https://github.com/JakubSteplowski/...
I hope you will enjoy it! ;)52 -
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
Working with different nationalities is interesting, and sometimes kind of bewildering. And tiring.
I've been working with an Indian dev for a little while, and while she's a decent dev, interactions with her sometimes leave me a little puzzled. She glazes over serious topics, totally over-sensationalizes unimportant oddities, has yet to say the word "no," and she refers to the senior devs as (quote) "the legends." Also, when asked a question by her boss, like "Are you familiar with this?" Instead of a simple yes/no answer, she shows off a little. Fair, I do this sometimes too, but it's a regular thing with her. Also, like most Indians I've known and/or worked with, she has a very strict class-and-caste view of the world. It honestly makes me a little uncomfortable with how she views people, like certain people belong in certain boxes, how some boxes (and therefore their contents) are inherently better than others, and how it's difficult or simply impossible to move between boxes. My obviously westerner view of things is that you can pick where you want to be and what you want to do, and all it takes to get there is acquiring the proper skills and putting in the required effort. I see no boxes at all, just a sprawling web of trades/specialities. And those legends she talks about? They're good devs with more knowledge than me, but only one, maybe two of them are better devs. I see them as coworkers and leads, not legends. Legends would be the likes of Ada Lovelace, Dennis Ritchie, Yukihuro Matsumoto, and Satoshi Nakamoto. (Among others, obv.). To call a lead dev a legend is just strange to me, unless they're actually deserving, but we don't work with anyone like Wozniak or Carmack.
Since I'm apparently ranting about her a little, let me continue. She's also extremely difficult to understand. Not because of her words or her accent, but I can't ever figure out what she's trying to get across. The words fit together and make valid sentences, but the sentences don't often make sense with one another, and all put together... I'm just totally lost. To be a math nerd, like the two conversations are skew lines: very similar, but can never intersect. What's more, if I say I don't understand and ask for clarification, she refuses and says she doesn't want to confuse me further, and to just do what I think is best. It's incredibly frustrating.
Specifically, we're trying to split up functionality on a ticket -- she's part of a different dev team (accounting), and really should own the accounting portion since she will be responsible for it, but there's no clear boundary in the codebase. Trying to discuss this has been... difficult.
Anyway.
Sometimes other cultures' world views are just puzzling, or even kind of alien. This Irish/Chinese guy stayed at my parents' house for a week. He had red hair, and his facial features were about 3/4 Chinese. He looked strange and really interesting. I can't really explain it, but interacting with him felt like talking to basically any other guy I've known, except sometimes his mannerisms and behavior were just shockingly strange and unexpected, and he occasionally made so little sense to me that I was really taken aback.
This Chinese manager I had valued appearances and percieved honors more than anything else. He cared about punctuality and attire more than productivity. Instead of giving raises for good work or promotions, he would give fancy new titles and maybe allow you to move your desk somewhere with a better view of your coworkers. Not somewhere nicer; somewhere more prominent. How he made connections between concepts was also very strange, like the Chinese/Irish guy earlier. The site templating system was a "bridge?" Idk? He also talked luck with his investors (who were also Chinese), and they would often take the investment money to the casino to see if luck was in the company's favor. Not even kidding.
Also! the Iranian people I've known. They've shown very little emotion, except occasionally anger. If I tried to appease them, they would spurn and insult me, but if I met their anger, they would immediately return to being calm, and always seemed to respect me more afterward. Again, it's a little puzzling. By contrast, meeting an American's anger often makes them dislike you, and exceeding it tends to begin a rivalry.
It's neat seeing how people of different nationalities have different perspectives and world views and think so very differently. but it can also be a little tiring always having to translate and to switch behavior styles, sometimes even between sentences.
It's also frustrating when we simply cannot communicate despite having a language in common.random difficult communication too tired for anger or frustration nationalities tiring diversity root observes people23 -
I'm proud to announce a new project made by myself and @thejohnhoffer, that started on devrant.
We started collaborating after I made a rant about machine learning and, since then we've been working hard on a plain language blog that simplifies machine learning concepts.
We call it learn-blog.
Check it out at ironman5366.github.io/learn-blog15 -
I see my boss interested in learning new languages as if it is gonna be some sort of holy grail but his logic remains the same.
I'm in a step of my life that I finally understand that this language fight is a total waste of time:
PhP is fucking delicious to deploy
Java is fucking delicious to work with spring boot
Python has a fucking delicious syntax and I wanna marry it
Go is fucking delicious to outperform others
Anyway, my point is that when you get the hang of it you should learn concepts and improve your logic instead of hoping language x is gonna save you, its not.13 -
Hey DevRant community :-) I’m Milo, I’m quite new to this app and to be completely honest I’m already addicted to it! And honestly just having a community which is full of developers or people with common interests like myself just makes me feel warm and happy! .
A bit about myself I’m from Australia and gained an interest in Coding about 2 years ago where i landed a course in TAFE. Now i had absolutely no prior experience i was a complete rookie, first day was basically (if I remember) only one day of using the console with what I remember to be sequential programming. Well after that it was all GUI and a disaster i had no clue whatsoever of what i was doing and well interestingly enough i still managed to enjoy it and move on😅.
Fast forward about six months I’m now doing a proper degree and actually understanding concepts and better at coding and i love it!. Welp guys & gals i thank you for taking the time to read my post I certainly hope i posted this in the right section! :-)
Hope you all have a great night or day where ever you may be!.29 -
It's enough. I have to quit my job.
December last year I've started working for a company doing finance. Since it was a serious-sounding field, I tought I'd be better off than with my previous employer. Which was kinda the family-agency where you can do pretty much anything you want without any real concequences, nor structures. I liked it, but the professionalism was missing.
Turns out, they do operate more professionally, but the intern mood and commitment is awful. They all pretty much bash on eachother. And the root cause of this and why it will stay like this is simply the Project Lead.
The plan was that I was positioned as glue between Design/UX and Backend to then make the best Frontend for the situation. Since that is somewhat new and has the most potential to get better. Beside, this is what the customer sees everyday.
After just two months, an retrospective and a hell lot of communication with co-workers, I've decided that there is no other way other than to leave.
I had a weekly productivity of 60h+ (work and private, sometimes up to 80h). I had no problems with that, I was happy to work, but since working in this company, my weekly productivity dropped to 25~30h. Not only can I not work for a whole proper work-week, this time still includes private projects. So in hindsight, I efficiently work less than 20h for my actual job.
The Product lead just wants feature on top of feature, our customers don't want to pay concepts, but also won't give us exact specifications on what they want.
Refactoring is forbidden since we get to many issues/bugs on a daily basis so we won't get time.
An re-design is forbidden because that would mean that all Screens have to be re-designed.
The product should be responsive, but none of the components feel finished on Desktop - don't talk about mobile, it doesn't exist.
The Designer next to me has to make 200+ Screens for Desktop and Mobile JUST so we can change the primary colors for an potential new customer, nothing more. Remember that we don't have responsiveness? Guess what, that should be purposely included on the Designs (and it looks awful).
I may hate PHP, but I can still work with it. But not here, this is worse then any ecommerce. I have to fix legacy backend code that has no test coverage. But I haven't touched php for 4 years, letalone wrote sql (I hate it). There should be no reason whatsoever to let me do this kind of work, as FRONTEND ARCHITECT.
After an (short) analysis of the Frontend, I conclude that it is required to be rewritten to 90%. There have been no performance checks for the Client/UI, therefor not only the components behave badly, but the whole system is slow as FUCK! Back in my days I wrote jQuery, but even that shit was faster than the architecuture of this React Multi-instance app. Nothing is shared, most of the AppState correlate to other instances.
The Backend. Oh boy. Not only do we use an shitty outated open-source project with tons of XSS possibillities as base, no we clone that shit and COPY OUR SOURCES ON TOP. But since these people also don't want to write SQL, they tought using Symfony as base on top of the base would be an good idea.
Generally speaking (and done right), this is true. but not then there will be no time and not properly checked. As I said I'm working on Legacy code. And the more I look into it, the more Bugs I find. Nothing too bad, but it's still a bad sign why the webservices are buggy in general. And therefor, the buggyness has to travel into the frontend.
And now the last goodies:
- Composer itself is commited to the repo (the fucking .phar!)
- Deployments never work and every release is done manually
- We commit an "_TRASH" folder
- There is an secret ongoing refactoring in the root of the Project called "_REFACTORING" (right, no branches)
- I cannot test locally, nor have just the Frontend locally connected to the Staging webservices
- I am required to upload my sources I write to an in-house server that get's shared with the other coworkers
- This is the only Linux server here and all of the permissions are fucked up
- We don't have versions, nor builds, we use the current Date as build number, but nothing simple to read, nonono. It's has to be an german Date, with only numbers and has always to end with "00"
- They take security "super serious" but disable the abillity to unlock your device with your fingerprint sensor ON PURPOSE
My brain hurts, maybe I'll post more on this shit fucking cuntfuck company. Sorry to be rude, but this triggers me sooo much!2 -
Hello everyone, this is my first time here so hi! I want to tell you all a story about my current situation.
At 18 while in the military I was able to get my first computer, it was a small hp pavilion laptop with windows 7. The system would crash constantly, even though I would only use it for googling stuff and using fb to talk to people. 5 months after I got it and continuously hated it decided to find out why and who could I blame (other than myself) for the system making me do the ctrl alt del dance all the time....
Found out that there are people called computer programmers that made software. Decided to give it a go since I had some free time most days. Started out with c++ because it was being recommended in some websites. Had many "oh deeeeer lord" moments. After not getting much traction I decided to move to Java which seemed like an easier step than C++. Had fun, but after some verbosity I decided to move into more dynamic lands. Tried JS and since at the time there was no Node and I was not very into the idea of building websites I decided to move into Python, Ruby, PHP and Perl and had a really great time using and learning all of them. I decided to get good in theoretical aspects of computer programming and since I had a knack for math I decided to get started with basic computer science concepts.
I absolutely frigging loved it. And not only that, but learning new things became an obsession, the kind that would make me go to bed at 02:40 am just to wake up at 04:00 or 06:00 because the military is like that. I really wanted to absorb as much as I could since I wanted to go to college for it and wanted to be prepared since I did not wanted to be a complete newb. Took Harvard CS50, Standford Programming 101 with Java, Rice's Python course and MIT's Python programming class. I had so much fun I don't regret it one bit.
By the time I got to college I had already made the jump to Linux and was an adept Arch user, Its not that it was superior or anything, but it really forced me to learn about Linux and working around a terminal and the internals of the system to get what I want. Now a days I settle for Fedora or Debian based systems since they are easier and time is money.
Uni was a breeze, math was fun and the programming classes seemed like glorified "Hello World" courses. I had fun, but not that much fun, most of my time was spent getting better at actual coding. I am no genius, nor my grades were super amazing(I did graduate with honors though) but I had fun, which never really happened in school before that.
While in school I took my first programming gig! It was in ASP.NET MVC, we were using C#, I got the job through a customer that I met at work, I was working in retail during the time and absolutely hated it. I remember being so excited with the gig, I got to meet other developers! Where I am from there aren't that many and most of them are very specialized, so they only get concerned with certain aspects of coding (e.g VBA developers.....) and that is until I met the lead dev. He was by far one of the biggest assholes I had ever met in my life. Absolutely nothing that I would do or say made hem not be a dick. My code was steady, but I would find bugs of incomplete stuff that he would do, whenever I would fix it he would belittle me and constantly remind me of my position as a "junior dev" in the company saying things as "if you have an issue with my code or standards tell me, but do not touch the code" which was funny considering that I would not be able to advance without those fixes. I quit not even 3 months latter because I could not stand the dick, neither 2 of the other developers since the immediately resigned after they got their own courage.
A year latter I was able to find myself another gig. I was hesitant for a moment since it was another remote position in which I had already had a crappy experience. Boy this one was bad. To be fair, this was on me since I had to get good with Lumen after only having some exposure to Laravel. Which I did mentioned repeatedly even though he did offer to train me in order to help him. Same thing, after a couple of weeks of being told how much I did not know I decided to get out.
That is 2 strikes.
So I waited a little while and took a position inside another company that was using vanilla PHP to build their services. Their system was solid though, the lead engineer remains a friend and I did learn a lot from him. I got contracted because they were looking for a Java developer. The salary was good. But when I got there they mentioned that they wanted a developer in Java...to build Android. At the time I was using Java with Spring so I though "well how hard can this be! I already use Android so the love for the system is there, lets do this!" And it was an intense, fun and really amazing experience.
-- To be continued.10 -
I developed a simple scholarship management system for my school using Laravel, MySQL, jQuery and Bootstrap, I did it for free since college students from my country have to pay social service to get their degrees. Everyone in the scholarships department seemed to be really happy with my work and they evaluated my social service with 10/10, but yesterday they asked for one last favor: to go talk to the new social service guy who'll be supposed to maintain my project, a mid 30's dude who was really pissed off from the beginning because he wasn't even able to deploy the project, he wasn't even able to clone the project from Github. Ok, so I tried to explain to him the tools I used and how the project was structured, but everything I said seemed to piss him even more, so I stopped and had a chat like:
Me: "Look man, do you know or at least have basic concepts of PHP and MVC frameworks?"
Guy: "Yes, but I'm a project manager, not just –despectively– any programmer, and you didn't write proper documentation, it's impossible to deploy your project with the manual you wrote, I cannot work like this".
*We go to their computer and I clone and setup the project in 3 minutes.
Guy: "Yes, but I still don't know how the project works, I need everything documented. If I have to change something, I don't know where to look.
Me: "Man, that's why asked you about knowing PHP MVC frameworks".
Guy: "I cannot work like this, nothing is documented, I don't even know what's that software you're using *points at Sublime Text*. Or tell me, can you arrive at a place where they expect you to work with something you don't know and they have no documentation?"
*At this point he was really pissed
Me: "Well... Dealing with non-documented software is what I do for a living"
Guy: "I don't know what companies you've worked for, probably not big ones..."
Me: "Well, I actually work for *I mention one of the biggest music apps in the country*"
*Guy ironically laughs
When I gave my feedback to the lady in charge of the department, I told her that this guy was really pissed off at how things were done and that I wasn't so sure of him being capable of maintaining the system. She told me not to worry, that the guy became a well known asshole in the office only after a few days, and that she'll probably have to find something else for him to do. It'd be hilarious if this guy ends up capturing scholarships in the system I made.4 -
Ever have a feeling that there is so many interesting stuff out there - Angular, React.js, TypeScript, Rust, ELM, FRP, Machine Learning, Neuronal Networks, Robotics, Category theory... But no way to ever figure out what are all those about? And there is too little time to even get a good grasp of any single one of those. IT seems to be like hydra - one learns one thing and 10 new concepts pop up in the meantime.4
-
Today I'm going to work on my side project that I haven't touched in weeks.
I want to utilize Angular 2 which means I'll need to learn TypeScript. I also want to use the new .Net Core and EF Core 1.0. Oh and I want to handle authentication using JWT!
Wow, that's gonna be a lot of effort to get things off the ground... maybe instead I'll use this time to learn some new concepts. Maybe watch this episode of Fun Fun Function, or maybe this video on writing Assembly code for an app on Raspberry Pi, that sounds cool!
Actually, you know I should really teach myself dependency injection and unit testing for once. I'm so behind the times.
Well, really I should finish this book on design patterns first. Ok, where did I leave off? Page 20 I think... ehh... maybe I'll just work on my side project.
Tomorrow... tomorrow, I'll work on my side project.9 -
Before I took on my current position (internal transfer), I stated that for what my boss asked for I would need a small team.
He agreed to that and promised I would get 2-3 developers.
6 months after (with countless reminders) he told me I could train some people at one of our providers.
Turns out those guys were Java developers, even though I asked for C# (since our codebase is .net)
After a few training sessions, where concepts as source control were a big topic ("why not just copy the code to a new folder with _good_ naming?"), I gave them a test assignment.
After reviewing their code I just gave up. They cannot program. They don't understand concepts like scoping of variables. Concepts of separation of responsibility.
I told my boss this but I had to make it work with them.
I went to my bosses boss (Head of IT) with my resignation in hand, since I felt my boss didn't want to support me actually getting a team. After a few talks I was asked to "keep it cool" and wait until he presented his new organization.
Now my boss asked me for which skills new developers should have. To which I could just laugh at him and forward countless mails from the last 6-8 months asking for developers.
<Irony>I love my boss</Irony>6 -
Here's the story of my first month at CERN :) But first, a little premise...
Before arriving, I expected to be scared, alone and unguided in most of my experiences: after all I was a simple 19 year old about to leave home and friends for 3 years heading out in the world with zero experience on stuff like banking, taxes.. let alone working in a huge environment! The impostor syndrome was at an all time high on that front.
Then, I had the luck and pleasure to find an extremely competent and helpful plethora of people, ranging from my team to other CERNies (yes, that how we're called :P) who took me under their wing and introduced me to all the key aspects of living the place. When the initial stress finally soothed down thanks to this, I finally started to manage focusing more and more on my work, by following day-by-day my teammates who taught me the core aspects of the system and the many projects that are in progress during Long Shutdown 2. Within a couple weeks, I already managed to grasp various concepts that got me quickly on track, and now I managed to develop and integrate new temperature monitoring scripts into a system checking on hundreds of Single Board Computer-based servers :) It's a real rollercoaster of learning and applying under all fronts and so far I'm not regretting my choice of departing.
Luckily I've also discovered I'm pretty efficient and good at my job, which surely boosts my morale :D
Keep you updated as usual!11 -
I'll use this topic to segue into a related (lonely) story befitting my mood these past weeks.
This is entire story going to sound egotistical, especially this next part, but it's really not. (At least I don't think so?)
As I'm almost entirely self-taught, having another dev giving me good advice would have been nice. I've only known / worked with a few people who were better devs than I, and rarely ever received good advice from them.
One of those better devs was my first computer science teacher. Looking back, he was pretty average, but he held us to high standards and gave good advice. The two that really stuck with me were: 1) "save every time you've done something you don't want to redo," and 2) "printf is your best debugging friend; add it everywhere there's something you want to watch." Probably the best and most helpful advice I've ever received 😊
I've seen other people here posting advice like "never hardcode" or "modularity keeps your code clean" -- I had to discover these pretty simple concepts entirely on my own. School (and later college) were filled with terrible teachers and worse students, and so were almost entirely useless for learning anything new.
The only decent dev I knew had brilliant ideas (genetic algorithms, sandboxing, ...) before they were widely used, but could rarely implement them well because he was generally an idiot. (Idiot sevant, I think? Definitely the idiot part.) I couldn't stand him. Completely bypassing a ridiculously long story, I helped him on a project to build his own OS from scratch; we made very impressive progress, even to this day. Custom bootloader, hardware interfacing, memory management, (semi) sandboxed processes, gui, example programs ...; we were in highschool. I'm still surprised and impressed with what we accomplished.
But besides him, almost every other dev I met was mediocre. Even outside of school, I went so many years without having another competent dev to work with. I went through various jobs helping other dev(s) on their projects (or rewriting them), learning new languages/frameworks almost every time: php, pascal, perl, zend, js, vb, rails, node, .... I learned new concepts occasionally (which was wonderful) but overall it was just tedious and never paid well because I was too young to be taken seriously (and female, further exacerbating it). On the bright side, it didn't dwindle my love for coding, and I usually spent my evenings playing with projects of my own.
The second dev (and one one of the best I've ever met) went by Novo. His approach to a game engine reminded me of General Relativity: Everything was modular, had a rich inheritance tree, and could receive user input at any point along said tree. A user could attach their view/control to any object. (Computer control methods could be attached in this way as well.) UI would obviously change depending on how the user could interact and the number of objects; admins could view/monitor any of these. Almost every object / class of object could talk to almost everything else. It was beautiful. I learned so much from his designs. (Honestly, I don't remember the code at all, and that saddens me.) There were other things, too, but that one amazed me the most.
I havent met anyone like him ever again.
Anyway, I don't know if I can really answer this week's question. I definitely received some good advice while initially learning, but past that it's all been through discovering things on my own.
It's been lonely. ☹2 -
'Sup mates.
First rant...
So Here's a story of how I severely messed up my mental health trying to fit in university.
But the bonus: Found my passion.
Her we go,
Went to university thinking it'll be awesome to learn new stuff.
1st sem was pure shock - Programming was taught at the speed of V2 rockets.
Everything was centred around marks.
Wanted to get a good run in 2nd sem, started to learn Vector design, but RIP- Hospitalized for Staph infection, missed the whole sem and was in recovery for 3 months.
So asked uni for financial assistance as I had to re-register the courses the next semester. They flat out refused, not even in this serious of a case.
So, time to register courses for third semester, turns out most of the 2nd year courses are full, I had to take 3rd year courses like:
Social and Informational Networks
Human Computer Interaction
Image processing
And
Parallel and Distributed Computing (They had no prerequisites listed, for the cucks they are: BIG MISTAKE)
Turns out the first day of classes that I attend, the Image proc. teacher tells me that it's gonna be difficult for 2nd years so I drop it, as the PDC prof. also seconds that advice.
Time travel 2 months in: The PDC prof is a bitch, doesn't upload any notes at all and teaches like she's on Velocity-9 while treating this subject like a competition on who learns the most rather than helping everyone understand.
Doesn't let students talk to each other in lab even if one wants to clear their friend's doubt, "Do it on your own!" What the actual fuck?
Time for term end exams and project submission: Me and 3 seniors implement a Distributed File System in python and show it to her, she looks satisfied.
Project Results: Everyone else got 95/100
I got 76.
She's so prejudiced that she thinks that 2nd years must have been freeloaders while I put my ass on turbo for the whole sem, learning to code while tackling advanced concepts to the point that I hated to code.
I passed the course with a D grade.
People with zero consideration for others get absolutely zero respect from me.
Well it's safe to say that I went Nuclear(heh.. pun..) at this point, Mentally I was in such a bad place that I broke down.... Went into depression but didn't realise it.
But,
I met a senior in my HCI class that I did a project with, after which I discovered we had lots of similar interests.
We became good friends and started collaborating on design projects and video game prototyping.
Enter the 4th sem and holy mother of God did I got some bad bad profs....
Then it hit me
I have been here for two years, put myself through the meat grinder and tore my soul into shreds.
This Is Not Me
This Wont Be The End Of Me
I called up my sister in London and just vented all my emotions in front of her.
Relief.
Been a long time since I felt that.
I decided to go for what I truly feel passionate about: Game Design
So I am now trying to apply for Universities which have specialised courses for game design.
I've got my groove again, learnt to live again.
Learning C# now.
:)
It's been a long hello, and If you've reached till here somehow, then damn, you the MVP.
Peace.9 -
So a few days ago I shared about the conflict with my colleague on learning React. Today I was let go. Obviously I asked why they would do that and they said they feel the problem isn't even my React knowledge but the fact I don't grasp the fundamentals of OO programming.
Thing is in these 3 months there has not been a single code review. They are either going of what my lying colleague told them (they claimed he was excluded from giving feedback), or the consultants who were hired to help us. And yes, I got feedback I should improve but at the same time the assurance so long as I show improvement it'd be fine. And I was told they could see improvement. So I'm not sure what changed but suddenly there is no budget to keep me on. In any case it feels like shitty corporate bullshit.
But I can't say they are wrong. I struggle to explain simple concepts I know in words. I've worked a series of bad jobs where nobody cared how you did stuff as long as it got done. I feel I'm so behind now and so affected by bad knowledge it's even harder to fix than to learn the first time. So I'm wondering how to fix this.
I'm really gutted too because I loved this company. I was finally getting a fair wage instead of being underpaid. The people were excellent. I felt I could finally relax and feel safe at work. And now I feel betrayed. Which for someone with self esteem issues is very hard. Can't trust in myself and can't trust in others.
I'm gonna try and pick myself up in the morning, but today I feel totally shit. This wasn't how I'd expected things to go. I thought my manager had intended to talk conflicts over but instead I get the boot. And the advice to stop overselling myself. Real useful that. Like it is on me that they hired me despite my subpar interview because my CV looked good. It's a shitty excuse. In any case they're now stuck with a dev that walks out of work, throws false accusations about colleagues, and another person warned me about to not engage because nothing good ever came from it. He's gonna keep over engineering everything and make up for all the time he wastes outside of work creating a dysfunctional environment for everyone. But yeah, easier to fire the new person who does her best despite the odds. And who cautioned against over engineering because we kept missing deadlines. And who believes in refactoring when it is needed because that's how agile works. Yeah better keep someone who has no sense of work life balance and makes others miserable then claiming he's being driven out by your ignorance. And of course the consultants who throw your own people under the bus. Can't get rid of those now.7 -
If you are completely new to coding, no problem at all! All of the concepts are fully explained throughout the exploration. Just keep in mind that it might be tough and frustrating and times. But don't give up! Coding isn't always easy, but it sure is fun when you get it right.
-
Rant. (I love and respect all people! Especially developers.)
You frontend imbecils! I just can’t deal with you any more. I’ve had it.
Stop-inventing-new-components-where-there-are-fully-developed-and-working-concepts!
I mean. Just fucking stop! If I see another worthless datetime picker with an ”innovative” design I am going to hunt you down and freaking scream in your face.
And make fucking buttons look like tappable/clickable. It’s not fucking hard! Imbecils.
Oh, ooo, look at me, I am a frontend developer and I am in UX la-la land and what I am doing is sooo hard. Fuck off with your fucking moving gradients and n:th-child childish playground.
”Yeah, I exchanged the spinner…”
Fuck you. Your not contributing. Nobody cares! We’re not doing anything for the business by having a web which can be seen on a fucking telephone. EVERYBODY IS SITTING WITH SEVERAL GIANT MONITORS AND A FUCKING WORKSTATION FOR THIS. NOBODY ASKED FOR IT. AND YOU SPEND COUNTLESS HOURS ON IT.
”Yeah, I made the site work on ipad”
Please. Why? It’s not worth anything. Zero value.
”Yeah, the toggle component is now changed since we started to use the biddle-flipflup lib and it works almost the same”
No! NO! It does not work ”almost” the same. The psychology of the toggle is now wastly different. What was On before now looks like Off and it is fucking worse!!!
Imbecils. I hate you.
And no, I can’t do your fucking work! And I know that you do other non-ui stuff as well sometimes… but anyway… I have no interest to be in that clusterfuck that modern frontend is today. It was really fucking bad twenty years ago and it is just as bad today and you are not helping.
”I’ve improved the button so now it aaaaalmost does not look like a button. But I am getting there!”
Fuck you.14 -
A rant about pretentious people:
So last week I walk into college and I find that a new "Machine Learning Crash Course" is being offered by a senior. Now I'm a beginner in this domain, and know the just basic concepts and math behind it. Naturally, I was super curious about this and decided to talk the student who was supposed to teach the course.
I asked him where he learned from, and mentioned that I'm an interested beginner. He just replied, "YouTube".
Okaaaaayyy?
Now I'm suspicious of this guy, so I asked him if he's worked on any related projects I could look into, to which he replies, "Not yet, but I'm working on some".
Now I'm SUPER suspicious. A guy that's got no experience with the subject, yet is teaching others about it?
Get this, at this point he rudely asks me if I have anything else to say. So I asked him a super simple question: "Do you know what gradient descent is?". He replies "Uhh, no, but I've heard about it".
I lost it.
HOW DID THIS GUY MANAGE TO CONVINCE THE HEAD OF THE DEPARTMENT AND SEVERAL OTHER PROFESSORS TO TEACH A MACHINE LEARNING CRASH COURSE?
People like him need to go away.
/rant4 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
How do you usually learn a new language?
My way is to start a project, then figure it out as I go.
I find that books and tutorials are usually better reserved for learning concepts or frameworks.2 -
C is probably my favorite programming language. I use it for learning new concepts and implementing algorithms.
It's just sometimes I hate that I have to do everything myself when I need to focus on the solution/concept instead.
P.S., I hate C++ from all my heart. It's an abomination and a deformity of C.21 -
I’ve come to the conclusion that developers who like react have never used it for anything even remotely complicated.
Because here’s reacts dirty little secret; it doesn’t scale. Not even a little. It’s flexible, but that leads to every developer writing their code in a different way.
It’s simple and easy for simple side projects, but as soon as you have to pass state to a child component, you’re fucked. And god help you if you’re modifying the state in said child component. You can try using redux, but that’s a bandaid solution to the real issue.
There are better alternatives, namely Vue. There’s no need to write unintelligible code that’s a mutated hybrid of html css and js. We as web developers realized mixing these technologies was a bad idea a long time ago.
React simply doesn’t scale. It’s flexibility, complexity, and the awful code quality it leads to makes it a nightmare for large projects with multiple developers
Some of its concepts are interesting and useful though. It’s functional concepts allow for easy code reuse, among the other benefits associated with functional programming
I sincerely hope that the hype around react dies out, and a new framework emerges that takes the best from react and fixes the glaring issues it currently has23 -
Fucking facebook researcher that make underfitted neural nets and fuck Mark that it's a marketing genius, the only idiot that can make news from a failure. The CEO of Tesla knows it and said Mark is not an AI expert. Bug not feature, it's only a poorly trained and poorly designed neural network having a bad representation of concepts, not a new language and not the fucking apocalypse. Google faced and solved the same issue when start ed using neural nets for zero-shot translations without using english as a translation bridge.
-
Common Lisp code has (imo) one of the cleanest syntax possible in programming language. I really would like for Lisp dialects other than Clojure to make a heavy comeback. And we now hace Quicklisp which is a package repo for CL code.
I really want to see more people into Lisp, it really is a great language man you just need to get past the (()) and it makes sense I promise.
Guys please try CL. If you already have awesome code skills and have some free time try going throughe the gigamonkeys book. Completely free online and setting up an Emacs environment with SBCL or CLISP is a breeze. I use Lisp to experiment and it gives a lot of room for exploring new concepts.
Another cool language that is emerging is Smalltalk in the form of Pharo. If you have been casting asside OOP because of the way many mainstream languages do it then maybe you will like Smalltalk as a pure OOP form.
I just want more people in this shit and this community sure has some awesome programmers, so why not?
one of the leading dudes in CL is currently Eitaro Fukamachi, one dude...doing amazing things. My aim is to give him a hand.8 -
It is said that the number of programmers doubles every five years with fresh CS, CE, and EE grads. Assuming that's true, then at any one time over half the developer community are novices in the early stages of their career.
My entire life's been spent in software and I've been in it now for about 15 years and I've seen a lot of people make alot of things and I've seen a lot of people fail at alot of things. My observation is that the doers are the major thinkers, the people that really create the things that change this industry are both the thinker doer in one person. It's very easy to take credit for the thinking the doing is more concrete. It's very easy for somebody say "oh, I thought of this three years ago" but usually when you dig a little deeper you find that the people that really did it. Were also the people that really worked through the hard intellectual problems.
Many people falsely believe that a great idea constitutes 90% of the work. However, there is a significant amount of craftsmanship required to bridge the gap between a great idea and a great product. As you evolve that great idea it changes and grows it never comes out like it starts because you learn a lot more as you get into the subtleties of it and you also find there's tremendous amount of trade-offs that you have to make.
There are certain things you can't make electrons do, certain things you can't make plastic or glass, certain things you can't make factories or robots do. and as you get into all these things, Designing a product involves juggling 5,000 different concepts, fitting them together like puzzle pieces, and exploring new ways to combine them. Every day brings new challenges and opportunities to push the boundaries of what's possible, and it's this ongoing process that is the key to successful product development. That process is the "magic"4 -
I'm so done with flutter.
I wanted to give it a little try by rewriting a small android project I wrote a few years back. It brings some nice concepts especially when it comes to UI related programming but that's all I can really compliment it for. It's nothing more than something to play with as it is right now.
Also I think this text will be hidden behind the read more. Did I successfully bait you with that cat?
The things I truly hate about it:
The ide integration makes me wanna use eclipse again. At least most nonsensical error messages disappear after saving the document on eclipse.
.
Wanna generate a new function? Yeah, let me just place it RIGHT INSIDE THIS FUCKING IMPORT STATEMENT
Over at Google: Let's just rename everything from java slightly different and put it in nonsensical context so that you have to learn all of it again. Also why don't we make it so that the code suggestions only suggest things you already imported, so that you have to look up every little piece shit feature.
When it comes to databases, I must say, I had more fun working with PHP and mysql than with sqFUCKlite. Throwing away the Room components for that? What a joke...
I already said what i think about the syntax here an devrant but I'm more than happy to repeat it here:
The syntax looks like someone looked at C#, Java and JavaScript and then decided to vomit the worst parts of it into a programming language. I can't really classify anything original about it. There are clear inspirations, but they are confusingly mashed together with the other languages making this one nuts of a language.
Android SDK documentation is a blessing in comparison to whatever the fuck flutter tries to do.
I don't think I'll want top touch that Google side project again within the next few years, if it hasn't been replaced with a new side project like billiard by then.3 -
I tried LSD yesterday!
Backstory: I have a weird combo of bipolar type 1 and autism. During the day, my brain works inconsistently. Here how my day usually goes:
09:00. I wake up. Uninterested, cold, masculine. No thoughts in the background. No OCD.
12:00. Brain warms up. Thought process begins. Thoughts are short in their length
14:00. Thoughts start to get longer. Stress starts to accumulate. Background thoughts start, now typically 2–3 at a time.
16:00. Twitching begins. Thought chains are now 5–6 concepts long, one following the other. Perception level rises quickly. I start to feel more feminine. It is in this state that I start to spot imperfections and mistakes looking at code or text without reading it. I see it like a painting, and mistakes appear as “visually wrong” parts. This does not depend on formatting.
17:00. OCD becomes more severe. I HAVE to touch all the surfaces around me, evenly, as if my hands were text highlighters, and I had to paint everything evenly, without overlaps or spots that are brighter or darker than the others. Some surface textures become irritating, and feel quite unpleasant to the touch. If I go for a run now, like 3 km or so, I feel somewhat relieved.
18:00. Things are getting serious. Creativity levels through the roof. I speak in long, never-ending, profound sentences. Background and foreground thoughts almost become one. I appear visually drunk and happy, despite never drinking alcohol. Femininity rises even further. Sometimes, when I speak to a small group of people, especially if I go with friends to meet new people, and we go to some bar, new people ask to record my voice or to write down whatever I’m saying. To be honest, this reason alone is a huge boost to how I see yourself.
19:00. OCD is crazy now. Surfaces have soul.
21:00 <— Gotta take my meds and go to sleep here to prevent what comes at 22:00
22:00. All thoughts, both foreground and background, fully became one. Now my brain officially disobeys me and thinks on its own, and I can ride it like a surfer at best. Twitching becomes concerning. I develop a 1000-yard stare. I am officially a female. Physical strength is somewhat enhanced. Pain tolerance lowered significantly.
23:00. Derealization begins. The world around me appears two-dimensional and flat, like a picture. It is hard to get home on foot, even in close (less than one km) proximity. Brain is fully numb. All that thought monstrosity that was building up is just noise now. Zero “flops” available to think about something I want to think about, like how much money I have on me or what time it is.
I go to sleep. I see nightmares. I wake up, and the cycle repeats.
Contrary to a popular opinion, I never take any “brain-boosting” meds like antidepressants, and I think now you can see why. I consume neither alcohol nor caffeine. Neither me, nor my doctors want my brain to explode. I only take lamotrigine that helps to “lower down” mania, and quetiapine, a neuroleptic, that slows down my brain, like a neuroleptic. Both are there to slow down my brain, to kinda “throttle” my brain like a CPU to cool it down.
That said, 100ug of LSD just… brought me my usual 18:00 state, but in the morning?
All that small-dose recreational ordeal? The thing that helps people feel more energetic and creative?
People pay money… for that? To feel the way I feel every evening?10 -
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9 -
New office saga continues... SE1E05
I transitioned from a B2B to B2C role. Now the company and the product is entirely consumer facing.
Many or rather all are actively engineering the product to be more and more dystopian in nature.
Using concepts like FoMo, social validations, and other techniques to get users to spend more into consumerism in the name of building better experience.
It's the darkest shit I have seen so far. And this company is ethically a great one. I can only imagine how pathetic Meta and others would be.
I hate ny role. I hate how I have to do this for a living. Knowingly or unknowingly, I got myself here and absolutely hate where we are headed as a human race.
I don't like it anymore and I am only doing it as a job. No longer proud or excited of my job profile.
Fuck the impact, technology will be a catalyst for human extinction.
And with that, I found a good solution to my Mac 😏
Do check: https://reddit.com/r/Unexpected/...7 -
the real truth is that web dev has been running around in circles on itself for over a decade now
"but every framework is 'new' and 'shiny'!!!!"
nah, just more sugar on the same exact concepts that have been around since day 17 -
I've been teaching the new interns. Some are progressing really nicely and understanding the caveats and concepts of the frameworks, but others are a big pain in the kernel
I sent them some code outlining what they would do, filled with `// TODO`'s. Every day I would ask them if they had any questions and they just said they were having some progress. At the end of the week, they say "the code that you sent me doesn't work. I ran it and it didn't do what you said it would do." Well that was your job! My bad for having high expectations I guess1 -
C++ is a spiritual language.
I am getting the feeling of being a saint,
my mind seems to be in a whole new dimension,
My soul seemed to be out of my body for a few minutes,
and I can feel a sparkling elixir flowing throughout my body.
All these, after I grasp concepts such as functors, operator overloading, and container adaptors in C++3 -
Why do marketers always tarnish the name of new concepts by turning them into buzzwords?
For example, "Cloud" is one of the most misused and overused words on the internet. If something has anything to do with the internet, it's likely to be plastered with the word "Cloud".
It's like "App" all over again. Anything remotely related to technology is called an "App" by it's marketing team and layman users.2 -
What do you tell interviewers as a "Senior developer" when they ask you what you do at your current job.
I've been with my current for almost 8 years, since graduating... Few different time but not very well managed (semi/barely agile). Hasn't really provided any skill growth opportunities. Mostly fixing production issues, chasing other teams.
The projects I've worked on are in many different languages either enhancements or some standalone stuff. But nothing that's huge and I don't think I've learned anything from them. I usually apply what I learn and practice outside of work to work.
So to me I can probably list a whole lot of projects but to me their not that amazing, I didn't learn anything from them.
Also about those algorithm questions. I've never used any of this stuff actually at work. Concepts yes but not how do you implement ... And honestly I've never once had a situation that required algorithmic thinking other than maybe writing recursive functions in rare occasions...
But to me I've never once done anything harder or new which I haven't already done on my own....
Sorry for the disorderly rambling this turned into... which is sorta a problem too.
Everytime I think about interviews, I want to give rants about we technical questions are BS, how I probably have enough real experience to tackle any problem and come up with a good plan/solution (in a realistic timeframe, not 20 minutes from design to implementation)2 -
To be honest, I'm not as excited as I was 6-7 years ago when our tech industry seen a big leap, where these ML/Deep Learning algorithms were out performing humans, Apache Spark out perfomed Hadoop in distributed computing, Docker/Kubernetes are the new phenomenon in software development and delivery, Microservices architecture, ReactJS virtual DOM concepts were so cool.
Really though, I've come realise that these software trends come and go. All you need to do is adapt and go with the flow.3 -
Coding YouTubers existence is the reason the quality of new age software engineers is going down the hill.
Learn MERN stack,
PHP's dead,
Buy my course, it's 20% off
Learn just good enough that you can land a job
Learn how to prompt ChatGPT better
These shitty pieces of advice will never enable software engineers to truly understand the core concepts of what they're doing.
It's sad, really.8 -
I'm getting beat up pretty bad by Rust. I like it so far but man is it hard. Imposter-syndrome is almost making me lose motivation. Almost, but I won't quit, one day I'll get there.
I think the primary reason I think I'm having such a hard time is that I'm trying to learn stuff that prevents me from making some mistakes that I have never run into. I know a bit of the theory but no hand's on experience on double-free errors, memory leaks and weird low-level stuff. I read the documentation, mostly understand what stuff is for but when I go write code I'm just like "now what?". I don't have enough experience to know when and where to use some concepts and I'm super lost. I don't know where to start and the feeling of being completely overwhelmed by all sorts of new stuff is at the same time exciting and frightening.
I have never, as a programmer, thought something was hard. All of my past knowledge required dedication, work and patience, but I wouldn't say I ever felt something was *hard*. But Rust... damn. Rust is hard.
Hopefully at the end of this super steep learning curve I'll know a lot more stuff and have stronger "dev powers" and be one step closer to being as knowledgeable as some of you guys around here to whom I look up to.2 -
In my life I have never had trouble researching a concept... Until now.. Never had so many fruitless endeavours, its getting frustrating.7
-
New Phrack article. Given they release like one a year, figured it warranted posting a link.
Title : Hypervisor Necromancy; Reanimating Kernel Protectors
Author: Aris Thallas
Date: 2020 Feb 14
"In this (rather long) article we will be investigating methods to emulate proprietary hypervisors under QEMU, which will allow researchers to interact with them in a controlled manner and debug them. Specifically, we will be presenting a minimal framework developed to bootstrap Samsung S8+
proprietary hypervisor as a demonstration, providing details and insights on key concepts on ARM low level development and virtualization extensions for interested readers to create their own frameworks and Actually Compile And Boot them ;). Finally, we will be investigating fuzzing implementations under this setup."
http://phrack.org/papers/...2 -
So after 7 months of soul crushing searching I was able to land an awesome job I never thought I'd get! I didn't really get hired for my projects, I think I was more of a culture fit that knew enough of what they were talking about. My colleagues are awesome, helpful people but they are also clearly way ahead of me as devs. I know that many new hires have similar feelings and it's more a matter of drive + time. I understand that and I'm ready for the marathon ahead of me but I have one HUGE concern... I don't understand unit testing. I've never written unit tests in JavaScript or Java (just on paper I wrote random assert statements for a college exam question that somehow turned out correct). More importantly, I don't understand when to write unit tests and what my main objectives should be when writing them. At work they talk about unit testing like it's just as basic as understanding version control or design patterns, both of which I have had no problems asking questions about because I at least understood them generally. I come here looking for resources, mainly things I can go through over the weekend. I understand that I'm going to have to ask my colleagues for help at some point but I DON'T want to ask for help without any solid base knowledge on unit testing. I would feel much more comfortable if I could understand the concepts of unit testing generally, and then ask my team members for help on how to best apply that knowledge. I'm sorry for begging, I'll definitely be looking for resources on my own too. But if anyone could point me to resources they found to be helpful & comprehensive, or resources that they'd want their co-workers to use if they were in my position I would be very grateful!!!!4
-
FUCK YOU PHP, FUCK YOU SYMFONY AND DEFINITELY FUCK YOU SHOPWARE.
Don't get me wrong, PHP has evolved a lot, but the stuff people are building with it is just the biggest load of fucking shit I have ever seen: Shopware. Shopware is the most ass-sucking abomination to extend. It's nearly impossible to develop anything beyond "use the standard features and shut the fuck up" that is more sophisticated than a fucking calculator.
The architecture of this pile of crap is the worst bullshit ever. A mix of OOP, randomly making use of non OOP concepts and features together with the unnecessarily HUGE amount of useless interfaces and classes. Sometimes I feel like it's 90% fucking shitty boilerplate shit.
And don't get me started with TWIG. It's a nice thought, but WHY THE BLOODY FUCK WOULD YOU NOT USE VUE IF YOU ARE ALREADY USING IT FOR A DIFFERENT PART OF SHOPWARE. This makes no fucking sense whatsoever and makes development of new features a huge pain in the ass. I can't comprehend how people actually like using this shit.
OH AND THE DATABASE. OH MY FUCKING GOD. This one is bad. Ever tried to figure anything out in a database where random strings (yes MySQL "relational" - you might think) that are stored as text in a JSON format make up some object or relations during runtime?? Why the fuck do you have foreign and primary keys if you don't use them properly??
Seriously you can't even figure out which data belongs to what because the architecture just sucks fucking ass. FUCK YOU Shopware wankers, you suck, your product sucks, your support sucks, your architecture sucks and you keep releasing new versions that regularly break shit even in minor versions.
I used to like PHP, but not in projects like these.7 -
A tale of silos, pivots, and mismanagement.
Background: Our consultancy has been working with this client for over a year now. It started with some of our back-end devs working on the API.
We are in Canada. The client is located in the US. There are two other teams in Canada. The client has an overseas company contracted to do the front-end of the app. And at the time we started, there was a 'UX consultancy' also in the US.
I joined the project several months in to replace the then-defunct UX company. I was the only UX consultant on the project at that time. I was also to build out a functional front-end 'prototype' (Vue/Scss) ahead of the other teams so that we could begin tying the fractured arms of the product together.
At this point there was a partial spec for the back-end, a somewhat architected API, a loose idea of a basic front-end, and a smattering of ideas, concepts, sketches, and horrific wireframes scattered about various places online.
At this point we had:
One back-end
One front-end
One functional prototype
One back-end Jira board
One front-end Jira board
No task-management for UX
You might get where this is going...
None of the teams had shared meetings. None of the team leads spoke to each other. Each team had their own terms, their own trajectory, and their own goals.
Just as our team started pushing for more alignment, and we began having shared meetings, the client decided to pivot the product in another direction.
Now we had:
One back-end
One original front-end
One first-pivot front-end
Two functional prototypes
One front-end Jira board
One back-end Jira board
No worries. We're professionals. We do this all the time. We rolled with it and we shifted focus to a new direction, with the same goals in mind internally to keep things aligned and moving along.
Slowly, the client hired managers to start leading everything in the same direction. Things started to look up. The back-end team and the product and UX teams started aligning goals and working toward the same objectives.
Then the client shifted directions again. This time bigger. More 'verticals'. I was to leave the previous 'prototypes' behind, and feature-freeze them to work on the new direction.
One back-end
One conceptual 'new' back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One functional prototype
One back-end Jira board
One front-end Jira board
One product Jira board
One UX Jira board
Meanwhile, the back-end team, the front-end team overseas, all kept moving in the previously agreed-upon direction.
At this stage, probably 6 months in, the 'prototypes' were much less proper 'prototypes' but actually just full apps (with a stubbed back-end since I was never given permission or support to access the actual back-end).
The state of things today:
Back to one back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One 'working' front-end
One 'QA' front-end
One 'demo' front-end
One functional prototype
One back-end Jira board
Two front-end Jira boards
One current product Jira board
One future product Jira board
One current UX Jira board
One future UX Jira board
One QA Jira board
I report to approximately 4 people remotely (depending on the task or the week).
There are three representatives from 'product' who dictate features and priorities (they often do not align).
I still maintain the 'prototype' to this day. The front-end team does not have access to the code of this 'prototype' (the clients' request). The client's QA team does not test against the 'prototype'.
The demos of the front-end version of the product include peanut-gallery design-by-committee 'bug call-outs', feature requests, and scope creep by attendees in the dozens from all manner of teams and directors.4 -
Software engineering doesn't evolving the way you think of it.
There are no new big patterns. There are no new big concepts and ideas to bring that evolution to us. Rob Pike thinks that the concepts he used twenty years ago are the best possible way of implementing everything and he creates Golang.
The evolution of software engineering, and maybe the whole evolution as a concept is a tick-tock. Software engineering had its latest tick at nineties, when the concepts we call modern were developed. And the latest tock was the rise of the internet, and it given the single-computer-centered Von Neumann architecture really hard challenges. I mean ticks are theoretical inventions and patterns and ideas and etc, while tock is more of some practical, business-oriented implementations.
PHP is still in use. We have troubles with scaling and deployment. Banking systems still run old Java, Windows XP and even COBOL. We had persistence really, really long time ago, and now frontenders reinvent it and call it 'immutability'!
We had our tick many, many years ago. It's time for tock. With not only scientific but commercial use of things such as Clojure, CRDTs and maybe Rust lang, we are heading straight to our new big tock, which'll bring us new great problems to solve.
That's how any evolution goes.rant rust lang paradigms rob pike evolution golang ideas rust wk127 clojure patterns software engineering -
I used to love JS until I learned it properly. Shit is a fucking hodge-podge of concepts. Still not as mature as I thought it was. And each new iteration is just fixing the mistakes of its past. Fucking language is a mistake in itself!8
-
Heyo, it's me. That fool who always says shit about unity.(:
So.. i just got my first real hands-on down, and phew, i gotta say.. I overestimated that heap of bullshit.
It's not like there are basic concepts of gamedev, framebased ticking and stuff like that since before the fucking gameboy - nope - let's do shit different. More ... Shit. First, we invent something new. Lets call it "prefab". None of these fuckers is going to know what that shit is.
What next.. oh the new-keyword. That's bullshit, all languages use it. Lets make Instanciate(). That's the stuff.
On we go, scenes. Most shit is statically created beforehand and used by scripts glued to stuff. Hell that so neat actually. Creating materials beforehand and then we can just load em!(:
NOPE. yo bro your Material where u used one of those loading-methods is null. We ain't telling you whats wrong, cus you know.. Load() returning null is like completely normal, why throwing an exception?
Oh and btw, it needs to be in ./Resources/, but it wont make any difference.
So now you want to google your problem, eh? Forget it. The Forums only answer on stuff like "how to add 2 numbers in unity" and the guide shows you how you did it, but they say it works that way.
Dude holy shit, of course this is a buhuuu i don't know how to do shit rant because i feel like good 8-10 years of dev experience collected while not doing homework for school were for fucking nothing.:b
And i have to use it.
Subjective Opinion: Unity was made by crackheads.6 -
The longer I live, the longer I am unsure what the meaning of my life is.
TLDR; 42
Yes I am a creative person in a way that I can create something out of nothing, but unfortunately all my work is almost invisible. Is the meaning of a developer guy to be a magician? He does something and *wooosh*
//magic happens here
there is a thing which he forgot how it works within a month. Why can't I just talk about my work with other people than those from the IT business? I don't think to be that important, but sometimes it appears that without you and me nothing will really work nowadays.
And to be honest with you guys, I am too slow. I can adapt new concepts and new programming languages, but I feel like getting overruned by all that new stuff appearing each day. Am I supposed to be that super hero named"superbrain"? Is that still healthy?
wtf, my life is a miracle, an oracle and a hurricane (and some times it is even great)!
I am confused!1 -
I want to spend about 10 minutes a day in to small code brain teasors.
I know there are apps like SoloLearn. I don't want to learn hard new concepts but rather just maintain the basic ones. I am looking for an app that gives me quizes, not just informational text
What would u recommend?7 -
Day #1: You start working on something new, you feel stupid because you don't know anything.
Day #2: You learned the basic concepts. Start feeling so well.
Day #3-9...: Start feeling like you know everything.
Day #?: You start something new, you feel like the last piece of shit un the world.
Repeat -
Yet another day at my company, Im rewriting some old code for client (rewriting old, php 4 system for vindications managment) and you know the moment when you are focused and someone comes to you to absolutely ruin your focus. Fine, whatever. Oh, for fuck sake. Again dev is doing as support becouse one moron with second can't login into zimbra admin panel and add fucking mailbox. I show them exacly how they login, remind them they are admins too, slowly show them, so you click "manage" than you click that gear icon and than you click "new", fill in email address and password. As simple as 1-2-3. Okay, fuck it, time to go for a cig. I just finish up few lines and stand, grab my vape and start walking towards door. In door I find my buddy with 2 random people. He told me that they are interns and that I should show them some basics and stuff around that. Oh god, fuck my life. If anything, Im definitely very bad teacher, mainly becouse I often have problems with saying what I mean in the way that somebody actually understans and knows what I am trying to say. Whatever. Fuck it all. I grab two of our old laptops that nobody used in like a year or so, and first thing I quickly figure out, is that one day for some what the fuck reason I dont even dont bothered to remember I installed Arch on both while I dont usually use Arch. I just needed it for some specific reason. Whatever. So I guess I will need to upgrade fucking system. Our network isn't really great so that was like... hour or so. In the meantime I figured what they know about coding in general etc, and holly shit. One of them (there was boy and girl), girl, apparently never ever in her life even touched code. Well... fuck. Why am I wasting my time? Becouse there was some programme or some shit like that... Someone could tell me before so I could mentally prepare.. fuck it. whatever. So while laptops are doing their pacman thing, I sit with them and slowly start to explain based on my machine some really basic concepts. Second guy actually had some expirience, he knew how to make some really really basic logic and stuff, so he had another world of problems, becouse it was PHP and, as we all know, everyone hates PHP, and... yeah.. You can probably imagine his approach. Yes, you get user input in super global array. I really wanted to say "Now shut the fuck up and write that fucking $_POST".
hour or so passed, I was close to giving up to not let my anger rise (im not really good teacher... I mentioned it. I suck at teaching others) but luckly machines upgraded. He wanted to use visual studio code, she didnt care too much, so I installed phpstorm in trial mode. whatever. Since that's linux and they were not comfortable with that, I walked them through installing LAMP stack, and when finally it started to look like LAMP stack, I requested them to google how to install xdebug, becouse xdebug is very usefull and googling skill is your best weapon on that field. I go for cig, come back and what I see boiled me a little bit. The girl was stuck looking at github page randomly looking through xdebug source code and idk... hoping for miracle (she admited she thought there will be instructions somewhere) and the guy was in good place, xdebug has a place to paste your phpinfo() for custom instructions. But it didn't work for him, he claims that wizzard told him it cant help him.. hmm intresting, you are sure you pasted in phpinfo? yes, he is sure. Okay, show me.
Again mindblown how someone can have problems with reading.
so his phpinfo() looked like that:
```<?php
phpinfo();```
I highlighted on the page the words "output of phpinfo". He somehow didn't see it or something. He didnt know, he thought that he needs to put in phpinfo so he did. OMG.
Finally, I figured out I can workaround my intern problem, and I just briefly shown them php.net, how documentation looks, said to allways google in english, if he uses tutorial to read whole fucking thing, not just some parts of it, and left them with simple task, that took them whole day and at which they ultimately failed.
To make 3 buttons labeled "1" "2" "3" and if someone presses one of them, remember in session that they pressed it and disallow pressing other ones.
Never fucking again interns. Especially those who randomly without apparent reason almost literally just spawn in front of you and here, its your fucking problem now.
Fuck it, I have some time to get back to my stuff. Time is running so lets not waste it.
After around 15 minutes my one of my superiors comes in and asks me if I can go on meeting with him and other superior. My buddy goes with us, and next 3 hours I was basically explaining that you cannot do some things (ie. know XYZ happened without any source of information) in code, and I can't listen for callbacks from ABC becouse it wont send anyc cuz in their fucking brilliant idea ABC can't even know that this script would even exist, not to mention it wants callbacks.
Sometimes I hate my job.4 -
**random rant**
So next week I have a technical interview with TripleByte and I'm supposed to spent the next 2 days sorta preparing. Just woke up and had this thought tho:
What's the point? Yes I think I could try to get a better job but been trying for years (banking tech area) but now it feels like I'm at a "local optimum" sort of a sweet spot. Team/company could be smarter/more efficient but...
I've got my own place in a city that's also near NYC. It takes me 20 minutes to get to my current office, fairly flexible with the 9-5 work day, I can work remotely. I get enough money.
And then finding a new job === technical interviews about stuff you will rarely use and usually with no feedback like a pass-fail test where they only tell you if you pass or fail (and for me it always feels skewed towards fail the moment i walk since I'm deaf).
But at this point, I feel more like "you need to convince me to work for you". In my head, the plan is mostly to just have a nice chat and wing the technical questions just to see how good i am without any prep (i.e. poring thru Cracking the Coding Interview or Big O concepts, sorting...).2 -
I always thought wordpress was ok, not great not terrible, from a coding perspective. Now every new framework I have worked on makes me see why Wordpress is on 40% of the internet.
Now I love wordpress not because of what it did do, but because of all the really stupid things it managed to avoid doing including: over abstraction, trend chasing, using "new transformative technology" that disappears in 2 years, breaking plugin economy with updates and making devs start over, making everything OOP for the sake of making everything OOP, making adding on a bit of code take multiple files of multiple formats and boiler plate code, boiler plate code, compiling dependencies, composer, twig, laravel, one page applications, react, angular, vue, javascript only stacks (MEAN), not letting you control sql queries, protected/private scopes and design that doesn't let you fix or alter bad code others did, and the list goes on and on.
Wordpress did a lot right, and devs should try learning from it instead of making more problems to solve. Sure it's not elegant, but you known what it does do? Focus on a solving a problem. Then it does. Without inventing new ideas or concepts to inject into the code and create new problems.
And you know what else? Hooks are actually very well implemented in Wordpress. I've seen it done much worse.
Honestly my main gripe with the entire platform is a slow moving to OOP for no reason and the database design should separate post type into different tables, the current design makes it less scalable for large data sets for multiple reasons so I'd fix that.5 -
I spent 4 months in a programming mentorship offered by my workplace to get back to programming after 4 years I graduated with a CS degree.
Back in 2014, what I studied in my first programming class was not easy to digest. I would just try enough to pass the courses because I was more interested in the theory. It followed until I graduated because I never actually wrote code for myself for example I wrote a lot of code for my vision class but never took a personal initiative. I did however have a very strong grip on advanced computer science concepts in areas such as computer architecture, systems programming and computer vision. I have an excellent understanding of machine learning and deep learning. I also spent time working with embedded systems and volunteering at a makerspace, teaching Arduino and RPi stuff. I used to teach people older than me.
My first job as a programmer sucked big time. It was a bootstrapped startup whose founder was making big claims to secure funding. I had no direction, mentorship and leadership to validate my programming practices. I burnt out in just 2 months. It was horrible. I experienced the worst physical and emotional pain to date. Additionally, I was gaslighted and told that it is me who is bad at my job not the people working with me. I thought I was a big failure and that I wasn't cut out for software engineering.
I spent the next 6 months recovering from the burn out. I had a condition where the stress and anxiety would cause my neck to deform and some vertebrae were damaged. Nobody could figure out why this was happening. I did find a neurophyscian who helped me out of the mental hell hole I was in and I started making recovery. I had to take a mild anti anxiety for the next 3 years until I went to my current doctor.
I worked as an implementation engineer at a local startup run by a very old engineer. He taught me how to work and carry myself professionally while I learnt very little technically. A year into my job, seeing no growth technically, I decided to make a switch to my favourite local software consultancy. I got the job 4 months prior to my father's death. I joined the company as an implementation analyst and needed some technical experience. It was right up my alley. My parents who saw me at my lowest, struggling with genetic depression and anxiety for the last 6 years, were finally relieved. It was hard for them as I am the only son.
After my father passed away, I was told by his colleagues that he was very happy with me and my sisters. He died a day before I became permanent and landed a huge client. The only regret I have is not driving fast enough to the hospital the night he passed away. Last year, I started seeing a new doctor in hopes of getting rid of the one medicine that I was taking. To my surprise, he saw major problems and prescribed me new medication.
I finally got a diagnosis for my condition after 8 years of struggle. The new doctor told me a few months back that I have Recurrent Depressive Disorder. The most likely cause is my genetics from my father's side as my father recovered from Schizophrenia when I was little. And, now it's been 5 months on the new medication. I can finally relax knowing my condition and work on it with professional help.
After working at my current role for 1 and a half years, my teamlead and HR offered me a 2 month mentorship opportunity to learn programming from scratch in Python and Scrapy from a personal mentor specially assigned to me. I am still in my management focused role but will be spending 4 hours daily of for the mentorship. I feel extremely lucky and grateful for the opportunity. It felt unworldly when I pushed my code to a PR for the very first time and got feedback on it. It is incomparable to anything.
So we had Eid holidays a few months back and because I am not that social, I began going through cs61a from Berkeley and logged into HackerRank after 5 years. The medicines help but I constantly feel this feeling that I am not enough or that I am an imposter even though I was and am always considered a brilliant and intellectual mind by my professors and people around me. I just can't shake the feeling.
Anyway, so now, I have successfully completed 2 months worth of backend training in Django with another awesome mentor at work. I am in absolute love with Django and Python. And, I constantly feel like discussing and sharing about my progress with people. So, if you are still reading, thank you for staying with me.
TLDR: Smart enough for high level computer science concepts in college, did well in theory but never really wrote code without help. Struggled with clinical depression for the past 8 years. Father passed away one day before being permanent at my dream software consultancy and being assigned one of the biggest consultancy. Getting back to programming after 4 years with the help of change in medicine, a formal diagnosis and a technical mentorship.3 -
1. Learn as much as you can before starting your first serious job. Because once you are in production, you are not as much learning new concepts as you are copy pasting, fixing dead code and getting stressed by deadlines.
2. Aim as far as possible and believe in yourself. Facebook or google might comprise of a billion lines of code, but it's not like you can't understand all of it if you gave it your 100%. Be it a weird but amazing looking design or a simple looking calculator, you can figure it out if you are curious and dedicated enough.
3. Learn to google.
4. Don't let assholes berate you. And you WILL meet a lot of assholes in this field.1 -
Looking for recommendations on electronics learning kits. My 16 year-old son has recently been tearing into old electronics and trying to make new stuff with the components. I want to give him a more formal and engaging intro to what it is he’s playing with and how many other cool things he could do. He does struggle a bit with math and gets discouraged easily if he doesn’t understand new concepts or why they’re relevant. So, if you know of a good learning kit that balances lots of cool possibilities with good documentation and tutorials, I’d appreciate a little help.
I’m currently looking at Elegoo. https://amazon.com/EL-KIT-008-Proje...4 -
Expressing myself in words helps me to structure my thoughts, make new connections between concepts and know myself better. I think that's why I'm addicted to devRant. I even comment on YouTube videos, ugh. Sometimes I write something, read it and go "huh, I didn't know I felt that way". Pretty bizarre, but almost always positive. Now what I think about it (SEE??) I should do some journaling, it's been a while. The fuck is up with this letter sorcery...3
-
NO FUCKING WONDER I SUCKED-ASS IN HIGH SCHOOL ALGEBRA!!!!!
Arghgghhghgh ughhh....
I want to beef up the hell out of my Maths Chops so I can maybe try going back to school for a A.S. in EE or hell even an B.S.
I'm using my company's Safari Learning account for getting free-ish access to college algebra books and I'm self studying.
I'm still in Chapter 0 where the book covers shit you're supposed to know from previous years of education. I'm just learning about some of this shit now!!!
While it's possible that I didn't pay attention in high school lectures, I took geometry in 9th grade and was an A/B+ student and felt confident in maths. I got to Algebra II in High School and suddenly nothing made sense anymore, reality fucking-fell-apart!
Suddenly, I'm failing tests left and right and struggling with the lecture concepts and I could never seem to grasp materials covered in class anymore to even be able to finish the homework assignments.
Fast forward to me being 15 years older and wanting to take a stab at this shit again, but with new found determination to get into EE so I can fuck around with small electronics for pet projects I want to do. I'm starting with College Algebra to try and learn when suddenly, low and behold I have a HUGE FUCK-MOTHERING GAP in my core understanding of the language/syntax/grammar of mathematics.
Been fucking knee-capped for the last decade+ because I either slacked off during those fundamental lectures (which again; is totally plausible) or I had a complete fucking imbecile for a math teacher that glossed over the topics and fucked not only me but the 40+ other kids in that class.
I'm not going to blame the teacher, although I really fucking want to, but I can't remember how the class scored on tests or homework to be able to fairly and objectively make that judgement against the educator.
FUCK!!! I hate my 15 y.o. self right now6 -
I actually do have something to rant about!
The people I've decided to work with... are complete and utter fools. They don't want to keep updated with new practices and merely talk about awesome stuff... Let me elaborate.
The first person is someone I spent really many hours just writing with, I've helped him build on his personal project, which has now become our project (which I've done most of the work on now). He keeps writing about things that aren't fucking relevant for the current task - furthermore, he completely refuses to use any type of collaboration software in order to keep an eye on tasks we want to, and already have completed. He likes Git but doesn't provide helpful git messages, sometimes even stuff like 'forgot this'.. never any freaking description of what's actually been done! Not even after agreeing it should be done, he just doesn't understand what a helpful message is apparently.
I might be a bit special regarding wanting to follow practices, but how the fuck do you make any amount of money by being so ignorant!? He was a WP 'developer' a while ago, and has since changed to JS and are using a framework which he doesn't understand - he can't even remember what the documentation states.
So why do I 'work' with him? He knows a lot of phrases he's read in books, blogs, and the likes. That makes him really inspirational and positive and he really wants to become successful(like me!). But over the last few months, I've realized how bad he is at programming - he doesn't know basic programming concepts and have a hard time applying any sort of knowledge to his programming. If it's not pre-built, he can't use it, not even if the documentation has specific examples. He barely grasps the concept of binding data to a variable. He wouldn't know how to access it again though, it's just for the sake of binding it to some existing functionality.
The other guy really likes his old style. He hired me to maintain some application. Which has turned out to be a hell of several small tasks he needs to be finished or reworked - with no clear definition of the task. Most of the time, he'll do some initial changes, show the changes to me, vaguely explain what they do (not what he's trying to achieve) and first THEN ask me to do these changes, most often in some files that don't exist (he uses the wrong filenames so I have to guess/ask where the changes need to be made).
To top it all off, old syntax is used and don't get me started on the spaces+tabs for indenting lines... Because I've already added a great ESLint+Prettier conf and everything should be nicely formatted according to pre-defined rules.
But he won't take the time to install some plugins in his editor and I'm left with sometimes buggy, badly formatted code (the code I have to make changes with!) - that's while he several times have agreed that I can do what I want and that he even questions his own ways when looking at my changes which he calls by-the-book.
So why the motherfucking fuck do I keep working with him?
Well, he keeps paying so that's really nice - I haven't been able to properly execute the bigger tasks(which pays more) though, due to a lack of information or some badly written code I couldn't quite figure out how works (at a glance).
He also keeps talking about these new projects he wants to make.. he even has these freaking papers with descriptions and data-structures and we converse really good about these new awesome projects. He also likes cryptocurrencies(which is an interest of mine he has inflamed quite a bit) and lastly, he seems like a genuinely nice guy who I'd like to spend some time with even besides coding and work.
So now I stand here - stuck with people that make me feel like a demi-god or something because I use a git style-guide and ESLint+Prettier with the Airbnb style-guide.
What should I do? I'd really like some remote work and have a desperate need for money... So much so, that I might even have to pick up a fulltime job, in order to save my sorry ass - all because I like speaking with people who just like the thought of programming...
I'm actually quite lonely with my thoughts and they are the two only people I've had some sort of relationship with - who has an invested interest in programming/dev... I really like that, despite having to follow their thoughts as they surely can't follow mine.
Please be my friend or give me some paid work lol.
Also, I've been moving the last couple weeks - those weeks has been the most stressful of my life and have not contributed to my overall wellbeing and relations with people... It's good to be back at the computer again and be reading some devRant though!1 -
I spend more time reading bad written documentations with ugly examples that don't work (and anyways won't apply to other use cases) and reading about new concepts and new frameworks that should increase productivity, instead than actually write code and program.
Yes, it's increasing productivity, but it's not fun anymore -
May's last week was very hectic. I had just finished my final exams and there were going to be semester project evaluations in that whole week.
@safiullah and me had decided to make a whole Social Network with all features in it, for the DB course project.
All other classmates were making small management systems like ticket booking and etc.
We thought that if we really wanted to learn DB concepts then we should come up with something different than a management panel.
Hence we did it. This was the first time we used a framework. Well, I had written that PHP framework while i was learning about how frameworks work and the way they are made. So it wasn't a big thing but it was something which could be used as a base for clean and organized code.
It took about a month of commits and pushes and it resulted in a very good social network. It had all the features and algorithms present in a starter social network.
For us students, we were happy to see what a fine job we had done. We learnt a lot and used new concepts.
When we went to the instructor, she asked us to sit down and show the project. @safiullah placed the laptop, and logged out from the social network so that he could show her a demo.
She exclaimed,"Why did you do it (Log out) ?"
He replied: "To show you how it works🤷🏻♂️"
She:"Get to the previous state and leave it"
Then she asked different questions like what was a post request in php and how it differed from get? what library for DB connection was used... etc.
We explained each and every step.
She saw the frontend design and said "You've just added text to the elements" as If we were showing her a theme demo with hard coded text accomplished by inspect element.
She did not take a look at any other page than the one we had shown her at start. She navigated to no other page and asked nothing about what total features were implemented and how they were done?
Then she said Thank You and we left.
After some days marks were uploaded in LMS and we were just two points above the average.
She took no look and gave us the least when our project was the best.
I'm 100 percent sure she thought that we were showing her a project copied from somewhere else. 🤣4 -
I feel so lost all the time Everytime I think about the future. How are you all going forward?
- What should i be doing ? I used to like computer science when it was taught with lots of simplification and abstraction (in the school level). Now i know there are a 100+ research areas/work areas/branches in it, and i am an average in all of them.
I like most of them more or less, and won't mind giving away my years of life working/learning them. But for what and why?
-- Money? Every profile turns into a decent salary after a certain time. This means i can ride any boat i want.
-- Passion/interest? Now what exactly is this?as i said everything feels doable, given enough time to get a hang of it.
-- Fame? Its rare the developes, testers or other individuals in computer science ever gets a solo credit. Most of the time its either the ceos, the researchers or the company itself. So i guess getting a fame is equal to burning your neighbors by flaunting your cash for most ppl
-- Happy life? Meh, this point is affected by a lot of other factors. Would come back to this point later
- everyday in my feed, there are people showing 6, 7 sometimes even 8 figure salaries. Other people would get inspired with those, but i feel very weird about these.
I never see myself earning those, idk why. Why would someone give me those huge amounts?
How do you find yourself deserving for ythat big ass money? At what point you hit that realisation? Here is a small story :
I did an Android dev course around 2.5 years ago. There was a guy there an year older than me. He was very bad in this, i tell you. Most of the time, i was explaining the concepts to him after class.so last year he graduated, and took a job, We both used to expect a decent salary amount, say x (with me having a little ego that i expect certainly more than him, say x+20% ), but he took a job for half that number , say x/2.
After 1 increment and 1 job shift in 1.5 years, he has now successfully achieved package greater than x. I on the other hand, being still at college and with a lot of bad internship experiences now feel that i won't be getting even x/3 at my start no matter what.
- There is also this thing about people going into more of a management and other non tech roles once they start growing in this field. Why? What did they realized? I am sure not everyone of them would have hit this realization that tech is not what they want to do (which i can't understand why). Maybe its the money and/or happy life expectations?
i have started to feel dumb for not being able to think innovative new ideas and being an average mind :/
And about the happy life, so far its not much happiness for me, and am confused.
I am grateful about the usual things i have (healthy middle class parents, working body, roof , food,etc) , unhappy about the things i don't and see with others (more money, materialistic assets, confidence, siblings, social life, love life, etc) and that's it.
From what i understood of 21 years on this earth is that everyone is running to achieve that list of their desires and wants to move them from todo to done, like trello task. If you can't then keep fighting to achieve or grudgingly accept the fact that you couldn't and be happy about it.
So is that it? That's your happy life goals?2 -
The hype of Artificial Intelligence and Neutral Net gets me sick by the day.
We all know that the potential power of AI’s give stock prices a bump and bolster investor confidence. But too many companies are reluctant to address its very real limits. It has evidently become a taboo to discuss AI’s shortcomings and the limitations of machine learning, neural nets, and deep learning. However, if we want to strategically deploy these technologies in enterprises, we really need to talk about its weaknesses.
AI lacks common sense. AI may be able to recognize that within a photo, there’s a man on a horse. But it probably won’t appreciate that the figures are actually a bronze sculpture of a man on a horse, not an actual man on an actual horse.
Let's consider the lesson offered by Margaret Mitchell, a research scientist at Google. Mitchell helps develop computers that can communicate about what they see and understand. As she feeds images and data to AIs, she asks them questions about what they “see.” In one case, Mitchell fed an AI lots of input about fun things and activities. When Mitchell showed the AI an image of a koala bear, it said, “Cute creature!” But when she showed the AI a picture of a house violently burning down, the AI exclaimed, “That’s awesome!”
The AI selected this response due to the orange and red colors it scanned in the photo; these fiery tones were frequently associated with positive responses in the AI’s input data set. It’s stories like these that demonstrate AI’s inevitable gaps, blind spots, and complete lack of common sense.
AI is data-hungry and brittle. Neural nets require far too much data to match human intellects. In most cases, they require thousands or millions of examples to learn from. Worse still, each time you need to recognize a new type of item, you have to start from scratch.
Algorithmic problem-solving is also severely hampered by the quality of data it’s fed. If an AI hasn’t been explicitly told how to answer a question, it can’t reason it out. It cannot respond to an unexpected change if it hasn’t been programmed to anticipate it.
Today’s business world is filled with disruptions and events—from physical to economic to political—and these disruptions require interpretation and flexibility. Algorithms alone cannot handle that.
"AI lacks intuition". Humans use intuition to navigate the physical world. When you pivot and swing to hit a tennis ball or step off a sidewalk to cross the street, you do so without a thought—things that would require a robot so much processing power that it’s almost inconceivable that we would engineer them.
Algorithms get trapped in local optima. When assigned a task, a computer program may find solutions that are close by in the search process—known as the local optimum—but fail to find the best of all possible solutions. Finding the best global solution would require understanding context and changing context, or thinking creatively about the problem and potential solutions. Humans can do that. They can connect seemingly disparate concepts and come up with out-of-the-box thinking that solves problems in novel ways. AI cannot.
"AI can’t explain itself". AI may come up with the right answers, but even researchers who train AI systems often do not understand how an algorithm reached a specific conclusion. This is very problematic when AI is used in the context of medical diagnoses, for example, or in any environment where decisions have non-trivial consequences. What the algorithm has “learned” remains a mystery to everyone. Even if the AI is right, people will not trust its analytical output.
Artificial Intelligence offers tremendous opportunities and capabilities but it can’t see the world as we humans do. All we need do is work on its weaknesses and have them sorted out rather than have it overly hyped with make-believes and ignore its limitations in plain sight.
Ref: https://thriveglobal.com/stories/...6 -
1. Teach DS and Algos. Not basics but advanced data structures and the ones that are recently published.
2. DBMS should show core underlying concepts of how queries are executed. Also, what data structures are used in new tech.
3. Teach linkers, compliers and things like JIT. Parsers and how languages have implemented X features.
4. Focus on concept instead of languages. My school has a grad course for R and Java. (I can get that thing from YouTube !!)
5. Focus a little on software engineering design pattern.
6. It's a crime to let a developer graduate if he doesn't know GIT or any version control. Plus, give extra credits for students contributing to open source. Tell them if they submit a PR you get good grades. If that PR gets merged bonus (straight A may be ?)
7. Teach some design pattern and how industry write code. I am taking up a talk at school to explain SOLID design pattern.
Mostly make them build software!
Make them write code!
Make them automate their homeworks!
Make them an educated and employable student.!1 -
Budding Developer here...
I've tried to teach myself Web Dev over the past 10 yrs on/off... Sad. But now I'm actually in a developer role moved up from IT helpdesk a year ago.
In the past year I've learned SQL, SSRS, SSIS, database concepts, and.... VB6. I am a master at none due to having to cram so much in a year while taking on various projects, issues, and learning the organizations software infrastructure and processes. I also taught myself current HTML, CSS, and basic Javascript. Learning the different basic concepts with each.
Over the past couple months I've been given a new project and now learning ASP.NET and C#. Actually trying really hard to get adept at these as I'm finally doing Web Developing in my role...
I am also dealing with multiple major family issues and a near 2 yr old that we cosleep with that still doesn't sleep through the night.
Why the crap is it so easy to convert an enum to a string but takes 50 functions to convert a string to an enum???
Cast, convert, parse... Why so much logic???
When the online teacher says type why do I have to rifle through 7 different meanings in my head before I know what kind of type he's referring to??4 -
The gap of data science in industry and academia is so large. As a data scientist in a large financial company, I see that people are still using traditional models such as linear regression and SVM, while people in academia keep inventing new concepts and techniques such as deep learning.
I am not saying that we should completely embrace deep learning, or stick to classic methods. But I just feel so surprised that the gap is so large...Sometimes I am even thinking whether I am doing the right "data science"...3 -
In addition to the programming language or theoretical concepts. It is also essential to develop good problem solving skills.
Concepts like design patterns and refactoring would be better taught using hands on exercises based on a long running example, such as having the students create a project in an introductory course on a programming language and then take that codebase as a starting point for the assignments on design patterns and refactoring.
It would be unrealistic to assume that developers would be working only on a single programming language in their entire career. So, a few pointers on how to go about learning new languages based on similarities with programming language(s) they already know would also be there. -
I have working for software engineering for the past 8 years without any degree at all. However, in my latest job interviews one of the things I mainly lacked was understanding and applying the algorithmic concepts. As I hadn't maths since I left college, what would you recommend me?
I was looking for some kind of a course (it is always better when you have someone with whom you can discuss with), but such a specific one doesn't seem to exist in Portugal, and taking an entire degree because of algorithms is not an option to me.
Ideas?
PS: I am currently working, however I do understand that a new algorithmic thinking would help me in my daily job.5 -
1. Cool side projects
2. Learning new things and revisiting old concepts and tricky findings in my notes
3. Remembering all the times that I absolutely crushed it
4. Helping new developers and engineers who are not that well rounded but really curious about building things. you never look good trying to make someone else look bad so always try to help others. it’s fucking annoying sometimes though.
5. Posting shit on devRant and seeking validation -
TLDR: I didn't & still not sure if it is..
I love bug hunting & fixing & figuring out how stuff works, but many will argue this is not even real programming..
Long version how I ended up programming:
Back in highschool, I was deciding between english and mathematics & computer science.. I filled in the form for the latter. Got a change of hearts but I already gave the extra/backup empty form to schoolmate..
Figured it's for the better because it's a hell to get a job as an english teacher/prof anyways + I dislike comunications with people + documentation (if any) is in english etc..
At the end of first year, I didn't even apply for all the exams because you had to have both programming 1&2 to pass or even be eligible to take the year again.. I figured I'd fail them, so once I actually passed both (& actually not with bad grades), I was fucked.. had to retake the year, which means I lost time + still had to pay the rent etc.. decided to drop out and return home and do the IT engineer course instead to at least have some formal education to help me find a job. Finished that without problems, I 'specialised' in network administration.
I got a job straight out of school as a web developer.. the irony.. got some conflicts with the boss and was terminated (material for another rant).
Later I sought out admin jobs, but got declined because I was overqualified and had programming experince. FML, right?
Ended up sending out mandatory job applications for IT administration & programming to not lose the bonuses & got called up to a meeting in the company I work for since then.
No qualifications for .net & MS technologies, but they liked my CV so the ended up setting up the interview anyway. I didn't know half of the technologies and concepts by proper name, but they figured I understand enough of the content to give me a try. A few years later, I got the most fucked up project they have because of my love for new thigs and trying to understand everything. It's aaaalmost bearable now.. still needs a lot of work, but I'm happy where I am. Saddly, I'm still second guessing if I'm doing a proper job as a dev, but they seem to be very ok with my work. (:6 -
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
There is so much confusion in the world of programming right now, at least for me. I bet there’s only so many concepts going on and that these concepts are realized in certain ways. E.g. programming following certain paradigms and practices, also different workflows, containerization, agile, devops etc.
When searching for tutorials in different subjects it’s horribly aggravating to learn to use the tools. Not because they are inherently hard or bad in any way. There’s just so many different tutorials, some badly given, some that are great but which bring up to many foundations you already know so you find yourself getting bored to the point that you just stop listening. Many tools are used for so many use cases, sometimes overlapping each other, they use concepts to that you’ve heard hundreds of times before. Many times they want to do things in a special way so even if the concepts are the same you still need to fucking listen to the same old thing while learning how to write a command a slightly different way or how some tool is supposedly better than another.
I’m realizing that what I’m so sick of is the lack of TLDR information about new tools with some short description of how to use. Where you didn’t have to re-hear stuff you already knew or had heard so many times unless for a very good purpose, such as to show exactly how it’s done differently than another relevant tool. In a dream world the TLDR information could also remember my skills and remove the parts I didn’t need to know about any new tool.6 -
Wrote a new article "Kung Fu Java". Hopefully useful for beginners and entertaining for all.
https://solothought.com/tutorial/...3 -
When I got to high school, I started learning Java from friends who were in programming class. Started out as a comp sci major in college and got sick of it, so I switched to a digital art degree. Got interested in Java again for the creation of art and music using generative processes. Then I got into web dev and JavaScript. Years later, still learning new programming concepts and making digital art on the side.
-
"Dear TitanLannister : You are in the final year. A lot of shit is happening around u. its now time to make a career and take tough decisions. What would you do?"
CHOICE 1: COMPETITIVE
>>>>background : "a lot of super companies like wallmart, fb, amazon, ms, google,.. etc simply takes a straight coding test for fresher placement. They ask tough bad ass level questions, but with right guidance, a hell ton of dedicated hours of coding, and making it to the top of various coding tests could make you a potential candidate"
>>>>+ve points :
- "You got the teachers and professionals with great experience to guide you"
- "a dream job come true.you can go there and join teams that interests you"
- "it was your first exposure to computer world. maybe you would like doing it again, after 4 years"
>>>> -ve points:
- "You have always been an average 70 percentile guy. The task requires 2000-3000 hours of coding an year. it will be hard and you always grow bored out of this pretty quickly"
- "Even If you did that , you stand a lesser chance because your maths is shitty.There are millions running in this race with brains faster than your IDE"
- "your college will riot with you because they expect 75% attendance"
- "You are virtually out of college placements, in which , even though shitty companies come and offer even shittier 4LPA packages($6000 per annum), would take a tough logical/aptitude based test for which you won't be able to prepare"
CHOICE 2: PROFESSIONAL WORK
>>>>background: "you always wanted to create something , and therefore you started taking android based courses. you have been doing android for over 2 years and today you know a lot of things in android. you might be good in other professional lines like web dev, data analytics, ml,ai, etc too if you give time to that"
>>>>+ve points :
- "you will love doing this, you always did"
- "With the support of a good team, you will always be able to complete tasks and build new things quickly"
- "Start ups might offer you the placement, they always need students with some good exposure"
>>>>-ve points :
- "Every established company which provides interesting dev work takes their first round as coding, and do not considers your extra curricular dev work. So you are placing your all hopes in 1 good start up with super offerings that would somehow be amazed by your average profile and offer you a position"
- "start ups are well, startups and may not offer a job security as strong as est. companies"
- "You are probably not as awesome dev as you think you are. for 2 years, you have only learned the concepts , and not launched more than 1 shitty app and a few open source work"
CHOICE 3: NON CODING
>>>>background: "companies coming in college placements have 1-2 rounds of aptitude,logical reasoning , analysis based questions and other non tech tests. There are also online tests available like elitmus,AMCAT, etc which, when cleared with good marks help receive placements from decent established companies like TCS, infosys, accenture,etc"
>>>>+ve points :
- "you will eventually get placed from college, or online tests"
- "there will be a job security, as most of these companies bonds the person for 2-3 years"
>>>> -ve points:
- "You really don't like this. These companies are low profile consultant/services based companies which would put you in any area: from testing to sales, and job offers are again $5000-6000 per annum at max"
- "Since it includes college, the other factors like your average cgpa and 1 backlog will play an opposing role"
- "Again, you are a 70 percentile avg guy. who knows you might not able to crack even these simple tests"
Ugh... I am fucking confused. Please be me, and help.The things that i wrote about myself are true, but the things that i assumed about super companies, start ups or low profile companies might not be correct, these points comes from my limited knowledge ,terrified and confused brain, after all.
:(7 -
!rant but a question...
I know that with the vast examples/tutorials online this may not be necessary, but I wanted to ask the community if you guys/gals would recommend going back to school to get a formal CS education or if it would be a waste of time, money, and resources compared to just using web based sources? I've tried the college thing 3 times when I was younger but couldn't concentrate and lacked the discipline to focus and finish classes. But I'm a bit older now and wanted to know if you would recommend going back to school or if time would be better spent performing self-study and learning from home?
I'm still extremely new to coding and programming and only have basic knowledge of actual coding and a lot of the theoretical stuff in programming is completely foreign to me. Like for example, how to optimize code. I know that refactoring code to have a smaller more efficient footprint is always desirable, when it doesn't interfere with readability, but I'm unaware of where/how to modify code to run efficiently. Of course that may be wayyy to advanced for my use cases anyway 😂.
I'm trying to teach myself python as it seems like a great language for starting out and getting to understand the concepts of programing. Plus, it can be used directly in my line of work as well as side projects that I wanted to try my hand at.
Thank you in advance for your recommendations everyone!2 -
After the "Cloud Computing" trend, the new trends these days seems to be ML, VR and AI. And while I am very excited about all these techs and the possibilities it can bring, I can't help feel that most of us are using the term "AI" a bit incorrectly.
What we are trying to do here, as far as I can see, is VI, not AI. The intelligence we see in the so called "AI"s available so far are simulated and fails to emulate real intelligence, let alone demonstrate actual intelligence and awareness. They are not fully aware. But I guess that is why there is the singularity constraint. It is no doubt that when a VI finally becomes are fully aware AI, that is indeed the point of singularity.
Anyway, leaving the future dystopian thoughts aside, a mixture of ML, "AI" and VR have made some very interesting concepts, especially in the gaming industry, which I would love to see bear fruit in the near future.2 -
I’ve been looking for a job recently since I am a student and starting my career.
I have a bunch of experience and I like to think I have pretty broad knowledge of programming concepts (web dev, ML, AI, software development).
I see these job postings for jobs that I know I am qualified for.
- I got my research published (which is related to the jobs I’ve been applying for)
- I have great grades
- I have a clear track record of doing well in teams (life long athlete)
- I am a complete geek for new tech and libraries so I always learn them super fast
- I have side projects that aren’t just shit I’ve done in school
- my past jobs show that I am an efficient worker who has real experience
However, I always fucking fail the coding challenges.
I’m never asked questions like “how to reverse a linked list”, just obscure questions that I don’t know how to study for.
What the fuck am I supposed to do? It’s not even like I get close to the answers. I usually get a couple test cases and then fail the rest of them, or I can’t figure out a solution to solve them.
This is all really disheartening and I fucking hate it I absolutely fucking hate it and when I am trying to hire people in the future, I’m never going to make them do coding challenges bc they’re fucking stupid3 -
I made 3 designs (more like proof of concepts) 2 months ago for a certain feature request.
2 months ago:
I presented to the CTO & CEO and the senior developer.
Senior developer prefers design A
CTO prefers design A with some very minor changes
CEO prefers design C with some major changes (ok, at this point is it more design D)
CTO & senior dev tried to argue for his idea but gave up.
So we decide to implement Design D
Now:
Customers complained that the designs is not clear (UX-wise)
CEO: "I have the idea to make some adjustments" and explained design A.
This happens pretty much for every other feature request since I started doing designs for new features. Previously they implemented it without designs.4 -
is there even anyone who thinks natively in rust
if someone knows someone with YouTube channel or something that'd be great
I don't mean explanations but they actually intuitively design in it inside their own heads
generally my brain catches onto that fast but with rust I find i prototype stuff then have to go back and rewrite everything... which is a pain
and now I'm trying to do a complicated iterator object with sub functions and my brain evidently needs to make a leap over like 5 new concepts and I don't know if it's worth the effort or it will go nowhere
but if there's videos of somebody who codes natively, unconscious competence in rust then I could pick up the intuition way faster from watching them
just the problem is any content for rust is made by people who don't seem to really know rust, but are just moonlighting through it or fanboys of it10 -
Direct implementing major functionalities without learning core/basics concepts while learning any new framework or library.
-
Today I deeply understood/learned that if anything complex has to be built, tested and maintained by a single person the most important factor to don't go crazy is the concepts of "separation of concern".
Even though it makes the development slower (*) and quite some times boring it gives back in almost absence of uncertainty and because of repetitive patterns also ease on going back to work on a new/old part/feature.
(*) Because of planning and organisation of the code flows and layers flows, but also compartmentalization of actions (a bad example would be the mix of validation code with CRUD code)
How do you experience the separation of concern? (If you have ever had the chance)
Ps: still earning ~1400€/m, am I worth more? 🤔4 -
After I finished the university, I felt like I didn't know anything. I'm learning everyday something new in my work (I'm working 8 years as a dev), but I can't say comfortably that I'm good at programming. After work I'm going home, where I learn and practice new things and deepen my understanding of the core concepts, but again, I feel like I don't know anything. Will I ever feel that I'm a good programmer?2
-
!rant
I sometimes thank the education system for teaching me really outdated stuff. Here's why...
With new programing languages with all the jazz and cool tricks, it's not impossible to develop concepts and get in the flow of visualizing problem solution. Like for eg, plython3 had inbuilt method to swap variables but I know how to swap variables without a third variable because I had to do it without python. Now that I have the ability to build algorithms, I can leverage functionalities provided by languages in better way.4 -
Still as a scholar who has had his intership I decided that I was finally confident enough in my ability to apply for a small part-time programming job. I had an internship at a cool exhausting place with tons of expertise and I've proven myselve over there. So now I wanted a job on the side. Nothing special, just something that would make a little money with programming instead of washing dishes at the restaurant.
So I started at this small internet based startup (2 or 3 progammers) as a backend-oriented programmer. The working hours were amazingly compatible with my school schedule.
The lead dev also sounded like a smart guy. He had worked as a backend guy for years and had code running on verry critical public infrastructure that if it were to fail we'd be evacuated from our homes.
As a first asignment I got an isolated task to make an importer for some kind of file format that needed integration. So I asked for access to the code. I didn't get it since they were going to re-do the entire backend based on the code I wrote. I just needed to parse the file in a usable object structure. So I found out that the file format was horrible and made a quite nice set of objects that were nice. At the end of the first week or so I asked if I could get access to the code again, so I could integrate it. Answer was no. The lead dev would do that. I could however get access to my private repository.
Next week a new intern was taken to build a multiplatform responsive app. Only downside was that all the stuff he had ever done was php based websites. It wasn't going anywhere anytime soon, but I figured that that was where internships were for. So I ended up helping him a lot and taught him some concepts of OOP and S.O.L.I.D. and the occasional 30 minute rants of IndexOutOfRangeException, ArgumentException and such.
So one day he asked me how to parse a json string and retrieve a specific field out of it.
I gave him something like the following to start with:
"
JObject json;
if(!JObject.TryParse(jsonString, out json))
{
//handle error
}
string value;
if(!json.tryget("foo", out value).../// code continues
"
but then the main dev stepped in and proposed the following since it wouldn't crash on an API change:
"
dynamic json = new JObject(jsonString);
string value = json.myJsonValue;
"
After me trying to explain to him that this was a bad choise for about 15 minutes because of all kinds of reasons I just gave up. I was verry mad that this young boy was forced to use bad programming pracises while he was clearly still learning. I know I shouldn't pick up certain practises. But that boy didn't.
Almost everytime the main dev was at the office I had such a mindboggling experience.
After that I got a new assignment.
I had to write another xml file format parser.
Of course I couldn't have any access to our current code because... it was unnecesary. We were going to use my code as a total replacement for the backend again.
And for some reason classes generated from XSD weren't clear enough so after carefull research I literally wrapped xsd generated code in equivalent classes.
At that moment, I realized I made some code that was totally useless since it wasn't compatible with any form of their API or any of the other backend code. (I haven't seen their API. I didn't have access to the source.) And since I could've just pushed them generated XSD's that would've produced thesame datastructure I felt like I was a cheat. I also didn't like that I wasn't allowed to install even the most basic tooling. (git client or, Ide refactoring plugins, spelling checker etc...)
Now I was also told that I couldn't discuss issues with the new guy anymore since it was a waste of my valuable time, and they were afraid that I taught him wrong concepts.
This was the time that my first paycheck came in so I quitted my job.
I haven't seen any of the features that I've worked on. :) -
I have been having one of those days, well weeks where new concepts that would have otherwise taken a few hours, to learn and implement are taking days !! I don't know how y'all consistently learn new things and implement them, while still meeting deadlines.
My team usually holds weekly progress meetings where we discuss completed tasks and the following week's tasks. During the last meeting, I hadn't completed anything worth noting and I had no major reason other than, not having fully understood the concept.
Which is embarrassing because everyone else had done something.
I know, I know, I shouldn't compare myself to others but we all know my boss does. I don't blame him though, I mean I always pick the cake with more icing, and that's just food!
I don't even know what to do about it anymore!!! Is this a phase? Is it normal? What do people do about it? wait it out?3 -
now... Im just tired and bored of what i do. i had a very hectic year rewriting a core functionality in my company, it was full of optimizations, logic improvements and learning new things.
I took 10 days off hoping id come hating my job less. I learned kotlin and worked on a personal server side project with it during the vacation and honestly i loved it. I missed learning new languages and concepts.
so i thought, well if i enjoyed coding during the vacation then my burnout is cured right ? well once i went back to work today I felt like shit and couldn't do a thing. disgusted of the idea coding for my employer. Too tired to continue my personal project after 8 hours of my job
I guess im back to square one2 -
I knew programming was for me, MUCH later in life.
I loved playing with computers growing up but it wasn't until college that I tried programming ... and failed...
At the college I was at the first class you took was a class about C. It was taught by someone who 'just gets it', read from a old dusty book about C, that assumes you already know C... programming concepts and a ton more. It was horrible. He read from the book, then gave you your assignment and off you went.
This was before the age when the internet had a lot of good data available on programming. And it didn't help that I was a terrible student. I wasn't mature enough, I had no attention span.
So I decide programming is not for me and i drop out of school and through some lucky events I went on to make a good career in the tech world in networking. Good income and working with good people and all that.
Then after age 40... I'm at a company who is acquired (approved by the Trump administration ... who said there would be lots of great jobs) and they laid most people off.
I wasn't too sad about the layoffs that we knew were comming, it was a good career but I was tiring on the network / tech support world. If you think tech debt is bad, try working in networking land where every protocols shortcomings are 40+ years in the making and they can't be fixed ... without another layer of 20 year old bad ideas... and there's just no way out.
It was also an area where at most companies even where those staff are valued, eventually they decide you're just 'maintenance'.
I had worked really closely with the developers at this company, and I found they got along with me, and I got along with them to the point that they asked some issues be assigned to me. I could spot patterns in bugs and provide engineering data they wanted (accurate / logical troubleshooting, clear documentation, no guessing, tell them "i don't know" when I really don't ... surprising how few people do that).
We had such a good relationship that the directors in my department couldn't get a hold of engineering resources when they wanted ... but engineering would always answer my "Bro, you're going to want to be ready for this one, here's the details..." calls.
I hadn't seen their code ever (it was closely guarded) ... but I felt like I 'knew' it.
But no matter how valuable I was to the engineering teams I was in support... not engineering and thus I was expendable / our department was seen / treated as a cost center.
So as layoff time drew near I knew I liked working with the engineering team and I wondered what to do and I thought maybe I'd take a shot at programming while I had time at work. I read a bunch on the internet and played with some JavaScript as it was super accessible and ... found a whole community that was a hell of a lot more helpful than in my college years and all sorts of info on the internet.
So I do a bunch of stuff online and I'm enjoying it, but I also want a classroom experience to get questions answered and etc.
Unfortunately, as far as in person options are it felt like me it was:
- Go back to college for years ---- un no I've got fam and kids.
- Bootcamps, who have pretty mixed (i'm being nice) reputations.
So layoff time comes, I was really fortunate to get a good severance so I've got time ... but not go back to college time.
So I sign up for the canned bootcamp at my local university.
I could go on for ages about how everyone who hates boot camps is wrong ... and right about them. But I'll skip that for now and say that ... I actually had a great time.
I (and the handful of capable folks in the class) found that while we weren't great students in the past ... we were suddenly super excited about going to class every day and having someone drop knowledge on us each day was ultra motivating.
After that I picked up my first job and it has been fun since then. I like fixing stuff, I like making it 'better' and easier to use (for me, coworkers, and the customer) and it's fun learning / trying new things all the time. -
What do you do when you're trying to push yourself further by learning new concepts and techniques but start to feel the burnout closing in?
Usually I'm useless for about week if I push myself too hard. Would love to overcome this.
How do you guys handle this?4 -
I start testing a new NodeJS framework for, I'm still quite of guy who doesn't like JavaScript in the backend (for me still a quite poor language for a lot of operations). But where I'm working now they use NodeJS (in a very pigsty way to be honest), so I decide to refactor and rewrite the application and start search about frameworks, I'm particularly huge fan of Laravel and PHP for web development and I found a framework called AdonisJS, it's amazing, the ecosystem is very stable and solid.
I start to apply some nice concepts also in the simple Todo List that I'm doing (repository pattern, resources controllers and etc).
I'm really like, you can check on my github profile https://github.com/Messhias/...
Someone is already used this framework for a real business application? I'm liking a lot to play with it.11 -
jinja templates make me look towards html in a whole new light. are we 'inserting' data to an already rendered page? am i really mixing server code with ui ? It doesn't feel so. there are if else and loops being executed for html code, like wtf?
I don't know but everything feels so good. like i was literally hating every piece of website i was writing in php. everytime i wrote <div>....</div> followed by <?php ... ?> followed by another html tag /php tag in a fuckin php file, i wanted to kill someone from w3c.
WHY THE FUCK ARE WE ALLOWING THE MIXUP ?WHY IS PHP FILE HOLDING HTM TAGS? WHY?WHY?WHY?
But this... this is beauty. their is separation of concerns. jinja has some big powers, we can loop, repeat, make clauses, inherit other html classes, load html content into blocks, set variables,
but main concepts like file handling, response/request handling,calculations,etc are all being done in separate python files. I know that these jinja templates also might be running python in background, but atleast a developer cannot fuck up that code.
we can be sure that if correct jinja codes are written in html, then it would load correctly. And wherever devs doesn't fuck up, the output is better to understand and more maintainable/scaleable3 -
How do you guys keep up with new concepts and tech? Or what is your preferred source for this activity?
Conferences(in person or youtube)
ACM journals/SIGs
Research papers
Blogs/hackernews or the like
Books
Something else
?2 -
Read about concepts that are new to me and try to implement them.
Code reviews with experienced devs -
All new frameworks / patterns / code concepts seem great !! Until you take a minute to imagine your current application using them and the time needed to implement.
That's it. That's the rant. /me wants to buy code migrator / generator from "A" to "B"1 -
What things do you keep in mind when learning a new language, when your main goal is to use it in building projects in a framework?
For eg i am beginning to learn flutter and i am finding a need to learn basic dart things like creating variables, loops, classes, functions, constructors, etc...
What are the most important "language concepts" if you may say it that?1 -
People, help me out.
(first some abstract thoughts)
I am a final year undergrad yet to take steps in the world and i am trying to figure out what to do with my time, what my end goal and next steps should be.
As of now I think my end goal is "relaxation , peace and happiness of me and my loved ones", and to reach there , i need money.
My younger self chose engineering for a particular reason(that i vaguely remember) and weather it was a right or wrong/illogical decision, i guess i am stuck with it and have to use this only to reach my end goal.
Maybe i am regretting this and want to change. Maybe i am just a lazy ass who is bad in his assigned role of an engineer and is running towards glitter in other fields, whatever it is , i am not going against the decision of my past and accepting my identity as an engineer.
I believe once i am able to achieve my goal( that am still not sure about but overall is a good one from general perspective), i guess i will be satisfied
------------------------------------------------
(enough with the deep stuff)
I want to learn how to "learn" . like i am always conflicted about what to do next once the tutor leaves my hand.
for eg, let's say i goto a site abc.
1. They got 1 course each for android , web dev and ai. I choose the web dev course and give my hardworking attention to it
( At this point my choice is usually based on the fact that <A> i should not be stupid to buy all 3 course even if i have money/desire to buy all of em because riding 2 horses is only going to break my ass and <B> some pseudo stats like whichever got more opportunity, which i "like", etc(Point B is usually useless in the long run i guess) )
2. From what i have experienced, these courses usually have a particular list of topic that they cover and apply them to 1 or 2 projects. For eg, say that my web dev course taught me 20 something concepts of basic html/css/js/server and the instructor applied it to blog website
BUT WHAT IS NEXT ?
2.1.
>> Should I make more projects using only those particular list of concepts?
I usually have a ton of ideas that i want to implement now that i know how to build a blog site.
say i got a similar idea to make say url shortner. I start with full enthusiasm but in the middle way there is some new thing that i don't know and when i search the internet, i realize that there are 5 ways to implement such concept, making me wander off towards a whole list of concepts that were not covered in my original 20 concept course. This makes the choice 2. 2
2.2
>> Should I just leave everything , go to docs and start learning concepts from the scratch ??
Usually when i start a project, i soon realize that the original 20 concepts were just the tip of iceberg and there are a ton of things one should know, like how os works, how a particular component interacts with another, how the language is working, how the compiler is executing, etc .
At that point i feel like tearing all my notes away, and learning every associated thing from the scratch. No matter how much my project suffers, i want to know how the things are working from the bottom , like how the requests are being mad, how the routes are working, etc which might not even be relevent for the project.
Why i want to follow approach 2? because of the Goal from abstract thoughts. in theory, having deep knowledge is going to clear my interview thereby getting me a good job.
I will get good money, make projects faster and that will be a happily ever after story.
But in practical this approach is bringing me losses and confusion. every layer of a particular thing i uncover, turns out there is another layer below that. The learning never stops. Plus my original project remained incomplete.
What is your opinon, how do you figure out what to do next?8 -
My senior software engineer keeps telling me my tasks are trivial but doesn’t explain why they are trivial. Sometimes I feel like I’m wasting my time. I find it increasingly difficult to talk to him because I don’t feel like I’m doing a good job. I know everyone learns at their own pace and I am learning new things and concepts every day. But I don’t feel like I’m learning well or fast enough.
Anyone have any communication advice?6 -
Hey Everyone, first of all I’d like to start with my usual, hope all is well today as always! Today I’d like to post my first official rant.... so anyone that knows me in person or in general knows me as a good helpful young man, right now Milo is happy but has the urge to rant..
So... not naming anyone specifically from uni... one person specifically always on Facebook messaging me for my assessments, now me being me i try to say No, but the issue is i want people to do well, i put my heart into my work and people just want assignments handed to them on a gold platter, it takes me a lot longer to try and get concepts around my head , I usually always stay up late nights to get a better understanding of things. As you may see my work means a lot to me.
I always mention to my friends if they wish to do well, they must sacrifice going out clubbing or other social things for a later time. I spend my majority of the week learning new things related to programming Monday - Saturday, and on Sunday i have my free time , with the usual work out session thrown inbetween :-).
So anyways, thats it for my rant, I’d love to know if anyone has been through a similar instance? If so would love to hear about it!.
Thank you for taking the time to read my long rant once again :-)
Milo 🥂☺️5 -
This begs the question: how do you define being good at programming? How can you tell if you are actually good or just think you are?
Having asked that, I think I’m getting there... by reading other people’s code, by listening to feedback from better devs than I am, by asking questions and discussing matters I may not fully comprehend, by reading books and articles, by trial and error and by constantly seeking new concepts, languages and other relevant matters to learn. That’s how one becomes better - when one is good, is another story altogether. -
Do you guys know of any online course that teaches data structures, algorithms and other competitive stuff, but which is like, semi-online :
- the course would run for ,say 3 months
- the instructor would add videos/livestream on a specific day/days and give the assignment questions/tests
- assignment questions/tests are expected to be completed before the next video, where these questions , along with new concepts are discussed?
I hate those udacity/udemy courses where you have a large playlist of videos open up as you pay. It makes me loose half of my motivation since i know i can watch them later and end up watching them never. Plus there is no competition to motivate
I want this as my job does not allows me to stay sharp in competitive programming and it would be nice to remain in touch with that( without being too much stressed about it).2 -
“Epstein promotes concepts. He urges individuals—and parents especially—to abandon the desire for instant gratification and easy answers as early performance on tests isn’t an indicator of professional success. He emphasizes traits over particular skills—be curious, flexible, open-minded, adventurous, experimental, and playful. Try and fail and try again. Explore. Read outside your field. Supply your mind with lots of ideas so that you can make the connections that specialists miss, helping you thrive.
Never decide you are too old or too late to the game to try something new. “The tidy specialization narrative cannot easily fit even [the] relatively kind domains that have most successfully marketed it,” Epstein concludes. “So, about that, one sentence of advice: Don’t feel behind…research in myriad areas suggests that mental meandering and personal experimentation are sources of power, and head starts are overrated.”
https://qz.com/1638869/...2 -
In the way of learning java if you learn new concepts but not able to apply to you code how you deal with this type of new concepts7
-
I'm looking for a project idea in cyber-security...
Any ideas?
I'm good with x86 assembly, c, c++, python and shell scripting.
I'm very well versed with Linux operating systems and basic networking stuff.
I'm willing to learn new concepts11 -
Use case for AI I haven't seen and would like to: New tech teacher / guide.
Example: I am using some stuff that uses twig internally (a PHP template engine), so I got curious and checked it out.
Looks cool and all, but if I wanted to do some simple PoC I thought it would take a lot of reading, searching and trying.
How cool would it be to have an AI that I could ask about doing something and it would teach me the necessary twig concepts I need, and as I keep exploring it remembers what it told me and builds on that to introduce the new concepts. It could check my code to see if I got it too.
Wouldn't it be nice? But now I put it into words I don't know exactly if it's possible. 👀 Wdyt?9 -
Design in Motion: Real-Time Rendering's Impact on Architecture
Architecture, a discipline that once relied heavily on blueprints, models, and lengthy render times, has undergone a revolutionary transformation in recent years. The advent of real-time rendering technology has fundamentally altered the way architects visualize, present, and interact with their designs. This paradigm shift has not only enhanced the creative process but has also empowered architects to make more informed decisions and create immersive experiences for clients and stakeholders.
Real-time rendering, a technological marvel that harnesses the power of high-performance graphics hardware and advanced software algorithms, allows architects to generate photorealistic visualizations of their designs in a matter of milliseconds. Gone are the days of waiting hours or even days for a single rendering to complete. This acceleration in rendering time has not only expedited the design process but has also encouraged architects to explore multiple design iterations rapidly.
One of the most significant impacts of real-time rendering on architecture is the ability to visualize a design in various lighting conditions and environmental settings. Architects can now instantly switch between daytime and nighttime lighting scenarios, experiment with different materials, and observe how their designs respond to different seasons or weather conditions. This level of dynamic visualization offers insights into how a building's appearance and functionality evolve throughout the day, contributing to more holistic and thoughtful design solutions.
Moreover, real-time rendering has transformed client presentations. Architectural concepts can now be communicated with unprecedented clarity and realism. Clients can virtually walk through spaces, observing intricate details, exploring different angles, and even experiencing the play of light and shadow in real-time. This immersive experience fosters a deeper understanding of the design intent, enabling clients to provide more targeted feedback and make informed decisions.
The impact of real-time rendering on collaboration within architectural teams cannot be overstated. Traditionally, architects and designers would need to wait for a rendering to complete before discussing design changes or improvements. With real-time rendering, team members can make adjustments on the fly, observing the immediate effects of their decisions. This seamless collaboration not only enhances efficiency but also encourages interdisciplinary collaboration as architects, engineers, and other stakeholders can work together in real-time to refine designs.
The integration of virtual reality (VR) and augmented reality (AR) into the architectural workflow is another transformative aspect of real-time rendering. Architects can now create VR environments that allow clients to step inside their designs and explore every nook and cranny. This not only enhances client engagement but also enables architects to identify potential design flaws or spatial issues that might not be apparent in 2D drawings. AR, on the other hand, overlays digital information onto the physical world, facilitating on-site decision-making and construction supervision.
Real-time rendering's impact extends beyond the design phase. It has proven to be a valuable tool for public engagement and community involvement in architectural projects. By creating virtual walkthroughs of proposed structures, architects can offer the public an opportunity to experience the design before construction begins. This transparency fosters a sense of ownership and allows for constructive feedback, contributing to the development of designs that resonate with the community's needs and aspirations.
The environmental implications of real-time rendering are also noteworthy. The ability to visualize designs in various environmental contexts contributes to more sustainable architecture. Architects can assess how natural light interacts with interior spaces, optimizing energy efficiency and reducing the need for artificial lighting during the day.
In conclusion, real-time rendering has ushered in a new era of architectural design, propelling the industry into a realm of dynamic visualization, immersive experiences, and enhanced collaboration. The ability to witness designs in motion, explore different lighting conditions, and interact with virtual environments has redefined how architects approach their craft. From facilitating client presentations to fostering sustainable design solutions, real-time rendering's impact on architecture is profound and multifaceted. As the technology continues to evolve, architects have an unprecedented opportunity to push the boundaries of creativity, efficiency, and sustainability in the built environment. -
Do you guys listen to any programming podcasts which do not just center around one particular programming language? Any podcasts regarding topics like universal programming concepts, history of programming etc. At the moment I'm listening to Command Line Heroes (from RedHat) but I have almost listened to every episode and need new stuff :)
-
Today, I began learning about the wonders and horrors of HA in production environments.
My head feels like when I first joined the company as a total noob who never worked an IT job in his life. Soooooooo much new information and concepts and potential issues to learn to avoid.
But all super interesting! -
9 Ways to Improve Your Website in 2020
Online customers are very picky these days. Plenty of quality sites and services tend to spoil them. Without leaving their homes, they can carefully probe your company and only then decide whether to deal with you or not. The first thing customers will look at is your website, so everything should be ideal there.
Not everyone succeeds in doing things perfectly well from the first try. For websites, this fact is particularly true. Besides, it is never too late to improve something and make it even better.
In this article, you will find the best recommendations on how to get a great website and win the hearts of online visitors.
Take care of security
It is unacceptable if customers who are looking for information or a product on your site find themselves infected with malware. Take measures to protect your site and visitors from new viruses, data breaches, and spam.
Take care of the SSL certificate. It should be monitored and updated if necessary.
Be sure to install all security updates for your CMS. A lot of sites get hacked through vulnerable plugins. Try to reduce their number and update regularly too.
Ride it quick
Webpage loading speed is what the visitor will notice right from the start. The war for milliseconds just begins. Speeding up a site is not so difficult. The first thing you can do is apply the old proven image compression. If that is not enough, work on caching or simplify your JavaScript and CSS code. Using CDN is another good advice.
Choose a quality hosting provider
In many respects, both the security and the speed of the website depend on your hosting provider. Do not get lost selecting the hosting provider. Other users share their experience with different providers on numerous discussion boards.
Content is king
Content is everything for the site. Content is blood, heart, brain, and soul of the website and it should be useful, interesting and concise. Selling texts are good, but do not chase only the number of clicks. An interesting article or useful instruction will increase customer loyalty, even if such content does not call to action.
Communication
Broadcasting should not be one-way. Make a convenient feedback form where your visitors do not have to fill out a million fields before sending a message. Do not forget about the phone, and what is even better, add online chat with a chatbot and\or live support reps.
Refrain from unpleasant surprises
Please mind, self-starting videos, especially with sound may irritate a lot of visitors and increase the bounce rate. The same is true about popups and sliders.
Next, do not be afraid of white space. Often site owners are literally obsessed with the desire to fill all the free space on the page with menus, banners and other stuff. Experiments with colors and fonts are rarely justified. Successful designs are usually brilliantly simple: white background + black text.
Mobile first
With such a dynamic pace of life, it is important to always keep up with trends, and the future belongs to mobile devices. We have already passed that line and mobile devices generate more traffic than desktop computers. This tendency will only increase, so adapt the layout and mind the mobile first and progressive advancement concepts.
Site navigation
Your visitors should be your priority. Use human-oriented terms and concepts to build navigation instead of search engine oriented phrases.
Do not let your visitors get stuck on your site. Always provide access to other pages, but be sure to mention which particular page will be opened so that the visitor understands exactly where and why he goes.
Technical audit
The site can be compared to a house - you always need to monitor the performance of all systems, and there is always a need to fix or improve something. Therefore, a technical audit of any project should be carried out regularly. It is always better if you are the first to notice the problem, and not your visitors or search engines.
As part of the audit, an analysis is carried out on such items as:
● Checking robots.txt / sitemap.xml files
● Checking duplicates and technical pages
● Checking the use of canonical URLs
● Monitoring 404 error page and redirects
There are many tools that help you monitor your website performance and run regular audits.
Conclusion
I hope these tips will help your site become even better. If you have questions or want to share useful lifehacks, feel free to comment below.
Resources:
https://networkworld.com/article/...
https://webopedia.com/TERM/C/...
https://searchenginewatch.com/2019/...
https://macsecurity.net/view/... -
Learning Spring is like learning Tekkit for Minecraft; it's just a whole other new confusing terminology with alien concepts. You have to get into it once to understand it.
-
hey, so i have recently started learning about node js and express based backend development.
can you suggest some good github repositories that showcase real life backend systems which i can use as inspiration to learn about the tech?
like for eg, i want to create a general case solution for authentication and profile management : a piece of db+api end points + models to :
- authenticate user : login/signup , session expire, o auth 2 based login/signup, multi account login, role based access, forgot password , reset password, otp login , etc
- authorise user : jwt token authentication, ip whitelisting, ssl pinning , cors, certificate based authentication , etc (
- manage user : update user profile, delete user, map services , subscriptions and transactions to user , dynamic meta properties ( which can be added/removed for a single user and not exactly part of main user profile) , etc
followed by deployment and the assoc concepts involved : deployment, clusters, load balancers, sharding ,... etc
----
these are all the buzzwords that i have heard that goes into consideration when designing a secure authentication system for a particular large scale website like linkedin or youtube. am not even sure how many of these concepts would require actual codelines and how many would require something else.
so wanted inspiration from open source content to learn about it in depth, replicate and create new better stuff if possible .
apart from that, other backend architectures like video/images storage system, or just some server for movie, social media, blog website etc would also help.2