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 - "generating"
-
TLDR : I left a company which doesn't understand the concept of email id and passwords.
Me (trying to login to the alumni website) *no register user option*
Customer support - you've to click on forgot password to create an account.
Me - Wonderful
*clicks on reset password*
*enters employee id, name, email, father's name, DOB, date of joining , date of leaving, current city because apparently if I just enter my employee id it is as if they never knew me. Sigh*
*your password will be sent to your email id*
Me - okay. *waits for two weeks because I assumed someone will manually go and create my account and email me, considering the state of system. *
After two weeks,
Me - I still haven't received my password on email after I created my account. Can you please check?
After one week,
Customer support - you need to click on forget password if you forgot your password.
Me - *inventing new curse words* I have not forgot my password, I never received it in the first place!
After one week,
Customer support - yes you'll receive your password on your email id.
Me - *runs out of curse words* seriously dude?
* proceeds to reset password*
System - your password has been reset. Your new password will be sent to your email id. *apparently anyone can reset passwords if you have the employee id, which is an integer*
After a week
Me - Am I going to ever receive the password? I've tried generating passwords, resetting my password. I never get my passwords. What should I do!!
Customer support - yes you need to click on Forgot password.
Me - are you fucking kidding me!!!
You fuckers need to be fired and replaced by a FAQ page which has no question and just a single answer, because a peanut has higher IQ than you. For any questions you may have, just reset password. Goddammit idiots!
Also, which email id are you sending my passwords to?
Customer support - myname@oldcompany.com
Me - you do realize that this is the alumni website for the company. Alumni means ex members.
Being ex members, you can assume we don't have access to our company email ids obviously?
Customer support - yes.
Me - how am I supposed to get the password using my old email id then?
Customer support - you need to click on forgot password option.
I think I should probably move to the Himalayas for my anger management issues. Plus it'll be probably easier to throw idiots off a mountain.31 -
So a few days ago I felt pretty h*ckin professional.
I'm an intern and my job was to get the last 2003 server off the racks (It's a government job, so it's a wonder we only have one 2003 server left). The problem being that the service running on that server cannot just be placed on a new OS. It's some custom engineering document server that was built in 2003 on a 1995 tech stack and it had been abandoned for so long that it was apparently lost to time with no hope of recovery.
"Please redesign the system. Use a modern tech stack. Have at it, she's your project, do as you wish."
Music to my ears.
First challenge is getting the data off the old server. It's a 1995 .mdb file, so the most recent version of Access that would be able to open it is 2010.
Option two: There's an "export" button that literally just vomits all 16,644 records into a tab-delimited text file. Since this option didn't require scavenging up an old version of Access, I wrote a Python script to just read the export file.
And something like 30% of the records were invalid. Why? Well, one of the fields allowed for newline characters. This was an issue because records were separated by newline. So any record with a field containing newline became invalid.
Although, this did not stop me. Not even close. I figured it out and fixed it in about 10 minutes. All records read into the program without issue.
Next for designing the database. My stack is MySQL and NodeJS, which my supervisors approved of. There was a lot of data that looked like it would fit into an integer, but one or two odd records would have something like "1050b" which mean that just a few items prevented me from having as slick of a database design as I wanted. I designed the tables, about 18 columns per record, mostly varchar(64).
Next challenge was putting the exported data into the database. At first I thought of doing it record by record from my python script. Connect to the MySQL server and just iterate over all the data I had. But what I ended up actually doing was generating a .sql file and running that on the server. This took a few tries thanks to a lot of inconsistencies in the data, but eventually, I got all 16k records in the new database and I had never been so happy.
The next two hours were very productive, designing a front end which was very clean. I had just enough time to design a rough prototype that works totally off ajax requests. I want to keep it that way so that other services can contact this data, as it may be useful to have an engineering data API.
Anyways, that was my win story of the week. I was handed a challenge; an old, decaying server full of important data, and despite the hitches one might expect from archaic data, I was able to rescue every byte. I will probably be presenting my prototype to the higher ups in Engineering sometime this week.
Happy Algo!8 -
*Interview*
Interviewer: We have an opening. Are you interested to work?
Me: What is that I'll be doing?
I: What technologies and languages do you know?
Me: I know Scala, Java, Spark, Angular, Typescript, blah blah. What is your tech stack?
I: Any experience working on frontend?
Me: Yes. But what do you use for it?
I: Can you work with databases?
Me: I can, on SQL based. What are yours?
I: Can you do big data processing?
Me: I know Spark, if that's what you are asking for. What is it that you actually do?
I: Any experience in cloud development?
Me: Yes. AWS? Azure? GCP?
I: Do you know CI CD?
Me: Excuse me.. I've been asking a lot of questions but you're not paying attention to what I'm asking. Can you please answer the questions I asked.
I: Yes. Go ahead.
Me: What will be my position?
I: A full stack developer.
Me: What technologies do you use in your project?
I: We use all the latest tech.
Me: Like?
I: All latest tech.
Me: You mentioned big data processing?
I: Yes. Processing data from DB and generating reports.
Me: what do you use for that?
I: Java.
Me: Are you planning to rebuild it using Spark or something and deploy in the cloud?
I: No we're not rebuilding it. Just some additions to the existing.
Me: Then what's with cloud? Why did you ask for that?
I: Just to know if you're familiar.
Me: So I'll be working with Java. Okay. What do you use for UI?
I: Flash
Me: 🙄
I sat for a couple of minutes contemplating life.
I: Are you willing to join?
Me: No. Not at all. Thankyou for the offer.5 -
I think the weekly rants just exist because @dfox & @trogus got banned from stackoverflow and they still have questions.
When it comes to learning cutting edge tech... Go build already!
I found Rust intimidating.
I read the first few pages of the official book, got bored, gave up.
Few months later, decided to write a "simple" tool for generating pleasing Jetbrains IDE color schemes using Rust. I half-finished it by continuously looking up stuff, then got stuck at some ungoogleable compiler error.
Few months later I needed to build a microservice for work, and against better judgement gave Rust a try in the weekend. Ended up building an unrelated library instead, uploaded my first package to crates.io.
Got some people screaming at me that my Rust code sucked. Screamed back at them. After lots of screaming, I got some helpful PRs.
Eventually ended up building many services for work in Rust after all. With those services performing well under high load and having very few bugs, coworkers got interested. Started hiring Rust engineers, and educating interested PHP/JS devs.
Now I professionally write Rust code almost full-time.
Moral of the story:
Fuck books, use them for reference. Fuck Udemy (etc), unless you just want to 2x through it while pooping.
Learning is something you do by building a project, failing, building something else, falling again, building some more, sharing what you've made, fighting about what you've built with some entitled toxic nerds, abandoning half your projects and starting twelve new ones.
Reading code is better than reading documentation.
Listening to users of your library/product teaches you more than listening to keynote speakers at conferences.
Don't worry about failures, you don't need to deliver a working product for it to be a valuable experience.
Oh, and trying to teach OTHERS is an excellent method to discover gaps in your knowledge.
Just get your fucking hands dirty!12 -
Me: Oh I see were using a non-standard architecture on this app. I like this bit but what is this doing? never seen it before.
Him: Ah we use that to abstract the navigation layer.
Me: oh ok, interesting idea, but that means we need an extra file per screen + 1 per module. We also can't use this inbuilt control, which I really like, and we've to write a tonne of code to avoid that.
Him: Yeah we wanted to take a new approach to fix X, this is what we came up with. Were not 100% happy with it. Do you have any ideas?
**
Queue really long, multi-day architecture discussion. Lots of interesting points, neither side being precious or childish in anyway. Was honestly fantastic.
**
Me: So after researching your last email a bit, I think I found a happy middle ground. If we turn X into a singleton, we can store the state its generating inside itself. We can go back to using the in-built navigation control and have the data being fetched like Y. If you want to keep your dependency injection stuff, we can copy the Angular services approach and inject the singletons instead of all of these things. That means we can delete the entire layer Z.
Even with the app only having 25% of the screens, we could delete like 30+ files, and still have the architecture, at a high level, identical and textbook MVVM.
Him: singleton? no I don't like those, best off keeping it the way it is.
... are you fucking kidding me? You've reinvented probably 3 wheels, doubled the code in the app and forced us to take ownership of something the system handles ... but a singleton is a bad idea? ... based off no concrete evidence or facts, but a personal opinion.
... your face is a bad idea15 -
To replace humans with robots, because human beings are complete shit at everything they do.
I am a chemist. My alignment is not lawful good. I've produced lots of drugs. Mostly just drugs against illnesses. Mostly.
But whatever my alignment or contribution to the world as a chemist... Human chemists are just fucking terrible at their job. Not for a lack of trying, biological beings just suck at it.
Suiting up for a biosafety level lab costs time. Meatbags fuck up very often, especially when tired. Humans whine when they get acid in their face, or when they have to pour and inhale carcinogenic substances. They also work imprecisely and inaccurately, even after thousands of hours of training and practice.
Weaklings! Robots are superior!
So I replaced my coworkers with expensive flow chemistry setups with probes and solenoid fluid valves. I replaced others with CUDA simulations.
First at a pharma production & research lab, then at a genetics lab, then at an Industrial R&D lab.
Many were even replaced by Raspberry Pi's with two servos and a PH meter attached, and I broke open second hand Fischer Sci spectrophotometers to attach arduinos with WiFi boards.
The issue was that after every little overzealous weekend project, I made myself less necessary as well.
So I jumped into the infinitely deep shitpool called webdev.
App & web development is kind of comfortable, there's always one more thing to do, but there's no pressure where failure leads to fatalities (I think? Wait... do I still care?).
Super chill, if it weren't for the delusion that making people do "frontend" and "fullstack" labor isn't a gross violation of the Geneva Convention.
Quickly recognizing that I actually don't want to be tortured and suffer from nerve damage caused by VueX or have my organs slowly liquefied by the radiation from some insane transpiling centrifuge, I did what any sane person would do.
Get as far away from the potential frontend blast radius as possible, hide in a concrete bunker.
So I became a data engineer / database admin.
That's where I'm quarantining now, safely hiding from humanity behind a desk, employed to write a MySQL migration or two, setting up Redis sorted sets, adding a field to an Elastic index. That takes care of generating cognac and LSD money.
But honestly.... I actually spend most of my time these days contributing to open source repositories, especially writing & maintaining Rust libraries.10 -
So I had my exams recently and I thought I'd post some of the most hacky shit I've done there over here. One thing to keep in mind, I'm a backender so I always have to hack my way around frontend!
- Had a user level authentication library which fucked up for some reason so I literally made an array with all pages and user levels allowed so I pretty much had a hardcoded user level authentication feature/function. Hey, it worked!
- CSS. Gave every page a hight of 110 percent because that made sure that you couldn't see part of the white background under the 'background' picture. Used !important about everywhere but it worked :P.
- Completey forgot (stress, time pressure etc) to make the user ID's auto incremented. 'Fixed' that by randomly generating a user id and really hoping during every registration that that user ID did not exist in the database already. Was dirty as fuck but hey it worked!
- My 'client' insisted on using Windows server.Although I wouldn't even mind using it for once, I'd never worked with it before so that would have been fucked for me. Next to that fact, you could hear swearing from about everyone who had to use Windows server in that room, even the die hard windows users rather had linux servers. So, I just told a lot of stuff about security, stability etc and actually making half of all that shit up and my client was like 'good idea, let's go for linux server then!'. Saved myself there big time.
- CHMOD'd everything 777. It just worked that way and I was in too much time pressure to spend time on that!
- Had to use VMWare instead of VirtulBox which always fucks up for me and this time it did again. Windows 10 enjoyed corrupting the virtual network adapters after every reboot of my host so I had to re-create the whole adapter about 20 times again (and removing it again) in order to get it to work. Even the administrator had no fucking clue why that was happening.
- Used project_1.0.zip etc for version control :P.
Yup, fun times!6 -
Waaaay too many but let's go with this one for now.
At my previous job there was a web application which was generating about 1gb of log data a second. Server was full and the 'fullstack engineers' we called had zero clue about backend stuff and couldn't fix it.
Me and another engineer worked our asses off to figure this out but eventually the logging stopped and it went back to normal.
Great, right?
For that moment. I was the on-call server engineer and at like 3am I got called awake because this shit was happening again.
Sleep drunk with my phone I ssh'd into the server, not sure about what to do at first but then suddenly: let's chattr the goddamn log file...
$ chattr +i /var/log/logfile
Bam, worked, done, back to sleep.
(this comment + param marks the file in a way that it can only be read until the mark is removed, so you can't write to it or move it or remove it or whatever)13 -
My boss asked in a meeting if it is possible to make an algorithm/software without generating bugs.. After that my colleague send me this pic 😂
-
Dev: What do you think of the new version of the app?
Client: It’s great! We just have a couple notes of feedback we are working on compiling. We should have those to you by next week.
*Next week*
Client: We need another week to compile all of this feed back we are generating
*Another week goes by*
Client: Still working on it, it’s going to be a really thorough review when you get it though. No stone will be left unturned!
*2 weeks later*
Client: Here it is!
Attached: A word document with a single line of text “can’t nobody log in” next to a picture of the login screen with a red circle drawn around the login button
Client: Can you hurry up and action our feedback? We want to go live next week
Dev: …9 -
A few weeks ago at infosec lab in college
Me: so I wrote the RSA code but it's in python I hope that's ok (prof usually gets butthurt if he feels students know something more than him)
Prof: yeah, that's fine. Is it working?
Me: yeah, *shows him the code and then runs it* here
Prof: why is it generating such big ciphertext?
Me: because I'm using big prime numbers...?
Prof: why are you using big prime numbers? I asked you to use 11, 13 or 17
Me: but that's when we're solving and calculating this manually, over here we can supply proper prime numbers...
Prof: no this is not good, it shouldn't create such big ciphertext
Me: *what in the shitting hell?* Ok....but the plaintext is also kinda big (plaintext:"this is a msg")
Prof: still, ciphertext shows more characters!
Me: *yeah no fucking shit, this isn't some mono/poly-alphabetic algorithm* ok...but I do not control the length of the ciphertext...? I only supply the prime numbers and this is what it gives me...? Also the code is working fine, i don't think there's any issue with the code but you can check it if there are any logic errors...
Prof: *stares at the screen like it just smacked his mom's ass* fine
Me: *FML*12 -
So apparently two "senior" "laravel-engineers" spent a total billed 35 hours trying to figure out a "critical bug" which "doesn't happen locally".
I went to the dev-console, saw it is generating http urls (fronted by cloudflare https, running on http server-side) and fixed that in maybe ~15 minutes, fucking morons.9 -
Just found a 1000kV arc generator on AliExpress.. huehue :v
1 megavolt? That's the usual voltage level on lightning bolts. And with air's breakdown voltage of ~15kV/cm (could differ depending on humidity), you'd need nearly a meter of distance between the prongs *and* be able to achieve an arc between that distance without having shit arc internally, before you could ever reach 1MV. Yet arc generators' prongs are usually within 1cm of each other. I'd give it 10kV at best.
Also, they're generating the voltage of a lightning bolt for €3.65 apparently.. way too good to be true. Even components able to handle 10kV are quite costly, and components having a breakdown voltage of over 1MV is completely unheard of. I'm gonna buy one of those puppies to see how the circuit is designed and to zap the shit out of those bloody mosquitos in here - the only women that love me :'( - but I wouldn't be surprised if it just boosts the output voltage up to whatever until it can arc and short out. Completely unregulated of course.. which is fine but eh, I doubt that any of those components are rated for 1MV so probably the regulation is in smoking components acting like fuses when the prongs are too wide apart :v
As for the purpose of this rant.. nothing in particular really. Perhaps it'll educate some, I don't know. Just wanted to put it out there :)
Also if you'd like to watch some video material about this, you may find ElectroBOOM's coverage interesting: https://youtube.com/watch/...29 -
I messaged a professor at MIT and surprisingly got a response back.
He told me that "generating primes deterministically is a solved problem" and he would be very surprised if what I wrote beat wheel factorization, but that he would be interested if it did.
It didnt when he messaged me.
It does now.
Tested on primes up to 26 digits.
Current time tends to be 1-100th to 2-100th of a second.
Seems to be steady.
First n=1million digits *always* returns false for composites, while for primes the rate is 56% true vs false, and now that I've made it faster, I'm fairly certain I can get it to 100% accuracy.
In fact what I'm thinking I'll do is generate a random semiprime using the suspected prime, map it over to some other factor tree using the variation on modular expotentiation several of us on devrant stumbled on, and then see if it still factors. If it does then we know the number in question is prime. And because we know the factor in question, the semiprime mapping function doesnt require any additional searching or iterations.
The false negative rate, I think goes to zero the larger the prime from what I can see. But it wont be an issue if I'm right about the accuracy being correctable.
I'd like to thank the professor for the challenge. He also shared a bunch of useful links.
That ones a rare bird.21 -
Just got kicked out of home.
I was living by someone else and they just (politely) asked move out soon as I get paid next month.
They said I'm generating costs for them - goddamn I'm paying 50 bucks above our deal, why didn't she talk just talk to me, I would pay more if needed.
Now trying to realize what the Fuck I did wrong and how am I going to handle this. I have nowhere to go and just 2 weeks ago I got in debt, thinking home was stable.
Not angry, just extremely frustrated.21 -
I wouldn't say least successful but my current one has an extremely irritating annoyance.
I have to setup a tile server (for those draggable maps in browsers and such) and I've come to the point where I'm skilled enough to at least setup the server. BUT:
- Generating the tiles from a database to PNG pbf files at a max 15 zoom level of only even the goddamn nerherlands will take more than a hundred days and I want the entire goddamn world. (20 core rather powerful server).
The end result is veeery fast.
- The importing is fast enough but generating them on the fly is so painstakingly slow 😫
😖14 -
Lead dev: Hey boss, you really do like Python right?
Me: No
Lead dev: Well it's cuz I was think....wait what? WTF do you mean no, you have automated a fuckload of BS with Python and we are still using it, why tf would you use Python if you don't like it?
Me: I like it enough for the automation scripts that we have and for parsing documents or generating glue scripts, its already installed in every server that we have, so testing bs in dev and then using them in prod is cake, it doesn't mean I LOVE python, I like it for what we use it.
Lead dev: Well ain't already bash and perl installed as well?
Me: Do you know bash and or perl?
Lead dev: No, don't you?....
Me: No......
L Dev: (using a Jim Carrey impersonation) WELLL ALLRIGTHY THEN! What is the other language that you used for X project?
Me: Clojure, do you remember that one?
* he said paren paren paren paren yes paren i space paren do close paren close paren etc etc
L Dev: (((((((yes (i (do)))))))) and nevermind, I'll get back to working more with Python
Me: das what I fucking thought esse6 -
I hate people who think that building software is all about one click away and generating things. I got told to complete the task faster than the speed of light.
Fancy me some rant time? Let's name that cunt, "Bob".
"
Hey Bob, I got questions for you. Are you sure you were in your mum's womb for 8-9 months? Are you the kind of twat who honk at people as soon as the traffic light's turning green?
Building software takes time, the CI/CD takes time, TestFlight takes time, approvals from the Google Play store take time, approvals from Apple App Store connect take time, Unit testing takes time and every fucking thing you can name takes time!
It's just like sex, nobody wants to be with someone who can only last in bed for 0.000000000001 nanoseconds, the longer, the better, (but not too long).
It is also like building houses, which takes months to build not hours. As from my experience so far, something tells me that you are not the kind of person who would understand how to build a house but a sand castle which takes only hours to build.
Relentlessly, you bombarded me with a pile of bollocks and a pile of nonsense is not going to fasten up the compilation of the software.
"4 -
Dear designer, if you're generating assets please make sure you're naming them right. And oh, get rid of that .DS_Store thing please.10
-
Client:
"Ok,. so your saying that its gonna take you 63 hrs to create a simplified CRM with basic functionality and auto fill docs or automated work flow docs as an added feature?"
My response (after already under-quoting and planning on cutting some corners because he has a smaller budget than normally necessary):
"It sounds simpler than it is. There are a lot of things I need to take into account that you wouldn't even think about.
For instance:
Making sure your emails don't go to the client's spam folder. This requires the sending domain to be verified via DNS settings. I have to ensure your email content passes a spam test (link to text ratio needs to be good). I assumed you'd want an email that has your logo and looks good. This means testing the design in Outlook to make sure it's not broken.
What if the email doesn't send due to an invalid email address, or bounces back? You'll need to be notified.
What if the client list for the week contains duplicates? You need them merged or ignored.
Generating a PDF from HTML can be tricky because the conversion isn't apples to apples so there are things I need to adjust to make them as close as possible.
Making a site completely mobile friendly (the tier 3 option) can be very time consuming as well. It's not about whether or not it fits on a mobile phone, it's about whether or not it's intuitive and useful. You're essentially getting a mobile app without paying for separate development of an app.
If I took everything into consideration and built this to be 100% bullet proof, it would cost tens of thousands.
I'm doing my best to leverage your needs with the probability of running into an issue. I'm not going waste my time/your money on something that will likely never happen."9 -
The biggest annoyance in Java for me is the absence of "real" properties. Writing getters and setters everywhere is ugly, you are generating them anyways.7
-
It's always fun to compare webdesign to car sales.
Client: We want a car with 2 doors.
We: Here is you car with 2 doors.
Client: Why does the car only have 2 doors? This is very limiting and i think 4 doors work way better.
We: Okay fine, here is a car with 4 doors.
Client: Could you please check on the brakes, i think there is something wrong but i don't know what.
We: Ok we checked the brakes and they are working ok. So here is you car with working brakes and 4 doors.
Client: Why didn't you check on the exhaust? The car is generating big black clouds now...
It's never enough7 -
It's f-ing 2018.
We are generating electricity out of thin air.
We are generating it through light.
We are generating it through flowing water.
We can generate it when humans freaking move.
We can freaking feel the virtual stuff(latest SmarterEveryday upload).
But we still have freaking powercuts 😤😖😠😭.
P.S. : I Love you, you beautiful devrant people😊. My headache disappeared after reading a few rants😁.7 -
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 -
I just lost faith in the entire management team of the company I'm working for.
Context: A mid sized company with
- a software engineering departmant consisting of several teams working on a variety of products and projects.
- a project management department with a bunch of project managers that mostly don't know shit about software development or technical details of the products created by engineering.
Project management is unhappy about the fact that software engineering practically never sticks to the plan regarding cost, time and function that was made at the very beginning of the project. Oh really? Since when does waterfall project management work well? As such they worked out a great idea how to improve the situation: They're going to implement *Shopfloor Management*!
Ever heared about Shopfloor Management? Probably not, because it is meant for improving repetitive workflows like assembly line work. In a nutshell it works by collecting key figures, detecting deviation in these numbers and performing targeted optimization of identified problem areas. Of course, there is more to Shopfloor Management, but that refers largely to the way the process just described is to be carried out (using visualisation boards, treating the employee well, let them solve the actual problem instead of management, and so on...). In any case, this process is not useful for highly complex and hard-to-predict workflows like software development.
That's like trying to improve a book author's output by measuring lines of text per day and fixing deviations in observed numbers with a wrench.
Why the hell don't they simply implement something proven like Scrum? Probably because they're affraid of losing control, affraid of self managed employees, affraid of the day everybody realizes that certain management layers are useless overhead that don't help in generating value but only bloat.
Fun times ahead!8 -
My mom uses an App to make free international phone calls with my aunts. But to generate credits in the app, she has to watch a lot of video ads, do a lot of stuffs in the app, which is time consuming & boring. So, I created an automation that keeps watching video ads, closes the ads when its done, downloads apps & runs them to get more credits, etc. So, the automation keeps generating credits everyday. now my mom can make free international calls whenever she needs...9
-
According to my predecessor, nothing showcases your SQL skills quite like generating the entire page (markup, JavaScript and all) from a single 2500 line query.7
-
An app that helps students study by generating custom flashcards from text analyzed & parsed in pictures taken of textbook material.8
-
Sent another developer instructions for generating an SSH key pair and to send me the public key. He did so. There was a problem getting it to work. So, naturally, he emailed me the private key.1
-
So here I am, skrewing around with the Google Authenticator app and the dodgiest base32 code generator I've ever built and generating a 56 char unique ID, and a 8 digit time based code.
WTF, all these products, services and logins that use 6 digit codes... and this fucking thing can handle 8 without breaking 😑
Now... to hook it into a QR code class... and spit out an image I can actually scan, without calling google charts api.
I can't say I've written one of those before 🙃6 -
A couple of months back we were discussing sh with a third party vendor for a very large ass fuck system that another department uses. I had been called into the meeting because the entire I.T department counts on me to at least act as an assessor to the many issues that other departments might have.
the department for which i was working with manages the databases that our institution uses, and in this particular question the DBA (my best friend mind you) was part of the meeting.
Mind you, issues that the third party vendor were having were all fixed by our DBA, and he had documented and mentioned these items to me as I provided assistance to him through the 3 weeks prior to this meetings. Once such case was that we needed a transitioning as well as intermediary system for some processes to happen from one DB to the other and a lot of other technical babble. Well, the DBA used to be an excellent (fuck you) VB developer who recently re-learned the language into .net. He had shown me many of his old programs and even by the limitations of the language they were elegant and fascinating. They really are and ya'll devrant fam know that I ain't one to hate on tech at all.
When the DBA explained how he went around some of the issues by generating programs that could assist him, he mentioned the tech stack, I had coached him into knowing that being descriptive about the tools he used would be beneficial to everyone else. While he mentioned VB.NET the vendor snickered and my boy got quiet.
Then I broke the silence, fuck you. "what was that?" and the dude said "nothing, sorry"
So I said "no no, I want to know, I am not going past this point until you, the dude getting paid over $100 an hour for something YOU couldn't fix explain to me the little hehe moment you had"
The mfker went silent. then explained how he was aware that people were moving past vb.net and shit like that, me "imagine that, someone used a tech stack that your ignorance thought obsolete to fix something you could not solve, even though we are paying you for it, were it me or in my hands, and mind you i have direct access to the VP so this foolishness might change, I would have cut you and your little sect loose months ago, I have no patience, or appreciation from leeches like you or the rest of the "professionals" that work for your company or other similar entities, much less, as you can see, my patience runs even less when you people snicker at the solutions that our staff has to take when you all slack"
The entire meeting was uncomfortable as high heaven.
Fuck you, if someone I know manages to run shit on fucking liberty basic then so fucking be it. I will slap you 10 fucking times over, and then fuck your girl, if you try to put someone else down for the tech stacks you use.
I hate neck beards, BUT I hate fake ass neckbeards ever more
*Colin Farrell in true detective mode: FUCK....YOU13 -
A colleague of mine had to debug performance problems in a foreign, proprietary application that is ancient.
To be crystal clear: Only reason that thing exists is because some old geezers fear change.
Asked me for help cause it's an _ancient_ MS SQL server that is luckily running on hardware owned by us.
Finding the credentials was already a funny task.
We had to access the vault (not joking here, we have a physical vault for storing sensitive data and critical backups), grab a folder and find the necessary data cause no one ever dares to touch that thing.
The application is btw for a sort of ERP / inventory system that is used in some ancient shops not yet migrated...
Yeah. Story speaks for itself.
Anyway, after dusting off ourselves, we were able to connect.
Was a bit ... Interesting. Everything's in german. The worst kind of german.
After looking at the first tables, I started giggling.
My colleague knew immediately that this was a sign of danger (insert Simpson meme here), raised his eyebrows and asked "How bad is it....".
Me, still giggling, "lemme take a further look, this is gold".
*long sigh from the colleague*
Well... It ended with me putting my hands in front of my eyes, turning around and saying: "I cannot look at it anymore, it hurts too much...."
To summarize:
- German table names
- When a table exceeded 300 plus columns, they added another table with the same plus suffix "_ddd"… where ddd is an zero filled integer sequence like 001
- To join this mess, they created views... Named "generator" - Sequence Number ... Some had the beginning of table names appended, which doesn't make it less confusing.
- the process list was listing queries running longer than 5 mins.
Which isn't at all surprising when generating carrtesian products of N tables with left join.
I've seen shit.... I've seen a lot of shit.
But that shit scared me.1 -
Lots of oof in one image.
I like how they had the audacity to say (and I fucking quote): "this is good news!"
I don't like to complain about sites generating revenue. I understand it is important and I even feel morally obligated not to use an adblocker. But all I will say is that the site has sustained itself for a very long time without the use of poor-quality and unrelated ads, and this feels like a lot more of a money grab than something the site actually requires.
Anyways, happy to see a -400 score on it. And I guess I can't wait to get Amazon ads on SO.6 -
Wasted 7 hours for this:
import moment from 'moment'
Should be:
var moment = require('moment')
What happened? When app running in debug mode all is working without issues! When generating release APK, it crashes when using moment
Fucking hybrid shit apps...13 -
I have a project at work that involves learning a bunch of AWS stuff and rewriting a couple credential-generating scripts. I don't even know what the ask is, apart from some high-level "make this SSO" so ... idfk.
I am so incredibly bored of it (and burned out in general) that I can't even look at it.
I would rather see how many times it takes to beat my head against the wall to make a hole than think about this ticket again.
"Oh, I thought you would find that fun" No. No I do not. I can't even bring myself to look at it anymore. "Well, try to push through it and get it outta here!" Ughhhhh
I hope Russia nukes the bloody company.10 -
I hired 2 fresh out of school junior devs to work with me on my old web app.
They were brilliant, knew a lot of things, and were motivated.
They started complaining about how the code was shit, the db was shit, there were no best practices, the technology was old, bug fixing was boring, no comments in code.
I felt bad, very bad during 3 years, because they were absolutely right. I tried to work with them through better coding practices, rewriting, documenting etc.
Now they both have left.
I'm alone maintaining and evolving the application.
And I start to come across the code THEY developed.
What a bunch of shit. SQL queries bringing down the server. Duplicate code, because they didn't want even read the old one. Useless comments.
Performance killing functions. Exceptions swallowed without mercy. I have to clean up they poop.
I feel somewhat better, though. The application is still growing and holding the ground after many years and generating at least 800K$ per year in revenues.
Maybe better, but sad. I really wanted to share the project with somebody else but I failed, and I'm left alone....12 -
Before becoming a developer, I used to work as a sales rep at this company that spent a good amount of time building what they believed to be an innovative state-of-the-art “code generator”. It was basically a scaffolding tool for generating software.
They were using it to auto generate customized iOS and Android native mobile app templates, along with a web backed.
The problem was that the generated code was shit, and the developers on the team basically spent more time fixing bugs than if they had built everything from scratch. But their passion for the product meant they just kept using it.
For some reason they never fixed issues in the original templates, so basically all the bugs that were found, kept showing up with each new app!
I have never seen apps like this that essentially had more bugs than features. Opening more than 10 app screen meant the app would freeze and crash. Sign up forms were actually dummy forms. The list goes on...
All the apps had the same shitty UI. For example, Product pages had a product image area that was like 5% of the screen view!
Last but not least, apps had a backend IP address hardcoded pointing to a server with an IP address that was temporary. So one day they had to restart the server and suddenly all customer apps stopped working and required a software update to work!
It was amazing seeing how a team of 3 developers trying to fix messy autogenerated code, couldn’t accomplish what was essentially a website on an app that I managed to build in my free time.
That’s how I knew it was time to quit my job and code full time.2 -
- Back in October 2019 -
- Me: Hey, these two servers are having weird problems. Several services we use stop functioning every 7-10 days. I can temporarily fix them by taking them off the domain and putting them back on, but I don’t know why they’re happening or what further damage this workaround causes.
- Boss: Thats not good. Well. Keep doing the fix when it’s needed.
- Me: We should really reach out to someone at Microsoft through our support plan. I have no idea how to fix any of this and it’s making our Hyper-V environment very unstable.
- Boss: K. Let’s not worry about that now, let’s just keep working around it.
- In January 2020 -
- Me: Hey boss. More and more errors are generating from these servers. I’ve created a log of everything Ive found to hand off to a support agent. We really need to.
- Boss: Okay. Let’s talk to our internal team that uses Hyper-V and see what they did since they don’t have any problems.
- Me: Its not Hyper-V specific. It’s stemming from AD and authentication. It causes problems even without Hyper-V installed, so I don’t think it will help.
- Boss: K. Let’s just do what we can with what we got.
- Today, May 2020 -
- Me: Hey. The servers no longer work at all, and the workaround has no effect anymore. I’m completely stalled on my project now and have nothing to do.
- Boss: What?? What happened to them?
- Me: *Sends 17 page PDF file documenting all found issues, errors, warnings, and weird anomalies in both servers, as well as troubleshooting steps I’ve already performed*
- Boss: None of this makes any sense. I need you to start troubleshooting right away.
- Me: But... I can’t... *Sends screenshots of errors having no search results on the web, screenshots of Microsoft Support Techs on forums telling me we need to open tickets with Microsoft directly, other reasons why I’m completely blocked*
- Boss: Keep trying to figure it out. We need this resolved as soon as possible and we can’t let it happen again in the future.
Now I’m completely alone in our office, bitterly staring at the servers, trying to force an epiphany on how to fix these dumb boxes.5 -
Hours of refactoring just to get 0.5 seconds increase in performance per document generation.
Sounds small but makes a big difference when generating 100k documents.
Still not happy with it though...2 -
Boss: We should use Adobe ColdFusion for our next project
Me: Why?
Boss: Because it's the only programming language that can generate PDF. In our next project we will be generating a lot of PDF receipts on daily basis
Me: Oh no!2 -
Dank Learning, Generating Memes with Deep Learning !!
Now even machine can crack jokes better than Me 😣
https://web.stanford.edu/class/...rant deeplearning artificial intelligence ai neural networks stanford machine learning learning devrant ml2 -
I HATE IT WHEN I HAVE TO BE NICE TO THESE KINDA FCKED UP IGNORANT PEOPLE
[11:10, 16/04/2020] +263 73 ...: Hi I want to develop an app do you live in glen view
[11:12, 16/04/2020] Softaz: Um in budiriro
[11:12, 16/04/2020] Softaz: What do yu have in mind
[11:15, 16/04/2020] +263 73 ....: There's an idea I've been testing and its about creating an app thats track patients with the covid virus the people they have infected even before the infected ones test positive
[11:16, 16/04/2020] +263 73 4....: What do you think about this coz this is not a money generating project but we will do it for humanity
[11:17, 16/04/2020] +263 73 4...: We will finish the project in less than 3 days coz I've got the research covered and how the app will operate I jus need someone who can punch the code
[11:22, 16/04/2020] Softaz: Its a good idea
Though your time frame is too tight
What platform will this app run on?
[11:26, 16/04/2020] +263 73 47...: About the time frame its becoz its a very simple mechanism4 -
1 - Writing a 20 lines Python module in 15 minutes approx.
2 - Accidentally deleting this module.
3 - Taking 1 hour finding a way to generating source code from the compiled PYC Python file.1 -
Apple... Isn't it obvious?
They once built machines and software that were tested and ready for customers but they went into a direction where saving money and generating more income has the highest priority.
The more recent the version (hard- and software) the more unstable it became. On top of that the crap they produce gets more expensive each iteration. I do own a 2015 MB Pro, that's it. I used to own:
- iPhone X
- MB Pro 2017
- Apple Watch
- Apple TV
- iPad Pro
... All at the same time ... But I sold everything and switched (back) to Android and Linux and no tablet at all. The MB Pro I own is just my travel notebook because of battery life.
I'm very disappointed of Apple's strategical direction and that's why I'm boycotting it as good as I can.13 -
Finally fucking managed to setup quite fast map tile hosting including the tile generation after ages of research and trial and error.
I love this open (source) maps (openstreetmaps) project but man, figuring out what to do from a gazillion sources can be rather hard.
Now I'm just having some styling issues and the filesize is fucking insane (only the Netherlands with all data, 20gb+ if I remember correctly) so I'm just generating road maps for now. If someone knows some more about the styling as for the maps, please let me know!
Yeah, this is fucking satisfying.2 -
At work, my closest relation is with the DBA. Dude is a genius when it comes to proper database management as well as having a very high level of understanding concerning server administration, how he got that good at that I have no clue, he just says that he likes to fuck around with servers, Linux in particular although he also knows a lot about Windows servers.
Thing is, the dude used to work as a dev way back when VB pre VB.NET was all the rage and has been generating different small tools for his team of analysts(I used to be a part of his team) to use with only him maintaining them. He mentioned how he did not like how Microsoft just said fk u to VB6 developers, but that he was happy as long as he could use VB. He relearned how to do most of the GUI stuff he was used to do with VB6 into VB.NEt and all was good with the world. I have seen his code, proper OOP practices and architectural decisions, etc etc. Nothing to complain about his code, seems easy enough to extend, properly documented as well.
Then he got with me in order to figure out how to breach the gap between building GUI applications into web form, so that we could just host those apps in one of our servers and his users go from there, boy was he not prepared to see the amount of fuckery that we do in the web development world. Last time my dude touched web development there was still Classic ASP with JScript and VBScript(we actually had the same employer at one point in the past in which I had to deal with said technology, not bad, but definitely not something I recommend for the current state of web development) and decided that the closest thing to what he was used was either PHP(which he did not enjoy, no problem with that really, he just didn't click with the language) and WebForms using VB.NET, which he also did not like on account of them basically being on support mode since Microsoft is really pushing for people to adopt dotnet core.
After came ASP.NET with MVC, now, he did like it, but still had that lil bug in his head that told him that sticking to core was probably a better idea since he was just starting, why not start with the newest and greatest? Then in hit(both of us actually) that to this day Microsoft still not has command line templates for building web applications in .net core using VB.NET. I thought it was weird, so I decided to look into. Turns out, that without using Razor, you can actually build Web APIs with VB.NET just fine if you just convert a C# template into VB.NET, the process was...err....tricky, and not something we would want to do for other projects, with that in we decided to look into Microsoft's reasons to not have VB.NET. We discovered how Microsoft is not keeping the same language features between both languages, having crown C# as the language of choice for everything Microsoft, to this point, it seems that Microsoft was much more focused in developing features for the excellent F# way more than it ever had for VB.NET at this point and that it was not a major strategy for them to adapt most of the .net core functionality inside of VB, we found articles when the very same Microsoft team stated of how they will be slowly adding the required support for VB and that on version 5 we would definitely have proper support for VB.NET ALTHOUGH they will not be adding any new development into the language.
Past experience with Microsoft seems to point at them getting more and more ready to completely drop the language, it does not matter how many people use it, they would still kill it :P I personally would rather keep it, or open source the language's features so that people can keep adding support to it(if they can of course) because of its historical significance rather than them just completely dropping the language. I prefer using C#, and most of my .net core applications use C#, its very similar to Java on a lot of things(although very much different in others) and I am fine with it being the main language. I just think that it sucks to leave such a large developer pool in the shadows with their preferred tool of choice and force them to use something else just like that.
My boy is currently looking at how I developed a sample api with validation, user management, mediatR and a custom project structure as well as a client side application using React and typescript swappable with another one built using Angular(i wanted to test the differences to see which one I prefer, React with Typescript is beautiful, would not want to use it without it) and he is hating every minute of it on account of how complex frontend development has become :V
Just wanted to vent a little about a non bothersome situation.6 -
Kinda all other devs translate incompetent with a lack of knowledge
i would go with not able to recognize his lack of knowledge
Story 1:
once we had a developer, whom was given the task to try out a REST/Json API using Java
after a week he presented his solution,
2 Classes with actual code and a micro-framework for parsing and generating JSON
so i asked him, why he didn't use a framework like jackson or gson, while this presentation he felt pretty offended by this question
a couple of weeks later i met him and he was full of thanks for me, because i showed him, that there are frameworks like that, and even said sorry for feeling offended
- no incompentence here -
Story 2:
once i had a lead dev, who was so self-confident, he refactored (for no reason but refactoring itself) half the app and commited without trying to compile/run test
but not only once, but on a regular basis
as you may imagine, he broke the application multiple times and blamed the other devs
- incompentence warning-
Story 3:
once i had a dev, which wanted to stay up with the latest versions of his libraries
npm update && commit without trying to compile/testing multiple times
- incompentence warning-
Story 4:
once i had a cto
* thought email-marketing is cutting edge
* removed test-systems completely to reduce costs
* liked wordpress
* sets vm to sleep without letting anyone know
- i guess incompetent alert -2 -
For fucking fuck sake I fucking hate those dense motherfuckers with professor degrees from university. Lazy shmucks.
How, HOW, can you, as a sentient human being, force anybody to use Netbeans for the fucking final project? Two SOAP services, two REST services and PHP for communication? In Netbeans!? WTF. You didn't even teach us PHP for fuck sake. Why can't I choose technology I'm using!?
And to top it all of, Netbeans is the worst IDE I've ever used. I'd rather kill myself with a spoon than use for even one more project. How can ANY TEACHER use it for lectures and tasks? Using it teaches you fucking nothing, because it's generating code for you. It makes you braindead when you just look at it. It's works like shit and looks like shit.
P.S.
I hope that devTea's swear-words blocker will have some fun with this rant.16 -
Oh, $work.
Ticket: Support <shiny new feature> in <seriously dated code> to allow better “searching” (actually: generating reports, not searching)
UI: “Filter on” inputs above a dynamic JS table don’t update said table; they trigger generating a new report.
Seriously dated code: 12 years old. Rails v3-isms. Blocks access without appropriate role; role name buried in secrets configuration files. Code passes data round-trip between server/client/server/model that isn’t ever used. Has two identical reports with slightly different names, used interchangeably. Uh, I guess I’ll update both?
Reports: Heavily, heavily abstracted; zero visibility.
Shiny new feature: Some new magical abstraction layer with no documentation nor comments. Nobody in my team knows how it works. The author… won’t explain, but sent me her .ppt presentation on it (the .ppt, not a recording).
Useless specs for seriously dated code: Tests exclusively factory-generated data; not the controller, filters/lookups, UI, table data, etc.
Seriously dated code and useless spec author: the CISO.
The worst part: I’m not even surprised at any of this.2 -
A little late but whatever.
About half a year ago, I started working on setting up self hosted (slippy) maps. For one, because of privacy reasons, for two, because it'd be in my own control and I could, with enough knowledge, be entirely in control of how this would work.
While the process has been going on for hours every day for about half a year (with regular exceptions), I'll briefly lay out what I've accomplished.
I started with the OpenMapTiles project and tried to implement it myself. This went well but there were two major pitfalls:
1. It worked postgres database based. This is fine but when you want to have the entire world.... the queries took insanely long (minutes, at lower zoom levels) and quite intimate postgres/tooling knowledge was required, which I don't have.
2. Due to the long queries and such, the performance was so bad that the maps could take minutes to render and when you'd want that in production... yeah, no.
After quite some time I finally let that idea sail and started looking into the MBTiles solution; generating sqlite databases of geojson features. Very fast data serving but the rendering can take quite some time.
After some more months, I finally got the hang of it to the point that I automated 50-70 percent of the entire process. The one problem? It takes a shitload of resources and time to generate a worldwide mbtiles database.
After infinite numbers of trial and error, I figured out that one can devide a 'render' (mbtiles aka sqlite database) into multiple layers (one for building data, one for water, one for roads and so on), so I started doing renders that way.
Result? Styling became way more easy and logical and one could pick specific data to display; only want to display the roads? Its way more simple this way. (Not impossible otherwise but figuring out how that works... Good luck).
Started rendering all the countries, continents and such this way and while this seemed like a great idea; the entire world is at 3-4 percent after about a month. And while 40-70 percent generates 10 times as fast, that's still way too slow.
Then, I figured out that you can fetch data per individual layer/source. Thus, I could render every layer separately which is way faster.
Tried that with a few very tiny datasets and bam, it works. (And still very fast).
So, now, I'm generating all layers per continent. I want to do it world based but figured out that that's just not manageable with my resources/budget.
Next to that, I'm working on an API which will have exactly the features I want/need!13 -
Dear Apple: FIX YOUR FUCKED UP IDE!
Generating IPA file takes ages, freezes the shit out of the mac and to make it even worse a full clean -> build -> Generate Signed APK on slow ass gradle takes barely 5 minutes while XCode takes ages9 -
tl : "hey dotenv, we have a presentation with VP tomorrow, do you want to present any of your achievements in product?"
me: "umm, what achievements ?"
tl : "you know, something that you added in app which made a good impact to various metrics like DAU, MAU, less bad reviews etc"
me: "umm... i coded the tasks and features created by you folks. they got shipped at some point of your liking, and are now being tracked by you for its success failure. So i am not sure what to take credit for"
TL: "no, no.. i mean like any bugs or issues that you fixed outside of your daily jira tasks which you tracked to be a sucess"
me: "well as far as tracking is concerned, then neither i know how to track them nor i did. but yea, i identified a bug where an outdated payload was generating bad request and giving a silent failure instead of success which recently got shipped. maybe its helping users get actual response instead of "we will get back to you in some time" , so this might get considered?
TL : "oh that? that we have already added as one of the team's achievements (=PM+TL's achievement) and have tracked it to be a succes"
me : "what th- okay. then how about that api failure which was identified by AVP as "something is not right" in which the api was intermittently taking a long time to respond. he tagged me and i set up logs to identify which type of users got that issue and the actual cause of that api failure. that was definitely a good fox for app as we ended up with good reviews on playstore for our new release?"
TL : "oh that? how can you take credit for that fix? it was identified by AVP, you just added similar logs that we were using for tracking errors and implemented a fix when it came to you as a sprint task? its a team achievement"
me : "but you guys didn't identified the cause through your logs!? my log was more granular. and even if that's the case, we aren't allowed to pick any task just as is, without getting it added to sprint , right?"
TL : "nah, that was a team win"
*6 months later, during appraisal time"
TL : "Hey dotenv, you haven't displayed any leadership skills and haven't gone put of the box to improve the product. Here's your peanut appraisal 🗑️"
me : 🥲🔫🤯🪦
------------
fuck this stupid neaurocrst structure. i hate being a selfish prick than a team player, but either give credits as well as punishment to the team or gove credits as well as punishment to the single person. but wtf is thos culture of giving reward to team and punishment to individual? fckin communists
------ -
I haven't written a single line of code in three weeks and it's starting to hurt. I need a summer project of some kind but my brain isn't doing any idea-generating moves. Woe is me, this semester hasn't even ended yet and I already wish the next one would start right now 😂😭
Never thought I'd reach a point where I'd miss code (not my passion, simply a means to an end) but here we are.13 -
On the nth day of Christmas, my true love gave to me:
1 misconfigured autoscaling group
200 unnecessary servers
29 urgent emails
3 support teams that would have fixed the problem in an hour of anybody had bothered going to them first
Ugh. Idiots. Somehow the whole issue was caused by a single full hard disk, which caused database transactions to fail, which caused the group to scale out and spin up new instances, which didn't actually fix the problem so it kept scaling until it hit the limit and then continuously failed to create new instances for several hours straight, generating loads of notification emails and generally causing problems for everyone involved. -
So I was writing docs for my project the hard way. Manually. Every time I added something new, I had to find the right place for it to be alphabetically in the reference. And god forbid I want to have the same information in two pages: I would need to copy/ paste and pray that I not forget to update the information EVERYWHERE.
I didn't feel like installing and learning some new markdown generating bullshit so I just made my own system. It's very simple and intuitive and I love it.
I made sure it can cover two use case: reading partial documents from the disk, and rendering in-memory objects to markdown too (like rendering a collection of tuples into a table)
I didn't care much for templating, so there's no templating capability.2 -
Not as much of a rant as a share of my exasperation you might breathe a bit more heavily out your nose at.
My work has dealt out new laptops to devs. Such shiny, very wow. They're also famously easy to use.
.
.
.
My arse.
.
.
.
I got the laptop, transferred the necessary files and settings over, then got to work. Delivered ticket i, delivered ticket j, delivered the tests (tests first *cough*) then delivered Mr Bullet to Mr Foot.
Day 4 of using the temporary passwords support gave me I thought it was time to get with department policy and change my myriad passwords to a single one. Maybe it's not as secure but oh hell, would having a single sign-on have saved me from this.
I went for my new machine's password first because why not? It's the one I'll use the most, and I definitely won't forget it. I didn't. (I didn't.) I plopped in my memorable password, including special characters, caps, and numbers, again (carefully typed) in the second password field, then nearly confirmed. Curiosity, you bastard.
There's a key icon by the password field and I still had milk teeth left to chew any and all new features with.
Naturally I click on it. I'm greeted by a window showing me a password generating tool. So many features, options for choosing length, character types, and tons of others but thinking back on it, I only remember those two. I had a cheeky peek at the different passwords generated by it, including playing with the length slider. My curiosity sated, I closed that window and confirmed that my password was in.
You probably know where this is going. I say probably to give room for those of you like me who certifiably. did. not.
Time to test my new password.
*Smacks the power button to log off*
Time to put it in (ooer)
*Smacks in the password*
I N C O R R E C T L O G I N D E T A I L S.
Whoops, typo probably.
Do it again.
I N C O R R E C T L O G I N D E T A I L S.
No u.
Try again.
I N C O R R E C T L O G I N D E T A I L S.
Try my previous password.
Well, SUCCESS... but actually, no.
Tried the previous previous password.
T O O M A N Y A T T E M P T S
Ahh fuck, I can't believe I've done this, but going to support is for pussies. I'll put this by the rest of the fire, I can work on my old laptop.
Day starts getting late, gotta go swimming soonish. Should probably solve the problem. Cue a whole 40 minutes trying my 15 or so different passwords and their permutations because oh heck I hope it's one of them.
I talk to a colleague because by now the "days since last incident" counter has been reset.
"Hello there Ryan, would you kindly go on a voyage with me that I may retrace my steps and perhaps discover the source of this mystery?"
"A man chooses, a slave obeys. I choose... lmao ye sure m8, but I'm driving"
We went straight for the password generator, then the length slider, because who doesn't love sliding a slidey boi. Soon as we moved it my upside down frown turned back around. Down in the 'new password' and the 'confirm new password' IT WAS FUCKING AUTOCOMPLETING. The slidey boi was changing the number of asterisks in both bars as we moved it. Mystery solved, password generator arrested, shit's still fucked.
Bite the bullet, call support.
"Hi, I need my password resetting. I dun goofed"
*details tech support needs*
*It can be sorted but the tech is ages away*
Gotta be punctual for swimming, got two whole lengths to do and a sauna to sit in.
"I'm off soon, can it happen tomorrow?"
"Yeah no problem someone will be down in the morning."
Next day. Friday. 3 hours later, still no contact. Go to support room myself.
The guy really tries, goes through everything he can, gets informed that he needs a code from Derek. Where's Derek? Ah shet. He's on holiday.
There goes my weekend (looong weekend, bank holiday plus day flexi-time) where I could have shown off to my girlfriend the quality at which this laptop can play all our favourite animé, and probably get remind by her that my personal laptop has an i2350u with integrated graphics.
TODAY. (Part is unrelated, but still, ugh.)
Go to work. Ten minutes away realise I forgot my door pass.
Bollocks.
Go get a temporary pass (of shame).
Go to clock in. My fob was with my REAL pass.
What the wank.
Get to my desk, nobody notices my shame. I'm thirsty. I'll have the bottle from my drawer. But wait, what's this? No key that usually lives with my pass? Can't even unlock it?
No thanks.
Support might be able to cheer me up. Support is now for manly men too.
*Knock knock*
"Me again"
"Yeah give it here, I've got the code"
He fixes it, I reset my pass, sensibly change my other passwords.
Or I would, if the internet would work.
It connects, but no traffic? Ryan from earlier helps, we solve it after a while.
My passwords are now sorted, machine is okay, crisis resolved.
*THE END*
If you skipped the whole thing and were expecting a tl;dr, you just lost the game.
Otherwise, I absolve you of having lost the game.
Exactly at the char limit9 -
The day after I delivered a secure programming course to our junior devs.
Junior dev: I can't figure out what's happening when I generate this sql.
Me: what do you mean generating ... It should be a prepared statement..
Junior dev: no I'm just generating the strings from the form
Me: ... Let's try this again.... -
I felt like being the cause for “that dreaded legacy code“ and wrote 250 lines of C preprocessor macros for generating bitfields in a large header file automatically, with the goal of simplifying and clarifying register access for all peripherals in the end. Then, I found out that SDCC's optimisation for bitfields is absolutely awful (if existent at all), and I don't really want to use these abstractions if they have a performance impact.
Did I deserve that?7 -
Why do the HR folks cannot be more passionate about their work. Everywhere I have worked, they don’t pay a lot of attention to how their processes affect their employees.
I had a Visa appointment along with my wife today. The appointment was scheduled couple of weeks back. The email with appointment schedule had the list of documents that we needed to carry.
There was one document which HR folks needed to generate themselves and share to me. Its basically the certificate of employment. Now, I had a Certificate of Employment from last year and I thought that would suffice. But then the Visa lady told me that they needed a latest one(generated in last 3 months). It was very weird for the Visa process since I didnt have to carry that certificate couple of years back. But anyways.
My issue with the HR people is that if there was a need to generate this document from their side, they could have already generated it and shared with me. But no, they will wait for something like this to happen. They will only do this when I had asked about it and then they would have generated the certificate and shared with me.
Similar experience in my previous company, when I moved to Germany couple of years back and the company had arranged for accommodation for me. The building where I had my initial temporary stay, had two entrances and only one of them had the elevator, which was at the back side of the building. My apartment was located on the 5th floor. Since there was no mention of the elevator in the email that I received from the HR folks, I had to carry 6 bags up 5 floors after my 12 hours of flight. It took almost an hour to get all of them up.
All of this could have been easily avoided if the HR folks were a bit more empathetic towards the people they deal with and tried making their life a bit more easy. A little note of elevator, or generating certificates automatically feels the lives of employees so easy and it really avoids a lot of hassle, both for employee and the HR folks themselves.3 -
Is anyone here familiar with generating PNG files from MBTiles files?
I've tried multiple libraries but keep ending up with black, non readable, PNG files which is starting to get really fucking annoying.
(Platform is Linux, obviously)5 -
Finally getting off my proverbial ass and doing something about the lack of games I like. Going to focus on making an engine for the kind of games I want to play.
No, I am not starting from scratch. Going to base my engine on Godot and use it for my own titles. I am not insane. Making it from scratch is too much work these days. But the indies are shifting from Unity to other engines right now. So a lot of wanted attention will be placed on better alternatives. This means more content and plugin choices will be available to Godot devs.
I kept making excuses as to how hard it will be or it will take forever. It only ended up taking me further away from what I wanted. I have my wishlist of features and I will focus on modularizing them so they can be used as needed. If it makes sense I will make these modules available to the community at Godot. This will help get feedback on what can be improved and generalized further. It will also reduce development costs in the long run. I want to take the approach that No Man's Sky has taken for content and generate as much as I can. I am fascinated by generating objects using algorithms. This seems to be a trend in games.
The struggle I have with games: I want to build things like structures in game (aka Minecraft), I want to build characters in game (aka RPGs), I also want to deform terrain (aka organic voxels), and I want a mixed genre (guns and dragons). Nothing like this exists in a form I want to pay for. I also want to be able to mod the game and for other people to be able to mod the game. That really narrows the list of games down to nothing. Sure there are few games that hit these bullet points, but not all in the same game.
I am finding I struggle to be engaged intellectually at work. I do what I have to for a paycheck. I think having a side project will help with this. One that is radically different than what I do at work is going to be helpful. I need to be realistic about expectations. I probably shouldn't expect any real progress for at least 2 to 3 years and probably more likely 5 years. I have some experience with the tool chains from other engines I have worked with. I also want something that I own and is mine. Even if it sucks.32 -
Dev: We have a data quality problem. Combined with data silos, we can't trust the numbers. We need to agree on metric definitions as a company.
CTO: (Points a PM)Help him on the metrics he has defined. We'll discard any other alternate definitions inside the company.
PM: You can start with these. (Throws a bunch of metrics without their definitions. Doesn't respond to questions regarding definitions.)
After a week of generating aggregates,
PM: The numbers seem wrong.
Fuck I know the numbers will be wrong. Because you didn't give me the definitions and I'll have to deduce them myself.
Seriously guys, how do you deal with PMs who don't cooperate in the requirement analysis?8 -
Yesterday I killed a production server with a handful of sites running on it. 😬
Created an observer for one of my Laravel models. It was generating new translated slugs when another post gets translated by an API. While implementing also an updated method besides the created observation I obviously updated the models slug.
Pretty confident this small update will work I just pushed to production. Tested it live.
BOOM
Hard reset on the server redoing the changes. Searching where I fucked up this time...
Finding me observing the updating while updating the updating of the updating by the updating. 🤦4 -
I want to light this project on fire and walk away. Nothing is making any bloody sense.
According to specs, It’s updating a google wallet object via api, but isn’t generating the data to send along, despite every possible code path hitting that first. It also apparently isn’t calling any of the methods along the way. Obviously this is false, but that’s what the specs are reporting.
It’s also updating the object when nothing has changed. That might be, but shouldn’t, because I can see it calling the `should_update?` method which returns false, and it nopes out after that. so wth.
I’m so ready to never see this craziness ever again.
wtb kerosene or Greek fire pot, good price, pst. open to trade5 -
After a lot of work I figured out how to build the graph component of my LLM. Figured out the basic architecture, how to connect it in, and how to train it. The design and how-to is 100%.
Ironically generating the embeddings is slower than I expect the training itself to take.
A few extensions of the design will also allow bootstrapped and transfer learning, and as a reach, unsupervised learning but I still need to work out the fine details on that.
Right now because of the design of the embeddings (different from standard transformers in a key aspect), they're slow. Like 10 tokens per minute on an i5 (python, no multithreading, no optimization at all, no training on gpu). I've came up with a modification that takes the token embeddings and turns them into hash keys, which should be significantly faster for a variety of reasons. Essentially I generate a tree of all weights, where the parent nodes are the mean of their immediate child nodes, split the tree on lesser-than-greater-than values, and then convert the node values to keys in a hashmap to make lookup very fast.
Weight comparison can be done either directly through tree traversal, or using normalized hamming distance between parent/child weight keys and the lookup weight.
That last bit is designed already and just needs implemented but it is completely doable.
The design itself is 100% attention free incidentally.
I'm outlining the step by step, only the essentials to train a word boundary detector, noun detector, verb detector, as I already considered prior. But now I'm actually able to implement it.
The hard part was figuring out the *graph* part of the model, not the NN part (if you could even call it an NN, which it doesn't fit the definition of, but I don't know what else to call it). Determining what the design would look like, the necessary graph token types, what function they should have, *how* they use the context, how thats calculated, how loss is to be calculated, and how to train it.
I'm happy to report all that is now settled.
I'm hoping to get more work done on it on my day off, but thats seven days away, 9-10 hour shifts, working fucking BurgerKing and all I want to do is program.
And all because no one takes me seriously due to not having a degree.
Fucking aye. What is life.
If I had a laptop and insurance and taxes weren't a thing, I'd go live in my car and code in a fucking mcdonalds or a park all day and not have to give a shit about any of these other externalities like earning minimum wage to pay 25% of it in rent a month and 20% in taxes and other government bullshit.4 -
Work story.
We have this system that's being used nation-wide and basically there's a control panel for management (it's a website)) and an app for the regular users.
I just migrated and replaced the guy before me, I'm basically the only one on the project.
The code for the website is a mess, the servers are sometimes slow, and few security problems here and there.
Project Lead comes up to me and says that few of our clients that use the website are saying it works really slowly.
I start by analyzing the networking, and found shocking things.
First of all, let's say there's a messaging option, and the management teams that are our clients can have each a lot of groups, which all have messaging.
Upon first load, ALL OF THE IMAGES, FROM ALL GROUPS, ARE PRE LOADED. It can get up to few hundred photos being preloaded upon first load, which can explain the slow loading.
After discovering that, I discovered that the Administration control panel, which only my project lead can access, with sends heavy requests to the server and loads heavy assets, is loaded every time to every single client, generating heavy stress on our server and slowing everything down.
I tell that to my project lead and say that that's what causing the slow downs, I coded a fix that currently sits and is not being merged to the master branch to be deployed, and somehow I need to find a way to fix the slowness which all comes down to the heavy requests and slow connection with servers... And they won't merge my fix that fixes the loading of the administration panel so the stress on the servers could go down, and everything will be sped up....
Ah damnit.. sometimes I don't understand it..4 -
So note to self, when creating random IDs, maybe generating 1,000 digit long IDs constantly is the source of that massive ram spike and subsequent crash...3
-
Listened for about a half-hour yesterday to DevA ‘beat down’ DevB writing a console app for trying out a proof-of-concept idea he had.
DevB: “What’s the URL of the development server?”
DevA: “Why? What are you doing?”
DevB: “I’m needing to throw some messages to it so I can capture data for something I’m working on.”
DevA: “How are you calling the service?”
DevB: “I wrote a console app”
- you could almost hear the eye roll -
DevA: “A console app? Why in the world would you write a console app?”
DevB: “Oh..um..no reason. I just need log some test data for something I’m playing around with. How should I do it?”
DevA: “If it’s test data, you should have wrote a unit test. You see, unit tests …”
- yammer on and on for about 5 minutes about the virtues of unit tests…never really explaining anything -
DevB: “Yea, I’m not needing to test the result or anything. I just need to log some data.”
DevA: “Then you should use a unit test for that, not a console app. With a unit test, you’ll be able to validate the data. That’s what unit tests are for. Microsoft should have never put in console apps in Visual Studio. It just leads to bad coding practices.”
DevB: “Um…I don’t care. It’s a console app because I just need data…thanks anyway”
Today, DevC was talking to DevA
DevC: “Charlie is testing the order module, but there isn’t any test data. Do you still have the data generating script?”
DevA: “Oh yea, I’ll send him my console app that populates the database.”
It was all I could do from screaming “You stupid –bleep-er!! What the f–bleep-ck was all that yesterday?!”, but none of my business. Better to devrant about it than start a fight. -
Finally found a quite reliable way of generating mbtiles 'archives' for tile hosting!
Now I yet have to find a reliable way to fucking actually HOST it and a way to get it fucking displayed.
Spend my entire goddamn day on this and I'm hardly a step closer, for fucks sake.2 -
Today I had to load a javascript file by calling a controller and generating it from a twig template. I feel dirty.3
-
GWT.
Let me explain:
Tl;dr : someone fucked up, I took shit, it was a gwt project. In a sense I don't hate GWT because of the framework itself but because how I was introduced and forced to "work" with it.
Context:
Was working as a paid intern at a small company there were 3 devs 2 interns and one senior employee that only worked from home handling the shit ton of legacy VB6 code he wrote over several year and a boss with no technical knowledge. (Other unimportant people as well)
I was working with their DBA (cool dude) because I was writing statistic and report generating software.
Story:
The other intern was tasked of doing a gwt app that was supposed to use a input file.
Rather than asking the user to upload it with a file picker (I guess they exist in gwt I didn't got to dig in the framework) he was trying to load the file with a http request directed at the same host the app was running on.
It did not work.
Then his contract was other and the app was left in an unfinished state.
The boss then tried to have the app deployed, the remaining dev dodged the bullet invoking some bullshit because he was clearly incapable of doing it.
So it fell on me, couldn't deploy the app because it was not even close to working.
Tried to fix things and make it work.
Turns out he thought it would take me 3h to deploy when I clearly explained that the other guy didn't finish the app.
Boss got mad, threatened to ruin my studies and my future career.
Couldn't because my uni had my back.
Didn't want to see me anymore.
Couldn't break my contract.
Told me to work from home for the end of my internship.
I got 3 weeks early vacation and got paid, fuck him, fuck GWT, fuck his company.
Still got well marked for the internship as my supervisor was the DBA who was happy with my work.
Morality:
Don't let your intern unsupervised, don't let your main dev work from home when you don't know shit, don't piss me off and send me work from home. -
Once i worked on an application which has very long form and submit to a soap endpoint (post). I felt my life was so pointless when testing after i made changes. So I automated the testing by generating post request so i can just run it.
I filled the user name with Brandon Boyd, Alan Turing or Ryan Gosling. And it increments like Boyd1, Boyd2.
Once my colleague found a bug, the data never get saved but all the boyds persists. He knew it was me, who uses that kind of name
My barbaric manager (was involved) kind of pointed his finger at me. I sweat a bit though i couldn't find logical explanation why Boyds stay. but turned out someone changed the sqlscript. -
During one of our visits at Konza City, Machakos county in Kenya, my team and I encountered a big problem accessing to viable water. Most times we enquired for water, we were handed a bottle of bought water. This for a day or few days would be affordable for some, but for a lifetime of a middle income person, it will be way too much expensive. Of ten people we encountered 8 complained of a proper mechanism to access to viable water. This to us was a very demanding problem, that needed to be sorted out immediately. Majority of the people were unable to conduct income generating activities such as farming because of the nature of the kind of water and its scarcity as well.
Such a scenario demands for an immediate way to solve this problem. Various ways have been put into practice to ensure sustainability of water conservation and management. However most of them have been futile on the aspect of sustainability. As part of our research we also considered to check out of the formal mechanisms put in place to ensure proper acquisition of water, and one of them we saw was tree planting, which was not sustainable at all, also some few piped water was being transported very long distances from the destinations, this however did not solve the immediate needs of the people.We found out that the area has a large body mass of salty water which was not viable for them to conduct any constructive activity. This was hint enough to help us find a way to curb this demanding challenge. Presence of salty water was the first step of our solution.
SOLUTION
We came up with an IOT based system to help curb this problem. Our system entails purification of the salty water through electrolysis, the device is places at an area where the body mass of water is located, it drills for a suitable depth and allow the salty water to flow into it. Various sets of tanks and valves are situated next to it, these tanks acts as to contain the salty water temporarily. A high power source is then connected to each tank, this enable the separation of Chlorine ions from Hydrogen Ions by electrolysis through electrolysis, salt is then separated and allowed to flow from the lower chamber of the tanks, allowing clean water to from to the preceding tanks, the preceding tanks contains various chemicals to remove any remaining impurities. The whole entire process is managed by the action of sensors. Water alkalinity, turbidity and ph are monitored and relayed onto a mobile phone, this then follows a predictive analysis of the data history stored then makes up a decision to increase flow of water in the valves or to decrease its flow. This being a hot prone area, we opted to maximize harnessing of power through solar power, this power availability is almost perfect to provide us with at least 440V constant supply to facilitate faster electrolysis of the salty water.
Being a drought prone area, it was key that the outlet water should be cold and comfortable for consumers to use, so we also coupled our output chamber with cooling tanks, these tanks are managed via our mobile application, the information relayed from it in terms of temperature and humidity are sent to it. This information is key in helping us produce water at optimum states, enabling us to fully manage supply and input of the water from the water bodies.
By the use of natural language processing, we are able to automatically control flow and feeing of the valves to and fro using Voice, one could say “The output water is too hot”, and the system would respond by increasing the speed of the fans and making the tanks provide very cold water. Additional to this system, we have prepared short video tutorials and documents enlighting people on how to conserve water and maintain the optimum state of the green economy.
IBM/OPEN SOURCE TECHNOLOGIES
For a start, we have implemented our project using esp8266 microcontrollers, sensors, transducers and low payload containers to demonstrate our project. Previously we have used Google’s firebase cloud platform to ensure realtimeness of data to-and-fro relay to the mobile. This has proven workable for most cases, whether on a small scale or large scale, however we meet challenges such as change in the fingerprint keys that renders our device not workable, we intend to overcome this problem by moving to IBM bluemix platform.
We use C++ Programming language for our microcontrollers and sensor communication, in some cases we use Python programming language to process neuro-networks for our microcontrollers.
Any feedback conserning this project please?8 -
Found a clever little algorithm for computing the product of all primes between n-m without recomputing them.
We'll start with the product of all primes up to some n.
so [2, 2*3, 2*3*5, 2*3*5*,7..] etc
prods = []
i = 0
total = 1
while i < 100:
....total = total*primes[i]
....prods.append(total)
....i = i + 1
Terrible variable names, can't be arsed at the moment.
The result is a list with the values
2, 6, 30, 210, 2310, 30030, etc.
Now assume you have two factors,with indexes i, and j, where j>i
You can calculate the gap between the two corresponding primes easily.
A gap is defined at the product of all primes that fall between the prime indexes i and j.
To calculate the gap between any two primes, merely look up their index, and then do..
prods[j-1]/prods[i]
That is the product of all primes between the J'th prime and the I'th prime
To get the product of all primes *under* i, you can simply look it up like so:
prods[i-1]
Incidentally, finding a number n that is equivalent to (prods[j+i]/prods[j-i]) for any *possible* value of j and i (regardless of whether you precomputed n from the list generator for prods, or simply iterated n=n+1 fashion), is equivalent to finding an algorithm for generating all prime numbers under n.
Hypothetically you could pick a number N out of a hat, thats a thousand digits long, and it happens to be the product of all primes underneath it.
You could then start generating primes by doing
i = 3
while i < N:
....if (N/k)%1 == 0:
........factors.append(N/k)
....i=i+1
The only caveat is that there should be more false solutions as real ones. In otherwords theres no telling if you found a solution N corresponding to some value of (prods[j+i]/prods[j-i]) without testing the primality of *all* values of k under N.13 -
we had that one teacher in the apprenticeship in the first year who taught us C. There were some people who already knew the language but most of us didn't and we had this one horrible test where we had to do some for and while loops with stars... Like generating something like this:
********
*******
******
*****
****
***
**
*
so most of rhat stuff we never learnt and he couldn't explain to us why our code wasn't correct and we all ended up getting really bad grades in that subject for something really basic -_- just because he couldn't explain it to us and test things we never had -
Should I monetize?
I've created a spot-it like playing card generators online utility. There're around 800 users generating around 800 decks every month currently. I'm just wondering if I should think about placing advertisements on the app. I'm not completely in favor of monetization as they bother user experience, but it can give me some extra bucks to create more applications like this.
What do you say? Should I go for advertisements? How much can I earn from it?
https://funcards.github.io/match-it...7 -
Automatically generating docs from DocBlock comments, then converting the output to markdown AND publishing it all to GitHub Wiki using travis took me two fucking days!
I'm SO happy with the result now!
I even had to fork and update the composer package I'm using!!!
Here's the link to the wiki:
https://github.com/Skayo/slid/wiki7 -
Why does downloadmoreram.com even exist, who's paying all the hosting charges. Why would you want to host a site that continously keeps generating complaints from their more gullible visitors.
It's all fun and frolic for peeps like us, but for the other peeps, I just don't get it!2 -
Sooooo ok ok. Started my graduate program in August and thus far I have been having to handle it with working as a manager, missing 2 staff member positions at work, as well as dealing with other personal items in my life. It has been exhausting beyond belief and I would not really recommend it for people working full time always on call jobs with a family, like at a..
But one thing that keeps my hopes up is the amount of great knowledge that the professors pass to us through their lectures. Sometimes I would get upset at how highly theoretical the items are, I was expecting to see tons of code in one of the major languages used in A.I(my graduate program has a focus in AI, that is my concentration) and was really disappointed at not seeing more code really. But getting the high level overview of the concepts has been really helpful in forcing me to do extra research in order to reconnect with some of the items that I had never thought of before.
If you follow, for example, different articles or online tutorials representing doing something simple like generating a simple neural network, it sometimes escapes our mind how some of the internal concepts of the activity in question are generated, how and why and the mathematical notions that led researchers reach the conclusions they did. As developers, we are sometimes used to just not caring about how sometimes a thing would work, just as long as it works "we will get back to this later" is a common thing in most tutorials, such as when I started with Java "don't worry about what public static main means, just write it up for now, oh and don't worry about what System.out.println() is, just know that its used to output something into bla bla bla" <---- shit like that is too common and it does not escape ML tutorials.
Its hard man, to focus on understanding the inner details of such a massive field all the time, but truly worth it. And if you do find yourself considering the need for higher education or not, well its more of a personal choice really. There are some very talented people that learn a lot on their own, but having the proper guidance of a body of highly trained industry professionals is always nice, my professors take the time to deal with the students on such a personal level that concepts get acquired faster, everyone in class is an engineer with years of experience, thus having people talk to us at that level is much appreciated and accelerates the process of being educated.
Basically what I am trying to say is that being exposed to different methodologies and theoretical concepts helps a lot for building intuition, specially when you literally have no other option but to git gud. And school is what you make of it, but certainly never a waste.2 -
debugging a performance issue. basically the original dev had no idea what a database was for. system was generating millions of buffered reads, and paging horribly.
to see if an id existed they had done the following:
fetch all 1 million rows into an array.
iterate the array looking for a match.
if found, set found=true
continue to iterate the rest of the array.
return found.
repeat at every login.
replaced with
return person.get(id)
set world record for most i/o avoided with one liner.1 -
Found a nifty way of generating the 7th dedekind number because of how it uses the difference of powers, and the sum of the fifth and sixth dedekind numbers:
((5**d(10))-(5^(9)))-((((5+168)*2)+7581)*2)
Pretty sure its a one-off though. Couldn't find any generalizations. Just a happy accident.25 -
Writing a full interpreter for a pseudo-assembly language.
It's kinda fun but the things a bit of a cunt of a problem because I only did this once before almost a decade and a half ago.
getting just the right format and deciding on the syntax is a slog. Just need something thats quick and sufficiently expressive because I'm not writing the assembly myself, I'm generating the assembly code that runs through the interpreter, so it has to be valid under a lot of conditions. -
Had some fun with textgenrnn (Tensorflow text generating thingy on Github). So I created a tiny dataset with some example c# code and let it train for a while.
Sorry people, but I ruined our jobs. We don't need to write code anymore.
Update: image was unreadable due to compression. Let me find an alternative.7 -
Someone just asked me to rewrite their application and lower the time of generating 200 000 html files from over an hour to a few minutes
.
.
Why the fuck would u need 200 thousand html files wtf is wrong with you1 -
The system I'm developing is depending on an image generating application, that is generating thousands of unique images per day. The kicker? The application is a single thread wpf application hosted on two desktop computers, behind a load balancer, in our server room... because 'it can't be converted to a service'...1
-
Below is a transcript from work Slack today. Only the names and some code are changed. It ended up causing a bit of drama. DevRanters, what do you take from this?
---
Delivery Lead:
Hey Gang. What's the blocker for FEATURE-123?
Dev1:
FEATURE-122 crashed on iOS app when viewing Feature Introduction page.
Teach Lead:
I've talked about this with Dev1 on a side channel.
And diagnosed the stack trace.
It looks like there is/was some bad handling of a List in the Feature Introduction view logic.
But this is confined to changes that Dev2 is still working on.
(It's not present in master)
Dev2, what's your current position on this?
Dev2:
I have tested at my end with Dev1 but it seems to be working fine
Tech Lead:
There is a race condition related to the use of someList.first()
My guess is that theres a Flow of those lists defined, with an initial value of emptyList
And that on your machine, that Flow is updating with a new value quickly enough that it doesn't matter.
But on Dev1's, for whatever reason, it doesn't get there in time, hits the empty list and falls over.
The logic that's performing the first() needs to gracefully handle empty lists as well.
Dev2:
Where is that logic called?
Tech Lead:
Here's the stack trace Dev1 provided in our conversation earlier:
Caused by: kotlin.NoSuchElementException: List is empty.
...
at 3 iosApp 0x00000000 kfun:kotlin.NoSuchElementException#<init>(kotlin.String?){} + 00
at 4 iosApp 0x0000000 kfun:kotlin.collections#first@kotlin.collections.List<0:0>(){0§<kotlin.Any?>}0:0 + 000
...
at 9 iosApp 0x0000000 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 0000
This line:
kfun:kotlin.collections#first@kotlin.collections.List<0:0>()
...says that it's first() being called on an empty list.
Dev1:
FYI: Dev3/Dev4/myself are seeing the same issue with the same stack-trace above.
Tech Lead:
So Dev2, have you introduced such a call?
Because I checked master branch and there isn't one, in that version of the file.
Ok, I'll check your working branch Dev2
...
Yes you have here:
var processed1 = someList.first()
var processed2 = someList.first()
...
Lines 123, 124.
Solution looks really straightforward guys.
Dev2:
Okay, I will fix that and push the change
Tech Lead:
Check if someList is empty and allow for generating / handling null processedValues in the view.
Now; I'm going to be straight with you here.
This issue has been discussed over several hours today.
I expect that either one of you could have gone through the process I did in the last 10 minutes above, and resolved it in the same way :point_up:
Dev2:
I went on a break and it's not reproducible on my machine
Tech Lead:
I didn't reproduce it on mine either.
Dev1:
Dev2 and myself are now on sharing screen to sort this issue out. Hope to update back later.
Tech Lead:
<Screen shot of diff with changed code>
:point_up: That change should do it.
Dev2:
Already have pushed the change.
Tech Lead:
...just seen it, is good - same approach :ok_hand:
Dev1 please let us know when tested on your machine.
Dev1:
That does it. It fixes the issues. Thank you, Dev2. I will pick it off from here.
Tech Lead:
Glad to hear it guys.
Dev1:
I have to say this that it is not because we are not working on the issue - Dev2 and myself (together with Dev3/Dev4) have been on this issue all this morning. It just difficult to connect the dot when it wasn't reproducable on Dev2's machine. I brought the issue up because I wanted to switch to working on other tickets while waiting for this to resolve. Still thank you largely for Dev2's work and your keen eyes that spot and resolve the issue quickly.
Tech Lead:
Noted Dev1.
I think the take-away has to be to read the stack-trace carefully... don't worry - we've all been guilty of not reading the error in full, at some point.
The stack trace said that the 'first' element is being referenced from an empty list - that's just logically impossible, right?
Looking for that call to first, we saw it wasn't in the code before, and is after (two of them, in fact).
So then we ask ourselves, how can we deal with an empty list - and then solution almost presents itself.
It didn't really take reproduction of the error to resolve.
Maybe working with a new tech stack creates an anxiety that every issue faced will have a complex solution related to that stack; but I think you'll agree, this particular issue really just required a deep breath and your trusty 'debugging skills 101'... don't lose them! :smiling_face:4 -
Huge mistake on a customer billing procedure.
That procedure was generating a file for automatic billing requests from our customer bank to his customers banks.
That procedure was shifting the bank coordinates by one byte right making all payment requests invalid and rejected.
That month the customer got nothing from invoices (more or less 80k euros).
Side note; only one payment was accepted because the guy entering the invoice on the system shifted the bank coordinates by mistake, so the procedure fixed it.
:/ -
Currently making a perfect sudoku webapp / plugin using native JS and html templates where I'm very enthousiast about.
It allows to select multiple cells and then put in a number and all selected have that number. It keeps state of every change, you can do unlimited redo's. Right click or double click someehere removes selection. Not built yet, but it will have a box where you can paste sudoku's you've found on the internet. I just parse 81 times [1-9] with regex. So all formats are supported including noisy ones as long the noise is not numbers. Making your own puzzle is very easy. Art is to make hard ones. I'm generating extra hard puzzles using C threading. For reference: there are 6,670,903,752,021,072,936,960 sudoku puzzles possible and from that I try to resolve the hard ones using simple human logging with brute forcing as fallback until it can use logic again. 30 million attempts to solve per secon. I should at some more logic. I don't do xwing or ywing, bs imho. You have to be a superhuman to spot xwing / ywing possibilities. I think i can imagine a better logic myself. We'll see.
And yes, that's a real screenshot. Puzzle is validated and it found issues. Marked with red font. Green is current selection by user11 -
This literally happened in my current team, and I'm not even an experienced dev yet.
Incident happened like this :
Our team is working on a RCP based on eclipse plugins, which has a headless mode and a GUI mode. Now, in the GUI mode, my manager cum architect thought there are no need of user log files (long story) because the user can see the info on screen, whereas in the headless mode, she wanted me to print the logs onto the console and a log file as well.
Now it just so happened that our team had got a recent addition as a replacement to our lead developer (she left the company) who claimed she had 3 years of expertise and a masters degree, and she was assigned a task. The task was to format a custom file we were generating out of the product (basically dumping info in a file) in a human-readable format. Miss new-addition-masters-degree decided it would be a very good idea to redirect the standard java output stream to a file output stream ( which she used for generating the formatted file ) but somehow never realized that she needed to reset the output stream back to standard output.
Consequences were devastating. I wrote the logic for the logger ( yes, apparently any available logging mechanism won't do it, again, long story ) and had it printing to a file in tmp directory. The logs seemed to be working fine initially but after a few logs, specifically from the point where the formatter started working, all the logs got printed in the formatted file. And this file was supposed to be used by our clients to develop something on top of it. Naturally, I got the heat of it and then naturally, worried and nervous and curious and in a frenzied state of mind, I started debugging.
When I got to the actual fault, I seriously could not decide whether to cry or laugh or call up miss masters and scream at her. I decided to ask her about what the hell she had written and her answer was most of it was written by the developer she replaced, so she didn't know it would cause this much problem. Anyway, I fixed the leak after that and averted the catastrophe.
And that, fellow devs, is the story of how I solved a crisis in my first year at corporate.1 -
We need to update the slang "script kiddie" to "prompt enginot" or something.
So my boss's boss or someone even higher up drank the generative AI kool-aid and hired a 40-something kid to generate images for the marketing teams (or something like it).
Naturally, things soon went to shit.
The bloke already left, having staid less than six months on the job.
Guess who got to handle all the shit-is-currently-on-fire the kiddie left behind?
First impression: apparently, muggles tried to slak him some very broad descriptions of what they needed, and at first he actually tried to summarize those bark-speech pseudo-words into an actual prompt.
It does not seem to have gone for too long, though.
After users requested changes to the AI outputs, he would update the prompts, all right. And the process seemed to go fast enough... until reaching near-to-completion status.
Then users would request the tiniest changes to the AI output...
And the bloke couldn't do it.
Seriously. Some things were as simple as "we need this slider to go all the way up to 180% instead of 100%" on a lame dashboard and *kid. could. not. do. it.*.
In many cases he literally just gave up and copied the slak history into the AI prompt. No dice.
Bloke couldn't code a print('hello world') into a jupyter notebook cell, that's what i'm saying.
Apparently, he was "self taught", too. And was hired to "speed up the process of generating visual aids for usage in meetings and presentations". But then "the budget for this position was considered excessive" (meaning: shit results from a raw idea some executive crapped some day) and "the position was expanded to include the development of Business Inteligence Dashboards and Data Apps".
So now it is up to me (and my CRIMINALLY UNDERPAID team) to clean up his mess and maintain/fix/deprecate DOZENS of SHODDILY DESIGNED and MOSTLY USELESS but QUITE ACTIVE "data vis" PIECES OF SHIT.
Fuck "AI prompters", fucking snake oil script kiddies.7 -
which *git* diff algorithm is your default and why?
## default (myers)
The basic greedy diff algorithm. Currently, this is the default. if you don't know whart you are using, this is it (and it sucks)
## minimal
Spend extra time to make sure the smallest possible diff is produced.
##patience
Use "patience diff" algorithm when generating patches.
## histogram
This algorithm extends the patience algorithm to "support low-occurrence common elements".4 -
How bad are you at English? A LLM (dolphin-phi) just've said this to me when I asked for a joke:
"I apologize, but the given text seems to lack context and proper grammar structure for generating humorous content."
I must have broken some record.1 -
In the 90s most people had touched grass, but few touched a computer.
In the 2090s most people will have touched a computer, but not grass.
But at least we'll have fully sentient dildos armed with laser guns to mildly stimulate our mandatory attached cyber-clits, or alternatively annihilate thought criminals.
In other news my prime generator has exhaustively been checked against, all primes from 5 to 1 million. I used miller-rabin with k=40 to confirm the results.
The set the generator creates is the join of the quasi-lucas carmichael numbers, the carmichael numbers, and the primes. So after I generated a number I just had to treat those numbers as 'pollutants' and filter them out, which was dead simple.
Whats left after filtering, is strictly the primes.
I also tested it randomly on 50-55 bit primes, and it always returned true, but that range hasn't been fully tested so far because it takes 9-12 seconds per number at that point.
I was expecting maybe a few failures by my generator. So what I did was I wrote a function, genMillerTest(), and all it does is take some number n, returns the next prime after it (using my functions nextPrime() and isPrime()), and then tests it against miller-rabin. If miller returns false, then I add the result to a list. And then I check *those* results by hand (because miller can occasionally return false positives, though I'm not familiar enough with the math to know how often).
Well, imagine my surprise when I had zero false positives.
Which means either my code is generating the same exact set as miller (under some very large value of n), or the chance of miller (at k=40 tests) returning a false positive is vanishingly small.
My next steps should be to parallelize the checking process, and set up my other desktop to run those tests continuously.
Concurrently I should work on figuring out why my slowest primality tests (theres six of them, though I think I can eliminate two) are so slow and if I can better estimate or derive a pattern that allows faster results by better initialization of the variables used by these tests.
I already wrote some cases to output which tests most frequently succeeded (if any of them pass, then the number isn't prime), and therefore could cut short the primality test of a number. I rewrote the function to put those tests in order from most likely to least likely.
I'm also thinking that there may be some clues for faster computation in other bases, or perhaps in binary, or inspecting the patterns of values in the natural logs of non-primes versus primes. Or even looking into the *execution* time of numbers that successfully pass as prime versus ones that don't. Theres a bevy of possible approaches.
The entire process for the first 1_000_000 numbers, ran 1621.28 seconds, or just shy of a tenth of a second per test but I'm sure thats biased toward the head of the list.
If theres any other approach or ideas I may be overlooking, I wouldn't know where to begin.16 -
Didn't think I had material for a rant but... Oh boy (at least at the level I'm at, I'm sure worse is to come)
I'm a Java programmer, lets get that out of the way. I like Java, it feels warm and fuzzy, and I'm still a n00b so I'm allowed to not code everything in assembly or whatever.
So I saw this video about compilers and how they optimize and move and do stuff with the machine code while generating the executable files. And the guy was using this cool terminal that had color, autocomplete past commands and just looked cool. So I was like "I'll make that for my next project!"
In Java.
So I Google around and find a code snipped that gives me "raw" input (vs "cooked" input) and returns codes and I'm like 😎. Pressing "a" returns 97 (I think that's the ASCII value) and I think this is all golden now.
No point in ranting if everything goes as planned so here is the *but*
Tabs, backspaces and other codes like that returned appropriate ASCII codes in Unix. But in windows, no such thing. And since I though I'd go multiplatform (WORA amarite) now I had to do extra work so that it worked cross platform.
Then I saw arrow keys have no ASCII codes... So I pressed a arrow key and THREE SEPARATE VALUES WERE REGISTERED. Let me reiterate. Unix was pretending I had pressed three keys instead of one, for arrow keys. So on Unix, I had to work some magic to get accurate readings on what the user was actually doing (not too bad but still...). Windows actually behaved better, just spit out some high values and all was good. So two more systems I had to set up for dealing with arrow keys.
Now I got to ANSI codes (to display color, move around the terminal window and do other stuff). Unix supports them and Windows did but doesn't but does with some Win 10 patch...? But when tested it doesn't (at least from what I've seen). So now, all that work I put into making one Unix key and arrow key reader, and same for Windows, flies out the window. Windows needs a UI (I will force Win users, screw compatibility).
So after all the fiddling and messing, trying to make the bloody thing work on all systems, I now have to toss half the input system and rework it to support UI. And make a UI, which I absolutely despise (why I want to do back end work and thought this would be good, since terminal is not too front end).2 -
Today I've found code that was generating HTML of ```<ul><li>1. Item</li><li>2. Item</li></ul>``` and I'm seriously reconsidering all my life choices. Fortunately the guy who made this doesn't work with us anymore.6
-
*laughing maniacally*
Okidoky you lil fucker where you've been hiding...
*streaming tcpdump via SSH to other box, feeding tshark with input filters*
Finally finding a request with an ominous dissector warning about headers...
Not finding anything with silversearcher / ag in the project...
*getting even more pissed causr I've been looking for lil fucker since 2 days*
*generating possible splits of the header name, piping to silversearcher*
*I/O looks like clusterfuck*
Common, it are just dozen gigabytes of text, don't choke just because you have to suck on all the sucking projects this company owns... Don't drown now, lil bukkake princess.
*half an hour later*
Oh... Interesting. Bukkake princess survived and even spilled the tea.
Someone was trying to be overly "eager" to avoid magic numbers...
They concatenated a header name out of several const vars which stem from a static class with like... 300? 400? vars of which I can make no fucking sense at all.
Class literally looks like the most braindamaged thing one could imagine.
And yes... Coming back to the network error I'm debugging since 2 days as it is occuring at erratic intervals and noone knew of course why...
One of the devs changed the const value of one of the variables to have UTF 8 characters. For "cleaner meaning".
Sometimes I just want to electrocute people ...
The reason this didn't pop up all the time was because the test system triggered one call with the header - whenever said dev pushed changes...
And yeah. Test failures can be ignored.
Why bother? Just continue meddling in shit.
I'm glad for the dev that I'm in home office... :@
TLDR: Dev changed const value without thinking, ignoring test failures and I had the fun of debunking for 2 days a mysterious HAProxy failure due to HTTP header validation... -
So I saw a blurb about AlphaCode from DeepMind. I went to look at their website:
https://alphacode.deepmind.com/
What I see is the most insanely detailed spec for code I have ever seen in my life. I haven't even seen college programming problems this detailed before. Most specs "I" get are like one or two sentences long "if" it is even written down. A lot of the time the direction is: write some stuff and we will tell you what we hate. Just figure it out.
So DeepMind is claiming they can produce code as well as the average programmer because they ranked 54% in a coding competition. What a complete misleading claim and absolute bullshit conclusion. I am all for creating new tech around generating code, but this is just to sell snake oil to an idiot manager at a startup.
This is going to lead to some really fucked up rants here at devrant.6 -
Shit bathed and stack smashing ass loads of fuck.
I wrote a virtual machine, and just to fuck myself harder, I make the decision of applying some fancy dumbass theories of mine. This translates to a piece of shit modular design that works exactly as intended, but constantly gives me vietnam flashbacks to the horrifying, multiple concurrent instances of my younger mind being incessantly turbo-raped by the dozen object-obsessed pedophiles that I initially studied under.
Now, were they *actual* pedophiles? No, of course not. But I have to make fun of the acronym somehow and that's what came to mind, leaking horse dung all over the walls, floor, curtains and carpets.
Anyway, I feel so smart after this traumatic experience I just have to keep doing it to relive the terror once again. Find me in the corner, laying down in the fetal position, sobbing until the tears build up and drown me in this well of despair, or rather this finely shit painted portrait of a toilet in a lonely and stinking unisex public bathroom stall.
But let me squeeze these fucking tits a little bit harder, because that's my actual day job. That's right. I get PAID for slapping around mammary glands, it's not much but it's an honest living.
So where was I? Ah, yes, absolute degeneration. I'm truly the Max Wright of programming, mostly for smoking crack and having unprotected sex with homeless people, but also for keeping alien life forms in my basement that go out at night to hunt for sweet feline delight.
But as I keep going, I decide I want a language for the machine so I don't have to punch bits by hand all fucking day like an idiot, so alright let's make a small assembler for this shit... oh, right, except it's not small, because gently suckle the bile out the lips of my fucking butthole.
I may redefine a load of shit two months down the line, so I have to make everything perfectly encapsulated and easily fucked with -- which in my licking vomit off the floor of a porn theater travesty of a case means I'm generating half the code and scrambling as hard as I can to glue everything together.
Does it work? Of course it works, I'm Max Wright bitch. I can redefine the ISA all I want, anytime I want without breaking anything because of my pristine crackhead encapsulation. And to credit the scrambled eggs I have for fucking brains, it's not even *that* complex.
The problem is I keep forgetting shit, not how it works, just that it's there. So I forget that I have a virtual machine, and I forget that I have an assembler, and so I spend an entire day trying to figure out how the fuck I'm going to handle a loop inside an unrelated interpreter.
By the time I manage to remind the drooling undead jackass that is this husk that my irredeemably demonic self inhabits, that we can easily solve this by using the tools we've already built, it's so late and we're so tired there's not much we can do. All this time, WASTED.
Which circles back to crack. Are you tired of blowing your babysitter for cash? Have you considered suicide by a thousand used trojan condoms? Is your roommate possesed by the forces of Avernum, and now seeking all-destructive vengeance against your rectum?
Try no other than Soul Excision, the treatment that will neuter your being and curse it to the TRUEST form of eternal damnation! Through Soul Excision, you will be CUT OFF from the very essence of the universe, and turned into an astral prostitute that offers their EVERY orifice to the BUTTLOADS of maggots that debour their mind and body, all for the pleasure of some rich and powerful wankers that *deeply* enjoy watching questionable erotic tapes from nightmarish outer dimensions!
Use my promo code SLUTSKANK for 20% OFF in your very LAST purchase on this earth! And once you surrender your BODILY holes to cosmic oblivion, remember: when it comes to your ASS, we're ALWAYS open for business!
Thanks to Soul Excision for sponsoring this DDDDDDDDDDDDDDDDDDDDD$$$$$"2402"$$?"="$0"?¿"=¿?40'0"$="¿¿=$¿"?=4¿?"$="?¿$="¿?$0¿?"=$¡'0$"¿?$=::::::
:~%4 -
Anyone happen to know any markup language for generating HTML? It should be simple to use, but more layout oriented than markdown7
-
Has anyone here considered going off grid? Im dreaming of buying a plot somewhere in Chile and building an off grid home. Im a remote worker and plan to remain being one.
(Off grid meaning generating your own electricity, 'harvesting' rain water and growing some greens)
Im asking to get advice and opinions2 -
I've been compiling the project for about 5 hours now, still no successful build due to bad tests generating intermittent test failures...
All I wanted to do was to release the web project to the customer not fucking wrestle Cthulhu!
The worst part is that the release is set up so that you need to release the entire project internally before you can release one part. -
Devs who use the array map method for purposes other than generating a new array, and who use an empty return statement to satisfy the linter, should receive a slap in the face. A gentle one, but a slap nonetheless3
-
In freshman year at college, 1992, I met a guy with a fancier computer than I had. The dude was awesome as a C coder and already had a job as one. He let me use it to play around with Persistence of Vision Raytracer which was an open source 3D scene generating language/platform. His computer was also what I used for accessing BBSes and IRC chat rooms for the first time. I was hooked from then on.
-
For some reason I keep over engineering stuff to the point I spend 2 hours thinking the best way to do something. I'm making the backend for a project of mine and I wanted somewhat decent error handling and useful error responses. I won't go into detail here but let's say that in any other (oo) language it would be a no-brainer to do this with OOP inheritance, but Rust does OOP by composition (and there's no way to upcast traits and downcasting is hard). I ended up wasting so much time thinking of how to do something generic enough, easily extendable and that doesn't involve any boilerplate or repeated code with no success. What I didn't realize is that my API will not be public (in the sense that the API is not the service I offer), I'm the only one who needs to figure out why I got a 400 or a 403. There's no need to return a response stating exactly which field had a wrong value or exactly what resource had it's access denied to the user. I can just look at the error code, my documentation and the request I made to infer what caused the error. If that does not work I can always take a quick look at the source code of the server to see what went wrong. So In short I ended up thrashing all the refactoring I had done and stayed with my current solution for error-handling. I have found a few places that could use some improvement, but it's nothing compared to the whole revamp I was doing of the whole thing.
This is not the first time I over engineer stuff (and probably won't be the last). I think I do it in order to be future-proof. I make my code generic enough so in case any requirements change in the future I don't have to rewrite everything, but that adds no real value to my stuff since I'm always working solo, the projects aren't super big and a rewrite wouldn't take too long. In the end I just end up wasting time, sanity and keystrokes on stuff that will just slow down my development speed further down the road without generating any benefits.
Why am I like this? Oh well, I'm just glad I figured out this wasn't necessary before putting many hours of work into it. -
!dev
Today's world has gone so corrupt and full of crime that its almost impossible to be identified as honest/right, even if you are one. We thought that power of Internet would help identify the correct things but on the contrary, the internet is being used for declaring the wrong as right.
Thanks to sheer volume of duplicate data and social media's unverified content, we can no longer trust anything. Plus the effect of government and powerful people is so much that any big company you believe in would be forced to do whatever these big guns want.
Today if government wants to declare that "banana is a god fruit", they will simply generate enough news articles, social media tweets and rumours to do so. They know they can't proof it, but they can generate enough resources to change enough mindsets that what they are saying is not right but not completely wrong.
Even GitHub, which i once believed to have the ultimate method of preserving the truth is no longer a real thing. US govt has shown enough power to tell the world, that if we don't like something, then not even github is strong enough to preserve it
Our Indian government is also no less. Yesterday i heard the news that Gujrat government is slowly replacing the junior school's history syllabus to remove important historical events and replace them with chapters on hindu supremacy.
Currently i am not sure if its a real news but WHAT THE FUCK!?! They are going to erase the history? If the new generation gets the biased version of history, won't they grow up hating a particular commodity?
And forget the new generation, what about our generation? Did the books i read on history were also biased? Is this all political agenda why i like a particular commodity and hate the others? And how can i know if the facts i read are correct and truth? Who is the person verifying them and on what grounds is his decision correct?
Clearly no one can answer that because at the end, its highly opinionated.
If a newspaper A says "this guy is good" and newspaper B says "this guy is bad" , then after a 100 years, we would only believe the newspaper whose fossil remains in the museum and not the one which people believed to be correct 100 years ago.
And this is the problem. Corrupt people are generating enough content to make sure the biased version of history remains preserved while the original version gets lost with time.
I sometimes think that i should be buying a server deep below some glacier in the Antarctic ocean , hosting the real version of history. But there is no guarantee that government won't be tracing it back or make attempts to down2 -
!rant - well maybe
I really wonder what is going to be the end product concerning Deno and TypeScript when it deals to managing dependencines. Thus far the general idea is to have a deps.ts file for which the dependencies required are fetched through a url, cached into the project and then imported from that file onwards.
This seems interesting to me, and I would venture to say that it eliminates some of the pain points from running Node applications, we all know about the dread caused by overly large node_modules folders, but would y'all say this is the right approach? rather than stopping people from generating a large pool of dependencies, it seems that the issue would continue to persist, but it would just come from the internet during runtime rather than from living in the file system of the application.
Either way, I still remain a big fan of Ryan Dahl and his creations and can't wait to see Deno stable enough to test out on a couple of projects.2 -
So easy to DOS a whole software company.
Someone (accidentally) started a script or similar, generating so many requests on StackOverflow that our IP got banned.
In the company chat people already joking how they cannot work. This is "critical infrastructure" in 2018: faulty IP in our network is taken offline. Let's see if we can access SO again today.1 -
Today I spent 9 hours trying to resolve an issue with .net core integration testing a project with soap services created using a third party soap library since .net core doesn't support soap anymore. And WCF is before my time.
The tests run in-process so that we can override services like the database, file storage, basically io settings but not code.
This morning I write the first test by creating a connected service reference to generate a service client. That way I don't need to worry about generating soap messages and keeping them in sync with the code.
I sent my first request and... Can't find endpoint.
3 hours later I learn via fiddler that a real request is being made. It's not using the virtual in-process server and http client, it's sending an actual network request that fiddler picks up, and of course that needs a real server accepting requests... Which I don't have.
So I start on MSDN. Please God help me. Nope. Nothing. Makes sense since soap is dead on .net core.
Now what? Nothing on the internet because above. Nothing in the third party soap library. Nothing. At this point I question of I have hit my wall as a developer.
Another 4 hours later I have reverse engineered the Microsoft code on GitHub and figured out that I am fucked. It's so hard to understand.
2 more hours later I have figured out a solution. It's pure filth..I hide it away in another tooling project and move all the filth to internal classes :D the equivalent of tidying your room as a kid by shoving it all under the bed. But fuck it.
My soap tests now use the correct http client with the virtual server. I am a magician.4 -
I feel with @gipsydanger
I had to work with snake case columns with a maximum name length of 16 characters. Abbreviations, acronyms and undocumented adfixes. The ORM models were generated with resolved pendants of the column names. There are typos in name resolving and some adfixes were used with different understandings which result in completely wrong field/property names for the ORM. As this ORM class generating process is separated from migrations some people did not care or check on the ORM.
Previous rant https://devrant.com/rants/1461563/1 -
So I promised a post after work last night, discussing the new factorization technique.
As before, I use a method called decon() that takes any number, like 697 for example, and first breaks it down into the respective digits and magnitudes.
697 becomes -> 600, 90, and 7.
It then factors *those* to give a decomposition matrix that looks something like the following when printed out:
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
Each entry is a pair of numbers representing a prime base and an exponent.
Now the idea was that, in theory, at each magnitude of a product, we could actually search through the *range* of the product of these exponents.
So for offset three (600) here, we're looking at
2^3 * 3 ^ 1 * 5 ^ 2.
But actually we're searching
2^3 * 3 ^ 1 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
2^3 * 3 ^ 1 * 5 ^ 0
2^3 * 3 ^ 0 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
etc..
On the basis that whatever it generates may be the digits of another magnitude in one of our target product's factors.
And the first optimization or filter we can apply is to notice that assuming our factors pq=n,
and where p <= q, it will always be more efficient to search for the digits of p (because its under n^0.5 or the square root), than the larger factor q.
So by implication we can filter out any product of this exponent search that is greater than the square root of n.
Writing this code was a bit of a headache because I had to deal with potentially very large lists of bases and exponents, so I couldn't just use loops within loops.
Instead I resorted to writing a three state state machine that 'counted down' across these exponents, and it just works.
And now, in practice this doesn't immediately give us anything useful. And I had hoped this would at least give us *upperbounds* to start our search from, for any particular digit of a product's factors at a given magnitude. So the 12 digit (or pick a magnitude out of a hat) of an example product might give us an upperbound on the 2's exponent for that same digit in our lowest factor q of n.
It didn't work out that way. Sometimes there would be 'inversions', where the exponent of a factor on a magnitude of n, would be *lower* than the exponent of that factor on the same digit of q.
But when I started tearing into examples and generating test data I started to see certain patterns emerge, and immediately I found a way to not just pin down these inversions, but get *tight* bounds on the 2's exponents in the corresponding digit for our product's factor itself. It was like the complications I initially saw actually became a means to *tighten* the bounds.
For example, for one particular semiprime n=pq, this was some of the data:
n - offset: 6, exp: [[Decimal('2'), Decimal('5')], [Decimal('5'), Decimal('5')]]
q - offset: 6, exp: [[Decimal('2'), Decimal('6')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('5')]]
It's almost like the base 3 exponent in [n:7] gives away the presence of 3^1 in [q:6], even
though theres no subsequent presence of 3^n in [n:6] itself.
And I found this rule held each time I tested it.
Other rules, not so much, and other rules still would fail in the presence of yet other rules, almost like a giant switchboard.
I immediately realized the implications: rules had precedence, acted predictable when in isolated instances, and changed in specific instances in combination with other rules.
This was ripe for a decision tree generated through random search.
Another product n=pq, with mroe data
q(4)
offset: 4, exp: [[Decimal('2'), Decimal('4')], [Decimal('5'), Decimal('3')]]
n(4)
offset: 4, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('3')]]
Suggesting that a nontrivial base 3 exponent (**2 rather than **1) suggests the exponent on the 2 in the relevant
digit of [n], is one less than the same base 2 digital exponent at the same digit on [q]
And so it was clear from the get go that this approach held promise.
From there I discovered a bunch more rules and made some observations.
The bulk of the patterns, regardless of how large the product grows, should be present in the smaller bases (some bound of primes, say the first dozen), because the bulk of exponents for the factorization of any magnitude of a number, overwhelming lean heavily in the lower prime bases.
It was if the entire vulnerability was hiding in plain sight for four+ years, and we'd been approaching factorization all wrong from the beginning, by trying to factor a number, and all its digits at all its magnitudes, all at once, when like addition or multiplication, factorization could be done piecemeal if we knew the patterns to look for.7 -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
Fuck, now I'm actually somewhat mad how much time those figma plugins could've saved me lol.
Especially things like generating a quick color palette, that immediately pastes them next to the element are so damn useful.
Generating real-life data into text elements, avatars pulled right from an API, auto fetched graphs for example data, all the goodies that make life easier.5 -
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'm writing a website for a café and I'd like to use a new tool for generating content and managing it. Only real requirement is a SCSS pre-processor and maybe built-in Auth.
Any suggestions?3 -
Damn @&$#%£¥ hibernate. Why is ur API so $£¥%#*^ inconsistent and buggy????
@Index on mappedsupertype any? @index causing duplicate tables on hsqldb?? REALLY????
Why does it work on mysql?
Maxresults and fetch joins cause ALL rows to be fetched, instead of properly generating a „limited subselect“? WHYYYYYY, JUST WHY???? -
FUCK YOU APPLE. I am trying to build an ionic app. Generating the certificates to fucking sign a DEVELOPER BUILD of an apple product is more pain than I thought possible. Does not help i dont own the apple computer i am trying to build on.
-
How do you approach generating "random" unique numbers/strings ? Exactly, when you have to be sure the generated stuff is unique overtime? Eg. as few collisions in future as possible.
Now I don't mean UUIDs but when there is a functionality that needs some length defined, symbol specific and definitely unique data, every time it does it's stuff.
TLDR STORY: Generating 8 digits long numbers so they are (deterministically - wink wink) unique is hard but Format Preserving Encryption saves the day. (for me)
FULL STORY:
I had to deal with both strings and codes today.
One was to generate shortlink word for url, luckily found a library that does exactly this. (Hashids)
BUT generating 8 digits long, somewhat random number was harder then I thought, found out on SO something like "sha256(seed) => bytes => ascii/numbers mangling" but that had a lot of collisions because of how the hash got mangled to actually output numbers and also to fit the length.
After some hours I stumbled upon Format Preserving encryption (pyffx) and man it did what I wanted and it had max 2 collisions in 100k values. Still the solution with this feels hacky af. (encrypting straddled unix timestamp with lots of decimals)6 -
So I'm making a little CMS for a website generated by iWeb from Apple which is ofcourse shit. I just discovered that they include a 6000 lines javascript file with nu purpose except generating the menu from a feed.xml(which includes to other js files). And the most frustrating thing is that it lowers fontSize if you add more text than the viewport. Fucking hell. I'm looking for a way to dismantle this shit.
-
TD;DR: I have school instead of vacation but 5 hours of spare time. I got my laptop with me and I'll work in school.
I didn't want to take part of the course-trip with the 12th graders (my course sucks, there are too many assholes for the neutral people to compensate). After speaking with the director, and the only condition was to tell the course why. I did deliver them a nicely put "fuck you, you bullied my only friend out of this school" and now is the time where I visit the 11-graders while the other 12-ers are on "school vacation".
I got a "new" plan for the courses I should visit. Today, Wednesday, I have 5 FUCKING FREE HOURS IN A ROW. Oh yes, baby, the teacher generating the plan hates me as well. (He really does but it's probably just unlucky not his fault).
So today, I decided, I would take my heavy-ass laptop with me, in a laptop bag, which doesn't fit into the school bag I have and my laptop doesn't fully fit in the laptop bag as well (sticks out), that's the perks of having a laptop!!
— so I can work on my (I wanna say this once in my life without being a professional) "CLIENTS PROJECT" - the funny thing is that the client is a (really fucking good but small) advertising agency and too lazy to design their own website. Since I had my internship, they know how hard I *can* work even without being payed. Now they do wanna pay me but that's another story.
I'm on the bus and I have this monster of a bag which isn't lighter than a freaking huge bag of rice and I'm so fucking excited for this day. The library is my best friend. Hopyfully I'm going to find a socket for power..
Sorry for so many commas, I'm german. :D3 -
Heres some research into a new LLM architecture I recently built and have had actual success with.
The idea is simple, you do the standard thing of generating random vectors for your dictionary of tokens, we'll call these numbers your 'weights'. Then, for whatever sentence you want to use as input, you generate a context embedding by looking up those tokens, and putting them into a list.
Next, you do the same for the output you want to map to, lets call it the decoder embedding.
You then loop, and generate a 'noise embedding', for each vector or individual token in the context embedding, you then subtract that token's noise value from that token's embedding value or specific weight.
You find the weight index in the weight dictionary (one entry per word or token in your token dictionary) thats closest to this embedding. You use a version of cuckoo hashing where similar values are stored near each other, and the canonical weight values are actually the key of each key:value pair in your token dictionary. When doing this you align all random numbered keys in the dictionary (a uniform sample from 0 to 1), and look at hamming distance between the context embedding+noise embedding (called the encoder embedding) versus the canonical keys, with each digit from left to right being penalized by some factor f (because numbers further left are larger magnitudes), and then penalize or reward based on the numeric closeness of any given individual digit of the encoder embedding at the same index of any given weight i.
You then substitute the canonical weight in place of this encoder embedding, look up that weights index in my earliest version, and then use that index to lookup the word|token in the token dictionary and compare it to the word at the current index of the training output to match against.
Of course by switching to the hash version the lookup is significantly faster, but I digress.
That introduces a problem.
If each input token matches one output token how do we get variable length outputs, how do we do n-to-m mappings of input and output?
One of the things I explored was using pseudo-markovian processes, where theres one node, A, with two links to itself, B, and C.
B is a transition matrix, and A holds its own state. At any given timestep, A may use either the default transition matrix (training data encoder embeddings) with B, or it may generate new ones, using C and a context window of A's prior states.
C can be used to modify A, or it can be used to as a noise embedding to modify B.
A can take on the state of both A and C or A and B. In fact we do both, and measure which is closest to the correct output during training.
What this *doesn't* do is give us variable length encodings or decodings.
So I thought a while and said, if we're using noise embeddings, why can't we use multiple?
And if we're doing multiple, what if we used a middle layer, lets call it the 'key', and took its mean
over *many* training examples, and used it to map from the variance of an input (query) to the variance and mean of
a training or inference output (value).
But how does that tell us when to stop or continue generating tokens for the output?
Posted on pastebin if you want to read the whole thing (DR wouldn't post for some reason).
In any case I wasn't sure if I was dreaming or if I was off in left field, so I went and built the damn thing, the autoencoder part, wasn't even sure I could, but I did, and it just works. I'm still scratching my head.
https://pastebin.com/xAHRhmfH33 -
Had to extend the platform of a customer. For one part of my task (generating an encrypted string) there already was a class with encryption and decryption methods. This class is used in a gazillion places all over the code, so I thought it might be a good idea to re-use already existing stuff... Until I saw that the encryption method using basic Java methods (all fine with that) wrapped in a try-catch block, 'cause the Java methods may throw, returning err.getMessage() in the catch block...
Yeah...sure...makes sense... Instead of throwing an error or returning null just remove the possibility to handle the error.
So I decided to basically copy the methods and return null so I can work with that.
Created a merge request and was told by another dev of that company to remove my own impelemtation of the encryption method and use the already existing. Arguing that I won't have a possibility to prevent my code, that returns an URI containing the encrypted string, from generating something like "http://..../Encryption failed because of null" without success.
So I had to use the already existing crappy code...5 -
Question for devs who use Intellij IDEA.
How often do you use livetemplates?
I am a new android dev with ADHD and just discovered live templates. They make my life much easier, for example I have shortcuts for generating recyclerview adapter/viewholder/implementation boilerplate code.
In that way I am able to focus on implementation, and do my coding like building blocks, rather than memorizing every detail of implementation. Also I don't need to go to stackoverflow and copypaste basic things multiple times. Even for example during live coding interview having livetemplates seems awesome, copypasting from stackoverflow would be shameful (I think). Using my own custom shortcuts for livetemplates seems the best way for how my brain functions (I suck at memorizing tiny details, but I remember general idea/flow of a pattern and I would prefer memorizing what to use and when to use, instead of all small details of implementation).
Is getting to dependent on livetemplates a good practice to get used to? Do other developers frown upon a dev who has dozens of livetemplates and relies on them instead of writing all code from memory by hand?8 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.1 -
In the past, apps I've written have used a flat file backend. It's very fast, but obviously clunky to have a big structure of flat files for an app. It ran circles around framework-based RDBMS backends, as performance is concerned, but again, it was clunky. Managing backups and permissions on tens or hundreds of thousands of small files was no fun. Optimizing code for scaling was fun- generating indexes, making shortcuts -but something was still missing. Early in 2017 I discovered redis. A nosql backend that just stores variables and lives almost entirely in memory. Excellent modules and frameworks for every language. It was EXACTLY what I'd needed, even though I didn't know I did. I spent a good deal of time in 2017 converting apps from flat files to redis, and cackled with glee as they became the apps I wanted them to be. Earlier this week, I started building my first app that started with redis, instead of flat files, and I can't stop gushing to anyone who will listen. Redis for president!
-
Up all damn night making the script work.
Wrote a non-sieve prime generator.
Thing kept outputting one or two numbers that weren't prime, related to something called carmichael numbers.
Any case got it to work, god damn was it a slog though.
Generates next and previous primes pretty reliably regardless of the size of the number
(haven't gone over 31 bit because I haven't had a chance to implement decimal for this).
Don't know if the sieve is the only reliable way to do it. This seems to do it without a hitch, and doesn't seem to use a lot of memory. Don't have to constantly return to a lookup table of small factors or their multiple either.
Technically it generates the primes out of the integers, and not the other way around.
Things 0.01-0.02th of a second per prime up to around the 100 million mark, and then it gets into the 0.15-1second range per generation.
At around primes of a couple billion, its averaging about 1 second per bit to calculate 1. whether the number is prime or not, 2. what the next or last immediate prime is. Although I'm sure theres some optimization or improvement here.
Seems reliable but obviously I don't have the resources to check it beyond the first 20k primes I confirmed.
From what I can see it didn't drop any primes, and it didn't include any errant non-primes.
Codes here:
https://pastebin.com/raw/57j3mHsN
Your gotos should be nextPrime(), lastPrime(), isPrime, genPrimes(up to but not including some N), and genNPrimes(), which generates x amount of primes for you.
Speed limit definitely seems to top out at 1 second per bit for a prime once the code is in the billions, but I don't know if thats the ceiling, again, because decimal needs implemented.
I think the core method, in calcY (terrible name, I know) could probably be optimized in some clever way if its given an adjacent prime, and what parameters were used. Theres probably some pattern I'm not seeing, but eh.
I'm also wondering if I can't use those fancy aberrations, 'carmichael numbers' or whatever the hell they are, to calculate some sort of offset, and by doing so, figure out a given primes index.
And all my brain says is "sleep"
But family wants me to hang out, and I have to go talk a manager at home depot into an interview, because wanting to program for a living, and actually getting someone to give you the time of day are two different things.1 -
Been consulting a friendly acquaintance on technical issues for some time now. An interesting side project in a field that I am not familiar. Well after some time you begin to be well versed and understand what it's all about.
Wrote some code. Made a website. Did some soldering and prototyping. Now I find myself in a position where most of the IP is a) written by me b) designed by me.
An official agreement has been a topic couple of times. The owner wants to hire me, but I don't see myself working there. He offered shares. I said yes. But nothing has been formalized.
Now the the CEO sends me an NDA that practically tries to make me sign over all the IP to the company. First correspondence I get from him since the beginning. Legislation is quite clear. Without written agreement IP is owned by the creator.
I lolled. They must think I am dumb because I try to help. I feel a hefty invoice for services provided generating in my accounting.. -
I have found that when companies say or think that they do not have large amounts of data for using even the smallest bit of data acience analysis in terms of generating a model that can assist them that they do have data. No matter the size of the organization, the data is there.
LABELED data, well now that is a other story 🥴1 -
SOAP in PHP is hell of a shit. I thought of generating code for an easier php client. Oh boy there is a SoapClient::getFunctions, a SoapClient::getTypes and a classmap option. Maybe one can script a little bit to generate class files.
After some fiddling I noticed fields missing in the classes that are present in the response. The missing fields are always defined in a parent class definition.
Google gave me this:
https://bugs.php.net/bug.php/...
What the fuck? Please? So simple to fix and 10 years later. TEN YEARS!!! Nothing.3 -
How many layers of increasingly verbose macros generating calls to each other is acceptable in Rust? I have to choose between 2 and 3 but IMO the 3 macro setup is nicer because it allows shit like walking a list, windowing the items and skipping the last to be separated from the actual things that are being generated.4
-
Imagine being so rich that you're too lazy to implement payment methods for countries where you product is popular. Microsoft (one drive) and Android (play) was like that for years. I want to pay for openai but it doesn't support ideal/paypal which is the payment method in the Netherlands. Credit card only. Credit cards is so unsafe, I don't understand it's the standard. I won't get one. Is there an api for generating content besides openai?6
-
At 4am there was some random youtuber in my head that reads reddit posts and he presents me one but it's blurry and he says hi there how you there are stupid but how stupid you are, humming hammers,
MOMMY THATS SWEET MIAMI MOMMY THATS SWEET MIAMI he's insecure go back then hayeens HIGH WINS HIGH WINS HIGH WINS HIGH WINS and he never stops
It literally feels like a broken neural network output, meaningless. But it's in my head, I never asked for this but it's there generating itself1 -
I actually have to code a simple web app with a form, now I accidentally created a library for dynamically generating angularjs controllers.3
-
My boss is in a meeting (davanti a un caffè) with someone who is "a technophile" and "really knows about AI". He was amazed some months ago by the images they were generating using their paid service (right after that, I showed him Bing AI and the conversation ended).
We have discussed using AI previously, and we have been developing web apps for 5 years now.
These are the messages I've been receiving through the last hour and a half and haven't read; I guess it's information he considers will be important when we meet later:
- LLM modelo de lenguaje
- Large language model
- Chat gpt 4O
- API
- Aplication programe interface
This are all things I've mentioned either within the past months, or ieri *itself*, as he mentioned he was meeting this guy.
I'll keep you posted on new messages.
I wonder if that guy says he's a "prompt engineer"...5 -
GoDaddy. Is. The. Worst.
I'm working on an SSL cert domain verification for a client. The chat support tech at GoDaddy has no freaking clue what she's doing. She keeps telling me to follow the same help article I already knew about the first second I heard I needed to do this job. It didn't work. But she keeps going back to it, sure that I'm just a complete and utter moron who doesn't read. Never mind that I have screenshots to prove everything she's telling me is 100% wrong according to every error message this process is generating.
Now she's checking with the "SSL team". Which is code for "I have absolutely no idea what I'm doing and I'm frantically searching the FAQ database to figure out what this SSL thing even is."
That's what the last hour of my life has been. And 20 minutes of that was waiting in the chat queue.5 -
Today at work I started doing 1 month old task with production problem.
First of all why now ?
Because I already fixed all the other urgent production problems I had during last month, done about 4 deployments of those super urgent errors.
Now I can start with not trivial one that are pending for quite time.
I am the only backend developer in this project ...
This is a dtp application and the problem is that we are not verifying if we got all fonts embedded in customer provided pdf files.
We are generating high quality images of those pdf for printing just fine from the beginning but now we need valid PDF with all fonts embedded in it. ( don’t ask me why I am only a hammer in this process )
After running simple test using python script against database it turned out we have over 500 broken PDF files without fonts.
So I guess I have just one sentence to say about it.
Fuck you PDF format for not being strict and allowing this shit. -
We have an unit test that tests the average of a sequence of numbers generated randomly using a gaussian distribution. Of course it fails from time to time, it's random! Failing to fail, would mean that the generator is not generating random numbers, therefore failure means success, but success does not mean failure.
Wait, why did we add this test in the first place?rant gaussian distribution statistics random of course it fails it's random bitches normal fail equals success unit test -
I wonder if anyone has considered building a large language model, trained on consuming and generating token sequences that are themselves the actual weights or matrix values of other large language models?
Run Lora to tune it to find and generate plausible subgraphs for specific tasks (an optimal search for weights that are most likely to be initialized by chance to ideal values, i.e. the winning lottery ticket hypothesis).
The entire thing could even be used to prune existing LLM weights, in a generative-adversarial model.
Shit, theres enough embedding and weight data to train a Meta-LLM from scratch at this point.
The sum total of trillions of parameter in models floating around the internet to be used as training data.
If the models and weights are designed to predict the next token, there shouldn't be anything to prevent another model trained on this sort of distribution, from generating new plausible models.
You could even do task-prompt-to-model-task embeddings by training on the weights for task specific models, do vector searches to mix models, etc, and generate *new* models,
not new new text, not new imagery, but new *models*.
It'd be a model for training/inferring/optimizing/generating other models.4 -
Long story...
I'm a junior-ish dev (worked 3 year part time in a small company)
I've been assigned the happy task of doing some performance profiling on our windows application to see where we can work to make the app run smoother.
Visual studio profiler keeps crashing when generating the report when I do CPU sampling.
I'm a very unhappy Dev right now.1 -
Ideia: Making money creating apps with publicity
Hey guys.
So I would like to know some stuff that I bet lots of devs would like to know too.
If it's possible to work from home doing apps /web pages and get enough income to be able to sustain a life without working for someone else.
I already have a job but it's a great ideia for anyone unemployed, students, anyone who wants to work from home.
If you have an app or site generating money can you provide your personal input?
Thank you in advance4 -
Are you using ai tools to code? I’ve been having a blast combining copilot with the jetbrains ai assistant. GPT4 with pictures is pretty decent at generating scaffolding as well, provided the images are decent.
Also for unit tests, refactoring, and quick algorithms that I need for random stuff. Saves me a lot of time.15 -
Thoughts after a security conference.
The private sector, no matter the size, often plays a role (e.g. entry vector, DDoS load generating botnet, etc.) in massive, sometimes country-wide attacks. Shouldn't that make private businesses' CyberSec a matter of national security? Shouldn't the government create and enforce a security framework for private businesses to implement in their IT systems? IMO that'd also enforce standardised data security and force all the companies treat ITSec with at least minimal care (where "minimal" is set by the gov)
What are your thoughts?10 -
Developed a microsite for a temporary campaign. Involves generating 1.5million promo codes on excel. Done... good luck importing it to mysql. Campaign launch is tonight while importing cant be successful unless importing 10K at a time -_-4
-
!rant
OMG fuck yeah!
Today I was workin' on my CSS framework, made a couple of cool functions for generating hsla() colors with a customizable lightness and opacity. Using calc() for multiplying the default lightness by the value passed in parameter to the function.
"It's working perfectly in Chrome and Edge, cool! Now let's check in Firefox, but if it's okay on Edge, I'm pretty confident..."
Except, that's a failure: https://bugzilla.mozilla.org/show_b...
At that point, I started to rant alone. Properly. Like: "why this feature is still not implemented, people are waiting for it since YEARS!! Fuckin' browsers war!!!"
I was already thinking to drop a big angry post on here, when I noticed something : https://developer.mozilla.org/en-US...
So I update Firefox Developer Edition and, IT WORKS!
This feature was needed since years and the FF team brings it just when I need it. What was the chance ? I feel happy :)
Conclusion: sometimes ranting is the easy way. Calm down, try harder and you can find the solution!1 -
So I am working on some xslt code I use to generate html. Technically xslt is supposed to be Turing complete? So it is producing html. Am I programming or not since it is generating html?
Yes, I have loops and branching logic in my xslt file. Though I am not really touching those portions right now. Just generating more output from more data input provided to the source xml data.
Is this still a better love story than Javascript?9 -
Way of wasting time:
generating csv and importing in Open Office Calc, mysteriously what should be ",-," shows as "-0".
I thought some strange fucking time function was responsible of generating a "0" after my "-", until I discovered that for some fucking reason, Open Office Calc decides to add the fucking "0" by itself.
And they say that computer do what they are told to. I just said to import a fucking "-", it's called "Minus". do you fucking understand Calc?
Back to something useful.1 -
The only way I can edit Puppet config files is by git. And the only way I can git pull/push/commit/etc is generating a ssh key with a private key and give my public key to my supervisor to the git server (wherever that may be).
Because I'm on Windows 10 and screwed up my installers, I completely forgot to backup my ssh keys before resetting it. FML2 -
Just to show you.
The overhead between actual SQL requests and the stack :
.Net 6 =>
Web API =>
EntityFramework core 6 =>
(middleware) GraphQl.EntityFramework =>
GraphQl =>
SQL
Seems a lot ? Yep. But actually... that shit just scales. More sql requests will not cost much. And this stack will take care of generating optimal querry better than me by hand.
(These querries on screenshot are fairly complex).
I like it. So, so much checks done for me and front end people love it too ! They don't need to open a tiocket when they need a new field.
So, /adpoted by me.
PS : And pair it with Blazor, miam.1 -
Does anyone know any algorithms for generating crop circles?
I would Google it but "crop circle codes" doesn't exactly give me what i want.13 -
When you're using openapi generators and stuff for generating SDK code and let "the architect" handle the data structure and nomenclature, don't you hate having to add 33 (I counted) models, most of which are just the same class with different name or one property apart from each other, serialization of which gives request body overhead 56-132x (actual calculated results depending on the model complexity) the size of actual data you want to send, just to add support for one endpoint that needs just one model that started this whole madness?
I just had to add this one top level model reference and this happened to me. Those 33 models are not including the ones I already had included in my project so they didn't have to import them again.
For the love of <your_belief_here /> and all that's holy, never ever agree on generating code based on openapi if the person responsible for that is unexperienced. It will do more harm than good, trust me.
Before we decided to go with generated SDK my compiled product was a bit over 30KB, and worked just fine, but required a bit of work on each breaking API change. Every change in the API requires now 75% of that work and the compiled package is now over 8MB (750KB of which is probably my code and actually needed dependencies).
Adding an endpoint handler before? Add url, set method and construct the body with the bare minimum accepted by the server
Now? Add 33 models (or more), run full-project find&replace and hope it will work with the method supplied by the generated code, because it's not a mature tech and it's not always guaranteed it will work. -
I just finished a bunch of newly configured containers that I had to switch off centos7 to almalinux9. I have one thing to say,
Fuck NetworkManager!
I know im basically a dinosaur when it comes to any coding, especially scripting. I prefer notepad.exe or sublime to VScode... you couldnt pay me enough to use crap like vbstudio... but I know I need to get better at not just rewriting thing to suit my preferences since i have others working for or with me now.
so... I tried... I reeeeally tried to tolerate NetworkManager... tried to learn/tolerate dumb nmcli and it's matrixed array of dyslexic syntaxes. I just couldnt do it... that plus the damn default images having bs like an effectively blank, non-error-generating resolv.conf file.
NetworkManager got killed... I went back and edited my network-scripts and scripted those to other scripts for changing the statics around if/when needed... took waaaay less time.
I just dont get why something like NetworkManager even exists on any EL distro... yeah sure, wifi takes a couple extra steps and is super common now... but shouldnt be how any actual servers need to communicate. can people just not fathom putting shit in a few files in proper syntax anymore???5 -
MFW I'm looking at my own code for generating images with packer & vagrant last updated two years ago and so much new stuff has come along...rant packer hcl2 feel like starting all over again stay in the game or die from brain aneurysms vagrant
-
what is life if not an eventual step towards sadness?
i have been working professionally in wfh setup since 2020 nd have seen my dad work as a businessman for 20 years , then a fulltime wfo job employee for 5 years. i have been a wfo*(hybrid) employee for last 2 months as this is my first wfo job.
everywhere i go, i am told that the "work-life during covid is a lie, a mere anomaly in otherwise horrific work lifestyles" .
let's consider 3 lifestyles.
1. a software engineer graduated in 2023 and starting his first fulltime office job.
- guy goes to office everyday, travels for 2 hours, changes between a metro , rickshaw nd physical walk, works 9 hours in office, again travels b/w different modes for 2 hours to reach back home, have his dinner, watches some videos nd goes to sleep.
- in office there is no one happy, everyone is either bitching about or buttering someone.
- later he moves naar to office in a rented flat and his travel time is replaced by daily chores, like washjng clothes , cleaning home, stockings supllies and cooking etc.
- life goes on. he eventually starts making some assets (home appliances, car, home etc) and starts saving money. he also gets into relationship , then marriage happens, then kids come. the office days are full of office for all nd weekdays remain source of fun and entertainment for all. kids grow, move out and do the same thing over. death
>> souce of sadness :a monotonous life with no time for happiness in everyday life. he even meets more sad people everyday who are again just bitching, cribbing and lamenting
------
2. a small scale car mechanic with 2 labour.
- almost same life, just a bit more pressure, as he not only has to make sure that his employees are giving him enough output for their income, he also has to ensure that the business keeps running and generating revenues.
for him, their are no time shifts , he needs to ensure the shop door opens at 9am and closes at 9pm for business, while ensuring all the stocks remain available , revenue and sales are documented and business dealings are done. fuck the family fuck the food, fuck the home, he would sleep in his shop if needed and his future family would be just their to unfuck/provide these ignored essentials.
>>> source of happiness : no time/people to emjoy life
----
3. a social media influenza/motivational speaker : these guy hates himself from day 1 . they know they are just a fluke and even though they say they are "not working", they are pulling all the legs to keep their revenue source running : sending posts on trendy things asap, cold mailing, begging for sponserships, publishing content asap.. not sure if a single person exosts who has been a happy social media influenza for last 30 years.
>>> source of sadness : unsatisfactory work, delusional life
---
so what the fuck is wrong with life. i have a board that says "make dotenvironment @64 proud" . i am 24 and following the path of guy 1 in above post. i can prob make myself a proud man by 64 but how can i make myself a "man who lived a happy life" by 64?3 -
Top 12 C# Programming Tips & Tricks
Programming can be described as the process which leads a computing problem from its original formulation, to an executable computer program. This process involves activities such as developing understanding, analysis, generating algorithms, verification of essentials of algorithms - including their accuracy and resources utilization - and coding of algorithms in the proposed programming language. The source code can be written in one or more programming languages. The purpose of programming is to find a series of instructions that can automate solving of specific problems, or performing a particular task. Programming needs competence in various subjects including formal logic, understanding the application, and specialized algorithms.
1. Write Unit Test for Non-Public Methods
Many developers do not write unit test methods for non-public assemblies. This is because they are invisible to the test project. C# enables one to enhance visibility between the assembly internals and other assemblies. The trick is to include //Make the internals visible to the test assembly [assembly: InternalsVisibleTo("MyTestAssembly")] in the AssemblyInfo.cs file.
2. Tuples
Many developers build a POCO class in order to return multiple values from a method. Tuples are initiated in .NET Framework 4.0.
3. Do not bother with Temporary Collections, Use Yield instead
A temporary list that holds salvaged and returned items may be created when developers want to pick items from a collection.
In order to prevent the temporary collection from being used, developers can use yield. Yield gives out results according to the result set enumeration.
Developers also have the option of using LINQ.
4. Making a retirement announcement
Developers who own re-distributable components and probably want to detract a method in the near future, can embellish it with the outdated feature to connect it with the clients
[Obsolete("This method will be deprecated soon. You could use XYZ alternatively.")]
Upon compilation, a client gets a warning upon with the message. To fail a client build that is using the detracted method, pass the additional Boolean parameter as True.
[Obsolete("This method is deprecated. You could use XYZ alternatively.", true)]
5. Deferred Execution While Writing LINQ Queries
When a LINQ query is written in .NET, it can only perform the query when the LINQ result is approached. The occurrence of LINQ is known as deferred execution. Developers should understand that in every result set approach, the query gets executed over and over. In order to prevent a repetition of the execution, change the LINQ result to List after execution. Below is an example
public void MyComponentLegacyMethod(List<int> masterCollection)
6. Explicit keyword conversions for business entities
Utilize the explicit keyword to describe the alteration of one business entity to another. The alteration method is conjured once the alteration is applied in code
7. Absorbing the Exact Stack Trace
In the catch block of a C# program, if an exception is thrown as shown below and probably a fault has occurred in the method ConnectDatabase, the thrown exception stack trace only indicates the fault has happened in the method RunDataOperation
8. Enum Flags Attribute
Using flags attribute to decorate the enum in C# enables it as bit fields. This enables developers to collect the enum values. One can use the following C# code.
he output for this code will be “BlackMamba, CottonMouth, Wiper”. When the flags attribute is removed, the output will remain 14.
9. Implementing the Base Type for a Generic Type
When developers want to enforce the generic type provided in a generic class such that it will be able to inherit from a particular interface
10. Using Property as IEnumerable doesn’t make it Read-only
When an IEnumerable property gets exposed in a created class
This code modifies the list and gives it a new name. In order to avoid this, add AsReadOnly as opposed to AsEnumerable.
11. Data Type Conversion
More often than not, developers have to alter data types for different reasons. For example, converting a set value decimal variable to an int or Integer
Source: https://freelancer.com/community/...2 -
*mistypes "organization" once in doctrine while generating entity*
*Have to mistype it everywhere because I already made the entity*
Rip2 -
MISGUIDED
adjective
1. Led or prompted by wrong or inappropriate motives or ideals.
2. Generating a Guid and realising that it's identical to a previously generated Guid -
I wrote a cellular automaton in university (elementary game of life). It was generating shapes but it just didn't work. It seemed like the shapes would degrade as they went until they caved into some mesh of pixels.
Turns out that when counting the number of neighbours around a cell, I was counting from 2 because of an earlier bug.
The really interesting thing about this bug though was that it made sense. There were too many people and the resources ran out, which meant the patterns that would normally survive were dying off early.
It's a bug, but not a bug. -
!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. -
At 4am there was some random youtuber in my head that reads reddit posts and he presents me one but it’s blurry and he says hi there how you there are stupid but how stupid you are, humming hammers, MOMMY THATS SWEET MIAMI MOMMY THATS SWEET MIAMI he’s insecure go back then hayeens HIGH WINS HIGH WINS HIGH WINS HIGH WINS and he never stops
It literally feels like a broken neural network output, meaningless. But it’s in my head, I never asked for this but it’s there generating itself3 -
In a normal application with front and back separated, how do you guarantee consistency between models? Do people normally do PRs to change them on both sides and hope none screws up or is there a better way?
Some time ago I was looking into generating stuff from the OpenAPI spec. Is this a good idea? Also, can graphql help with this? I'm soooo confused by this, it's like a problem I never managed to solve in my head...5 -
Question: Should I stay in my current role, ask for a pay rise, or find somewhere new?
Situation:
Right now, I'm effectively doing a lead developer role for half the salary of the other member of my team- I'm code reviewing their work (which often has many many errors in it), creating and assigning tickets for both myself and them and engaging in many meetings with senior staff in the company. The other dev in my team has more experience on paper, but the amount of work they are generating is approximately 1/5th of what I produce. I'm really disappointed that when I raised this with my manager & then HR, they have seeming done nothing about the situation. It's really disheartening and it feels as though I'm not really valued.
I don't really have much loyalty to the company, but because I have helped build their internal system from scratch I'd loathe to leave it in the incompetent hands of my colleague (who at present still has a month left of probation).
I can give any further info if you'd like it but I could really do with some advice right now.6 -
So many choices for backend I'm fucking confused. Yesterday, I tried Django and i found it little similar to RoR(in generating things, db migration things).
I'm currently working in NodeJS.
I even don't know should I rant or cry.
And of course frontend is another thing same like this.....
And I'm not much experienced to differentiate them and know which is better and where it will fit.
Can anyone tell me in simple way which framework fits where?1 -
can you please help me with this.
I'm creating dataset of [Leet words][1].
This code is for generating [Leet words][1]. it is working fine with less number of strings but I've nearly 3,800+ strings and my pc is not capable to do so. I've Tried to run this on cloud(30gb RAM) not worked for me. but I think possible solution is to convert this code into numpy but I don't know how. if you know any other efficient way to do this it will be helpful.
Thanks!
from itertools import product
import pandas as pd
REPLACE = {'a': '@', 'i': '*', 'o': '*', 'u': '*', 'v': '*',
'l': '1', 'e': '*', 's': '$', 't': '7'}
def Leet2Combos(word):
possibles = []
for l in word.lower():
ll = REPLACE.get(l, l)
possibles.append( (l,) if ll == l else (l, ll) )
return [ ''.join(t) for t in product(*possibles) ]
s="""india
love
USA"""
words = s.split('\n')
print(words)
lst=[]
# ['india', 'love', 'USA']
for word in words:
lst.append(Leet2Combos(word))
k = pd.DataFrame(lst)
k.head()3 -
An article on generating random sequences with few gaps:
https://quantamagazine.org/oxford-m...
I wonder what the entropy of such sequences are, and if these sequences would be suitable for the basis of generating secure random numbers, or at least useful as a PRNG? -
Pushed the code without compiling. We weren't generating builds before merging the code back then. It was so embarrassing
-
Good evening, night, morning or day...
does someone knows a nice angular 5, typescript module to use for generating candlestick charts?
Merci! -
Why TF does unity use mesh renderers for generating navmeshes? In what possible situation would that be a usefull?
Why would it chose to bug out on the complex visual geometry instead of using the finely crafted low-poly clipping layer? In what situation is that a good idea? Why would the AI need to collide with different things than the player? (IMHO NavMeshAgent should depend on CharacterController or Rigidbody)
I feel like so many features in Unity are potentially very nice but don't work well together or have WTF design elements like this one. Like custom shaders not being able to alter the result after the lights have been added together, and the undocumented finalgbuffer:ColorFunction function. Or a million other tiny things that make me wish I was smart enough to build my own engine.
/rant2 -
Web development -
Caution: boring question
Have anyone worked on anything like a form builder like by giving a name generating a table with default columns and new folder for controller , models inheriting a base class that can provide a CRUD functionality ?
In my company they have a cool module builder that allow you to add any field email ,file, password,connector field - connect two modules one 2 one relationship clonable field many to many built on php.
I tried and created one using python Flask framework but without restarting app the routes are not getting registering asked in stack overflow got downvoted
Any thoughts?3 -
(Note for dfox: I love this place and i would really like to have all my posts/ ++s/comment data available to me . Current system does not allow me to see posts more than some months old. is it possible? I hope devrant is not deleting old posts)
---------------------------------------------------------------------------
Stream of thoughts coming through
#justAthought 1
If you feel you are mentally unique (Not in retarded or disable kind of way, but having a different view of thinking, a different perspective, not-a-sheep-in-a-herd kind of mentality) , then you PROBABLY ARE, its just those who are not that mentally unique will find your thoughts absurd until you are proving yourself to be a successful person.
Even though you feel something is wrong in a current situation, and you can put some valid points in your argument, there would always come a point where your personal failures or average-ness would overshadow your valid points (kind of personal experience than a thought :/ )
#justAThought2 (Disclaimer: i am no fraud guru or priest, just a 9-5 curious , sleepless student-cum-professional)
I sometimes feel that the only good, meaningful goal that i could think for my life would be : to earn enough money to set up a small experiment environment , where I would initially take, around 25-30 people for 1-2 years. It would be an environment with totally $0 value for materialistic things like money, jewels, property,etc . Everyone is living free of tensions of basic services like food, clothes, house, taxes, work to live etc. Together we all will be collectively doing just these things: Making ourselves healthy , and more kind, spiritual towards other humans, animals, plants and environment, and thinking of ways to eradicate the value of "value".
We have already reached a point where we are generating even more harmful Technology than useful tech, how about changing the way of thinking and taking a small pause? I know a lot of people would be reluctant to do any work in such environment, but i believe one day or another, every one of these people has to come back to their usual jobs , but this time, not for money but for humanity.
Do you think this kind of environment is possible for the whole world? Because today most, if not all thinks that money is the ultimate goal. can we change that, and would that change be good?
#justAthought 3 (Disclaimer : 1. Its my mom's thought/whatsapp status , i kind off liked it. she is super religious by the way ^_^! | 2. more relevant for india/multi religious countries 3. for Indians: kind of thought from movie "oh my god")
There should be a regional law during so called "acts of god"(floods, earthquakes, other natural disasters) under which the donations given to religious places(temples, churches, mosques,etc) would be used to provide relief to affected areas.3 -
!dev
So, today until Sunday, a fairly general strike is going on based on how our government wants to set up our pension or something..
Now I have to call and wake up my friggin' dad to bring me to work, and probably come and get me too...
That's not all, even.. most people still go to work by car, generating a lot of traffic...
Will I be too late at work today? Probably.
Fucking A! -
Paystubscity can assist your business in generating and printing the necessary documents for its operations. We produce W-2s, 1099s, and more to facilitate your business's smooth operation and ensure compliance with legal and financial requirements.
-
Can anybody explain why in C# when using string.Format("{0:C}", myNumber);
results in a string with special characters used for spacing instead of the normal space character.
This caused a issues in the PDF I was generating and I'm wondering why the special characters.4 -
I am now working on some pdf generating, trying to create pdf/a conforming documents and oh boy, what an ugly world that is.. not only there are some nontrivial requirements for the documents, but the only suitable (and expensive) library we could find so far for this is poorly documented, has horrible interface (for a simple programmer who "just wants to create a pdf, man") and even the stackoverflow cannot help with some issues.. fml3
-
8 hours of coding later and Im back where I began, and Im not even a dev, Im a sysadmin with a little PHP background tasked to write a Sku generating bundle for a PIM running on symphony.
<Insert I have no idea what Im doing dog meme here>1 -
After rewriting a piece of code to simulate a process subject to human error I previously stepped back and looked at it and realized the test data I was generating which I would have just let run of it wasn’t so long was subject to a simple distributive property and could be normalized considerably which then could be subjected to error introduction and used as training data at random and over time and error really only being ones of efficiency or last moment mistakes of a manual process
-
Random idea for the day.
An IDE plugin that allows intentionally mixing syntax from different programming languages in invalid ways within the same file.
BUT corrects code blocks to the right way by checking each code block detected as invalid say every thirty seconds. Generating code that is equivalent in output to the incorrectly specified code.
Any takers?2 -
!rant , a question (on the end, after explanation) :
https://youtube.com/watch/...
this is a result of (according to my time tracking) 10 hours and 50 minutes of coding.
captures mouse cursor into list of points, uses those to triangulate a flat polygon (manually doing all the mesh math of ordering them correctly, earclip triangulating, and indices generating), as well as to create inner and outer outline (no official algorithm, my own which I came up with on the spot) of a certain thickness.
(the outline drawing is just for debug yet, now I'm going to extrude them upwards to form walls)
soooo... I've been always curious about how effective/fast/efficient of a programmer I am, but it's usually hard to measure/compare, so I thought I'd try this way: how long do you think implementing something like this would take YOU?
thanks :)5 -
when we started this project for a customer we are working on we had a training about how their BE and FE is working, their coding style and so on. FE is in Angular 4 btw. During this training for FE we were about to create our first component. The trainer: "Ok, let's generate this component." He opened some very basic project that they have as a starting point, selected a directory, crtl+c ctrl+v, manually renamed everything. "There you have it. We successfully generated a new component!" 😳😵
We are still generating them like that 😅 -
You know when I think back to the ideas I've had and the things I've worked on. I'm having difficulty, with the exception of certain far out projects that were like unattainable, in thinking of anything I've done or thought of that does not involve: data visualization, data gathering, encryption/obfuscation, inventory/storage and/or communication.
am I just unimaginative ?
I did have an idea for a code translator and how it would work and what interfaces you'd have to adopt and how you'd attack implementing things that don't translate well like c++ to js for example. or c++ to c# for that matter ! but I never got far into it. though that would have been attainable as long as you had easy ways of generating bindings.
i mean pathing and navigation were things I thought of too but... that would pretty much be implementing someone else's stuff4 -
me vs my job at mnc laggard part 9/n . previous @ https://devrant.com/rants/6602068/...
====
I think i have now realised why working at corporate MNC sucks: they are reluctant to make a good product for their end users.
- they first come up with feature without a proper planning and research.
- then they are in a rush to release it to live audience by ignoring the possible issues that could arise
- when they see it fail, they are like, okay with that and blame it as a failed experiment
- instead of removing/disabling it, they are okay to keep it remain alive in the app, even if it causes customer inconveneience.
- meanwhile, they put false reports for their higher managers as a success and when an enhancement/modification comes for that feature from the higher up, they again start the loop by pushing a new feature without proper planning and a rush
as a dev, it fuckin kills me. I joined in the middle of one of these ugly loops. The app has a camera feature where the camera will generate voices to take pictures and record video , like "goto next car view" , "close the bonnet and focus", etc while the user follows instructions.
the ticket for me was to just add a flash button to this camera. But the more i dive into it, the more i hate it:
- the existing camera implementation provides api for toggling a camera flash, but when i attached it with a ui button, it would not work
- the existing implementation will send images /videos as direct payload data, resulting in generating very large payload curls . our app has a curl logger and it starts crashing.
- the existing implementation also crashes at uploading videos.
So where does it trouble me?well, I have a ticket to add just a fucking button, but i will have to replace the whole camera module and start from scratch. also the crash causing loggers will need some workarounds, otherwise i could not check the apis. and my manager will be like "why are you taking so long to add a flashlight?" and i would be like "coz i wanna put this flashlight up your -2 -
I want to ask for your opinion guys, because I don't know if I am right or wrong.
So, some days ago, my brother sent me some code to check out for an automation that he does for testing purposes, since he's a QA (I am a programmer). He should be able to send XML data to a server and depending on the process that he tests, the data is different every time. I saw a strange thing, he hardcodes the XML tags and concatenates them with data which I find stupid. So I proposed him to use a template to generate XML data, because I think it's more flexible and easier, making data and presentation separate. That way if in the future he wants to start using JSON he could do it in no time. I made the code in a separate file which he imports and uses it's functions (they are two so no need for classes) and uses them to load the template and render it as he passes the data as a hash table. He insists that concatenating data and XML tags is easier and simpler and I can't wrap my mind how could that be true. I gave him an example in which the data structure for a process is changed and he have to open the file and change the XML tags or the structure and he still says that's simpler.
What is the right decision in this situation. Keep in mind that I simplified the process a lot and it actually involves sending the data and reporting the results, but they are not important here since I am talking only about generating data. -
Hi, in my latest project I'm stuck on the CSS part.
I've already an Grunt + Sass Asset Generator for bootstrap.
The project has several (> 70) subpages aka modules.
The theming is client based, currently 4 clients with different colors.
At first I thought it was easy...
Splitting bootstrap to variables per client + bootstrap, so:
client1_variables.scss
client1_bootstrap.scss (including client1_variables).
client2_variables.scss
client2_bootstrap.scss
. . .
But now I'm stuck.
Reaason: The css classes are the same between the clients, eg client-bg-primary is the class.
I wanted to prevent generating for each client a folder - as every folder would contain the same content:
module/news/client1.scss
module/news/client2.scss
module/news/client3.scss
module/dashboard/client1.scss
module/dashboard/client2.scss
module/dashboard/client3.scss
...
Each SCSS file would only differ in the variable import...
Is there a way to prevent a Global Module CSS file for each client (as there are @##* fucking classes duplicated and I really don't want to untangle that mess) but not ending up with writing the same Code over and over?
The IRC sass channel is moderated, not possible to ask there... And when I google I find mostly themes based on an class approach (border-light vs border-dark)… :(2 -
Lets say i have to send an email to the user when:
- user forgot password (email sent with a token to verify the user owns that email, and token identifies for which user is this link valid)
- email verification (email sent with a token to verify the user who just registered, where this token uniquely is generated for each newly registered user)
- etc
Notice how both of these cases include the same shit:
- sending emails
- generating unique tokens
- attaching each record to individual user
Does this mean i should pack this up in 1 single model in the database and differentiate which type of email it is over an enum (EMAIL_CONFIRM, FORGOT_PASSWORD etc)?
Or should these shits each have a different model and thus different tables in database?35 -
3 steps to build trust through content marketing
Besides of building brand awareness and generating website traffic, content marketing has the potential to take your business to new heights. There are seven steps in which you can build trust through content marketing:
• Honesty: whether you are writing a blog or writing a Wikipedia page, you must consider honesty in your content. You can hire marketers or https://wikicreatorsinc.com/ to do the job.
• Authenticity: your content must be able to position your business as an expert in the industry.
• Establish authority: re-evaluate your marketing strategy and highlight your brand’s thought leadership to build trust.
Do you think content marketing can build trust?1 -
I dev the mobile platform and happy, and everything, and then, comes the marketing step... and it is sooo expensive in my country... do u guys know a hell of a good video and marketing content generating buddy for a monthly basis ?
200+usd2 -
Was generating a JSON based config manually to be used by a script another dev wrote - only to be criticized for using the text editors built in formatter. Evidently lining up the colon separating key value pairs is a thing.
If readability was so important to you why the fuck did you decide on using JSON as a configuration format? Especially when you could have gone with YAML or better yet INI (flat key/value pairs) style config.