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 - "play framework"
-
After listening to two of our senior devs play ping pong with a new member of our team for TWO DAYS!
DevA: "Try this.."
Junior: "Didn't work"
DevB: "Try that .."
Junior: "Still not working"
I ask..
Me:"What is the problem?"
Few ums...uhs..awkward seconds of silence
Junior: "App is really slow. Takes several seconds to launch and searching either crashes or takes a really long time."
DevA: "We've isolated the issue with Entity Framework. That application was written back when we used VS2010. Since that application isn't used very often, no one has had to update it since."
DevB: "Weird part is the app takes up over 3 gigs of ram. Its obviously a caching issue. We might have to open up a ticket with Microsoft."
Me: "Or remove EF and use ADO."
DevB: "That would be way too much work. The app is supposed to be fully deprecated and replaced this year."
Me: "Three of you for the past two days seems like a lot of work. If EF is the problem, you remove EF."
DevA: "The solution is way too complicated for that. There are 5 projects and 3 of those have circular dependencies. Its a mess."
DevB: "No fracking kidding...if it were written correctly the first time. There aren't even any fracking tests."
Me:"Pretty sure there are only two tables involved, maybe 3 stored procedures. A simple CRUD app like this should be fairly straight forward."
DevB: "Can't re-write the application, company won't allow it. A redesign of this magnitute could take months. If we can't fix the LINQ query, we'll going to have the DBAs change the structures to make the application faster. I don't see any other way."
Holy frack...he didn't just say that.
Over my lunch hour, I strip down the WPF application to the basics (too much to write about, but the included projects only had one or two files), and created an integration test for refactoring the data access to use ADO. After all the tests and EF removed, the app starts up instantly and searches are also instant. Didn't click through all the UI, but the basics worked.
Sat with Junior, pointed out my changes (the 'why' behind the 'what') ...and he how he could write unit tests around the ViewModel behavior in the UI (and making any changes to the data access as needed).
Today's standup:
Junior: "Employee app is fixed. Had some help removing Entity Framework and how it starts up fast and and searches are instant. Going to write unit tests today to verify the UI behaivor. I'll be able to deploy the application tomorrow."
DevA: "What?! No way! You did all that yesterday?"
Me: "I removed the Entity Framework over my lunch hour. Like I said, its basic CRUD and mostly in stored procedures. All the data points are covered by integration tests, but didn't have time for the unit tests. It's likely I broke some UI behavior, but the unit tests should catch those."
DevB: "I was going to do that today. I knew taking out Entity Framework wouldn't be a big deal."
Holy fracking frack. You fracking lying SOB. Deeeep breath...ahhh...thanks devRant. Flame thrower event diverted.13 -
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?"
Last Friday:
=========
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*"
Today:
=====
Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."24 -
Chrome, Firefox, and yes even you Opera, Falkon, Midori and Luakit. We need to talk, and all readers should grab a seat and prepare for some reality checks when their favorite web browsers are in this list.
I've tried literally all of them, in search for a lightweight (read: not ridiculously bloated) web browser. None of them fit the bill.
Yes Midori, you get a couple of bonus points for being the most lightweight. Luakit however.. as much as I like vim in my terminal, I do not want it in a graphical application. Not to mention that just like all the others you just use webkit2gtk, and therefore are just as bloated as all the others. Lightweight my ass! But programmable with Lua, woo! Not like Selenium, Chrome headless, ... does that for any browser. And that's it for the unique features as far as I'm concerned. One is slow, single-threaded and lightweight-ish (Midori) and another has vim keybindings in an application that shouldn't (Luakit).
Pretty much all of them use webkit2gtk as their engine, and pretty much all of them launch a separate process for each tab. People say this is more secure, but I have serious doubts about that. You're still running all these processes as the same user, and they all have full access to the X server they run under (this is also a criticism against user separation on a single X session in general). The only thing it protects against is a website crashing the browser, where only that tab and its process would go down. Which.. you know.. should a webpage even be able to do that?
But what annoys me the most is the sheer amount of memory that all of these take. With all due respect all of you browsers, I am not quite prepared to give 8 fucking gigabytes - half the memory in this whole box! - just for a dozen or so tabs. I shouldn't have to move my web browser to another lesser used 16GB box, just to prevent this one from going into fucking swap from a dozen tabs. And before someone has a go at the add-ons, there's 4 installed and that's it. None of them are even close to this complete and utter memory clusterfuck. It's the process separation. Each process consumes half a GB of memory, and there's around a dozen of them in a usual browsing session. THAT is the real problem. And I want to get rid of it.
Browsers are at their pinnacle of fucked up in my opinion, literally to the point where I'm seriously considering elinks. Being a sysadmin, I already live my daily life in terminals anyway. As such I also do have resources. But because of that I also associate every process with its cost to run it, in terms of resources required. Web browsers are easily at the top of the list.
I want to put 8GB into perspective. You can store nearly 2 entire DVD movies in that memory. However media players used to play them (such as SMPlayer) obviously don't do that. They use 60-80MB on average to play the whole movie. They also require far less processing power than YouTube in a web browser does, even when you download that exact same video with youtube-dl (either streamed within the media player or externally). That is what an application should be.
Let's talk a bit about these "complicated" websites as well. I hate to break it to you framework web devs, but you're a dime a dozen. The competition is high between web devs for that exact reason. And websites are not complicated. The document itself is plain old HTML, yes even if your framework converts to it in the background. That's the skeleton of your document, where I would draw a parallel with documents in office suites that are more or less written in XML. CSS.. oh yes, markup. Embolden that shit, yes please! And JavaScript.. oh yes, that pile of shit that's been designed in half a day, and has a framework called fucking isEven (which does exactly what it says on the tin, modulo 2 be damned). Fancy some macros in your text editor? Yes, same shit, different pile.
Imagine your text editor being as bloated as a web browser. Imagine it being prone to crashing tabs like a web browser. Imagine it being so ridiculously slow to get anything done in your productivity suite. But it's just the usual with web browsers, isn't it? Maybe Gopher wasn't such a bad idea after all... Oh and give me another update where I have to restart the browser when I commit the heinous act of opening another tab, just because you had to update your fucking CA certs again. Yes please!19 -
The sales team sold a project using our 'innovative framework', which had 'prebuilt components', which we 'only needed to plug n play' with a 10 week deadline. Of course, the framework didn't exist. Guess who was the lucky guy who had to create the framework AND finish the project in 10 weeks? fml...7
-
Second intro to programming class we remade tetris, it was incredible
I probably spent more time making graphics than coding, but I also coded a mini graphics framework for the game
We additionally made incrediblly addictive modifications to the game, it's still super fun to play
We also barely had the knowledge we needed to code it, but I'm still super proud of it5 -
I want a boring software developer job. I’ve been working for software consulting companies since the beginning. And is just so stressful. Clients always ranting, the need to always be in the cutting edge, or even the complete opposite. There’s always pressure to get certified in X o Y. I don’t want that anymore. I don’t want to be constantly catching up with the latest stack or framework. I want a boring job. A slow-paced job maybe maintain some old hunk of software that does not give too much trouble. I’m tired of putting down fires all the time. Of running against the clock to deliver a meaningless app. Because all this apps don’t contribute to anything in the world. Just more clutter, more bloat. I just want to work 8 to 5 and be done with it. Just throw myself in the couch after it and play some games. Maybe do some gardening. Or bread. I love bread. Don’t you love bread?7
-
How the Common Lisp Community will eventually die soon:
Clojure is the only main Lisp dialect having some sort of heavy presence in today's modern development world. Yes, I am aware of other(if not all) environments in which Lisp or a dialect of it is being used for multiple things, CADLisp, Guile Scheme, Racket, etc etc whatever. I know.
Not only is Clojure present in the JVM(I give 0 fucks about whether you like it or not also) but also has compilation targets for Javascript via Clojurescript. This means that i can effectively target backend server operations, damn near everything inside of the JVM and also the browser.
Yet, there is no real point in using Lisp or Clojure other than for pure academic endeavours, for which it is not even a pure functional programming language, you would be better served learning something else if you want true functional purity. But also because examples for one of the major areas in software development, mainly web, are really lacking, like, lacking bad, as in, so bad most examples are few in between and there is no interest in making it target complete beginners or anything of the like.
But my biggest fucking gripe with Lisp as a whole, specifically Common Lisp, is how monstrously outdated the documentation you can find available for it is.
Say for example, aesthetics, these play a large role, a developer(web mostly) used to the attention to detail placed by the Rails community, the Laravel community, django, etc etc would find on documentation that came straight from the 90s. There is no passion for design, no attention to detail, it makes it look hacky and abandoned. Everything in Lisp looks so severely abandoned for which the most abundant pool of resources are not even made present on a fully general purpose language constrained as a scripting environment for a text editor: Emacs with Emacs Lisp which I reckon is about the most used Lisp dialect in the planet, even more so than Clojure or Common Lisp.
I just want the language to be made popular again y'know? To have a killer app or framework for it much like there is Rails for Ruby, Phoenix for Elixir, etc etc. But unless I get some serious hacking done to bring about the level of maturity of those frameworks(which I won't nor I believe I can) then it will always remain a niche language with funny syntax.
To be honest I am phasing away my use of Clojure in place of Pharo. I just hate seeing how much the Lisp community does in an effort to keep shit as obscure and far away from the reach of new developers as possible. I also DESPISE reading other Lisp developer's code. Far too fucking dense and clever for anyone other than the original developer to read and add to. The idea that Lisp allows for read only code is far too real man.
Lisp has been DED for a while, and the zombies that remain will soon disappear because the community was too busy playing circle jerks for anything real to be done with it. Even as the original language of AI it has been severely outshined by the likes of Python, R and Scala, shit, even Javascript has more presence in AI than Lisp does now a days.9 -
Several years ago, I heard from a friend who was doing assignments for students on the side. Quite a hustle. His story began when he wanted to figure out why can't these students be able to draw their own database tables, relationships, UML, etc. That's what school has to be teaching them and then he was told that they were learning through MS Access. He goes and tell me that even though this is a lame way of teaching database design, its definitely easier to explain through hands-on and less typing mistakes, as according to the lecturer he met. Making the explanation more visually appealing and helpful for understanding.
OK I get it, but somehow that taught them the wrong way of database design from the beginning. I'd prefer getting them to start writing SQL commands from day 1 and play em at some DB VM. Keep em as real as it gets.
Now I have my own students asking for help in their assignment and also asked for tutoring lessons in web development. So I gave them the crash course in HTML, CSS and Javascript. I've asked them if they've used anything of what I taught them in school. They go and tell me that they've been taught web development through Wordpress. Oh WTF!? I havn't talked to their lecturer yet but it better be a really good explanation to teach these youngsters in a flawed and bloated PHP CMS framework for "web development".2 -
I think I need some "programming detox", a couple weeks away from any kind of software development. It's just not fun anymore, I have lost my drive, I'm lazy to learn new stuff, I never finish my projects, I don't even know if I enjoy web development anymore.
Actually, I'm kind of lost on what to do with my life.
I don't want to become a full time web developer because it's boring, it's always the same shit: write frontend with some sort of framework, design database, write backend, rinse and repeat. There's nothing new, all projects seem to have the same requirements.
I don't want to get into machine learning and whatnot because it's a lot of math and theory, I like math but idk if I would like doing that all day. Same goes for basically anything related to research.
Low level stuff: on paper I like it, it's interesting, but I'm too lazy to learn and whenever I come up with a robotics project I end up making a shopping list and forgetting about it because either 1) stuff is too expensive or 2) I can't make the parts I want without spending a lot of money on tools. Also from what I can see in school, VHDL is boring af.
I just don't know what I like anymore, nothing gets me excited, not even video games. I used to like csgo but I just suck at it and I only play it because there's nothing else to play and deep down I still have a little bit of hope of becoming a decent player, even though I know I never will.
I just don't know what I want out of life. Sometimes I just like having tons of school assignments (especially calculus ones) just to keep me busy.8 -
I'm really not sure. When I was 7-8 years old, I liked to view source in IE, then I somehow managed to use Javascript in the browser. First only some dumb opening of windows. And I liked Batch, so I made some files for copying, backup and stuff.
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 -
What is worse than React native? A crash in flutter ....
They need to work on their stack trace all it's errors lead to framework assertion failed, but which fucker in my code caused it....
No one knows, time to play cat and mouse with this thing 😒3 -
Well this is the thing. I have been starting to replace a lot of my shit with Golang. I think it is a great language because of one small fact: it is a boring language.
With this I don't mean that it is not incredibly fun to use. It is and honestly I feel that a lot of the concepts that I had from C passed quite nicely with some additions. The language does not do anything special and there is no elegant code. It works in a very procedural fashion without taking into consideration any of the snazzy things found in JS, Python, c# etc etc. Interfaces and struct make sense to me, way more than oop does in other languages. I don't need generics with the use of interface parameters and I have hadly found a situation in which I have to strive too far away from the way things are done with Go to be happy with it, then again my projects are not hard or by any means groundbreaking (most of them deal with logistics or content management and a couple of financial apps that I am rewriting in Go from work)
The outcome is fast and easy to read since idiomatic go is for the most part very readable(no people...single letter variable names are by no means a standard and they should feel ashamed from it)
I miss the idea of a framework, but not so much and the docs and internal code for Go is just way top inviting. I believe the code to be readable enough than anyone that has gotten used to the syntax and ideas of the language can just jump in and start learning. This is the first language that I have learnt from studying the code as it is inside of the standard lib, the same I cannot say for any other language or framework.
Also, it play beautifully nice with vs code.
I dunno man, I feel that I am doing something wrong. I have projects built in Node, php, python, ruby and spring java as well as .net core and I still find Golang way more appealing simply because it goes harder than Python with "one preferred way" to do things.
The lang does not make me feel like a pro, i certainly develop in it at pro speeds, but it was made with beginners in mind to built fast and concurrent apps, with the most minimal syntax possible.
I guess my gripe with it is that it gets shunned from this, saying that it ignored years of lang research to make it as dumbed down as possible. Which it did, lack of generics amongst other things certainly make it seem like, but I will not say that it was poorly designed. Not at all, I believe it is a testament of amazing engineering. To be able to create such a simple yet amazingly powerful language.
Wish there were more to it. Wish there was a nice gui lib or a ml framework comparable to the ones offered by python and java. But I guess such things will come with time.
I feel stupid with this language.
And that is fine.5 -
This little game took me like 2h of development, it's build without any framework whatsoever.
It is based on my memory of a very old game my brothers used to play on DOS, it was used to teach how to type superfast
Little details on how this works: the inputs at the bottom are programmed to be used with keys (only letters), ENTER and TAB, no need to use mouse in this game to move around, just hit tab to move to next, hit enter to confirm what you typed.
I know I should upgrade this to use a list of actual words instead of just random letters, but never wanted to actually work on it again.
http://examcopy.altervista.org/apps...
I highly recommend trying it on a PC, also contains Ads, not invasive, tho
Other games I developed:
http://stefagna.altervista.org/swis...
http://examcopy.altervista.org/apps...
Note: PLEASE, DON'T GO TO THE HOMEPAGE OF THESE WEBSITES, they're kind of NSFW4 -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
!rant.
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 -
I really love Django, but I feel like Python is not object oriented enough. I'm thinking about Play (the Java web framework). Any other suggestions?10
-
Anyone know how to go about unit testing an application that is made up of:
- Electron
- Node
- React
- Typescript
(React using Typescript of course).
Electron has its own framework (Spectron), people seem to use Mocha with Node, React has its own tools like React testing library (and testing UI components will probably end me) and Typescript seems to play best with Jest - but a special Typescript flavour of Jest called ts-jest is preferable because the only other option is having Babel and its Typescript support that doesn't type check.
I want to beg for the sweet release of death.4 -
Why do I see so many developers in the game community asking if a <insert tool> is usable for making a game? (I see it a bit here too for language and framework suggestions.)
Then I started thinking that these people either don't know what they want to do or they don't research the tools to find out what the capabilities are. Yes a certain percentage don't have a clue and are asking out of complete nativity.
However, as a developer I have always looked into features I think I need and base decisions on that. Often times spending a couple of days to play with the tool. Learn by doing.
Then I got a bit philosophical. Are the people asking these questions because their value system is based upon collectivism rather than merit? They will be in for a rude awakening when they cannot finish a project on time or at all when a feature is not there.
I get it on some level though. Sometimes we gotta know if something is complete shit.3 -
Apart from the fact that I arrived at a good framework at work to play in problem space than in solution space, this post is more about self realisation and a slight progress in my happiness levels.
Monsoons started in India. The vibe somehow had always been melancholic for me triggering SAD (aka seasonal depression).
However, this year I find it cosier than ever. Hot showers, lazing around on a holiday when it's pouring outside, watching my favourite show/movie. I feel very relaxed in the moment, even when work and life is not as expected/under control.
What I realised is that my problem can be solved. I need a bigger house. That would give me privacy, some personal space for hobbies, and put a barrier between me and parents easing the tension and clashes. I could then get married, and with all the money I will save (from not buying a house myself), can be used to pursue hobbies like music, art, travel, etc.
Whenever I relax, my sleep pattern changes where I have longer duration of deep sleep with many dreams (perhaps processing everything). Does anyone else experience such a phenomenon?
Anyway, life doesn't get easy or hard, we just learn to put up with shit.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 -
That feeling when you're applying for your first programming job.
And the knife stabs of nerves in your gut fearfully remind the coiled muscles in your sweaty brow of the singular possibility: what if I bullshit my way by the HR filter into this job and it turns out I was completely wrong, and I encounter a bug that my meager coding abilities really can't fix?
"Writing an interpreter in some community college you dropped out of ten years ago" doesn't mean you're a programmer.
"Figuring out where the bug was in a broken bat file that was pages long, for a language and framework you've never used, for a library nobody uses anymore", doesn't count as debugging.
"Writing a tweening library in an obscure tool" doesn't mean you're an expert. This is childs play.
What if they ask about big O? Do you admit that logarithms confuse the fuck out of you because you dropped out in 8th grade and got your GED later on due to being kicked out by your meth head dad?
What if being able to write a few measly cobbled together half-arsed estimate tools in python doesn't really mean you're qualified to do anything?
What if being able to look at code in languages you've never seen and grok it doesn't mean shit?
What if you've used more languages than you can remember?
What if you once lost a job offer casually given because the guy you built rapport with over months made a joke about browsers, and you joked about using internet explorer?
What if you got a job offer from a consultant friend one time and he asked you to write validation and testing code in javascript for amazon's cloud, and you completely screwed the pooch because you spent the entire time thinking you had to make it *work* and not just *look* correct, when all along he just wanted what amounted to *correct looking* code, and your gut had told you the same, but you ignored it, because the world can't possibly work like that, where people give anyone a chance or the benefit of the doubt, and any slip up or shortcoming means you were never really worthy to begin with.
What if you thought you could, but you'd been raised your entire life to *believe* you couldn't?3 -
When, after a schoolday filled with pain in the ass java play framework, you get home and sit down to stream som tv from Swedens publicerad service network.. the streaming logo appear and the ptsd is real.1
-
So I have some android device experience as well as scala with Play framework and someone has asked if I can build them and android and iOS for their business. Mainly information with a few tools for using their companies methodologies. I have never created an iOS app before only Android.
So my question is what should I do, write both natively or do hybrid using PhoneGap or alike (recommendations welcome)3 -
I have this sbt test that keeps failing on CI. Locally it works fine but soon as it goes through circle CI, shit gets fucked. Now when I incessantly keep rerunning the working flow without any change, it eventually passes and I am able to deploy. I have no idea wtf is happening or what to do about it. Isn't containerizatiom supposed to solve this whole worked on my machine conundrum? I am too unenthusiastic and numb to even feel anyway about this. Wish everything would end.5
-
So I am currently updating a application from play framework version 2.5 to 2.6 and am working through all the dependency updates... I feel like I am playing whack a mole.
and now there are suddenly ClassNotFoundExceptions because the classes are not in the same classloader as before and the access over reflection doesn't work anymore.
Anyone got some tips why the classloader is differing?
I think it might be because some dependency conflicts or such. -
I need some recommendation for Web UI components framework which could be relativity easily integrated/used on Play framework web application.
Something like Primefaces or old Richfaces (but those are for JSF).
Thanks in advance. :)2 -
Wasted over two hours today on a stupid bug: for some reason, every event was handled two times on my local machine.
Why? Because although all services are readonly after instantiation, the EventDispatcher isn't: it is modified when registering event handlers. Meaning the very same instance of the actual EventSubscriber was reused for the async- and sync event dispatcher. Which are just simple wrappers for primary and secondary use cases, but use the _same_ instance of the actual EventSubscriber in my dev-environment as I now know.
Thankfully a shallow clone did the trick. Of course it would be possible to simply create a new instance, but this is one of the few services which are autoconfigured by the framework.
Don't know what to make of this to be honest. "Play stupid games, win stupid prizes!" I guess... -
Feminism is Harmful to Society
Feminism may be defined as an activity aimed at preserving women’s rights and interests. The initial objective of the movement was to aid women play an equal role in a mainly male society. However, with time, the idea of equality of sexes has transformed into a battle where feminists intend to outdo men. Such toxic metamorphoses have made feminism dangerous to the society.
The ideology of the modern feminism falsely positions women as victims. Women, just as men, are capable of making competent decisions in accordance with their wishes individually and do not require extra advantages. Treating females as the oppressed gender encourages women to put the blame for any intellectual or physical challenge either at work or study on a male will. Such impact of feminism leads to the formal recognition of women as a victimized class and triggers a shift in the legal framework towards one of the sexes.
Unfortunately, men have to face one of the most unpleasant effects of feminism. The idea popularized by some feminists is that the latter are the worthless accessories in a woman’s life. Radical feminism has affected the law system. For instance, after separation, fathers are regarded as sponsors of their children. The incapability to fulfill the obligation leads to severe implications such as the loss of the driver’s license and examination of income tax return. On the contrary, there is no requirement for the mothers even to provide fathers with access to the children.
Finally, feminism badly affects families. With time, the initial principles of feminism were lost. Radical transformations of ideology took place in the 1960s and 1970s when the “Women’s Liberation” movement enjoyed vogue. The proponents of the movement approved sexual affairs outside marriage neglecting the core family values. Therefore, the lifestyle promoted by feminists is barely suitable for raising children.
Women have experienced numerous forms of institutionalized discrimination in different times and various cultural environments. This is a bitter but indisputable truth. However, in the race for the revenge, feminism has radicalized and deviated from its high aspirations. Modern feminism breeds hatred against men and destroys families thus being harmful to society.
Written by Emily Stafford, the best writer at https://perfectessaysonline.com/