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 - "dynamically"
-
!rant
My cousin on 12 was watching me edit my site and asked if he can do it too.
Two hours later he comes running to me with a twinkle in his eye to show of his creation. He made a simple html site with buttons and checkboxes and what not.
Now he is learning JS and getting frustrated because it is not adding HTML snippets dynamically...
I am a proud brother :]6 -
I’m surrounded by idiots.
I’m continually reminded of that fact, but today I found something that really drives that point home.
Gather ‘round, everybody, it’s story time!
While working on a slow query ticket, I perused the code, finding several causes, and decided to run git blame on the files to see what dummy authored the mental diarrhea currently befouling my screen. As it turns out, the entire feature was written by mister legendary Apple golden boy “Finder’s Keeper” dev himself.
To give you the full scope of this mess, let me start at the frontend and work my way backward.
He wrote a javascript method that tracks whatever row was/is under the mouse in a table and dynamically removes/adds a “.row_selected” class on it. At least the js uses events (jQuery…) instead of a `setTimeout()` so it could be worse. But still, has he never heard of :hover? The function literally does nothing else, and the `selectedRow` var he stores the element reference in isn’t used elsewhere.
This function allows the user to better see the rows in the API Calls table, for which there is a also search feature — the very thing I’m tasked with fixing.
It’s worth noting that above the search feature are two inputs for a date range, with some helpful links like “last week” and “last month” … and “All”. It’s also worth noting that this table is for displaying search results of all the API requests and their responses for a given merchant… this table is enormous.
This search field for this table queries the backend on every character the user types. There’s no debouncing, no submit event, etc., so it triggers on every keystroke. The actual request runs through a layer of abstraction to parse out and log the user-entered date range, figure out where the request came from, and to map out some column names or add additional ones. It also does some hard to follow (and amazingly not injectable) orm condition building. It’s a mess of functional ugly.
The important columns in the table this query ultimately searches are not indexed, despite it only looking for “create_order” records — the largest of twenty-some types in the table. It also uses partial text matching (again: on. every. single. keystroke.) across two varchar(255)s that only ever hold <16 chars — and of which users only ever care about one at a time. After all of this, it filters the results based on some uncommented regexes, and worst of all: instead of fetching only one page’s worth of results like you’d expect, it fetches all of them at once and then discards what isn’t included by the paginator. So not only is this a guaranteed full table scan with partial text matching for every query (over millions to hundreds of millions of records), it’s that same full table scan for every single keystroke while the user types, and all but 25 records (user-selectable) get discarded — and then requeried when the user looks at the next page of results.
What the bloody fucking hell? I’d swear this idiot is an intern, but his code does (amazingly) actually work.
No wonder this search field nearly crashed one of the servers when someone actually tried using it.
Asdfajsdfk.rant fucking moron even when taking down the server hey bob pass me all the paperclips mysql murder terrible code slow query idiot can do no wrong but he’s the golden boy idiots repeatedly murdered mysql in the face21 -
!!fml
"Root, go fix this bug. It'll take you two days."
The "bug" is a feature that was never implemented for one particular payment type.
The code in question is two years old, full of typos, smells, junior-isms, and is convoluted AF. The feature's commit touched 190 files and implemented many other features as well. Thus far, I have been unable to narrow down where this particular feature's code lives for the other payment types, nor which code or payment paths lead to it. Burned out, I can barely focus on the screen, let alone follow its many twisting and dynamically-inferred paths. I hint as to the ticket's scavenger hunt nature during standup.
"But I wrote comments on the ticket telling you exactly where to look to fix it," Thundercunt admonishes in front of the team.
"Sure, you did," Root replies. "You reworded what the original dev had said in the comments 20 minutes prior, and agreed with him. His comments were helpful, but it doesn't tell me how any of it works," she continues.
TC scoffs and closes the meeting.
Root stares blankly, seeing neither code nor screen, questions her life decisions, and recalls the previous tickets she has worked on: nearly every one of them busywork, fixing other people's bugs. Bugs she never could have gotten away with if she tried.
"Why do I put up with this?" She asks. "They don't care, and it's killing me."
But the bills remain, and so must she.
"Fuck my life" she finally decides.20 -
FUCK YOU AND YOUR FUCKING CUSTOMIZABLE, HALF-MODULAR, MULTILINGUAL, DYNAMICALLY-AUTOUPDATING PAINTBRUSH / CARPENTER / SANDWICH CUTTER / ALARM CLOCK DECEPTICON WITH OPTIONAL SCREWDRIVER ATTACHMENT!
IT WAS SUPPOSED TO BE A SIMPLE FUCKING SCREWDRIVER!
FUCK YOU AND YOUR ENTIRE FUCKING EXISTENCE YOU USELESS FUCK!8 -
So at the beginning there was assembly.
But people wanted something more highlevel, so C was born.
But writing big projects was a pain so C++ was invented.
But then the web started to become more popular and C++ wasn‘t really good at that, so Rasmus Lerdorf created PHP.
And then everything moved to the client and should be loaded dynamically for better UX, so everyone writes JS.
But JS doesn‘t have a good performance, so people created web assembly compiled from C...
Am i the only one who sees the irony in this?7 -
Friend: dude, JavaScript seems awesome. It looks so easy and there aren't any annoying compiler errors like in Java
Me: I know it sounds cool in theory, but it sucks in practice, trust me
Friend: no way, dynamically typed languages are the future
*Friend installs node*
*Friend writes a simple script*
*Friend gets undefined errors because of a few typos and has a hard time debugging it*
Friend: JavaScript is retarded
-_-13 -
I’m a .NET desktop fullstack dev these days… Never worked web unless for my own small needs/personal projects.
I started using tech one way or the other by the time windows was version 3.1 and been through quite a bit ground-breaking changes in the industry of software development and the internet but if there’s one thing I cannot understand of it all, no matter how much thought I put into it is: How the fuck did we manage to make it so fucking complicated to develop anything these days?
I remember like it was yesterday that you could stand a website with HTML, CSS and JS, three fucking files and you’ve made yourself a single page site. Then came the word “Responsive”, “Responsive” written everywhere. Fair enough, grid system popped up. All of the sudden jQuery was summoned… and everything that happened after this point has been a fucking circus of high-pitched teens talking on conferences about fucking libraries and frameworks to make integration with real time, highly scalable, eco-friendly, serverless, data driven, genome aware, genderless, quantum technologies to interact with bio dynamically generated organisms, namely fucking users.
Every fucking bit of the process of building a mobile/web application seems to be stopped by yet another incredibly dumb attempt to suicide a developer. Can you go from starting an app and publishing an app without jumping through a thousand VERY specific hoops? No, fuck no.
I fucking hate it… It’s a bit hard to get Desktop dev jobs these days but for as long as I work on IT I will continue to stick to that area, until someone for the love of life comes up with a fucking solution to all this decadent circus of bureaucratic technocracy.
Fuck big industry, fuck tech giants, fuck javascript and webassembly, fuck kids putting ASCII art on console applications that I DON’T FUCKING NEED to install dependencies THAT I DON’T FUCKING NEED to extend functionality on frameworks that I DON’T FUCKING NEED… oh wait, I do need all this because YOU FUCKING MADE IT MANDATORY NOW! FUUUUUUUUUUUUUUUUUUUUUUUCK YOU!!!9 -
MAJOR RANT:
Bug in question: Shortened URLs (that we generate dynamically because fuck you) would have a pipe character added in them, obviously breaking the URL.
I SPENT 3.5 DAYS DEBUGGING A MASSIVE, FRANKENSTEIN-LIKE CODE BASE TO FIND THIS:3 -
So I am running this crypto project that has dynamically generated private keys for a wallet stored in a Redis database. Nowhere else. The keys are generated on the fly.
At the moment of the happening the wallet had over 3.000 USD on it. I am testing new code locally, supposedly on a local Redis DB. Of a sudden, my code wipes the crypto keys and it turns out that I was connected to the live instance. 😱 Better don't ask me how.
Shock of my life. You know, when you turn pale and dark in your eyes, blood stops in your veins and you just want to die? Worst-case scenario that could have happened. All that money lost in crypto space.
Turns out, my good Redis hosting company kept backups for the past 7 days. Keys restored. Happiest moment of my life.4 -
For fucks sake, just because you don't know anything besides JS, you don't have to constantly complain how it's "so fucked up"!
Yeah there's a lot of frameworks. So what? Python has 50+ wsgi frameworks just for server-side apps, Linux has literary hundreds of desktop environments, C++ has over 30 actively-developed UI frameworks, and let's not even get started on CMSs or game engines. And each language comes with its own dependency management or two, NPM discourages static linking & bundling dependencies until the very end, while some others only recommend dynamically linking widely-available dependencies & always bundling the remaining ones.
Software development is constantly evolving, and for most time there's no right or wrong approach. And when one approach is chosen over another, there's a reason for that. Imagine you just found a perfect library for your use case, but some idiot decided to only offer minified code with bundled jQuery? Or a different idiot made it impossible to have multiple versions of a dependency on your system without resorting to one of various third-party hacks?
Every language has a ton of various frameworks & libraries that ultimately do the same thing, every language has a bunch of design choices you probably don't understand at first, and every language was made with a purpose and the fact that you're using it proves it achieved that.
Last but not least, all devs had to learn about quirks in various languages, and they're fucking tired when someone who barely knows a language tries to act smart going "ahaha how the fuck 0.1 + 0.2 isn't 0.3".10 -
Update on UWP File explorer! Exciting stuff first!
Reveal style was applied to the home page grid (That thing in WinX where the borders change color in proximity to the mouse)
Clickable buttons in the title bar! This is the first step to tabs!
Converted a lot of things that were generated dynamically in C# to UserControls in XAML, for easier reading and even improved code-behind options.
Pulled my hair out getting rid of System.IO - System.IO is not made for UWP and stops working in certain situations. Now using Windows.Storage, which is a lot more async. I have gotten much friendlier with the dispatcher.
Pain from the operation is really fading and school doesn't start for a couple days, so I hope to get a beta out before school starts, and more realistically, get the tab system done before school starts.10 -
Am I the only one who, when working with dynamically typed languages, never uses dynamic features? Like, I never change a variable type, and make sure functions will only return one data type?
I just think dynamic types leads to so many bugs6 -
Dynamically typed languages are barbaric to me.
It's pretty much universally understood that programmers program with types in mind (if you have a method that takes a name, it's a string. You don't want a name that's an integer).
Even it you don't like the verbosity of type annotations, that's fine. It adds maybe seconds of time to type, which is neglible in my opinion, but it's a discussion to be had.
If that's the case, use Crystal. It's statically typed, and no type annotations are required (it looks nearly identical to Ruby).
So many errors are fixed by static typing and compilers. I know a person who migrated most of the Python std library to Haskell and found typing errors in it. *In their standard library*. If the developers of Python can't be trusted to avoid simple typing errors with all their unit tests, how can anyone?
Plus, even if unit testing universally guarded against typing errors, why would you prefer that? It takes far less time to add a type annotation (and even less time to write nothing in Crystal), and you get the benefit of knowing types at compile time.
I've had some super weird type experiences in Ruby. You can mock out the return of the type check to be what you want. I've been unit testing in Ruby before, tried mocking a method on a type, didn't work as I expected. Checked the type, it lines up.
Turns out, nested away in some obscure place was a factory that was generating types and masking them as different types because we figured "since it responds to all the same methods, it's practically the same type right?", but not in the unit test. Took 45 minutes on my time when it could've taken ~0 seconds in a statically typed language.11 -
First rant: but I'm so triggered and everyone needs a break from all the EU and PC rants.
It's time to defend JavaScript. That's right, the best frikin language in the universe.
Features:
incredible async code (await/async)
universal support on almost everything connected to the internet
runs on almost all platforms including natively
dynamically interpreted but also internally compiled (like Perl)
gave birth to JSON (you're welcome ppl who remember that the X in AJAX stood for XML)
All these people ranting about JS don't understand that JS isn't frikin magic. It does what it needs to do well.
If you're using it for compute-heavy machine learning, or to maintain a 100k LOC project without Typescript, then why'd you shoot yourself in the foot?
As a proud JS developer I gotta scroll through all these posts gushing over the other languages. Why does nobody rant about using Python for bitcoin mining or Erlang to create a media player?
Cuz if you use the wrong tool for the right job, it's of course gonna blow up in your face.
For example, there was a post claiming JS developers were "scared" of multithreading and only stick in their comfort zone. Like WTF when NodeJS came out everything was multithreaded. It took some brave developers to step out of the comfort zone to embrace the event loop.
For a web app, things like PHP and Node should only be doing light transforms between the database information and HTML anyways. You get one thread to handle the server because you're keeping other threads open to interface with databases and the filesystem. The Nexus.js dev ranting on all us JS devs and doesn't realize that nobody's actual web server is CPU bound because of writing HTML bodies, thats why we only use 1 thread. We use other worker threads to do the heavy lifting (yes there is a C++ bridge look it up)
Anyways TL;DR plz respect JS developers we're people too. ES7 is magic and please don't shit on ES3 or we'll start shitting on the Python 2-3 conversion (need to maintain an outdated binary just cuz people leave out ()'s in their print statements)
Or at least agree that VB.NET is an abomination and insult to the beauty that is TI-84 BASIC13 -
My own personal hell was a html page that had a script tag that called a rest endpoint that sent back a text block of JavaScript that was then dynamically executed to redirect the user to a php 3 page that was the exact same thing as the original page but with an extra bit of css to make the buttons blue and slightly rounded
You can’t make this shit up6 -
I am much too tired to go into details, probably because I left the office at 11:15pm, but I finally finished a feature. It doesn't even sound like a particularly large or complicated feature. It sounds like a simple, 1-2 day feature until you look at it closely.
It took me an entire fucking week. and all the while I was coaching a junior dev who had just picked up Rails and was building something very similar.
It's the model, controller, and UI for creating a parent object along with 0-n child objects, with default children suggestions, a fancy ui including the ability to dynamically add/remove children via buttons. and have the entire happy family save nicely and atomically on the backend. Plus a detailed-but-simple listing for non-technicals including some absolutely nontrivial css acrobatics.
After getting about 90% of everything built and working and beautiful, I learned that Rails does quite a bit of this for you, through `accepts_nested_params_for :collection`. But that requires very specific form input namespacing, and building that out correctly is flipping difficult. It's not like I could find good examples anywhere, either. I looked for hours. I finally found a rails tutorial vide linked from a comment on a SO answer from five years ago, and mashed its oversimplified and dated examples with the newer documentation, and worked around the issues that of course arose from that disasterous paring.
like.
I needed to store a template of the child object markup somewhere, yeah? The video had me trying to store all of the markup in a `data-fields=" "` attrib. wth? I tried storing it as a string and injecting it into javascript, but that didn't work either. parsing errors! yay! good job, you two.
So I ended up storing the markup (rendered from a rails partial) in an html comment of all things, and pulling the markup out of the comment and gsubbing its IDs on document load. This has the annoying effect of preventing me from using html comments in that partial (not that i really use them anyway, but.)
Just.
Every step of the way on building this was another mountain climb.
* singular vs plural naming and routing, and named routes. and dealing with issues arising from existing incorrect pluralization.
* reverse polymorphic relation (child -> x parent)
* The testing suite is incompatible with the new rails6. There is no fix. None. I checked. Nope. Not happening.
* Rails6 randomly and constantly crashes and/or caches random things (including arbitrary code changes) in development mode (and only development mode) when working with multiple databases.
* nested form builders
* styling a fucking checkbox
* Making that checkbox (rather, its label and container div) into a sexy animated slider
* passing data and locals to and between partials
* misleading documentation
* building the partials to be self-contained and reusable
* coercing form builders into namespacing nested html inputs the way Rails expects
* input namespacing redux, now with nested form builders too!
* Figuring out how to generate markup for an empty child when I'm no longer rendering the children myself
* Figuring out where the fuck to put the blank child template markup so it's accessible, has the right namespacing, and is not submitted with everything else
* Figuring out how the fuck to read an html comment with JS
* nested strong params
* nested strong params
* nested fucking strong params
* caching parsed children's data on parent when the whole thing is bloody atomic.
* Converting datetimes from/to milliseconds on save/load
* CSS and bootstrap collisions
* CSS and bootstrap stupidity
* Reinventing the entire multi-child / nested params / atomic creating/updating/deleting feature on my own before discovering Rails can do that for you.
Just.
I am so glad it's working.
I don't even feel relieved. I just feel exhausted.
But it's done.
finally.
and it's done well. It's all self-contained and reusable, it's easy to read, has separate styling and reusable partials, etc. It's a two line copy/paste drop-in for any other model that needs it. Two lines and it just works, and even tells you if you screwed up.
I'm incredibly proud of everything that went into this.
But mostly I'm just incredibly tired.
Time for some well-deserved sleep.7 -
Python. Ok, so it's a really cool language, as a scripting language it's awesome, quick to write.
When it's been used to make full fledged oop programs that you suddenly have to maintain things like duck typing become problematic. Looking at an object fuck knows what methods are available. Worse still when some bastard that thinks he's being clever doesn't bother declaring any object attributes and instead overrides the __set_attr method to dynamically add them as they are used there is no hope for the poor sod that has to maintain it later.
I've also now worked out I'm at least the 3rd person having been given the task of maintaining it, i spent a day changing CLI options wondering why they didn't do anything but occasionally crash the app. I've now found a few thousand lines deep that someone had hard-coded these values because they couldn't work out where to get the CLI args from!
I've gained a new appreciation for nominative, strictly typed languages.11 -
I've been writing a complex mutation engine that dynamically modifies compiled C++ code. Now there's alot of assembly involved, but I got it to work. I finished off writing the last unit test before it was time to port it all to windows. I switched into a release build, ready to bask in the glory of it all. FUCKING GCC OPTIMIZATIONS BROKE EVERYTHING. I had been doing all my dev in debug mode and now some obscure optimization GCC does in release mode is causing a segfault...somewhere. Just when I thought I was done 😅5
-
Clients don't know what they want!
Was handed a detailed report and asked if I could create a webpage to dynamically generate the same thing from our database. Sure its ez ps lemon squeezy.
Simple page and database query. Boom, done. Exactly matched what they gave me.
They ask why some of the data isn't there. Uh well you cunts it wasn't on the original report...so it's not there obviously.1 -
I’m trying to add digit separators to a few amount fields. There’s actually three tickets to do this in various places, and I’m working on the last of them.
I had a nightmare debugging session earlier where literally everything would 404 unless I navigated through the site in a very roundabout way. I never did figure out the cause, but I found a viable workaround. Basically: the house doesn’t exist if you use the front door, but it’s fine if you go through the garden gate, around the back, and crawl in through the side window. After hours of debugging I eventually discovered that if I unlocked the front door with a different key, everything was fine… but nobody else has this problem?
Whatever.
Onto the problem at hand!
I’m trying to add digit separators to some values. I found a way to navigate to the page in question (more difficult than it sounds), and … I don’t know what view is rendering the page. Or what controller. Or how it generates its text.
The URL is encrypted, so I get no clues there. (Which was lead dev’s solution to having scrapeable IDs instead of just, you know, fixing them). The encryption also happens in middleware, so it’s a nightmare to work through. And it’s by the lead dev, so the code is fucking atrocious.
The view… could be one of many, and I don’t even know where they are. Or what layout. Or what partials go into building it.
All of the text on the page are “resources” — think named translations that support plus nested macros. I don’t know their names, and the bits of text I can search for are used fucking everywhere. “Confirmation number” (the most unique of them) turns up 79 matches. “Fee” showed up in 8310 places before my editor gave up looking. Really.
The table displaying the data, which is what I actually care about, isn’t built in JS or markup, but is likely a resource that goes through heavy processing. It gets generated in a controller somewhere (I don’t know the resource name so I can’t find it), and passed through several layers of “dynamic form” abstraction, eventually turned into markup, and rendered as a partial template. At least, that’s how it worked in the previous ticket. I found a resource that looks right, and there’s only the one. I found the nested macros it uses for the amount and total, and added the separators there… only to find that it doesn’t work.
Fucking dead end.
And i have absolutely nothing else to go on.
Page title? “Show”
URL? /~LiolV8N8KrIgaozEgLv93s…
Text? All from macros with unknown names. Can’t really search for it without considerable effort.
Table? Doesn’t work.
Text in the table? doesn’t turn up anything new.
Legal agreement? There are multiple, used in many places, generates them dynamically via (of course) resources, and even looking through the method usages, doesn’t narrow it down very much.
Just.
What the fuck?
Why does this need to be so fucking complicated?
And what genius decided “$100000.00” doesn’t need separators? Right, the lot of them because separators aren’t used ANYWHERE but in code I authored. Like, really? This is fintech. You’d think they would be ubiquitous.
And the sheer amount of abstraction?
Stupid stupid stupid stupid stupid.11 -
20 minutes trying to convince my boss (lead dev) that dynamically create tables on DB based on file name to store uploaded json content isn't a good design approach and he is still convinced that 500 lines will really impact performance that much on one table and that this is the best design...
Based on this approach, he wants to create another table with the user who last modified and the "fk" (not sure if he even knows what this is cause none of the fks here point to anything...) would be the table name... now I know where those hideous tables we have here come from...
Don't know if I laugh or cry...3 -
So this one made me create an account on here...
At work, there's a feature of our application that allows the user to design something (keeping it vague on purpose) and to request a 3D render of their creation.
Working with dynamically positioned objects, textures and such, errors are bound to happen. That's why we implemented a bug report feature.
We have a small team tasked with monitoring the bug reports and taking action upon it, either by fixing a 3D scene, or raising the issue to the dev team.
The other day, a member of that team told me (since I'm part of the dev team) he had received a complain that the image a user received was empty. Strange, we didn't update the code in a while.
So I check the server, all the docker containers are running fine, the code is fine, no errors anywhere.
Then, as I'm scratching my head, that guy comes back to me and says "I don't know if it can help you, but it's been doing it for a week and a half now".
"And we're only hearing about it now?!", I replied.
"Well, I have bug reports going back to the 15th, but we haven't been checking the reports for a while now since everything was fine", he says as if it was actually a normal thing to say.
"How can you know everything is fine if you're not looking at the thing that says if there's an issue?!", I replied with a face filled with despair.
"Well we didn't receive any new reports in a while, so we just stopped looking. And now the report tool window is actually closed on my machine", he says with a smile and a little laugh in his tone.
In the end, I got to fix the server issue quite easily. But still, the feature wasn't working for 1.5 weeks and more that 330 images weren't sent properly...
So yeah, Doctor, the patient's heart is beating again! Let's unplug the monitor, it should be fine.
Welcome to my little piece of hell :)7 -
!rant
I'm a long time Unity3D C# programmer and i mostly build android games for fun. About half a year ago i dumped windows for Debian Linux(fucking love it) but I quickly started to miss my unity3d environment. Unity in a VM doesn't work and the outdated, beta, crash prone linux version doesn't support android so i started looking for an alternative.
I decided to give Godot a shot but moving from a statistically typed language to a dynamically typed one literally breaks my brain. The last couple of hours of reading the documentation pretty much consisted of: WHAT? YOU CAN'T DO THAT! NO. WHAT? WTF IS THAT SYNTAX? oh I think I'm getting it WHAT DO YOU MEAN POINTERS DON'T EXIST!?22 -
One of the most infuriating ideas in software development culture is that you can build maintainable applications without a strictly enforced type system and structured data.
Sure, it's more fun to wack around a dynamically typed system until it works or to write a major application with mutable datastructures... It's a least fun until a few years in and you have to debug an unexpected overwrite or a inconsistent use of an object property or whatever.
Anyone who writes maintainable code eventually figures out that you need rules and procedures, the issue with JavaScript, python, ruby, lisp, etc developers is that they think it's us developers that needs to enforce these rules instead of the compiler (which is infinitely better at it).60 -
University Coding Exam for Specialization Batch:
Q. Write a Program to merge two strings, each can be of at max 25k length.
Wrote the code in C, because fast.
Realized some edge cases don't pass, runtime errors. Proceed on to check the locked code in the Stub. (We only have to write methods, the driver code is pre-written)
Found that the memory for the char Arrays is being allocated dynamically with size 10240.
Rant #1:
Dafuq? What's the point of dynamic Memory Allocation if you're gonna fix it to a certain amount anyway?
Continuing...
Called the Program Incharge, asking him to check the problem and provide a solution. He took 10 minutes to come, meanwhile I wrote the program in Java which cleared all the test cases. <backstory>No University Course on Java yet, learnt it on my own </backstory>
Dude comes, I explain the problem. He asks me to do it in C++ instead coz it uses the string type instead of char array.
I told him that I've already done it in Java.
Him: Do you know Java?
Rant #2:
No you jackass! I did the whole thing in Java without knowing Java, what's wrong with you!2 -
Dynamically typed languages suck. God I hate them
It's like one big clunky free for all. I don't understand how people can work in Python or even JavaScript and tell me that they're good languages with a straight face
Not having proper autocomplete or documentation (a somewhat seperate issue of Python) is a kick in the stomach for productivity.
I've seen people advocate for using EXTERNAL DOCUMENTATION VIEWERS. WHAT
I hate not being able to enforce types so I can reason about little parts of my program. I hate not having an IDE that can actually help me. I hate having to see stupid grep'ed code snippets instead of nicely formatted javadocs. I hate having to double and triple check everything when trying to code. I hate handling effectively opaque values where I don't know anything about the type without looking it up. And I especially hate not knowing what types function parameters need to be.
Dynamic typing doesn't remove types. That, although completely unfeasible, I could respect.
Oh no, the types are still there. Just not for you
It's like solving a jigsaw puzzle with a blindfold on56 -
Doing a code review for a co-worker in a different country
The requirement was to dynamically show a field; they didn't understand it and thus they removed the field.
FML.2 -
I hate it when you get tunnel vision and forget simple solutions exist. Especially when you make yourself sound dumb in doing so.
Spent a bunch of time trying to wrap my head around how you could send data from one website to another and dynamically load content and all this other stuff, only to be told a GET call would make it a lot easier.
With my head in the clouds thinking of complex solutions I said "can you open a new page with a GET call?"
Can you. Open. A new page. With a GET call.
Yes, dumbass, of course you can. Here I am trying to figure out how it's possible to intercept data from a different websites HTTP call to the server and I asked if it's possible to do what ~literally~ a link does.3 -
Javascript.
All devices in the world:
Dev: can you gently copy the content of this dynamically generated <input> element and copy it to the clipboard?
Devices: Sure thing brah!
...
iOS: LOL
(and proposed solution on SO, ridiculous)
https://stackoverflow.com/a/...8 -
TL;DR: Stop using React for EVERYTHING. It's not the end-all solution to every application need.
My team is staffed about 50/50 with tenured devs, and junior devs who have never written a full application and don't understand the specific benefits of different libraries/framworks. As a result, most of these junior devs have jumped on the React train, and they're under the impression that React is the end-all answer to any possible application need. Doesn't matter what type of app is, what kind of data is going to be flowing through the app, data scale, etc. In their eyes, React is always the answer. Now, while I'm not a big fan of React myself, I will say that it does its job when its tasked with a data-heavy application that needs to be refreshed/re-rendered dynamically and frequently (like Facebook.) However, my main gripe is that some people insist on using it for EVERYTHING. They refuse to acknowledge that there can be better library/framework choices (Angular, Vue, or even straight jQuery,) and they refuse to learn any other frameworks. You can hit them with countless technical reasons as to why React isn't a good choice for a particular application, and they'll just spout off the same tidbits from the "ReactJS Makes My Nips Hard 101" handbook: "React is the future," "Component-based web architecture is the future," (I'm not arguing with that last one) "But...JSX bro.," "Facebook and Netflix use it, so that's how you know it's amazing." They'll use React for a simple app, and make it overly-complex, and take months to write something that should have taken them a week. For example, we have one dev who has never used any other frameworks/libraries apart from React, and he used React (via create-react-app) to write what is effectively a single form and a content widget inside of a bootstrap template. It took him 4 MONTHS to write this, and it still isn't fully functioning. The search functionality doesn't really work (in fact, it's just array filtering,) and wont return any results if you search for the first word in an entry. His repo is a mess, filled with a bunch of useless files that were bootstrap'd in via create-react-app. We've built apps like this in a week in the past using different libraries/frameworks, and he could have done the same if he didn't overly-complicate the project by insisting on using React. If your app is essentially a dynamic form, you don’t need a freaking virtual DOM.
This happens every time a big new framework hits the scene. New young developers get sucked into it, because it's the cool hip new framework (or in React's case, library.) and they use it for everything, even when it's not the best choice. It happened with Angular, Rails, and now it's happening with React.
React has its benefits, but please please please consider which library/framework is the best choice from a technical standpoint before immediately jumping on the React train because "Facebook uses it bro."2 -
The lower the level language, the more concerned I am with performance for some reason...irrational I know.
Programming in C: oh no I have this extra if statement which may have to copy the 16 byte struct.
Programming in Python: oh hey I can simplify the logic if I write a class to dynamically build this regex, compile it, and search through a 1MB text file.5 -
Clown manager put three juniors (and ”senior” dev on work visa) on new project.
They will never finish it.
It’s too hard for them with some legacy dynamically created complex database queries which will spook the hell out of them!
But managers like, ”it’s going to be good” and ”making good progress”.
Fuck no! Putting juniors together? With little support? It such a waste. They spent weeks just to get even the slightest progress.
No best practise. No tests. Just hacking away.
It’s a failure of the management! We fail our juniors and they will quit as soon as they get the chance and they feel like they have some wind under their wings.
”It’s going to be good”
Pff. Clowns leading this company.1 -
I forgot to eat today, but I have boiled down the devRant theme system into just a few classes... and the "window" one is redundant-ish
Now that I can dynamically theme Qt widgets, my client will be able to support custom themes, confirmed!2 -
Many people here rant about the dependency hell (rightly so). I'm doing systems programming for quite some time now and it changed my view on what I consider a dependency.
When you build an application you usually have a system you target and some libraries you use that you consider dependencies.
So the system is basically also a dependency (which is abstracted away in the best case by a framework).
What many people forget are standard libraries and runtimes. Things like strlen, memcpy and so on are not available on many smaller systems but you can provide implementations of them easily. Things like malloc are much harder to provide. On some system there is no heap where you could dynamically allocate from so you have to add some static memory to your application and mimic malloc allocating chunks from this static memory. Sometimes you have a heap but you need to acquire the rights to use it first. malloc doesn't provide an interface for this. It just takes it. So you have to acquire the rights and bring them magically to malloc without the actual application code noticing. So even using only the C standard library or the POSIX API can be a hard to satisfy dependency on some systems. Things like the C++ standard library or the Go runtime are often completely unavailable or only rudimentary.
For those of you aiming to write highly portable embedded applications please keep in mind:
- anything except the bare language features is a dependency
- require small and highly abstracted interfaces, e.g. instead of malloc require a pointer and a size to be given to you application instead of your application taking it
- document your ABI well because that's what many people are porting against (and it makes it easier to interface with other languages)2 -
You know what really grinds my gears? When people criticize a programming language but uses edge cases and stuff that can be avoided by using the tried and true "don't be an idiot". Take for instance JavaScript, a language I like and a language that has a lot you can criticize. But I feel like a lot of peoples criticism isn't warranted.
What's that? No ints? Use parseInt or Math.floor.
What are you saying? == works in strange ways? Yes, that's what we have === for.
Type coercion is wonky? Think it's weird how string + int works differently than string - int? Wanna string with number + - + - - + - - etc? Don't! Don't add strings and ints, don't subtract strings and ints. You can't in statically typed languages and you aren't supposed to in dynamically typed
Adding arrays and objects, arrays and arrays, objects and objects etc. is inconsistent? Why are you trying to do that?
Adding floats together gives odd results? Now we're getting somewhere! And Mozilla responded to that with a method called toFixed.
Declaring variables with var doesn't always work that well? Use let and const
Then there's this weird attitude that some people I've met have, where they will complain about the module system and how "well you rely on the community for those packages" as if it's a bad thing. And then coming with the "well you don't know what the (open source) packages do internally" as if I (for the most part) give a shit. Then they'll swear by companies like Zend or Microsoft as if they can't just stop supporting the languages they use. Maybe it's just because I like community content more because of video game mods.
Wanna criticize JS, then there's plenty to talk about. Like the built in date object is basically shit. Or how in NodeJS you can have node_modules in your node_modules. Or how classes don't really have the best syntax. Left-Pad. And so on (it's too late for me to be able to remember much more).1 -
Most successful? Well, this one kinda is...
So I just started working at the company and my manager has a project for me. There are almost no requirements except:
- I want a wireless device that I can put in a box
- I want to be able to know where that device is with enough accuracy to be able to determine in which box the device was put in if multiple boxes were standing together
So, I had to make a real time localization system. RTLS.
A solo project.
Ok, first a lot of experiments. What will the localization technique be? Which radio are we going to use?
How will the communication be structured?
After about two months I had tested a lot, but hadn't found THE solution. So I convinced my manager to try out UWB radio with Time Difference Of Arrival as localization technique. This couldn't be thrown together quickly because it needed more setup.
Two months later I had a working proof of concept. It had a lot of problems because we needed to distribute a clock signal because the radio listeners needed to be sub-nanosecond synchronous to achieve the accuracy my manager wanted. That clock signal wasn't great we later found out.
The results were good enough to continue to work on a prototype.
This time all wired communication would be over ethernet and we'd use PTP to synchronize the time.
Lockdown started.
There was a lot of trouble with getting the radio chip to work on the prototype, ethernet was tricky and the PTP turned out to be not accurate enough. A lot of dev work went into getting everything right.
A year and 5 hardware revisions later I had something that worked pretty well!
All time synchronization was done hybridly on the anchors and server where the best path to the time master was dynamically found.
Everything was synchronized to the subnanosecond. In my bedroom where I had my test setup I achieved an accuracy of about 30cm in 3d. This was awesome!
It was time to order the actual prototype and start testing it for real in one of the factory halls.
The order was made for 40 anchors and an appointment was made for the installation in the hall.
Suddenly my manager is fired.
Oh...
Ehh... That sucks. Well, let's just continue.
The hardware arrives and I prepare everything. Everything is ready and I'm pretty nervous. I've put all my expertise in this project. This is gonna make my career at this company.
Two weeks before the installation was to take place, not even a month after my manager was fired, I hear that my project was shelved.
...
...
Fuck
"We're not prioritizing this project right now" they said.
...
It would've been so great! And they took it away.
Including my salary and hardware dev cost, this project so far has cost them over €120k and they just shelved it.
I was put on other projects and they did try to find me something that suited me.
But I felt so betrayed and the projects we're not to my liking, so after another 2-3 months I quit and went to my current job.
It would've so nice and they ruined it.
Everything was made with Rust. Tags, anchors, RTLS server, web server & web frontend.
So yeah, sorry for the rambling.5 -
Why would anybody use dynamically typed languages? I mean it is lot safer to use static languages, no? No weird bugs, no weird outputs...
How they manage to write such big applications in dynamical languages?17 -
Assignment release: this is a basic assignment that is supposed to help you understand the basics of memory allocation. You are free to use any design you want, however you can implement more advanced features that would lean towards specific designs. What will be punished is that you don't have a dynamic memory allocator. We will run the tests for these offline after the deadline
2 days before the deadline: we released the tests for checking whether you're allocating memory dynamically, but these tests also check for this specific design. So fuck you for choosing any other design than this one. Have fun on sleepless nights.
Fuck me, I guess, for worthlessly working on a different design than they wished for, but didn't specifically ask for from the beginning. I just wasted 2 weeks of my life and feel unmotivated af to do anything anymore regarding this. Fuck this shit. Fuck them. Fuck this course.1 -
TLDR: Just had a "I am god" moment because something worked on the first try.
Been working on hooking into and modifying a plugin's central function and related output for almost two weeks now. The documentation is garbage and the source code is ... fine, I guess.
I had been working on getting the filter & display working on a form with sample data I'd put together. I finally got the desired result before I left on Friday, but had the sample selectors hardcoded in.
Within a couple of hours this morning, after fiddling around with pulling the needed data dynamically, I navigated to and checked out the function on the intended page for the very first time since starting the project and IT FUCKING WORKED RIGHT AWAY.
I let out a forceful "yussss" under my breath and stood up with my fists in the air. Nobody noticed. But at least I get to show my manager the fully functioning thing this afternoon instead of the hard-coded sample-only I had when he checked in with me this morning.1 -
CSS + Noob + Import html
Hey guys
Need some help here.
Is it possible to include an HTML file inside another HTML file without an iframe? I wanted to create the structure of the page in one file and include it inside another HTML (for example, have one index that dynamically includes an HTML file in a section, called by the menu OR having the menu, top and footer in one or two files and include them in all the other pages...)42 -
Last Week Friday:
PM: We'll be taking you off the one project on to another, we'll send the details later.
Me: Cool
*Hours Later*
PM: Ok cool, so you'll be looking at a script that one of our Pillar heads has scripted. You need to make sure it works and that it can run on the server.
Me: *I always thought this guy was useless now i get to see what he can do* Cool, just send the documentation and i'll take a look at it over the weekend. Just tell me when you've sent it.
PM: Cool.
Project Head: I'll inform you when i send the files and how to run them.
Me: *I know how to set up a database locally, i'm not an idiot* Cool.
Whole Weekend I don't get a single message.
Monday Morning:
Project Head(PH): Have you taken a look at it yet?
Me: Taken a look at what?
PH: The Database and the Script
Me: i didn't get any message over the weekend.
PH: I sent it yesterday, it should be in your inbox.
Me: There's Nothing. Sending anything on a Sunday is expecting me not to see it, especially at 10pm. Besides i can't retrieve any of the files in the attachment(Outlook tripping), rather send it in a zip file or upload it to onedrive.
PH sends the link. I get the files, set up the DB, glance at the script.
Me: This is actually interesting.
PH: You know what it does?
Me: My SQL knowledge is below average but i can read and understand it pretty well. So your dynamically copying the database from the server to the warehouse, cool.
It's not going to work though.
PH: Check first.
I check it
Me: Doesn't work, but it sort of works.
PH: What do you mean?
Me: Some tables are populated but some aren't,, how and there's a shit tone of errors.
PH: So i does copy the data over.
Me: Some of the data.
PH: test it on the Server
Me: Not a good idea.
PH: Just try it.
PM: In the mean time i'll send you some documentation i need you to review and edit.
Me: *Idiots* Cool.
Tuesday:
Me: Have you checked it on the server yet?
PH: Not yet, busy.
Me: Where's the documentation again?
PM: I'll send it it a moment.
Me: In the mean time i'll write some script to fix that script that's definitely not going to work.
Wednesday:
Boss: I heard you done with the script
Me: It's not done, but we'll be testing it on the server later.
Boss: Then why are you running it on the server?
Me: Ask the PH and PM.
Boss: What are you doing now?
Me: Well i'm supposed to do documentation *looks at PM* but i haven't recieved any yet, so I've been writing a script to fix the copy script.
PH: Ok we'll test when the boss leaves, after all the meetings.
PM: here's the documentation.
Me: Thanks
I start on documentation.
PH: It didn't work.
Me: I know.
PH: Fix it.
Thursday:
Meeting.
PM: What you doing?
Me: Fixing the script,
PM: Do the documentation first
Me: Cool.
End of the day:
PH: Why you doing the documentation? The script has highest priority.
Me: Ask the PM.
Friday(Today):
Boss: can we talk.
Me: Sure.
Boss: I though you said the script was done?
Me: i said it sort of works, just doesn't do the job 100%.
Boss: Monday i was told it's done.
Me: i only looked through it Monday to understand it, i done nothing before Tuesday. though i have been trying to create a script to fix it.
Boss: Your working really slow hey.
Me: *It's been a week, and stupid people are in charge* I was doing what i was told.
Boss: Cool.(His Upset)
Stupid FUCKEN people, make stupid FUCKEN decisions. But Hey, the boss only see's the final result. I am a human being, even i make mistakes. But there's a huge gap between stupidity and a mistake. -
I love Google Docs.
I hate their white-only style.
I love writing at night...
So I made myself a userscript to help my eyes when working late. Unfortunately they have css classes' names constantly changing (dynamically generated) with each update of the source code and I was too lazy to go full javascript on them because it'd make a lot of "getElement..." stuff or even jQuery only to change the theme.
It wasn't like full broken page, no... only some elements were broken, but in places it'd burn your eye out in 2am when the theme is almost black.
I felt like I have to do something, because I don't want to lose the Docs at night, but writing on their email list would be like talking to the wall. Then they updated again, some elements changed again and I was like... man, fuck you!
div#doclist > div > div > div > div > div > div > div > div+div
div#doclist > div > div > div > div > div > div > div > div > div > div+div
It works, if you are interested: https://github.com/KeyWeeUsr/...18 -
I have been debugging for like hours trying to figure out the cause an unknown bug spoiling my UI by making my elements overlap.
I'm working on a Unit Converter that takes kWh and then converts to mWh. (Logical Conversion: 1000 kWh = 1 mWh).
Just an easy shit i thought, using Javascript I just passed the dynamically generated kWh value to a function that takes maximum of 6 chars and multiply it by 0.001 to get the required result but this was where my problem started. All values came out as expected until my App hits a particular value (8575) and outputs a very long set of String (8.575000000000001), i couldn't figure the cause of this until i checked my console log and found the culprit value, and then i change the calculation logic from multiply by 0.001 to divide by 1000 and it came out as expected (8.575)
My question is that;
Is my math logically wrong or is this another Javascript Calculation setback?13 -
As I already said on devrant, I'm a freelance web developer and I also often sell my services for teaching, loving that. Currently I'm teaching PHP with 30 students and it's going very well.
But yesterday, I received an offer for giving another course next month, this time on HTML and CSS, for a company I don't know yet. Almost every line of this email is wrong, outdated by 20 years, or just basically meaningless...
So I thought I could do my best to translate this as close as possible to the original, preserving the wrong formulations too, just for you devranters fellas.
"Hello,
I have an offer for a 2 days course for 5 people (level 1+ and/or 2), on HTML5 and CSS3. Below, the program :
1. XHTML AND CSS2 INTRODUCTION
Advantages and benefits of change
Understanding compatibility for different versions of browsers
HTML, XHTML, CSS edition tools : presentation of the different tools
The CSS language : different types of selectors : class of selector, identifier of selector, contextual selectors, grouped selectors
Blocks of text, boxes of text
The CSS1, CSSP, CSS2 properties
Relative and absolute measures units
2. LAYOUT TECHNIQUES
Full CSS, XHTML websites demo
Positioning with the position property, positioning with the float property
Columns creation
Layout for forms
Layout for data tables
Layout for menus
3. INTRODUCTION TO SVG (SCALABLE VECTOR GRAPHICS)
Role and importance of SVG
Using SVG on client side : basic shapes
SVG structure of document, tags examples
Using CSS styles with SVG
Different integration methods for SVG in a XHTML document
4. OPTIMISATION OF JAVASCRIPT CODE
Introduction to DOM and Javascript
Access to document objects : different access techniques, using this keyword, create elements dynamically
Positioning elements with the help of Javascript : positionning elements relatively to the mouse, move elements
Show/hide elements for creating hierarchical menus
Code optimisation techniques : using objects, objects litterals, loops optimisation
Can you please give me your availability ?"
Seriously...
CSS-fucking-1 ! Is it a course for dinosaurs ?
...And if only my rant was just about the program...
It's totally impossible to cover all these subjects in only 2 days with people of different levels and experience.
The guy exactly said to me : "don't worry about the program, it's an old text but they agreed to it anyway. They just want to learn HTML and CSS, some of them already know it but want to learn more, and the others are total beginers.".
And here is the meaning for the "(level 1+ and/or 2)" part in the email.
So... Surprizingly, I accepted the offer, but asked for at least a 3rd day. I'm waiting for their answer, but I'll do it anyway, adapting the course content to the actual students knowledge. I need the money, after all.
Wish me luck...
It's just sad that these formation companies are selling bullshit to clients that just want to learn something useful. It's too often like that, they sell shitty/useless programs and we have to catch up in real time with students that don't understand why they don't learn what was told to them.3 -
Stop. Using. Fucking. ADA. To. Teach. Basic. Programming.
I wouldn't say you should use a dynamically typed language like Python, but having programed since high school, I hated each and every aspect of Ada. We were even taught OOP and generics with it! (And not, you do not want to know how it is, because it is dreadful)9 -
Working on an Android app for a client who has a dev team that is developing a web app in with ember js / rails. These folks are "in charge" of the endpoints our app needs to function. Now as a native developer, I'm not a hater of a web apps way of doing things but with this particular app their dev teams seems to think that all programming languages can parse json as dynamically as javascript...
Exhibit A:
- Sample Endpoint Documentation
* GetImportantInfo
* Params: $id // id of info to get details of
* Endpoint: get-info/$id
* Method: GET
* Entity Return {SampleInfoModel}
- Example API calls in desktop REST client
* get-info/1
- response
{
"a" : 0,
"b" : false,
"c" : null
}
* get-info/2
- response
{
"a" : [null, "random date stamp"],
"b" : 3.14,
"c" : {
"z" : false,
"y" : 0.5
}
}
* get-info/3
- response
{
"a" : "false" // yes as a string
"b" : "yellow"
"c" : 1.75
}
Look, I get that js and ruby have dynamic types and a string can become a float can become a Boolean can become a cat can become an anvil. But that mess is very difficult to parse and make sense of in a stack that relies on static types.
After writing a million switch statements with cases like "is Float" or "is String" from kotlin's Any type // alias for java.Object, I throw my hands in the air and tell my boss we need to get on the phone with these folks. He agrees and we schedules a day that their main developer can come to our shop to "show us the ropes".
So the day comes and this guy shows up with his mac book pro and skinny jeans. We begin showing him the different data types coming back and explain how its bad for performance and can lead to bugs in the future if the model structure changes between different call params. He matter of factually has an epiphany and exclaims "OHHHHHH! I got you covered dawg!" and begins click clacking on his laptop to make sense of it all. We decide not to disturb him any more so he can keep working.
3 hours goes by...
He burst out of our conference room shouting "I am the greatest coder in the world! There's no problem I can't solve! Test it now!"
Weary, we begin testing the endpoints in our REST clients....
His magic fix, every single response is a quoted string of json:
example:
- old response
{
"foo" : "bar"
}
- new "improved" response
"{ \"foo\" : \"bar\" }"
smh....8 -
Today's rant: JavaScript's type system.
I realized halfway through that I can't happily call JavaScript a "programming language" so just assume
alias programming="scripting"
I'm sure it's not actually as frustrating as it seems to me. Thing is, I'm used to either statically-typed languages or dynamically-typed languages that actually make sense. If I were to try to add an integer to something I'd forgotten was a string in Python, it'd immediately tell me "look, buddy, do you want me to treat this as a concatenation or an addition? I have no idea the way you've got this written." I've found that mistakes are a common thing with dynamic typing. Maybe I'm just not experienced enough yet, maybe it's really as stupid as it looks. JavaScript just goes "hey look I'm gonna tack all of these guys together and make a weird franken-string like '$NaN34.$&' because that's absolutely what we want here!" Then I run my webpage and instead of a nice numeric total like I wanted, good old JavaScript just went "Yep, I have no idea what I'm doing here I'm just gonna drop this here and pretend it's right." Now absolutely I do not expect my programming language to make correct assumptions and read my mind, otherwise JavaScript would be programming me and not the other way around. But it could at least let me know that I had incompatible types going on rather than just shamelessly going along with what it's doing. Good GRIEF, man, some of the idiosyncrasies of the EMCAScript language definition itself just make me want to punch a horse.6 -
Well... I can think of several bugs that I found on a previous project, but one of the worst (if not the worst, because the damage scope) it's one bug that only appears for a couple of days at the end of every month.
What happens is the following: this bug occurs in a submodule designed (heh) to control the monthly production according the client requirements (client says "I want 1000 thoot picks", that submodule calculates the daily production requirements in order to full fill the order).
Ideally, that programming need to be done once a week (for the current month), because the quantities are updated by client on the same schedule, and one of the edge cases is that when the current date is >= 16th of the month, the user can start programming the production of the following month.
So, according to this specific case, there's an unidentified, elusive, and nasty bug that only shows up on the two last days of every month, when it doesn't allow to modify/create anything for the following month. I mean, normally, whenever you try to edit/create new data, the application shows either an estimated of the quantities to produce, or the previous saved data. But on those specific days it doesn't show any information at all, disregarding of there's something saved or not.
The worst thing is that such process involves both a very overcomplicated stored procedure, and an overcomplicated functionality on the client side (did I mentioned that it dynamically generates a pseudo-spreadsheet with the procedure dataset? Cell by cell), that absolutely no one really fully understands, and the dude that made those artifacts is no longer available (and by now, I'm not so sure that he even remember what he done there).
One of the worst thing is that at this point, it's easier to handle with that error rather to redesign all of that (not because technical limitations, but for bureaucratic and management issues).
The another worst thing (the most important none) is that this specific bug can create a HUGE mess as it prevents the programming of the production to be done the next day (you know, people tends to procrastinate and start doing things at the very end of the day/week/month)... And considering that the company could lose a huge amount of money by every minute without production, you can guess the damage scope of this single bug.
Anyway, this bug has existed since, I don't know, 2015 (Q4?) and we have tried so many things trying to solve it, but that spaghettis refuse to be understood (specially the stored procedure, as it has dynamically generated queries). During my tenure (that ended last year) I spent a good amount of time (considering what I mentioned on the last rant, about the toxic environment) trying to solve that, just giving up after the first couple of weeks.
Anyway... I'm guessing that this particular bug will survive another 4-ish years, or even outlive the current full development team... But, who knows ¯\_(ツ)_/¯ ? -
Just had an interview. First few minutes felt good then they gave me a simple coding task.
It WAS SOOOO SIMPLE, but my brain just blocked and stopped working. It was litterly just a console application and you had to print some symbols dynamically.
Im so mad at myself.3 -
I was working on a thing at work which routes http requests from one endpoint and port to several local services.
I was halfway done when I noticed I just wrote a primitive reverse proxy.
Anyway, I'm calling it GRID, Gateway for REST Interface Distribution.
It's capable of dynamically attaching new routes and services and removing those during runtime via inbuilt typescript compilation service.
Each "runtime module" defines several routes which may have a middleware function (express.js style), which gets executed before forwarding the request to the local service.
I don't know why, but I'm kinda proud of this one; Feels like I made something actually useful for once.
Gonna maybe add a webUI with the monaco editor to write typescript modules without needing VSCode...
Also I may implement a load balancing system for scalability.
It comes with a cli too.
Gonna put it on github and post it here once I'm done with v1.19 -
So, I've had a personal project going for a couple of years now. It's one of those "I think this could be the billion-dollar idea" things. But I suffer from the typical "it's not PERFECT, so let's start again!" mentality, and the "hmm, I'm not sure I like that technology choice, so let's start again!" mentality.
Or, at least, I DID until 3-4 months ago.
I made the decision that I was going to charge ahead with it even if I started having second thoughts along the way. But, at the same time, I made the decision that I was going to rely on as little external technology as possible. Simplicity was going to be the key guiding light and if I couldn't truly justify bringing a given technology into the mix, it'd stay out.
That means that when I built the front end, I would go with plain HTML/CSS/JS... you know, just like I did 20+ years ago... and when I built the back end, I'd minimize the libraries I used as much as possible (though I allowed myself a bit more flexibility on the back end because that seems to be where there's less issues generally). Similarly, any choice I made I wanted to have little to no additional tooling required.
So, given this is a webapp with a Node back-end, I had some decisions to make.
On the back end, I decided to go with Express. Previously, I had written all the server code myself from "first principles", so I effectively built my own version of Express in other words. And you know what? It worked fine! It wasn't particularly hard, the code wasn't especially bad, and it worked. So, I considered re-using that code from the previous iteration, but I ultimately decided that Express brings enough value - more specifically all the middleware available for it - to justify going with it. I also stuck with NeDB for my data storage needs since that was aces all along (though I did switch to nedb-promises instead of writing my own async/await wrapper around it as I had previously done).
What I DIDN'T do though is go with TypeScript. In previous versions, I had. And, hey, it worked fine. TS of course brings some value, but having to have a compile step in it goes against my "as little additional tooling as possible" mantra, and the value it brings I find to be dubious when there's just one developer. As it stands, my "tooling" amounts to a few very simple JS scripts run with NPM. It's very simple, and that was my big goal: simplicity.
On the front end, I of course had to choose a framework first. React is fine, Angular is horrid, Vue, Svelte, others are okay. But I didn't want to bother with any of that because I dislike the level of abstraction they bring. But I also didn't want to be building my own widget library. I've done that before and it takes a lot of time and effort to do it well. So, after looking at many different options, I settled on Webix. I'm a fan of that library because it has a JS-centric approach. There's no JSX-like intermediate format, no build step involved, it's just straight, simple JS, and it's powerful and looks pretty good. Perfect for my needs. For one specific capability I did allow myself to bring in AnimeJS and ThreeJS. That's it though, no other dependencies (well, at first, I was using Axios because it was comfortable, but I've since migrated to plain old fetch). And no Webpack, no bundling at all, in fact. I dynamically load resources, which effectively is code-splitting, and I have some NPM scripts to do minification for a production build, but otherwise the code that runs in the browser is what I actually wrote, unlike using a framework.
So, what's the point of this whole rant?
The point is that I've made more progress in these last few months than I did the previous several years, and the experience has been SO much better!
All the tools and dependencies we tend to use these days, by and large, I think get in the way. Oh, to be sure, they have their own benefits, I'm not denying that... but I'm not at all convinced those benefits outweighs the time lost configuring this tool or that, fixing breakages caused by dependency updates, dealing with obtuse errors spit out by code I didn't write, going from the code in the browser to the actual source code to get anywhere when debugging, parsing crappy documentation, and just generally having the project be so much more complex and difficult to reason about. It's cognitive overload.
I've been doing this professionaly for a LONG time, I've seen so many fads come and go. The one thing I think we've lost along the way is the idea that simplicity leads to the best outcomes, and simplicity doesn't automatically mean you write less code, doesn't mean you cede responsibility for various things to third parties. Those things aren't automatically bad, but they CAN be, and I think more than we realize. We get wrapped up in "what everyone else is doing", we don't stop to question the "best practices", we just blindly follow.
I'm done with that, and my project is better for it! -
I am a computer science student and have worked with Java and C++ until now. A week ago i started in a job i have gotten from my professor. I have to reverse engineer a big python project and figure out how some things work on the serverside. This is the first time i have to work with python.
I get that you can write code fast with this dynamically typed language, but BOY. Is it just me or is this language fucking hard to reverse engineer? I mean what the fuck. There are some member variables in which can be anything. Like you suggest there is an object of this and that and then python comes in and is like: Good guess, but fuck you.4 -
Hiii devRanters, I have a TypeScript question for you...
How do I dynamically import classes?
I have a class like this:
export default class Foo implements Bar {
...
....public getName(): string {
........return this.name;
....}
}
and then I have another file with this:
import(`./class-cmd/${file}`).then((command) => {
....winston.debug(command);
....winston.debug(command.getName());
});
the first command spits out something like this:
debug: default=class Foo {
....constructor() {
........this.name = "foo";
....}
....getName() {
........return this.name;
....}
}
and I would expect that the second command will work, however it throws this:
UnhandledPromiseRejectionWarning: TypeError: command.getName is not a function
Any idea what I might be doing wrong?17 -
[Rust]
I have a bunch of computational steps in a Rust program, all very expensive. They all depend on each other, forming a cycle-free and rather small graph of dependencies which is not a tree. The results of each of them for a given input are likely used tens of times by the others, so I would like to cache the subresults dynamically.
How would I go about doing this, considering that caching (rightfully) requires mutable access to the cache and multiple operations often refer to the same subresult?
I can't ask SO because they'd just tell me to use another language or recalculate everything every time, fully convinced that difficult questions can only emerge from design mistakes.12 -
Me: Hey SEO guy. I am updating our online store from Flask/jQuery in ReactJS.
SEO guy: That is amazing. Google LOVES ReactJS and it will crawl the site very fast.
*fast forward*
SEO guy: Hey, did you change anything in the site because the site is not ranking anymore on Google. The URLs are dynamically generated in front end. Google does not like that.
ME: But you said that Google loves React. It took me nearly 1 month to migrate the code in React.
Fucking hell.11 -
What container data structures do all of you actually use?
For me, I'd say: dynamically sized array, hashtable, and hash set. (And string if you count that.)
In the past 8 months, I've used another container type maybe once?
Meanwhile, I remember in school, we had all these classes on all these fancy data structures, I havent seen most of them since.19 -
I need some ideas here.. What creative can be done if I have the markings of nose eyes mouth and jaw in a video dynamically.. Just like snapchat does( share all the ideas please, Platform used is not of concern)... See the image...
P. S.. This is my handsome friend here😛8 -
Python. Oh dear Python. Why, oh why, when I have your function with parameters defined as an int, do you blithely accept a string and just go about your merry day? If I wanted you to be able to accept a string I would have let you accept a string. But no, I want ints. Its not a suggestion. Its a demand.
You're dynamically-typed thug life gets on my static-typed backgrounds nerves.
(I am fully aware of the reasons for it and why, but my goodness I do sometimes miss my static-typed compile error languages, rather than pseudocode that accidently compiles python)25 -
If you've ever tried using Go plugins raise your hand.
If you've ever tried doing plugins in Go, raise your hand.
If you think that the following rant will be interesting, raise your hand.
If you raised your hand, press [Read More]:
This is a tale of pain and sorrow, the sorrow of discovering that what could be a wonderful feature is woefully incomplete, and won't be for a very long time...
Go plugins are a cool feature: dynamically load pre-compiled code, and interact with it in a useful and relatively performant way (e.g. for dynamically extending the capabilities of your program). So far it sounds great, I know right?
Now let me list off some issues (in order of me remembering them):
1. You can't unload them (due to some bs about dlopen), so you need to restart the application...
2. They bundle the stdlib like a regular Go binary, despite the fact that they're meant to be dynamic!
3. #2 wouldn't be so bad if they didn't also require identical versions of all dependencies in both binaries (meaning you'd need to vendor the dependencies, and also hope you are using the right Go version).
4. You need to use -trimpath or everything dies...
All in all, they are broken and no one is rushing to fix it (literally, the Go team said they aren't really supporting it currently...).
So what other options are there for making plugins in Go?
There's the Hashicorp method of using RPC, where you have two separate applications one the plugin, one the plugin server, and they communicate over RPC. I don't like it. Why? Because it feels like a hack, it's not really efficient and it carries a fear of a limitation that I don't like...
Then we come to a somewhat more clever approach: using Lua (or any other scripting language), it's well known, it's what everyone uses (at least in games...). But, it simply is too hard to use, all the Go Lua VMs I could find were simply too hard to set up...
Now we come to the most creative option I've seen yet: WASM. Now you ask "WASM!? But that's a web thing, how are you gonna make that work?" Indeed, my son, it is a web thing, but that doesn't mean I can't use it! Someone made a WASM VM for Go, and the pros are that you can use any WASM supporting language (i.e. any/all of them). Problem inefficient, PITA to use, and also suffers from the same issues that were preventing me from using Lua.
Enter Yaegi, a Go interpreter created by the same guys who made (and named) Traefik. Yes, you heard me right, an INTERPRETER (i.e. like python) so while it's not super performant (and possibly suffering from large inefficiency issues), it's very easy to set up, and it means that my plugins can still be written in Go (yay)! However, don't think this method doesn't have its own issues, there's still the problem of effectively abstracting different types of plugins without requiring too much boilerplate (a hard problem that I'm actively working on, commits coming soon). However, this still feels to be the best option.
As you can see, doing plugins in Go is a very hard problem. In the coming weeks (hopefully), I'm going to (attempt to at least) benchmark all the different options, as well as publish a library that should help make using Yaegi based plugins easier. All of this stuff will go (see what I did there 😉) in a nice blog post that better explains the issues and solutions. But until then I have some coding to do...
Have a good night(/day)!13 -
I just started using a new React component library
https://ant.design
apparently they decided that rather than include all the icons as a separate font file, or dynamically loaded SVG, they would encode every single icon as a SVG in a JS string, and concatenate them all together into a single file.
I feel dirty but I just committed a 2MB javascript payload to the staging server.
Suggestions for a LIGHTWEIGHT React/Typescript component library?1 -
I find dynamically typed language a lot easier to read and understand than statically typed language.
What's up with all these interfaces, types and abstractions, its just too much!
I do want structure when writing code, but also the flexibility to test things without the f*** interface/type errors!!!16 -
Something I discovered at work today:
A sub procedure that takes three arguments:
A table name
Column list
Where clause
It concatenates all of those values together and executed the dynamically generated query.
Why??????????6 -
Wow, I thought Australia's subjects were up-to date with modern technology, but as my year 11 IPT course has proven... No.
Genuine Questions from it:
• Where are Web pages stored?
Most web pages are dynamically generated, so... RAM?
•Locate one webpage that uses ASP. Save a copy of this webpage (file name must = asp.mht)
Chrome Doesn't Even Support that as a save able file format any more!!!!
•Visit the webpage [error 404 anyway why write it]
Wow I can click hyperlinks I thought it was just a fancy color added to the text :|
•Add this webpage to your favorites. Supply one (1) screenshot showing this webpage as one of your favorites.
I ask; Who hasn't bookmarked a webpage in their life at the age of 17, and who actually calls them favorites.
•Press the "Back" Button to view the page you were previously on, take a screen shot to prove you doing so.
I am a rebel, I used my magic fingers to press the button without a mouse (keyboard shortcut)
•Press the "Forward" Button to view the page you were on before you went backwards, take a screen shot to prove you doing so.
I never would of guessed :|
•Take a screen shot after opening multiple tabs in Internet Explorer
...
•View the HTML source of the webpage www.google.com, and save a screen shot
Why not the actual file, really? bloat much?
•Take one screen shot of your Internet Explorer Search History
Stalky much?
•What is a Web browser and what tasks does it perform?
Well.... Do you have a page for indepth analyse? Or do you literally what me to say "It let's you load stuff from dat interwebz, via requesting content from a server"
•Define what JavaScript is in relation to web pages
Are we talking server side? or client?
•Define what CSS is in relation to web pages
Do I even need to say fellow ranters ;) -
Every week since I started the company:
Boss "We need a special feed of resources for this customer."
We say "Great let's build support for custom feeds."
Boss says "Could we just hard code that resource in really quickly?"
This week:
Boss says "Could you make a system that dynamically let's me know what resources has been hard-coded in all special feeds, and that alerts me when a resource goes offline".
Now what should we respond?
Help us out! Best suggestion might turn in to an email to boss..7 -
So apparently south korean maps are top secret and do not allow for styling in google maps:
"Yes , Korea does not support some features offered by Google Map due to national law. Google Map Korea can not be export map data for data centers abroad or including the ability to dynamically change the map image. Many South Korea Maps and services are limited to the domestic uses and Google is striving to make this a better service."
sources:
https://snazzymaps.com/help
https://stackoverflow.com/questions...
https://productforums.google.com/fo...3 -
Can someone please tell me what is so attractive about a dynamically typed language? It's not like it makes anyone's life easier – it just leads to more unexpected errors.7
-
Bro typescript is sooooooo gooood...
holy shit!
coming from a cpp/java background it feels like a fucking relief to know something like typescript exists and you dont have to blindly trust the dynamically typed crap8 -
For today I had to implement a Strategy Pattern solution for dynamically loading items in a view. So, I came in the morning and started doing it, finally after some time I acomplished it, with one strategy, so when I started implementing the other ones, everything went to crap so I thought "Okay, lets checkout to how it was on the morning, just to realize I leaved yesterday without commiting.
I wanna kill someone1 -
Actually kinda sad, that there is no pure rust ui framework out there, but rather mere adaptations of c/c++ frameworks for rust. It's better than nothing for sure, it just would be nice, if i could use a framework, that doesn't create a massive memory leak, because i looked at it funny.
In particular i'm using fltk-rs, and everytime I'm applying a font to some widget, 500kb get added as leaked memory. Doesn't sound like a lot, but for one it's a dynamically built application, so the order and amount of widgets changes, and this application is supposed to run days, if not weeks.
thanks to heaptrack i was able to pinpoint that to libpango, which i'm not even interacting with directly, but rather indirectly through the api.
Annoying, that i chose to use a language for actively preventing leaks and dangling pointers and stuff, but end up leaking memory because of a dependency somewhere.7 -
It is great feeling, to leave company and leave all your crap code to others :D
500 lines bash generic wrapper to curl (just to catch and print errors, not just silently fail as most devs tell curl to do).
It was monster that used "function overload" and "subclasses" (based on dynamic source files). Also dynamically created inline AWK script to parse curl output. It kinda worked, but amount of high-level hacks I had to use was enormous.
Never use Bash when you do not have to. Even if you have experience with it. Others don't have it and will fail miserably trying to patch your code. Just leave bash for fast bridging between programs, leave python/java/c#/go or any other proper OOP language for a job. Please ? -
http://bit.ly/2fme7PU
Check out this article I wrote on Jekyll. There's a tutorial in progress there too :) Jekyll is a static site building framework that allows you to dynamically allocate headers, footers, etc. Change a header once and it updates across all pages. I have a tutorial in progress there too :)3 -
I had the idea that part of the problem of NN and ML research is we all use the same standard loss and nonlinear functions. In theory most NN architectures are universal aproximators. But theres a big gap between symbolic and numeric computation.
But some of our bigger leaps in improvement weren't just from new architectures, but entire new approaches to how data is transformed, and how we calculate loss, for example KL divergence.
And it occured to me all we really need is training/test/validation data and with the right approach we can let the system discover the architecture (been done before), but also the nonlinear and loss functions itself, and see what pops out the other side as a result.
If a network can instrument its own code as it were, maybe it'd find new and useful nonlinear functions and losses. Networks wouldn't just specificy a conv layer here, or a maxpool there, but derive implementations of these all on their own.
More importantly with a little pruning, we could even use successful examples for bootstrapping smaller more efficient algorithms, all within the graph itself, and use genetic algorithms to mix and match nodes at training time to discover what works or doesn't, or do training, testing, and validation in batches, to anneal a network in the correct direction.
By generating variations of successful nodes and graphs, and using substitution, we can use comparison to minimize error (for some measure of error over accuracy and precision), and select the best graph variations, without strictly having to do much point mutation within any given node, minimizing deleterious effects, sort of like how gene expression leads to unexpected but fitness-improving results for an entire organism, while point-mutations typically cause disease.
It might seem like this wouldn't work out the gate, just on the basis of intuition, but I think the benefit of working through node substitutions or entire subgraph substitution, is that we can check test/validation loss before training is even complete.
If we train a network to specify a known loss, we can even have that evaluate the networks themselves, and run variations on our network loss node to find better losses during training time, and at some point let nodes refer to these same loss calculation graphs, within themselves, switching between them dynamically..via variation and substitution.
I could even invision probabilistic lists of jump addresses, or mappings of value ranges to jump addresses, or having await() style opcodes on some nodes that upon being encountered, queue-up ticks from upstream nodes whose calculations the await()ed node relies on, to do things like emergent convolution.
I've written all the classes and started on the interpreter itself, just a few things that need fleshed out now.
Heres my shitty little partial sketch of the opcodes and ideas.
https://pastebin.com/5yDTaApS
I think I'll teach it to do convolution, color recognition, maybe try mnist, or teach it step by step how to do sequence masking and prediction, dunno yet.6 -
I just built a website with Hugo. And I love it. Got a request for a certain set of pages but because of the workflow the one thing I could dynamically load wasn't worth a whole wordpress site.
So I built it with Hugo instead. I played with it a little last week so I could get around but I got good this week and damn it's powerful.
I think I'm in love. I wish more projects at work could be built in Hugo.12 -
What is everyone's thoughts on dynamically creating html using templating or other methods with javascript or jquery?4
-
Some times I get these weird ideas.
The machines now rule the world and they decided humans will not be able to program them anymore. That's why they enslaved you as part of the committee which will create the next computer language: Cryptic Script.
What feature would you add to it?
(try something real)
I'll starting by saying Cryptic Script is dynamically typed.6 -
I actually have to code a simple web app with a form, now I accidentally created a library for dynamically generating angularjs controllers.3
-
I'm working in a company as fullstack developer where we use Angular for frontend, and C# for backend, lots of cool things to learn, for instance, we need a way to dynamically load forms controlled from backend, not something that is common but interesting to solve.
However, I feel sometimes I don't belong here, not because the things we do is not fun, it's just that most of the developers have very little experience with building web apps. And this means I don't develop as much as I wanted towards the web path.
I was informed before starting here, that 3 web devs would be hired including me, and they have experience with Angular. After I was hired, one guy decided to jump off (skilled web dev), and it was only me and the other guy left. The other guy has little experience with the web in general, but extremely good in terms of architecture and programming patterns in C#.
The salary is fine, but it's just I don't feel the growth I was expecting. Most of the things I learn on my own, which I've done in the past years.
I'm thinking that if I work in a place with skilled web devs, I'll learn lots of great things which I don't have to search all the time.3 -
How to bring your zsh start-up time from 7s to 0.2s on macOS:
1. Don't call "brew info", piped to grep, piped to awk
2. Don't dynamically detect the current version of brew-installed packages
3. Don't call java_home
4. Actually don't do anything dynamically. Just symlink shit as they get updated
There you go. Don't be like me. Use the "brew --prefix" command and put its output in your .zshrc, instead of running it every time -
A CASE AGAINST BLUE PRISM
Let's review one of the worst weeks I had with Blue Prism
Monday: Yay! Solved one of the problems we've been carrying around for a week before.
One of the robots suddenly became slow. Like, REAL slow. A process that would take 3 minutes per record now takes 45, and that broke apart all the following schedule.
There were no updates on the application server, the production machine, the robot, it just became slow. And not always slow; a process manually run from console room would work, a process in debug room would work, it's just the scheduled part that caused problems.
It turned out, BP didn't seem to like that particular combination of schedulation + process + machine. Moving the process to a different machine seemingly fixed that. IDK why.
Tuesday: One of our processes waits for a code to appear in the page, and when that happens, it memorizes this code. However, now it is always returning blank. Worked for months, now it breaks every single time.
After half a day of debugging a bug which DIDN'T HAPPEN IN DEBUG MODE YET AGAIN, at 11pm I decided to just place a nonsensical timeout in page before reading and call it a day.
WEDNESDAY: a scheduled process didn't start. "No sessions created". Thanks Blue Prism, very cool.
THURSTAY: This time, schedulation did start, but the process is "waiting". As in: it's 9:30 am, the process has been stuck in the same step since 6:00 am. Turns out, it blocked during a navigate stage; you need to send a string to clipboard using the standard BP action for that, then paste and click "enter", but for some reason the standard BP object sent "ORRCO" instead of "ORRICO" to clipboard, which obviously returned no results and then... the process just didn't feel like doing things anymore. No errors, no logs, nothing: just sitting on its ass. Because fuck you that's why.
Friday: another process uses a very moderate amount of scripts to work. Nothing really fancy, just a couple of lines of code to place in page some IDs and selector to help BP do its thing, otherwise selecting these elements would be a nightmare.
But
Failed while invoking javascript method:Exception from HRESULT: 0x80020101-> at mshtml.HTMLWindow2Class.IHTMLWindow2_execScript(String code, String language)
The same script -it's not dynamically generated-worked yesterday, the day before and the day after. But sometimes it will not. Why? The answer, my friend, is blowin'' in the wind -
I know that DI(dependency injection) is probably just another good pattern out there like many others, but dear lord have I been burned on it with acumatica. Acumatica just loves having friggen magic crap everywhere with no damn explanation(*may be in a blog post somewhere but that’s no replacement for good documentation).
I believe they use AutoFac in C# on an asp.net server. They love to utilize reflection and injection and in turn the server takes multiple minutes to startup whilst it dynamically registers everything, as well on any individual pages.
Development is a pain in the ass on this damn system.
I’m constantly having to dive into the damn code using dotpeek to understand what the fuck they are doing and it’s often friggen stupid shit. They like to reinvent the wheel a fair bit.1 -
MORE WEBDEV ADVENTURES
Took a break for a while due to personal stuff. Just got a job (have to get a stupid work permit from school first to actually be able to work tho), had some shit happen with two close friends that now hate me. Right now I'm upset about something that another really good friend did. So I've been doing some webdev to distract myself for a bit.
So I'm turning my URL bar that I had into a little command bar. It'll be what I use to configure stuff along with URLS and shit. I was building a little config menu that I really hated doing, was just becoming too much of a mess. Currently changing the look of it just a bit, then I'm gonna work on the functionality of it later.
Made my weather divs dynamically generated. Turned like 65 lines in the HTML file to ~20 lines of JavaScript that makes that ~65 lines. And it turns out that it doesn't really affect the loading time at all, which was my original worry. My next task for that is to save the weather predictions so the script doesn't have to grab a whole 14kb file every reload (I know, that part's a little bad). The entire page with the icons and all comes out to ~30kb so far. The icons make up about half of that, but they'll never all be in use because only 5 are on screen at any time and there are 7 total. Plus the fact that one may be in use multiple times (like this very moment actually).
Then I want to have an RSS reader which I've been putting off for a while now. Trying to get everything else done before I do that.
At this very moment, the page takes about 1.4 seconds to load. I'm trying to avoid putting anything I don't need in it. Like I'm using vanilla everything. No frameworks or anything. But that's just my personal preference.
I'll make sure to share it with you guys when I have everything built and functional. I've had a lot of interruptions while doing this. My personal life tends to get in the way of shit I try to do, because I let it get to me.
Anyways I'm just rambling at this point. I fucking love you guys1 -
Tried out linkerd recently, it's pretty cool when you want to get dynamic routing based on entries in a service registry ^^ originally planned to just dynamically generate configs for haproxy but this makes it way easier ^^
-
I've got a question about PHP arrays as I try to update my coding skills.
The problem I'm trying to solve is converting one vendor's CSV format to another vendor's format for a daily processing job.
I have a multi-row CSV file (number of rows changes daily but fields (15) do not). My PHP converts it to an array with fgetcsv so I can then copy its rows and data to a different blank target array with the same number of rows as the source array, but a different field order and number of fields (55) than the source array.
From here I will apply certain conditional business rules to copy data, field-by-field, from the source array fields to the target array fields, then output the target array to a CSV.
I'm stuck trying to figure out how to create (initialize) that target array so that it exists when I loop through the source array and copy values over to the target array.
Can anyone nudge me in the right direction on how to dynamically (loop?) create that multi-dimensional target array of n rows and 55 columns? I looked at http://w3schools.com/php/... for guidance but can't figure out how to structure the loop to make just one array of n rows and 55 columns, and not "n" arrays of n rows and 55 columns.5 -
How to protect API endpoints from unauthorized usage by bots?
If the API end points are meant to be used by any incoming to CSR frontend user without prior registration?
So far, my the only idea is going from pure CSR React to something with partial SSR at least in Node.js, Django or any other backend framework. I would be able restricting some API endpoints usage to specific allowed server ip.
Next.js allows dynamically both things as well.
As alternative I have a guess to invent some scheme with temporally issued tokens... But all my scheme ideas I can break really easily so far.
Any options? If SSR is my only choice, what would you recommend as best option in already chosen Django and not decided fully front-end framework?
I have the most crazy idea to put some CSR frontend framework literally into my django backend and making initial SSR from it. The only thing its missing... my lack of skills how to use React, but perhaps I have enough time to get a hang of it.
SSRed frontend can be protected with captcha means at least.16 -
"Front end developers" who don't understand the cascade are my favourite thing. Just use BEM dude, you don't need some fucking scoped components with dynamically evaluated CSS-in-JS.6
-
Beating myself up at the moment. Didn’t think about how to live update something/update the info on the page dynamically. Put a cape on me because I’m feeling like a super failure right now.
-
I used to think that programming was just straight forward coding what you need.
But now I think it's describing the problem and writing code to solve that problem.
Example: recursive function. It calls itself till it finds a solution or till no options are left. You don't know the answer, but you code something that can find it for you.
Or php, you don't create every single html page, that's done by php dynamically.
The great thing is, it's less work and it is easier to catch error scenarios.
The bad thing is it has become a bit more abstract. -
My states of learning Flutter:
Oh, this looks easy!
Hm, this example is very complicated.
Aw yeah, I'll never need Android Studio again!
How much is a iOS dev account?
Oh for fuck's sake, why is everything working except displaying a webpage in non-fullscreen dynamically and implementing it in my widget tree? It is unusable for me if this doesn't work but I want to use it! >:(2 -
I am creating a PWA using quasar, which uses vue.js at core.
Now the router is working fine. In production code, The address url is updating dynamically upon clicking route-links. Say, there are 4 routes, namely /user , /friends, /human, /robots. But when I visit one of those route paths using web address or say I reload the application/web page, when the route path is /robot or any other path, server reply with cannot GET /[route path]. I know that I had not set up the route handler at server, but I am not expecting this behavior. I dont want to make request to server like this.
While in dev mode, everything is working fine and as expected. when I visit /robot or any other route path , instead of contacting the server, it render the component that was bound to handle that route path34 -
The objective c stdlib is pretty cool, it's what backs the swift stdlib on mac. The collection classes dynamically switch backend depending on size and expected performance characteristics. EG a set of 3 items is faster to linearly search a vector, so it'll switch that out.
https://objc.io/issues/...
I'm not a mac fan but that's some truly artful engineering.
(reposting comment as rant coz I think it's cool)3 -
Ok, this question is related to mysql and php.,
Let me state the current situation
I have a db, say "gd".
That db has several tables all with same columns.(i.e same fields for different manufacturers such as product name, cost , stock etc.)
Now i want to know how many tables have the product 'a' in them and what's the cost of 'a' in each of those table.(tables are generated dynamically so I'll never now how many tables are there, well ofcourse i can refer information schema, but just wanted to highlight this fact). So is there a way to achieve this?.. excluding "dump the whole data and then search it" solution.
Plz help, .. sorry for my bad English, .9 -
I work daily on a project, in which, rather than buy in a decent message bus a bunch of half interested, unqualified developers were tasked with hammering together an in-house solution. This monstrosity has around six layers of abstraction, separate objects per project and dynamically loading converters between the components. It's largely not unit testable, certainly not integration testable and has already wasted more money in developer time and Bugfixes than a half decent external solution would have cost.
Every time I have to change an object in one part, start the associated web/win service and do a "update service references" I die a little inside.
There are so many better ways but we'll never be able to change because "there's no time for that"
And all for some up front savings -
!Rant
So . . . for the first time ever I feel like I'm a part of something I genuinely care about. I'm a Unity3D VR developer, albeit for a small company, which has me in and out of VR constantly most days as I test things. Pretty cool right?
Well here's the thing. For me . . . what I do is trivial in meaning. I love what I do, don't get me wrong, but what's so good about what I do, is that I am a valued team member. My opinion is heard, I am given freedom to innovate, and most importantly I am allowed to create!
So what did I do today? I started building a UI framework for Unity3D, the beginning of which dynamically binds zenject signals to UI elements, like a button's onClick for example. If anyone here has worked with Unity3D you probably can attest to the festering heap of dogs vomit that is Unity UI....2 -
So my boss wants this mssql reference table editor. Where you point it at references table containing mapping references and it will build a pretty gui for editing the table.... and they want it in like 3 days... so I now either hack something together which is so tightly coupled to the scheme of the table it will require redevelopment each time a new reference table needs adding to be edited or I don't deliver on time and give them a solution which will understand the schema and build the exit view dynamically... I'm starting to hate these stupid deadlines! And to top it all off they justify it with stuff like "it's just an edit view!?!?" Or recently on a basic form I created it was "why do you need to write c#? It's just a HTML form!?"2
-
Rant!
Beginner tutorials are great.
Personal project UE4 (Unreal Engine Game Dev)
I'm having this bug where I dynamically draw every tick into a Uncanvas. (C++) First I call .ClearChildern and after I create UserWidgets by calling blueprint to fill text.
Text is Invisible when drawn in native tick
I works. If I don't do it in the NativeTick
Search Online: "UE4 UMG text dissappears"
Result: How to create a Button in UMG
Me: No I'm creating a complex UI system
Search Online: UE4 Issue with UMG Text disappears when drawn in native tick
Result: How to create textfield UMG with blueprints
Me: No I have a weird bug and trying to figure out why that is!
50 Searches later
have seen 50 tutorials on how to do the basics.
My problem with certain applications that there are so many tutorials out there that Sirius shit is hidden behind a cloud of beginners content.2 -
So this week should be interesting. I am working on a (potentially) very large project for my current client and need to build a service that somewhat replicates the functionality of heroku (in that it needs to be able to load an app built in one of several languages, and spin it up in a docker container).
Unlike Heroku, however, each application also needs to be able to have a list of public and private (internal only) API routes listed and be able to dynamically route requests to the correct routes on in those containers. (Sorry if this is confusing)
Does this sound challenging and amazing? Absolutely! Do I think I may be in over my head? Yes, yes I do.
Has anyone ever built or worked with something similar?1 -
I don't understand why the fuck it takes me more than a day to fucking make an svg work dynamically with its background and it still doesn't work for fuck sake
-
No matter how many times I have to rewrite functional code, no one will ever convince me that dynamically creating JavaScript with data binding templating languages is a good idea (JSP, php, etc)3
-
Why TF is it easier to make a modal component with vanilla js compared to react? Like is ReactDOM the only way to add shit dynamically?7
-
Here's a story about why putting util functionality in a generic parent class is baaaad. So we run into a bug where an online shop module we develop causes a third party module to break the entire site until the session expires.
We track the bug down to the fact that the third party module has added some functionality to the part of the shop that deals with the cart and that functionality expects that one of the module's libraries is initialized. But as it turns out another of that module's libraries that is loaded earlier is fetching the cart and thus triggers our module which adds gifts to it.
Now, since we need a deeper integration with the cart to make gifts depend on the cart contents we call the part of it that now depends on the third party module's unloaded library.. So we think changing the order the third party libraries are loaded will fix the issue, only to discover the unloaded one is a child class of the first and the cart is fetched in the parent constructor. The parent of course then turns out to be a generic util class, inherited by all the module's libraries, so whatever order we load them in, the constructor is always called, so we had no other choice but to dynamically disable our module during the initialization of those libraries and then patch the updated cart contents into them after they've all been initialized.
At this point we get curious what that module's doing with the cart contents only to discover.. nothing. It's just that the parent class is full of utils and data fetching that the vendor reuses in all their modules.. -
So I am running Spark on Docker. I have hardcoded the docker-compose file to 1 master and 3 workers which works fine. What would be a good way to dynamically scale the number of workers up and down through the command line ? I guess we have to use --scale or replica, but how ?
-
I am currently weeks apart from releasing my pet project, which I am working on for almost 6 years now. Of course, there were a few stops here and there, but overall I've spent a lot of time and effort on this to make it work. It is far from complete but I am really happy with the results.
Now, since I am not a professional by any means - it is all a hobby for me - I was wondering, that how much my work would cost, if it were to made by professionals. Below the details so you can get a grasp of the thing.
The whole system is for our family business. We are selling parts for an old-timer truck model. The website was pretty much done already, people like it, it only needed some polishing and adding of the new features. But the thing behind it is monstrous (at least for me).
Apart from the custom-made CMS for the website (most of it was done already and didn't need to change), we can handle orders, partners, prices, stocks, overdue partners, pretty much anything a CRM would do.
There is a logic to automatically make orders based on import prices, or give the customer a custom discount based on the price gap of each product. There are products, which can contain other products, and their prices are dynamically changed based on a given formula, once an underlying product price changes. We can send e-mails when an order status changes, and there is also a page, where a user can interact whit their order, like changing the shipping or the delivery address. The system is (or will in the following weeks) also connected to multiple shipping companies' API, so we can order deliveries and print labels directly from our system. The whole thing is a custom made Laravel project by the way. There are countless more features, but I've just spent 2 hours explaining all to my father and was only be able to cover like half of it.
And why it is all custom made, you ask? Well, the business logic is a bit twisted, so it would be hard to operate as a regular web shop, since the availability of the products are uncertain, given the fact that it is a model, which isn't manufactured in 30 years. So, we can't just accept and send orders without confirming. It is also a thing, that people usually don't know what they need to order for their truck, so we have to help them, so they don't waste their money and the precious last pieces of a part unnecessarily.
Sorry for this rather long post, and it might feel like I just want to brag (well, I kinda do), but I am honestly interested in what such a custom product would cost in the market.
Thank you for your time answering.6 -
My DNS provider does not have an API. They do have one... That is wrong... But on the description page, they say we have to open a ticket to be given access. No requirements. Nothing...
And then I am told "they do no longer offer dns for private hosting". I don't even host with them, I only have a domain with them.
But the magical word is no longer. That means they did offer it. In the description of the API it still says "and for everyone who feels comfortable interacting with a REST API." Oh, and they asked anyone who works on it to be so nice and share any SDK's they might have coded up. Would have shared my SDK. Would have... If no Rust SDK was available yet.
So, what the fuck...
The problem with that is that I need a wildcard certificate for my homelab with DNS validation. So, I need to dynamically set a txt record. Now I wonder... Was this done on purpose? They are selling wild card certificates. Letsencrypt are giving them out for free. I bet they deactivated it, so they can sell more...
Anyway. Solution time.
Short term: I make my own API with black jack and hookers... And selenium.
Long term: I need to fucking move my domains to a different provider.
But what the fuck... What the fuck?7 -
Is there a way to dynamically change your IP address while scraping website so that you don't get blocked cojstantly7
-
So I tried to fix an app today that we made for a client ...
It's a Cordova project that's basically jus a wrapper for a certain section of the client's website that's displayed inside an iframe inside said app (with a bit of additional CSS and such). It's all working fine.
Said section of the website offers two to four different options to choose from, then scrolls down (triggered by JavaScript, window.scrollTop or JQuery's equivalent) to the next selection panel that's dynamically added to the DOM tree, the content's depending on what the user selected before.
The problem is, said scrolling effect inside said iframe does not work inside the iOS version of the app (does, however, when the content of the iframe is viewed (by just visiting the URL) inside Safari), instead, the iframe just scrolls back to top.
So after five and a half hours of depression, anger and rage, also some repetetive cursing towards Apple (just like every time something has to do with their awful products), my boss walks in, looks at me and says:
"I'd be fine with it, if I just had to manually scroll instead".
.........
If it wasn't 5pm already (I usually go home at 6), I would've just left the room / gone home or gotten my salad from the fridge to have something to release my anger on.
Seriously though, what the fuck!? -
At some point I need to do an older project i've had on hold a while, but it'd require writing my own ROM patch system as a major step in completing it, as i'd need to dynamically patch stuff into older games based on system, which current patch formats don't allow for. (This project will also help me learn a few things I need for yet more projects I've got stashed away, so it needs to happen eventually.)
Now, the interesting part: the patch format. I was debating on whether to use binary data, like IPS/BPS and similar formats do, which would be easier to implement... but if I were to have plaintext patches, you'd be able to not only understand what's happening, but also have things like scripting and conditionals and user-defined options and such. This would be WAY harder to implement, slow as fuck, and require an assembler per-target-system, either external or internal... but it'd be transparent, editable, and hella extendable.
This would all happen after I'm both over my burnout AND done chewing through my current stack of projects and such, of course, but still... which sounds better to you, dear reader?2 -
!rant
C++ / OOP QUESTION
I have a uni assignment / project (Data Structures class), where I have to implement the ins-n-outs of 1D arrays, by creating a dynamically allocated array class, which can accept any type of data (using templates). But there's a problem.
I'd like to implement sorting the elements of the array. But given the fact, that I'm using templates, I cannot treat the elements as integers, nor as strings, or other types...
Also, let's say that the elements of the array are elements of class T, where T looks like this:
class T {
private:
double height;
int age;
string name;
public:
double getH() { return height; }
int getAge() { return age; }
string getName() { return name; }
};
(It's just a random example, pls don't judge for code quality...)
Let's say that I'd like to sort the T elements based on height, print out, sort by age, print out, then sort by name and print out. How can I do this? Is this possible?5 -
!rant "Two roads diverged in a wood, and I—
I took the one less traveled by,
And that has made all the difference."
I'm learning Java/Android Development with the Udacity Nanodegree (hey we all gotta start somewhere). Got to one project that was intended just to demonstrate use of basic form elements in a static quiz. Predicted time was about 20m I think.
Three days, much hair pulling, and many SO pages later I've built a little app that displays any number and type of question, dynamically generating the views.
I may do things the hard way, but I learn a heck of a lot more for doing so. -
PM: We need to add "Under Contract" banners dynamically to listings on xyz.com
Me: No problem
[ ... a few minutes later ... ]
Me: xyz.com has been updated. Check out the listings and let me know if anything is out of place.
PM: The updates you made look great! How does this scale (in the most basic sense of the word; i.e. in the viewport) on abc.com.
Me: ? òįÓ ? ... that's a completely different site ... why would it affect it if you didn't ask for it. -
How to write drop down menu with check box in java swing and I should also be able to add check boxes dynamically
-
Useless JS library #0 ready.
Communication among windows in the same window group (iframes and popups with a common root), with dynamically generated objects, so it feels as though you were just calling local async methods.
Useless JS library #1 will be a layout manager, a program that manages panes and tabs, context menus, toolbars and a menubar much like Visual Studio, and let all of that communicate through Useless JS library #0.
Since JS is sloooooow, I try to make everything run the fastest possible, trading startup for runtime resource usage. #0 fulfills this, any message will take exactly 4 stops, although registering a callable method set takes .3 sec.8 -
If anyone is gud at highcharts can you please explain how to dynamically create series in highcharts using pure JavaScript1
-
My destructor accidentally modifies some other object wtf !? I made sure to use const keyword to prevent modification and also dynamically allocated data using the new keyword.5
-
Fuck you Drupal 8
How complicated can it be to dynamically change the title of a page?
No I don't want to write another custom module, which requires two fucking .yml files?? and initiate another controller for something that simple...
Fuck it! JavaScript it is....3 -
-Recently started a new job so I’m new to the infrastructure-
Spent the vast majority of the day trying to SSH into one of my company servers to sort some random bug out on the website & the connection kept being rejected despite the day before it working when passing the .pem key into the SSH along with the ip & my username, nothing new there.
Anyway, everyone’s mad busy so I don’t wanna bother anyone to ask why, so I check confluence, no documentation for SSHING into our scheduler or the code the server I need to access. Never-mind.
Spend another couple hours trying debug it on my own, no luck. Never-mind.
Finally seize my opportunity and ask for help; ‘Oh the server IP changes daily so you need to run a task through our scheduler that you need to SSH into to return the list of IPS and that dynamically changes so that’s how you get the IP’
Oh ok. Why is there no documentation for that again? I mean. Thats generally some pretty important information you’d pass onto your starters.
At least I can say I won’t be making that same mistake again.5 -
Dynamic/Dynamically is used WAY to much in programming. What part of programming is NOT dynamic?
https://dictionary.com/browse/...
Depending upon your interpretation of the definition it can just mean: moving parts. Programming is all about moving parts.
I see things like "dynamically allocated array". Wtf does that even mean? (I get it, most likely means on heap) Say it specifically: it was allocated on the stack or the heap.
Apparently some people are just more energetic in their programming...
It becoming a really overused buzzword...8 -
Gotta love it when your untouched code worked just hours ago locally and now you have no idea why everything breaks, what has gone wrong and how to fix it ... but it's stable remotely on dev/test/live. Project runs on localhost + vpn on company servers. I can dynamically change the parts that shall be compiled locally and the rest will be loaded from the company servers.
Fucking great.6 -
Is ColdFusion still a thing? I just got a contracting job at this startup. I know nothing about ColdFusion. Spent yesterday and today just figuring how to dynamically create a folder inside this <cfscript></cfscript> tag. I am yet to figure it out. -_-
-
In my latest interview. It's the first in a overly morose process that includes many.
Me: So, about the scope of responsibilities...
Interviewer: <translated from fart noises> "we're a dynamic company"
<translated again> do any shit some big headed brass asks of you
Me: it involves many meetings?
Interviewer: <dismissive fart noises>
Me: Is it for an open field project or an ongoing structure?
Interviewer: We have many ongoing projects, and you allocation may be changed dynamically <so, fart noises>
Me: about the salary...
Interviewer: <Extra-stinky-fart noises>
...
It went on for an hour, never an straight answer. Not even for the name of the company.
...
Me: Have you noticed that, even that you are interviewing me, I'm the one asking all the questions?
Interviewer: <actual fart> yes, you really seem to have the knack for it!
Me: ...
Interviewer: so, any more questions?
Me: Yes. Are you flammable? <actual quote> -
Is there any JS framework by which i can make tree structure in frontend and where each node is input box, also addition of node(input box) should happen dynamically(with click)5
-
Everyone and their dog is asking for advice on dR so let me share what's currently on my mind…
Many people probably think it's a blast from the past but I want to install fvwm on Linux (or FreeBSD) and see if it's up to scratch for use as a daily driver, and if so, how much configuration it requires until it gets there. There are a couple projects such as https://github.com/dustincys/hifvwm and https://www.box-look.org/p/1018275 that make it look worthwhile.
I'm predominantly worried whether it would work correctly with a multi-monitor setup (including dynamically adapting to plugging and unplugging monitors). Does anyone have any recent experience with fvwm? -
Why in the world wide web is it so hard to use JavaScript to dynamically create a custom web component element after the page has loaded!? I swear I must be missing something obvious. I know it isn't working because document.currentScript.ownerDocument is null and I use that to get the template and it works great if the elements are on the page already but it fails as soon as I try to use JS to create a new element of that component and I can't figure it out!
I could easily change the pages to be pre-rendered with data and it'd work fine but I plan on building in a service worker to cache the page skeleton and store the elements in IDB.
(This has been just a fun side project for me this week, until now it's turned into a frustrating project I spent most of my night on)1 -
Hi, in my JS project I have to update a variable value that is getting a text input's value in order to use it dynamically with different functions across my program. What would be the best approach to doing this?
Should I make a function that updates the variable for every character typed or should I simply get the value when the function is called?
Thanks!2 -
so.
i had a stupid idea that'd let me do a project i had planned and abandoned a while back after getting experience with the new project.
problem: detect and manage empty space in a massive file, allow adding data to those empty spaces from files, and fill in a table in a designated empty space with where dynamically-loaded things are. In Python.
I tried JUST detecting empty space, and Python would break out of loops for no reason at all just at random. "run bottom to top through this file until a non-00h byte is found" would either break out of the loop way earlier than should be possible (8 or 9 bytes into a 32KB empty file) or run way into non-zerofill areas before breaking the loop.
Am I just retarded? Is this more Python conditional fuckery? i'm so lost that it's just on hold for now (and i think i lost that script too) -
In Flutter I have to display in a ListView all the days of the current month, but starting from current day
I was thinking to get the number of days and the corresponding day (Monday, ecc.) saving them in an Array and then create the widgets dynamically in the ListView.
But I have no idea on how to achieve the corresponding day.
I need something like in the image