Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "custom framework"
Me: Let's use some framework to make things easier and faster!
Boss: No, we will do everything on our own, because when you quit your job I won't find anyone who knows that framework to replace you.
Me: But you won't find anyone who knows our custom solutions even more...4
Seven months ago:
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"
Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"
Project Manager: - "Awesome! I'm counting on you!"
Six months ago:
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."
Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."
Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"
Bored Old Lead: - "No, nobody uses it like that, people don't need it."
Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."
Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"
Four months ago:
Cprn: - "That version of the framework you used is loosing support next month. We really should update."
Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."
Cprn: - "Please do?"
Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"
Three months ago:
Bored Old Lead: - "The code you committed doesn't pass the tests."
Cprn: - "I just run it on my working copy and everything passes."
Bored Old Lead: - "Doesn't work on mine."
Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."
Bored Old Lead: - "No, I had to hack them like that to work with libB."
Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."
Bored Old Lead: - "No! Can't update, remember?"
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."
Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."
Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."
Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"
Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."
Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."25
Recruiter: “can you write your own framework?”
Me, after considering for a good minute: “well, I am kinda starting to automate lots of things so I guess if I wanted I may be able to... for sure I’d learn a lot along the way...”
Recruiter: “very good!”
Me:”wait, why would you want that skill?”
Recruiter: “our customers want custom code”
Me:”so you write a new framework every time?”
Recruiter: “ah you have also experience in [x]!”
Some people scare me 😟11
Currently working on the privacy site CMS REST API.
For the curious ones, building a custom thingy on top of the Slim framework.
As for the ones wondering about security, I'm thinking out a content filtering (as in, security/database compatibility) right now.
Once data enters the API, it will first go through the filtering system which will check filter based on data type, string length and so on and so on.
If that all checks out, it will be send into the data handling library which basically performs all database interactions.
If everything goes like I want it to go (very highly unlikely), I'll have some of the api actions done by tonight.
But I've got the whole weekend reserved for the privacy site!20
Got an offer to work at a game development company. Office looked awesome (decked out in pinball machines and a huge marble track), located overlooking Schreveningen beach, young energetic team.
Then I saw the code. Oh God the code. And they wanted me to become system architect.
Hybrid PHP 4/5 OOP/procedural code custom framework running on a spaghetti database creaking by on the skin of its teeth... all backing Flash Facebook games.
I've learned A TON creating my own very basic PHP framework. I'm using it for basic personal small projects (login system, simple functionality) and I'm loving it. The customization makes specific repetitive tasks so much easier.
I love static sites and fancy new frameworks. Had an interview some time ago at a medium sized company. They specifically wanted someone to build static sites and introduce the company to Vue and Gridsome.
I got really excited for my first project. It was a wordpress site and I had to build a custom WP theme for it. Not exactly what I expected. Also I had no prior PHP knowledge, nor any experience with Wordpress. So I got really upset, because it wasn’t the technologies I was used to.
The first week was hard, I wanted to quit. But once something clicked. And I realized I know this. This is not PHP, not Wordpress, not Vue, but just simply a programming language. At the core everything programming language is the same. PHP became comfortable, Wordpress conventions didn’t bother me. I realized I can use great technologies with WP too. I get to know twig, added some sass, compiled everything nicely with webpack. And after a month I have a beautiful, fast and efficent site. I love it.
I realised that I don’t love the languages and frameworks. I love coding itself. I love creating efficent and reliable, clean code. No matter the architecture.
And my advice for you is to stop hating particular languages and serious debates on what is better, and hating your job when you can’t code in your new shiny framework. Love coding itself, because it’s a wonderful activity. We are creators, we are artists. Not <insert specific programming language here> developers.16
My Task: Create a new application in a custom C#-Framework, to replace screens from the old application.
The old application has a Java Frontend.
The old application has an Oracle-DB.
The old application has its logic fully on the DB.
You cannot connect to the DB via ODBC.
Me:But why ???
You cannot use external libraries, just our framework.
Me: For what are you thinking i can use to call the functions on the DB
You have to use a custom connection-bus which uses JDBC
This connection-bus cannot call SQL Statements and return the result.
Me:WTF, how should i get the data out of the Database ?
We don't know find a way.
Me:Ahh fuck off.3
Really fed up with my colleague and possibly my job. Am starting to doubt am cut out to be a developer
Oh and the salary was crap but i figured since i had barely 3 years of exp i thought i would stick with it for a while
But a few months ago after seeing other opportunities I got fed up and threatened to quit , already started interviewing etc
Got an offer, not exactly what i wanted but better than where i was. Went to quit but they freaked out and started throwing money at me. They matched and exceed the other salary and promised to addressed the issues that made me want to leave. Ie get me to work more on the java side of the project and have me work with someone more senior who could sort of mentor me, i had been working semi solo on the js shit till then...
The problem is that my supposed mentor is selfish prick... he is the sort of guy who comes in real early, basically he goes to early morning prayer then come in at some ungodly hour and fuckoff home around 3pm
He does all his work early morning then spends the rest of the day with his headphones on stealthily watching youtube, amazon, watching cricket, reading about Palestine , how oppressed muslims are or building a website for some mosque.
I asked him to let me sit with him so that I could just learn how this or that part of the sys worked , he agreed then the very next day comes in and does all the work before i get in at 9 , i asked him how he did it and he tells me oh just read the code.
Its not as simple as that, out codebase is an old pile of non standard legacy dog shit. Nothing works as it should, i tried to go through documentation online for the various stuff we use , but invariably get stuck when i try the usual approach because it turns out the original devs had essentially done a lot of custom hacks and cowboy coding to get stuff working, they screwed around with some of the framework jars & edited libraries to get stuff to work, resulting in some really weird OSGI errors.
My point is that i cant really just "read the code" or google ...
I gotta know a bit more what was actually modified and a lot of this knowledge isn't fucking documented, theres a lot of " ohhh that weird bug yeah yeah that happens cuz x did this hack some years ago to fix this issue and we kinda built on it, yeah we weren't supposed to do that but heyyy what u gonna do, just do this or that instead"
I was asked to set up a web service to export something, since thats his area of expertise and he is suppose to be teaching me the ropes, i asked him to explain where i should start and what would the general workflow be, his response is to tell me to just copy the IMPORT service and rename it to export then "just do it um change it or something" very helpful indeed (building enterprise application here nothing complex at all!!)
He sits right next to me so i can see how much works he actually does, i know when he just idly sitting there so thats when i ask him questions, he always has his earphones on so each time i gotta find a way to get his attention with a poke or a wave, he will give a heavy sigh and a weary look as he removes his headphones, listen to my question then give me the shortest answer possible before IMMEDIATELY turning away and putting his headphones on as fast as possible regardless of whether I actually understood or even heard what he said. If i ask another question ( am talking like an immediate follow up question for a clarification or something) he will
Do the whole sigh + tired look routing to make me know yeah you are disturbing me. ( god was so happy the day he accidentally sat on and broke them)
Yesterday i caught a glance at his screen as i was sitting down and i think he and another dev were talking about me
That am slow with my work and take forever to get into gear.
Starting to have doubts about my own ability n wether am really cut out to be a developer. I know i can work hard but its impossible to do so when you have no clue where to start and unable to look it up since all the custom hacks doesn't really allow any frame of reference.
Feels like am being handicapped and mocked, yesterday i just picked up my gear n left the office.
I never talk ill about my colleagues, whenever i have a 121 with my mgr i always all is fine, x n y are really helpful etc
I tried to indirectly tell my other colleague about this guy, he told me that guy had kinda mentally checked out of this job and was just going through on auto pilot and just laughed it off (they have been working together for almost a decade and a buddies) my other colleague is pretty nice but he usually swamped with work so i feel bad to trouble him.
Am really Fed up with it all7
Don't waste your time - they said.
Use Spring - the good ol' framework - they said
It's not slow - they said
me: ignores them, builds a custom jetty-based webserver with the same functionality Spring+tomcat can offer (mappings, routings, etc).
My app: boots up completely in <300ms, while Spring tutorials say a hello-world app takes 3+ seconds to spin-up http://websystique.com/spring-boot/...
me: already set for deployment in lambda. I bet I can tune it up even further with lazy-loading if I really have to...
Moral of the story: sometimes bare-bones solution is a better choice: more performant, more extendable, more testable, more lightweight.
That, dear folks, is the classic LESS IS MORE :)12
older clients are returning with my old projects and asking for improvements, I did buy a few very shitty scripts from the internet/ and used one of my friends custom php cms for the other client because I REALLY needed money and they needed the projects yesterday.
Now I'm looking at the code and can't start working because of how messy it all is, I want to remake it all with a good framework and system, but it would take too much time (and they want it fast) and they wouldn't want to pay for the improvements because what they have now works..
I guess the shit you throw out when you're younger does come flying back like a boomerang..3
So here I am sitting on my dusty laptop gaming laptop (because supposedly it would offer me better performance in compiling code and working with CUDA according to the people above me) at a research institute where I just started working at. I am told that there are some issues with the code and that it fails to build on Windows with MSVC that ships with Visual Studio 2017 and later.
I poor some hot tea from my insulated bottle I brought from home and start reading.
I look in this header file and what do I see - a custom uint24_t struct. Interesting...
I keep sifting through the code base. I find some functions that check and change Endianess. Ok, but the software is developed, built on and runs only on Win7 and later desktop systems. Never mind...
Further I find a custom "allocator" that is used throughout the whole code base. It has three inline static class member functions: allocate, copy and deallocate plus some private constructors. And these just wrap around the standard new and free calls. Some flavours of this class actually only deallocate (with a comment above them: "This allocator does not allocate. HANDLE WITH CARE!!!", which is btw the only "code documentation" I have managed to find).
But wait! What is this? A custom thread and mutex. Oh, and string, and vector.
Further down the rabbit hole I find a custom math library with a matrix class that does not support multiplication between a matrix and a vector. Perhaps not a use case I guess...
I continue and come across some UI-related calls. Interesting, I wonder what they are using as a framework. Oh, my...We have an extensive GUI custom framework written from scratch (drawing buttons and all).
All of this is to load an OBJ file and render it on the screen on a standard Windows PC in some way.
Very nice... ;_;1
I've worked on dozens of projects now and I have tried using several CSS frameworks. Every time I experienced using a framework much more of a hustle than using custom CSS for the design. If your design gets a little bit more complex or unusual you will spent hours on fixes.
For me the times of frameworks in CSS have passed.
Tough I kinda like Vuetify, but then I haven't used it on big projects yet.7
Been working on a custom html partial injector (js/jquery only) as both a personal challenge and utility to use for my website scaffold. Being a challenge, i decided not to look at any implementation from another JS framework. I won't lie, i had it 'working' at least 5 times now, but this time, after about 3-4 days, i think i got it for real. And the cool thing? It's a bit less code than my original implementation even with my generous whitespace and verbosity. And it even unwraps nicely so it looks like a regular html page in the dev tools.
I love when things finally work as they should--God knows i question my motives before then.2
I've lost 3 hours trying to implement third-party extension just to realize I've never imported it into the project.
That feeling when you are browsing a job offer and they claim they use "pure PHP".
LOL nope. I won't maintain your custom framework created by five different freelancers over the past few years and turn into something that does scream Frankenstein.
At least state that it uses composer, symfony2 components or some other microframework. I have yet to see an application that truly requires your own framework. And even when you do, base it on silex / symfony2 components. http://symfony.com/doc/current/...2
A long time ago I started a project to make a devRant client with Python and Qt5.
I got far but got bored, or whatever. Was still in school, etc.
I have started from scratch again. Including a nogui mode. Sharing because I actually have made some pretty good progress in the past two days.
Plans: Besides the obvious fully-featured client: full support for plugins, custom themes, custom CLI commands. Multiple logins.
Considering a system that allows you to run a bot, and a bot framework (parsing arguments for you, marking notifs read, etc.)
And yes, it's called qtpy-rant (Pronounced cutie pie rant)3
Started new job almost two moths ago..
For almost 3 years I was developing custom themes, plugins, and widget for WordPress using PHP, jQuery/AJAX, and MySQL.
The new company that hired me brought me on as a backend developer to help rebuild their custom PHP Framework, and other web based software/products as their moving toward Google Cloud Platform.
When I started, MVC and OOP was new to me... took a couple weeks to get the hang of things, and understand their system.
Just when I was getting comfortable, I had a task assigned to me that was all NodeJS...
Had a 30 check-in the week I started the Node task, and was feeling pretty beat down because it was all new to me and I wasn’t making a lot of progress, and still not comfortable with Promises yet, and some other ES6 features but finding my way around slowly but surely.
Manager reassured me that I wasn’t going to be fired and it wasn’t unique to myself. Very encouraging to hear, but I’m my own worst critic so it’s frustrating not being able to make progress like I would with PHP projects.
Fast forward to this week, I started to review another task for a feed and found it’s all Ruby! Another language I have no familiarity with... and started to question if I’ll every get the hang of all these languages and be a solid team member...
Not only do I have to get a grasp on NodeJS and Ruby now, but then I’ll also have to get familiar with GCP and whatever else comes along with it...
Oh and I’m using Linux now instead of Windows/ OSX... so there’s that too.. plus the other command line tools the company built, and uses..
I was comfortable developing in PHP and know I needed to take a step and accept this job to move my career forward but it seems like I’m always behind the 8 ball...
Some days I wonder if it was worth staying a Wordpress developer and just focused on learning ReactJS and stay more Front-end than Backend..
I enjoy working with talented people but I don’t like being the low man on the totem pole knowing I don’t have the experience yet.
Does it feel like this for all devs?!?!14
Then I got to PHP during the years from some online tutorial about making dynamic websites. My website was more static than stone, but yeah, I did page loading with PHP! Awful experience anyway, because I had to install Xampp, get it work and other stuff. 11 years old or so. (and I used Xampp only as a fileserver between laptop and desktop later, because.. PHP4... just no.)
As 12 years old or so I experienced my first World of Warcraft (vanilla) on a custom server in an internet cafe and I thought it's a singleplayer game. When I found out that no, I googled how to make my own server (hated multiplayer back then and loved good games with huge storylines). Failed miserably with ManGOS, got something to work with ArcEMU. There I learned some C++ basic stuff, which I hoped would helped me to fix some bugs. When I opened the code I was like: "Suuure." and left it like that. I learned what a MySQL database is, broke it like four times when I forgot WHERE and still rather played with websites i.e. html, css, js and optionally php when I wanted to repair a webpage for the server. With a friend we managed to get the server work via Hamachi, was fun, the server died too soon. Then I got ManGOS to work, but there wasn't really any interest to make a server anymore, just singleplayer for the lore. (big warcraft fan, don't kick me :D )
I think it was when I was 13y.o. I went to Delphi/Pascal course, which I liked a lot from the beginning, even managed to use my code on old Knoppix via Lazarus(Pascal). At this age I really liked thoae Flash games which were still common to see everywhere. So I downloaded .swfs, opened and tried to understand it. Managed to pull some stuff from it and rewrite in Pascal. Nope, never again that crap.
About the same time I got to Flash files I discovered Java. It was kind of popular back then, so I thought let's give it a try. I liked Flash more. Seriously. I've never seen so much repetitiveness and stupid styling of a code. I had either IDE for compiling C++ or Pascal or notepad! You think I wanted my code kicked all over the place in multiple folders and files? No.
So back to Pascal. I made some apps for my old hobby, was quite satisfied with the result (quiz like app), but it still wasn't the thing. And I really thought I'd like to study CS.
I started to love PHP because of phpBB forums I worked on as 15 y.o. I guess. At the same time I think there was an optional subject at school, again with Pascal. I hated the subject, teacher spoke some kind of gibberish I didn't really understand back then at all and now I find it only as a really stupid explanation of loops and strings.
So I started to hate Pascal subject, but not really the lang itself. Still I wanted something simpler and more portable. Then I got to Python as hm, 17y.o. I think and at the same time to C++ with DevC++. That was time when I was still deciding which lang to choose as my main one (still playing with website, database and js).
Then I decided that learning language from some teacher in a class seriously pisses me off and I don't want to experience it again. I choose Python, but still made some little scripts in C++, which is funny, because Python was considered only as a scripting lang back then.
I haven't really find a cross-platform framework for C++, which would: a) be easy to install b) not require VisualStudio PayForMe 20xy c) have nice license if I managed to make something nice and distribute it. I found Unity3D though, so I played with Blender for models, Audacity for music and C# for code. Only beautiful memories with Unity. I still haven't thought I'm a programmer back then.
For Python however I found Kivy and I was playing with it on a phone for about a year. Still I haven't really know what to do back then, so I thought... I like math, numbers, coding, but I want to avoid studying physics. Economics here I go!
Now I'm in my third year at Uni, should be writing thesis, study hard and what I do? Code like never before, contribute, work on a 3D tutorial and play with Blender. Still I don't really think about myself as a programmer, rather hobby-coder.
So, to answer the question: how did I learn to program? Bashing to shit until it behaved like I desired i.e. try-fail learning. I wouldn't choose a different path.2
Worst documentation? Unreal Engine 4's documentation on editor customization (custom panels/windows and whatnot). It might have improved in the last two years, but the last time I made a custom editor there was almost zero documentation on the matter and on their Slate UI framework. The little documentation that existed was very vague and had awful examples.
I don't remember very well, but I think it took me close to two weeks to get something very basic working. I had to read a LOT of C++ code filled with generics and macros to figure everything out, but after I did I enjoyed a lot working with that stuff.
I just don't know how I was able to do that, working with UE4 was a pain the butt every. single. day. Runtime error on the gameplay code? Too bad, the whole editor will crash and then take ~40s to reopen. It was crash after crash, ~1min of compilation time for any little change to the code, so so so so much frustration.
I do miss a those times a bit though, because even though it was hard, it felt good to feel competent, to know something complex reasonably well to the point I could help people on forums. Today I always feel I don't know enough about the languages/frameworks I use. It's kinda depressing, it takes a huge toll on my self confidence. But whatever, let's keep going, one day I'll get there :)
Here is a personal project I've been working on lately. It's not public, but just wanted to share. It's a custom chatbot I created using a LAMP stack. Its built on top of a framework called Program-O to handle the knowledgebase storage and processing along with some basic NLP. I added the web speech api functionality myself so it supports recognition as well as speech synthesis. Anyways, pretty proud of this one.7
I just recently started working on a product that uses MaterialUI.
I’m not saying it is bad, but it is frustrating me. As a person with a very strong understanding of CSS (SASS mostly), it is frustrating to see the framework try to make things easier while making them entirely more hard.
It would take one or two classes do a thing in SASS but instead it is accessing a bunch of sub classes already built in and modifying some aspects. And then having to add custom css-in-js for other layout needs.
It feels wrong for 1 element to have 2 different methods and areas to house it’s own styles.
I’m sure I’m going to get used to it soon enough. But it is frustrating now.
The dangers of PHP eval()
Yup. "Scary, you better make use of include instead" — I read all the time everywhere. I want to hear good case scenarios and feel safe with it.
I use the eval() method as a good resource to build custom website modules written in PHP which are stored and retrieved back from a database. I ENSURED IS SAFE AND CAN ONLY BE ALTERED THROUGH PRIVILEGED USERS. THERE. I SAID IT. You could as well develop a malicious module and share it to be used on the same application, but this application is just for my use at the moment so I don't wanna worry more or I'll become bald.
I had to take out my fear and confront it in front of you guys. If i had to count every single time somebody mentions on Stack Overflow or the comments over PHP documentation about the dangers of using eval I'd quit already.
Tell me if I'm wrong: in a safe environment and trustworthy piece of code is it OK to execute eval('?>'.$pieceOfCode); ... Right?
The reason I store code on the database is because I create/edit modules on the web editor itself.
I use my own coded layers to authenticate a privileged user: A single way to grant access to admin functions through a unique authentication tunnel granting so privileged user to access the editor or send API requests, custom htaccess rules to protect all filesystem behind the domain root path, a custom URI controller + SSL. All this should do the trick to safely use the damn eval(), is that right?!
Unless malicious code is found on the code stored prior to its evaluation.
But FFS, in such scenario, why not better fuck up the framework filesystem instead? Is one password closer than the database.
I will need therapy after this. I swear.
If 'eval is evil' (as it appears in the suggested tags for this post) how can we ensure that third party code is ever trustworthy without even looking at it? This happens already with chrome extensions, or even phone apps a long time after reaching to millions of devices.11
TL;DR - an entire emulation of a closed source CMS to develop a theme
The longer version:
We are using a cms that is closed source, and we only have access to frontend files alongside twig files. The CMS is custom built but many aspects are in a very rudimentary state, for example it is nearly impossible to develop locally, we have to use an integrated text editor to code stuff.
So out of frustration, and for my development needs, I decided I would make an emulation based on Symfony 4. Also because my PM was pressing me to optimise our site. I wrote some custom JS to handle everything smoothly, a semi-sass framework and well-structured twig files.
I was also supposed to work with our graphic designer, but she didn't get any alloted time from our pm to work on it...
Now PM asks me to write a specifications document in order to make another company build the new version
I mean wtf, I'm so bored, I can actually enjoy my day by coding, and no, I'm just there to write the specs.
When I told PM I am currently building the new version, she's like "but we didn't validate anything", when she explicitly said I had a green Go to code it a few months back
Instead I have to make prezies and convert them back to PowerPoint because we have computer-illiterate people in the company who aren't flexible to understand simple tools.
Let's hope it won't get useless by Friday (I have a presentation to give, alongside my estimates and project management presentation)1
Is there anyone who has ever used frappe/erpnext?
It drives me nuts, as much as I like the framework doing any thing that needs some basic scripting is a pain!
I MEAN, COME ON MAN, WHY ARE DOCS SO HARD TO COME BY? WHY DOES YOUR "CUSTOM SCRIPT" EDITOR LACK BAISIC LINE NUMBERS? WHY ARE YOUR ERROR MESSAGES TELLING ME EVERYTHING BUT THE LINE THE ERROR'S ON, SO I'LL BE HOPEFULL THE ERROR IS IN THE DEV CONSOLE? WHY NOT USE MONACO, SOMETHING, ANYTHING THAT WILL SHOW SYNTAX ERRORS? I'VE WAISTED HOURS ON LITTLE AUTOMATION SCRIPTS!!!! WHY WHY WHY WHY????1
My ideal dev job, would be a job I can show compassion towards. A team I can be proud of and learn from. And a vibrant workspace with likeminded individuals who just want to improve themselves even if they feel their at their pinnacle.
My current office tries to make use of new technologies, we've embedded docker, vagrant, a few ci systems on an in need basis per team, and a lot of other tools.
My only real qualms are they feel indifferent towards new languages and eco systems ( Node.js, GoLang, etc ). Our web team is still using angular.js 1.x, bower, refuses to look into webpack or a new framework for our front end which is currently being bogged down by angulars dirty checking.
Our RESTful services are all using flask and Python, which become increasingly slow with our increase in services. I've pushed for the use of Node or GoLang with a GraphQL interface but I'm shot down consistently by our principle engineers who believe everything and anything must be written in Python.
I could go on, but tldr; I'm 21 and I have a ton of aspirations for web development. I'd like to believe I'm well rounded for my age, especially without any formal education. I'd love to be surrounded by individuals who want the same, to learn and architect the greatest platforms and services possible.1
Me: *Building my own CSS and JS framework for static websites and testing it as i go while building my work site*
Inner me: Stop remaking the wheel, use MDL!
Me: *Starts sweating furiously*
Why must JS and CSS be so bloody horrible to build with from scratch, should I just use MDL and extend it with some custom classes or keep powering forward?6
DAILY LARAVEL PROBLEMS
I need to parse a JWT with some custom claims. There's a JWT library with Laravel; documentation really lacking, kinda hardcoded to work with Laravel but whatever; it's already installed, let's see what can I do with it.
It turns out I can't say something like "take this token, parse it, tell me it's valid". Let's see how that goes.
You need to build a parsing class with a manager, some auth stuff, a parser.
To build said manager you need a provider that implements a contract, a blacklist, a factory (of what?)
To build the factory (of what?) you need a claim factory and a payload validator
To build the claim factory you need a request
To build the blacklist you need a Storage
To build the storage you need a CacheContract
To build a CacheContract you need IDK it's a mess
To build the contract you need... IDK for real
WHY LARAVEL IS SHIT: 'cause only in this framework it seems reasonable to build this clusterfuck to parse a base64 encoded string, throw some json_decode and check a signature. And have it work only to authenticate a user.1
I must say I love learning new things!!! Took a quick detour to build a small custom music player, now it doesn't seem to be that quick as I am learning a new framework. Only about 11 pages of many more still to go, and the funny thing? The main part I need - how to play audio, is in the last section of the tutorials.
A lot of this might be an assumption based on not enough research on both NestJS and TypeScript, so if something here is not well put or incorrect then please feel free to provide the necessary info to correct me since I care far more about getting dat booty than I do being right on the internet :D
Sooo, a year or so ago I got a hold on the Nest JS framework. A TypeScript based stack used to build microservices for node. Sounded good enough in terms of structure, it is based on the same format that Angular uses, so if you use Angular then the module system that the application has will make sense.
I attempted (last night) to play with the framework (which I normally don't since I am not that much of a big fan of frameworks and prefer a library based approach) and found a couple of things that weird me out about their selling points, mainly, how it deals with inversion of control.
My issue: This is dependency injection for people that don't really understand the concept of dependency injection. SOLID principles seem to be thrown out of the window completely due to how coupled with one another items are. Literally, you cannot change one dependency coming from one portion to the other(i.e a service into a controller) without changing all references to it, so if you were using a service specification for a particular database, and change the database, you would have to manually edit that very same service, or define another one....AND change the hardwire of the code from the providers section all the way into the controllers that use it....this was a short example, but you get the gist. This is more of a service locator type of deal than well....actual dependency injection. Oh, and the documentation uses classes rather than interfaces WHICH is where I started noticing that the whole intention of dependency injection was weird. Then I came to realize that TypeScript interfaces are meeheed out during transpilation.
Digging into the documentation I found about custom providers that could somehowemaybekinda work through. But in the end it requires far too much and items that well, they just don't feel as natural as if I was writing this in C# or Java, or PHP (actually where I use it the most)
I still think it is a framework worth learning, but I believe that this might be a bias of mine of deriving from the norm to which I was and have been used to doing the most.3
Frontend people, I need your opinion.
I will soon start building the next version of a rather large project's frontend but I am mostly a backend guy.
It is a custom made web application (PHP, Postgres) that handles all business aspects of a shipping company of about 50 people (trucks, truck free space in shipments for new packages, package tracking via gps on the truck, invoicing, reselling shipping services to other businesses, everything).
The existing frontend is using an ancient version (1.x) of the YUI framework and uses AJAX heavily to refresh the user interface. It's usable, but maintaining and extending it is getting really hard as the project grows larger and larger and more systems are integrated.
So the question is, given this use case, what JS framework do I use and what is a good resource to start learning it?5
I've been helping a friend of mine with his postgraduate project the last 3 months.
It was a Java based program made in Processing. Though I am not a Java developer and I never used processing before, it wasn't that hard to write the logic of the program.
I noticed that sometimes Java made me use loops for almost everything.
Also I had to communicate between server and client via JSON but I had to write it manually as string due to the lack of keys in Java.
The main trial though was with the logic of the project. It was supposed to be made as a framework to be extended from custom user classes. I had to change the core classes I made many times because the user class had methods that should run while the parent class didn't have them declared. That could be my fault for not knowing how to write desktop application framework but you can't expect a framework to be extended in a compiled state, or so I think. Processing on the other hand doesn't seem to like the idea of an external java library. At least it didn't workout for me, it should be able to work normally.
In the end the project was never as completed as we wanted. It could rum a basic sim but we hadn't the time to test other possibilities.
OMF you motherfucking Eclipse developers. All I want is to build an application with SWT. WHY THE FUCKING FUCK is that near impossible.
1) why are there no SWT maven artifacts= only 3 year old ones on a custom github repo?
2) why is is fucking rocket science to even find a guide on how to build this fucking piece of shit yourself
3) WHY THE FRIGGIN FUCKING FUCK OF FUCKS is it so hard to build it your self - outdated docs .... nice, dead links and repos, nicer .... referenced maven artifacts from a non-existing, none-documented repo, ... wow you're really kickin it here.
All I want is to fix this nullpointer in this fucking piece of shit you call framework ...
Have you actually tried to read your docs (can we really call that shit docs?) from a none-100years-swt dev's point of view?
Noone understands shit!
Why is there no standard build system, like maven, grade or for fuck's sake even ant?
It almost feels if you devs don't want anyone use your abomination, so it can die in peace.
Arg, I could puke ...5
TLDR: Wrote a custom class for writing apibtest cases for a project with zero code test coverage.
We have a project with zero test coverage. Recently, i was tasked with writing api test cases for said project, it might have taken me months to write tests for all endpoint, plus the main issue was that each endpoint needed to tested for all available user roles and permissions.
I tried the main stream approach of writing api tests, but ended up running into a lot of issues directly linked to our projects roles/permissions architecture (cherry on top some endpoint are apikey specific). Don't get me wrong in my opinion this is by far one of the best user roles architecture out there, but writing test cases keeping it in mind is pain in ***.
After trying out different testing methods and frameworks, i decided to write my own class by extending django test framework (which uses unitest)
- It has generator and validators for request and response.
- Supports testing for user roles and permissions.
- We won't have to make any changes to code after user role or permissions changes
- I just have to copy and past request and responses from postman api collection.😂1
Currently debugging a project that was written over 4 years ago...
At first all was well in the world, besides the ever present issue off our goddamn legacy framework. This framework was written 7 years ago on top of an existing open source one, because the existing one was 'lacking some features' & 'did not feel right'.
Now those might be perfectly fine reasons to write a layer on top of a framework, but please, for all future devs sanities, write fucking documentation and maintain it if you're going to use said framework in all major projects!!
Anyhow back to the situation at hand, I'm getting familiar with the project, sighing at the use of our stupid legacy framework, attempting to recreate the reported bugs...
Turns out I can't, well I get other bugs & errors, but not the reported ones. I go to the production server, where I suddenly do can reproduce them...
Already thinking, fuck my life, and scared for the results... I try a 'git status' on the production server....
And yep, there it is, lo and behold, fucking changes on production, that are not in git, fuck you previous dev who worked on this and your stupid lazy ass modifcations on production!
Bleh, already feeling royally pissed, there's only 1 thing I can do, push changes back to git in a seperate branch, and pray I can merge them back in master on my dev environment without to much issues...
Only I first have to get our sysadmi. to allow pushing from a production server back to our git server...
Sigh, going to put on my headphones, retreat to my me space and try to sort out this shitpile now...
Working for a company using Cobol > CGI > PHP > MySQL > Django, and once again another custom rolled framework with no documentation in PHP. Basically no desire, haha.
The disappointment when you find an awesome new framework, only to learn that it uses a custom made variant of Python for logic scripting...
Laid the foundation and got a patent application for a custom Enterprise PHP framework that interacts with all of the big chat AI api's and can communicate with the outside world as IVR, SMS, Webchat, etc. Had corporate guidance but a lot of leeway and was the sole developer for a full year of the project. I've since left the company and they expanded the team and are soon to go to production with it.
Really need to make it a habit to read every single piece of documentation and included read me file for a plugin and framework that I'm using even if they essentially say the exact same thing...wasted so much time just to find out I literally needed 1 line of js instead of all kinds of custom code -_-
I've heard django is really good, but I've never used it despite knowing python.
Dart is supposed to be really good, but I have no idea how to use it. Plus, can you run this on the server?
I would like to use dart as its syntax and semantics seem to be very nice. Is crystal a viable option?5
Best way to approach updatable custom cms?
I currently have to work with an old cakePHP 1.3 cms tailored for a specific customers. The guy I'm doing development for wants to upgrade and move to another framework and create a new cms. Because this is such a niche specific cms we want to add ability to update the cms from the admin panel, over the air - there are 70-100+ websites at all times up and running and updating them manually is not viable. And probably have modules that would be separate but easily installable from the admin panel. Whats the best approach here? Any good examples already working in the wild? First thing that popped into my mind is opencart with the ocmod for custom mods, the problem being updates for it.3
Is there any stable Node.js framework that is convention based? My problem is everytime I begin a new project I have to think of the folder structure, packages to use etc. I looked into AdonisJS which seems to be what I need but then there are so many opinions on the internet regarding how it uses custom require mechanism instead of going ES6 style modules and how it is small and this will be no future proof . Tried Next.js and there seems to be steep learning curve. Any advices?2
I recently started working on laravel. As the community says it was easy to get along with the framework and its methodologies. But then i had to do multiple login with framework in same domain.
Oh man, i spent a week to make it work. All those guards and middlewares realted to login was driving me crazy. The concept was clear, but somehow the framework was like "You! I shall make you spend a week for my satisfaction". The project demo was nearing and i was doing all kind of stuff i found. Atlast after continous tries it worked. Never in my 4+ years as a developer i had to face such an issue with login.
So here is how it works,if anyone faces the same issue:
(This case is beneficial if you're using table structures different from default laravel auth table structures)
1. Define the guards for each in auth.php
'users' => [
'driver' => 'session',
'provider' => 'users',
'client' => [
'driver' => 'session',
'provider' => 'client',
'admin' => [
'driver' => 'session',
'provider' => 'admins',
2. Define providers for each guards in auth.php
'users' => [
'driver' => 'eloquent',
'model' => <Model Namespace>::class,
'table' => '<table name>', //Optional. You can define it in the model also
'admins' => [
'driver' => 'eloquent',
'model' => <Model Namespace>::class,
'client' => [
'driver' => 'eloquent',
'model' => <Model Namespace>::class,
Similarly you can define passwords for resetting passwords in auth.php
3. Edit login controller in app/Http/Controller/Auth folder accordingly
a. Usually this particular line of code is used for authentication
Auth::guard('<guard name>')->attempt(['email' => $request->email, 'password' => $request->password]);
b. If above mentioned method doesn't work, You can directly login using login method
$user = <model namespace>::where([
'username' => $request->username,
'password' => md5($request->password),
4. If you're using custom build table to store user details, then you should adjust the model for that particular table accordingly. NOTE: The model extends Authenticatable
class <model name> extends Authenticatable
protected $table = "<table name>";
protected $guard = '<guard name>';
protected $fillable = [
'name' , 'username' , 'email' , 'password'
protected $hidden = [
//Below changes are optional, according to your need
public $timestamps = false;
const CREATED_AT = 'created_time';
const UPDATED_AT = 'updated_time';
//To get your custom id field, in this case username
public function getId()
5. Create login views according to the user types you required
6. Update the RedirectIfAuthenticated middleware for auth redirections after login
7. Make sure to not use the default laravel Auth routes. This may cause some inconsistancy in workflow
The laravel version which i worked on and the solution is for is Laravel 6.x1
When you need that one feature from a framework, that it just not have. So you have to use a custom version till your PR has been accepted.
I see a possible problematic future...
The worst tech I've been working on is not related to a programming language, is more about the codebase itself.
One of them was in .net, the guy reinvented the wheel creating a custom mvc framework and a custom entity framework, copying from cakephp models, was disgusting and felt terribly wrong to work with.
Then I moved to an old cms written in php on top of an old version of cakephp, that was a nightmare too. Fat controllers and a disgusting db schema, no coding standards whatsoever. Everything so deeply convoluted and connected that was impossible to change something without breaking something else.
The technology itself is never the worst thing, people who thinks they are the best ninja developers, are the real problem imho, and the code they leave behind speaks for them. Yuck
I was tweaking with Flutter lately and pushed an app to the stores, the framework looks promising. So I wanted to do some contributions.
If you talk about create chat app with flutter, all you’ll find there is some firebase tutorials (Google is pushing it so hard).
I want an on-promise solution, so I used MQTT protocol to use it as chat protocol (with custom extension) and I created Flutter client for that. I am really happy for the concept, it shows some real strengths and could be a thing, so here I am sharing the repository here.
Any feedback will be welcomed.