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 - "very specific"
-
I worked with a good dev at one of my previous jobs, but one of his faults was that he was a bit scattered and would sometimes forget things.
The story goes that one day we had this massive bug on our web app and we had a large portion of our dev team trying to figure it out. We thought we narrowed down the issue to a very specific part of the code, but something weird happened. No matter how often we looked at the piece of code where we all knew the problem had to be, no one could see any problem with it. And there want anything close to explaining how we could be seeing the issue we were in production.
We spent hours going through this. It was driving everyone crazy. All of a sudden, my co-worker (one referenced above) gasps “oh shit.” And we’re all like, what’s up? He proceeds to tell us that he thinks he might have been testing a line of code on one of our prod servers and left it in there by accident and never committed it into the actual codebase. Just to explain this - we had a great deploy process at this company but every so often a dev would need to test something quickly on a prod machine so we’d allow it as long as they did it and removed it quickly. It was meant for being for a select few tasks that required a prod server and was just going to be a single line to test something. Bad practice, but was fine because everyone had been extremely careful with it.
Until this guy came along. After he said he thought he might have left a line change in the code on a prod server, we had to manually go in to 12 web servers and check. Eventually, we found the one that had the change and finally, the issue at hand made sense. We never thought for a second that the committed code in the git repo that we were looking at would be inaccurate.
Needless to say, he was never allowed to touch code on a prod server ever again.8 -
Finally did it. Quit my job.
The full story:
Just came back from vacation to find out that pretty much all the work I put at place has been either destroyed by "temporary fixes" or wiped clean in favour of buggy older versions. The reason, and this is a direct quote "Ari left the code riddled with bugs prior to leaving".
Oh no. Oh no I did not you fucker.
Some background:
My boss wrote a piece of major software with another coder (over the course of month and a balf). This software was very fragile as its intention was to demo specific features we want to adopt for a version 2 of it.
I was then handed over this software (which was vanilajs with angular) and was told to "clean it up" introduce a typing system, introduce a build system, add webpack for better module and dependency management, learn cordova (because its essential and I had no idea of how it works). As well as fix the billion of issues with data storage in the software. Add a webgui and setup multiple databses for data exports from the app. Ensure that transmission of the data is clean and valid.
What else. This software had ZERO documentation. And I had to sit my boss for a solid 3hrs plus some occasional questions as I was developing to get a clear idea of whats going on.
Took a bit over 3 weeks. But I had the damn thing ported over. Cleaned up. And partially documented.
During this period, I was suppose to work with another 2 other coders "my team". But they were always pulled into other things by my Boss.
During this period, I kept asking for code reviews (as I was handling a very large code base on my own).
During this period, I was asking for help from my boss to make sure that the visual aspect of the software meets the requirements (there are LOTS of windows, screens, panels etc, which I just could not possibly get to checking on my own).
At the end of this period. I went on vacation (booked by my brothers for my bday <3 ).
I come back. My work is null. The Boss only looked at it on the friday night leading up to my return. And decided to go back to v1 and fix whatever he didnt like there.
So this guy calls me. Calls me on a friggin SUNDAY. I like just got off the plane. Was heading to dinner with my family.
He and another coder have basically nuked my work. And in an extremely hacky way tied some things together to sort of work. Moreever, the webguis that I setup for the database viewing. They were EDITED ON THE PRODUCTION SERVER without git tracking!!
So monday. I get bombarded with over 20 emails. Claiming that I left things in an usuable state with no documentation. As well as I get yelled at by my boss for introducing "unnecessary complicated shit".
For fuck sakes. I was the one to bring the word documentation into the vocabulary of this company. There are literally ZERO documentated projects here. While all of mine are at least partially documented (due to lack of time).
For fuck sakes, during my time here I have been basically begging to pull the coder who made the admin views for our software and clean up some of the views so that no one will ever have to touch any database directly.
To say this story is the only reason I am done is so not true.
I dedicated over a year to this company. During this time I saw aspects of this behaviour attacking other coders as well as me. But never to this level.
I am so friggin happy that I quit. Never gonna look back.14 -
The beginning of my freelancing time. I was so naive. Didn't even used contracts...
This one client wanted a website with 2 specific features until a certain time. It should look nice, but only the features functionality was defined. All seemed reasonable at first.
I delivered 2 weeks before the deadline. The client was furious, as it didn't look like they imagined. They wrote me 8 lengthy emails with very fractioned feedback. It was becoming unreasonable.
But hey, I'm a newbie in this business. I have to make myself a name, I thought.
Oh was I naive....
This whole project went on for 2 more months. The client was unhappy with every change and 2-5 emails a day with new demands were coming in. I was changing things they wanted done 2 days ago, because they changed their mind.
Then they started to get personal. They were insulting me and even my family. My self-confidence dropped to an all-time low.
In the end I just sent them all the code for free and went to therapy.
BTW: this was also my most important experience, as things went up hill from then on. As Yoda once said: The greatest teacher, failure is.8 -
I work at a small company that uses very outdated coding approaches for their solutions.
About a year ago I went through our main application to improve performance and found quite a few areas that I could tackle such as using a dictionary data structure in place of (many) foreach loops that required to pull out a single object.
That specific change yielded a lot of improvement (you can only imagine) and the other developers wanted to learn the ways of dictionaries (because it was so revolutionary and new to them). I showed them many examples so that they could better understand this data structure.
Fast forward to a few months later, saw one of my coworker's code and noticed that they were using a dictionary... And iterating through each kvp similar to a foreach..... Wtf?!
P.S. that person's salary is much higher than mine :(
First time rant. Thanks for listening!10 -
So this was a couple years ago now. Aside from doing software development, I also do nearly all the other IT related stuff for the company, as well as specialize in the installation and implementation of electrical data acquisition systems - primarily amperage and voltage meters. I also wrote the software that communicates with this equipment and monitors the incoming and outgoing voltage and current and alerts various people if there's a problem.
Anyway, all of this equipment is installed into a trailer that goes onto a semi-truck as it's a portable power distribution system.
One time, the computer in one of these systems (we'll call it system 5) had gotten fried and needed replaced. It was a very busy week for me, so I had pulled the fried computer out without immediately replacing it with a working system. A few days later, system 5 leaves to go work on one of our biggest shows of the year - the Academy Awards. We make well over a million dollars from just this one show.
Come the morning of show day, the CEO of the company is in system 5 (it was on a Sunday, my day off) and went to set up the data acquisition software to get the system ready to go, and finds there is no computer. I promptly get a phone call with lots of swearing and threats to my job. Let me tell you, I was sweating bullets.
After the phone call, I decided I needed to try and save my job. The CEO hadn't told me to do anything, but I went to work, grabbed an old Windows XP laptop that was gathering dust and installed my software on it. I then had to build the configuration file that is specific to system 5 from memory. Each meter speaks the ModBus over TCP/IP protocol, and thus each meter as a different bus id. Fortunately, I'm pretty anal about this and tend to follow a specific method of id numbering.
Once I got the configuration file done and tested the software to see if it would even run properly on Windows XP (it did!), I called the CEO back and told him I had a laptop ready to go for system 5. I drove out to Hollywood and the CFO (who was there with the CEO) had to walk about a mile out of the security zone to meet me and pick up the laptop.
I told her I put a fresh install of the data acquisition software on the laptop and it's already configured for system 5 - it *should* just work once you plug it in.
I didn't get any phone calls after dropping off the laptop, so I called the CFO once I got home and asked her if everything was working okay. She told me it worked flawlessly - it was Plug 'n Play so to speak. She even said she was impressed, she thought she'd have to call me to iron out one or two configuration issues to get it talking to the meters.
All in all, crisis averted! At work on Monday, my supervisor told me that my name was Mud that day (by the CEO), but I still work here!
Here's a picture of the inside of system 8 (similar to system 5 - same hardware)15 -
My mentor/guider at my last internship.
He was great at guiding, only 1-2 years older than me, brought criticism in a constructive way (only had a very tiny thing once in half a year though) and although they were forced to use windows in a few production environments, when it came to handling very sensitive data and they asked me for an opinion before him and I answered that closed source software wasn't a good idea and they'd all go against me, this guy quit his nice-guy mode and went straight to dead-serious backing me up.
I remember a specific occurrence:
Programmers in room (under him technically): so linuxxx, why not just use windows servers for this data storage?
Me: because it's closed source, you know why I'd say that that's bad for handling sensitive data
Programmers: oh come on not that again...
Me: no but really look at it from my si.....
Programmers: no stop it. You're only an intern, don't act like you know a lot about thi....
Mentor: no you shut the fuck up. We. Are. Not. Using. Proprietary. Bullshit. For. Storing. Sensitive. Data.
Linuxxx seems to know a lot more about security and privacy than you guys so you fucking listen to what he has to say.
Windows is out of the fucking question here, am I clear?
Yeah that felt awesome.
Also that time when a mysql db in prod went bad and they didn't really know what to do. Didn't have much experience but knew how to run a repair.
He called me in and asked me to have a look.
Me: *fixed it in a few minutes* so how many visitors does this thing get, few hundred a day?
Him: few million.
Me: 😵 I'm only an intern! Why did you let me access this?!
Him: because you're the one with the most Linux knowledge here and I trust you to fix it or give a shout when you simply can't.
Lastly he asked me to help out with iptables rules. I wasn't of much help but it was fun to sit there debugging iptables shit with two seniors 😊
He always gave good feedback, knew my qualities and put them to good use and kept my motivation high.
Awesome guy!4 -
Hey everyone,
During some backend improvements to the devRant infrastructure, some of our async queue processors (SQS) stopped working which caused many notifs to not go out/stop working. Unfortunately our alerting didn’t pick up on this since there were still queues being processed (just not specific ones) and some aspects of notifs working. Big apologies for this issue!
It is now resolved, and while very delayed, no notifications were lost and all were processed after the queue processors started up again. Sorry for the bulk notifs, but we wanted to make sure all that were supposed to go out went out.
Additional alerting will be put in place to prevent this from happening again.
Thanks for your patience!16 -
My guide to know if your startup is failing:
My Qualifications: Every startup I've joined has failed. Not necessarily because of me.
For the sake of me typing faster, x=startup.
1) X doesn't have a product, but just an idea that x keeps pitching as the next "big thing". (What's with this shit anyway?)
2)X keeps changing products, One day your designing IoT sex toys and the next day your building a self aware AI. For some reason, the people at X saw Silicon Valley or that meme about how Instagram was created and thought "Fuck that happens to every moron who can switch on a computer."
3) Even worse, X keeps changing industries.
4) X keeps lying to you, your marginal user base and seems overall unethical. (You should leave at this point.)
5) X wants to target some obscure and very specific market and keeps pitching the company along the following lines
<famous_company> for <random_market>
Eg: "Yo bro it's like Amazon but for necrophiles."
6)X keeps saying that X is the next big thing. (X is not and I can't emphasize this point enough.)
What you should realize is this is my general observation and some or all of these points may not apply to every situation.
Sorry for typos and any other stuff.11 -
[This makes me sound really bad at first, please read the whole thing]
Back when I first started freelancing I worked for a client who ran a game server hosting company. My job was to improve their system for updating game servers. This was one of my first clients and I didn't dare to question the fact that he was getting me to work on the production environment as they didn't have a development one setup. I came to regret that decision when out of no where during the first test, files just start deleting. I panicked as one would and tried to stop the webserver it was running on but oh no, he hasn't given me access to any of that. I thought well shit, I might as well see where I fucked up since it was midnight for him and I wasn't able to get a hold of him. I looked at every single line hundreds of times trying to see why it would have started deleting files. I found no cause. Exhausted, (This was 6am by this point) I pretty much passed out. I woke up around 5 hours later with my face on my keyboard (I know you've all done that) only to see a good 30 messages from the client screaming at me. It turns out that during that time every single client's game server had been deleted. Before responding and begging for forgiveness, I decided to take another crack at finding the root of the problem. It wasn't my fault. I had found the cause! It turns out a previous programmer had a script that would run "rm -rf" + (insert file name here) on the old server files, only he had fucked up the line and it would run "rm -rf /". I have never felt more relieved in my life. This script had been disabled by the original programmer but the client had set it to run again so that I could remake the system. Now, I was never told about this specific script as it was for a game they didn't host anymore.
I realise this is getting very long so I'll speed it up a bit.
He didn't want to take the blame and said I added the code and it was all my fault. He told me I could be on live chat support for 3 months at his company or pay $10,000. Out of all of this I had at least made sure to document what I was doing and backup every single file before I touched them which managed to save my ass when it came to him threatening legal action. I showed him my proof which resulted in him trying to guilt trip me to work for him for free as he had lost about 80% of his clients. By this point I had been abused constantly for 4 weeks by this son of a bitch. As I was underage he had said that if we went to court he'd take my parents house and make them live on the street. So how does one respond? A simple "Fuck off you cunt" and a block.
That was over 8 years ago and I haven't heard from him since.
If you've made it this far, congrats, you deserve a cookie!6 -
Facebook: "Our facial recognition automatically tags people in pictures."
Tesla: "Our deep learning algorithm drives cars by itself."
Andrew Ng: "I predict patients' likelihood of dying with 99% accuracy."
Google: "You know one of our algorithms is going to pass the Turing test very soon."
Wall Street: "We use satellite images to predict stock prices based how filled car parks of specific stores are."
The remaining majority of data sciencists: "We overfit linear models."2 -
Currently on an internship, PHP mostly, little bit of Python and the usual web stuff, and I just had the BEST FUCKING DAY EVER.
Wake up and find out I'm out of coffee, oh boy here we go.
Bus leaves 10 minutes late, great gonna miss my train.
Trains just don't wanna ride today, back in a bus I go, what's normally a 10 minute train travel is now a 90 minute bus ride.
Arrive at internship, coffee machine is broke, non problem, I'll just lose it slowly.
NOW HERE COMES THE FUCKING GOOD PART!!
Alright, so I'm working on a CMS that can be used just about on any device you want, mobile or desktop, it's huge, billion's of rows of scientific data. Very specific requirements and low error margins. Now, yesterday I was really enjoying myself here until today, Project manager walks in, comes to my desk and hands me a Samsung Gear S3, an Apple watch and some cheap knockoff. He tells me that before the Friday deploy, THE ENTIRE CMS SHOULD WORK ON THOSE WATCHES!
I mean, don't get me wrong, I like a challenge but it's just not right, I mean, I'm still not sure what the right way to handle tables on phones is, but smart watches, just no. Besides that, I've never worked with any Apple devices, let alone WatchOs, nor have I worked with Android Wear.
Also, Project Manager is a total dickhead, he's the kinda guy that prefers a light theme, doesn't clean up his code, writes 0 documentation for an API, 1 space = tab, pure horror.
So after almost flipping my desk, I just called my school coach to announce I'm leaving this internship. After a brief explanation he decides to come over, and guess what, according to the Project Manager I wasn't supposed to do that, I was supposed to test if it would be possible.
FUCKING ASSFUCKFACE9 -
My favorite kind of interview question/challenge is anything that is highly practical for the job. At the current company I work, the coding test/interview challenge was to design and implement an API very similar to the core functionality of the actual product. It’s fair, tests for skills relevant to the job, and is much better than irrelevant silly brain teasers and cs questions, I feel.
In terms of specific questions, one of my favorites is one that one of my colleagues suggested I ask to potential candidates: describe what you think your biggest failed project/task was in your engineering career, and what happened/what you learned. I think it’s a good reflective question that can tell a lot about someone.3 -
Time for an actual rant:
During an internship I heard from my PM that my assignment for the week after was going to be working on a specific sql query to add some features and fix some bugs.
When talking with colleagues about that assignment later, they laughed and referred to the query as the "query of doom" (QoD), naive as I was back then, I thought that one of my colleagues had the QoD displayed on his screen because the query he was working on looked rather large (about 20 lines). They all laughed and told me I was in for a treat.
Starting my assignment the week after I was horrified to find out the QoD was huge, and by huge I mean, printing that specific query resulted in 8 A4 pages font size 10, front and back.
There were over a 100 union statements, no proper aliases, no documentation, not a single foreign key in the entire database, naming that makes no sense. And everything written manually by 10 different developers over the past years, who all fell of the face of the earth.
And this was only the query of doom. The entire product was a complete clusterfuck of forms with a queries directly behind action buttons, because we weren't allowed to make classes (yes you read that correctly. We couldn't make classes, unless we had a very compelling reason). Everything was created by over 30 different devs who only managed to stay just long enough to get some work done.
And all of this was the result of a PM who didn't believe in frameworks, ORM's, OOP, classes, ... because that made the software slow. To this day he still manages that product, but I'm glad that I quickly decided to move on.9 -
I really, honestly, am getting annoyed when someone tells me that "Linux is user-friendly". Some people seem to think that because they themselves can install Linux, that anyone can, and because I still use Windows I'm some sort of a noob.
So let me tell you why I don't use Linux: because it never actually "just works". I have tried, at the very least two dozen times, to install one distro or another on a machine that I owned. Never, not even once, not even *close*, has it installed and worked without failing on some part of my hardware.
My last experience was with Ubuntu 17.04, supposed to have great hardware and software support. I have a popular Dell Alienware machine with extremely common hardware (please don't hate me, I had a great deal through work with an interest-free loan to buy it!), and I thought for just one moment that maybe Ubuntu had reached the point where it just, y'know, fucking worked when installing it... but no. Not a chance.
It started with my monitors. My secondary monitor that worked fine on Windows and never once failed to display anything, simply didn't work. It wasn't detected, it didn't turn on, it just failed. After hours of toiling with bash commands and fucking around in x conf files, I finally figured out that for some reason, it didn't like my two IDENTICAL monitors on IDENTICAL cables on the SAME video card. I fixed it by using a DVI to HDMI adapter....
Then was my sound card. It appeared to be detected and working, but it was playing at like 0.01% volume. The system volume was fine, the speaker volume was fine, everything appeared great except I literally had no fucking sound. I tried everything from using the front output to checking if it was going to my display through HDMI to "switching the audio sublayer from alsa to whatever the hell other thing exists" but nothing worked. I gave up.
My mouse? Hell. It's a Corsair Gaming mouse, nothing fancy, it only has a couple extra buttons - none of those worked, not even the goddamn scrollwheel. I didn't expect the *lights* to work, but the "back" and "Forward" buttons? COME ON. After an hour, I just gave up.
My media keyboard that's like 15 years old and is of IBM brand obviously wasn't recognized. Didn't even bother with that one.
Of my 3 different network adapters (2 connectors, one wifi), only one physical card was detected. Bluetooth didn't work. At this point I was so tired of finding things that didn't work that I tried something else.
My work VPN... holy shit have you ever tried configuring a corporate VPN on Linux? Goddamn. On windows it's "next next next finish then enter your username/password" and on Linux it's "get this specific format TLS certificate from your IT with a private key and put it in this network conf and then run this whatever command to...." yeah no.
And don't get me started on even attempting to play GAMES on this fucking OS. I mean, even installing the graphic drivers? Never in my life have I had to *exit the GUI layer of an OS* to install a graphic driver. That would be like dropping down to MS-DOS on Windows to install Nvidia drivers. Holy shit what the fuck guys. And don't get me started on WINE, I ain't touching this "not an emulator emulator" with a 10-foot pole.
And then, you start reading online for all these problems and it's a mix of "here are 9038245 steps to fix your problem in the terminal" and "fucking noob go back to Windows if you can't deal with it" posts.
It's SO FUCKING FRUSTRATING, I spent a whole day trying to get a BASIC system up and running, where it takes a half-hour AT MOST with any version of Windows. I'm just... done.
I will give Ubuntu one redeeming quality, however. On the Live USB, you can use the `dd` command to mirror a whole drive in a few minutes. And when you're doing fucking around with this piece of shit OS that refuses to do simple things like "playing audio", `dd` will restore Windows right back to where it was as if Ubuntu never existed in the first place.
Thanks, `dd`. I wish you were on Windows. Your OS is the LEAST user friendly thing I've ever had to deal with.31 -
Hey guys, first rant,
At the moment I'm developing a very big and complex app. We are almost done and decided to deliver a test version to our customer. After he received our test he called us and said there is a problem with a function, he just said it's not working and wasn't very specific.
So I decided to check his problem, because an colleague couldn't figure it out.
I started the app via android studio and had a similar problem, there was a huge delay at the automatic recording function of Bluetooth messages, I thought yeah this is his problem.
I showed it my colleague and he said that he doesn't have this problem, we have different Bluetooth simulators so we thought that there must be a problem with the Bluetooth communication or the simulators are broken.
I checked if there is some kind of timing or buffer problem and logged the shit out of the simulator and found nothing, 3 hours were lost🏁.
My colleague checked his last changes because he had changed a lot at the App Api do to new conditions and those customer wishes💀 he couldn't found anything. So we thought maybe it's my device and the device of the customer. We switched the devices and tada no problem with my devices if the app is builded at the pc of my colleague.
I thought ok maybe it's because I turned some ndk features off. Turned it back on, nothing happened. So we exchanged our Android Studio Settings but no difference. So I said yeah whatever my mashine is just fucked. I restarted my mashine for the third time and started android fucking studio. Some little popup showed up "new updates"... the solution came to my mind ... Do to an update of android studio I excidently turned on Instant Run.....🌋 . I checked it, it was activated, these fucking instant run, great idea but not working... Turned it off, everything worked.
I called the customer because he can't have a problem and he said, this time not angry, oh yeah it was just a notification if I want to turn on my Bluetooth and I decided no and the Bluetooth recording is not recording, this is a problem... -😠NO FUCKING COMMENT😤-5 -
This is my work desktop. Since I'm working in a Japanese office, they're very specific about making sure your workspace is clean and tidy at all times. Also they expect you to have very little to no personal items on your workspace.
The mini whiteboard is my best tool. It makes it easier to work out minor concepts or to explain things to co-workers.8 -
So this chick has been super nice to me for the past few months, and has been trying to push me towards a role in security. She said nothing but wonderful things about it. It’s easy, it’s not much work, it’s relaxing, etc.
I eventually decided I’m burned out enough that something, anything different would be good, and went for it. I’m now officially doing both dev and security. The day I started, she announced that she was leaving the security team and wouldn’t join any other calls. Just flat-out left.
She trained me on doing a security review of this release, which basically amounted to a zoom call where I did all of the work and she directed me on what to do next, ignored everything I said, and treated me like an idiot. It’s apparently an easy release. The work itself? Not difficult, but it’s very involved, very time consuming, and requires a lot of paper trail — copying the same crap to three different places, tagging lots of people, copying their responses and pasting them elsewhere, filing tickets, linking tickets, copying info back and forth to slack, signing off on things, tagging tickets in a specific way, writing up security notes in a very specific format etc. etc. etc. It’s apparently usually very hectic with lots of last-minute changes, devs who simply ignore security requests, etc.
I asked her at the end for a quick writeup because I’m not going to remember everything and we didn’t cover everything that might happen.
Her response: Just remember what you did here, and do it again!
I asked again for her to write up some notes. She said “I would recommend.. you watch the new release’s channel starting Thursday, and then review what we did here, and just do all that again. Oh, and if you have any questions, talk to <security boss> so you get in the habit of asking him instead of me. Okay, bye!”
Fucking what.
No handoff doc?
Not willing to answer questions after a day and a half of training?
A recap
• She was friendly.
• She pushed me towards security.
• She said the security role was easy and laid-back.
• I eventually accepted.
• She quit the same day.
• The “easy release” took a day and a half of work with her watching, and it has a two-day deadline.
• She treated (and still treats) me like a burden and ignores everything I said or asked.
• The work is anything but laid-back.
• She refuses to spend any extra time on this or write up any notes.
• She refuses to answer any further questions because (quote) “I should get in the habit of asking <security boss> instead of her”
So she smiled, lied, and stabbed me in the back. Now she’s treating me like an annoyance she just wants to go away.
I get that she’s burned out from this, but still, what a fucking bitch. I almost can’t believe she’s acting this way, but I’ve grown to expect it from everyone.
But hey, at least I’m doing something different now, which is what I wanted. The speed at which she showed her true colors, though, holy shit.
“I’m more of a personal motivator than anything,” she says, “and I’m first and foremost a supporter of women developers!” Exactly wrong, every single word of it.
God I hate people like this.20 -
aslkfjasf. i've spent 12 hours today (and lots more over the past two days) trying to reproduce a bug that my [sort of] coworker insists is present. I haven't seen any proof of it anywhere, let alone steps to reproduce it.
I've poured through the code, following all of its tangled noodles of madness from start to fuck-this-shit. I've read and reread the pile of demon excrement so many times i can still read the code when i close my eyes. so. not. kidding.
anyway, the coworker person is getting mad because i haven't fixed the bug after days, and haven't even reproduced it yet. This feature is already taking way too fucking long so I totally don't blame him. but urghh it's like trying to unwind a string someone tied into a tight little ball of knots because they were bored.
but i just figured out why I haven't been able to reproduce it.
the stupid fucking unreliable dipshit ex-"i'm a rockstar and my code rocks"-CTO buffoon (aka API Guy, aka the `a=b if a!=b`loody pointless waste of mixed spaces and tabs) that wrote the original APIs ... 'kay, i need to stop for breath.
The dumbfuck wrote the APIs (which I based the new ones on mostly wholesale because wtf messy?), but he never implemented a very fucking important feature for a specific merchant type. It works for literally every type except the (soon-to-be) most common one. and it just so happens that i need that very specific feature to reproduce this bug.
Why is that one specific merchant type handled so differently? No fucking idea.
But exactly how they're handled differently is why I'm so fking pissed off. It's his error checking. (Some) of his functions return different object types (hash, database object, string, nullable bool, ...) depending on what happened. like, when creating a new gift, it (eventually...) either returns a new Gift object or a string error basically saying "ahhh everything's broken again!" -- which is never displayed, compared against, or recorded anywhere, ofc. Here, the API expects a Hash. That particular function call *always* returns a Hash, no matter what happens in the myriad, twisting, and interwoven branches the code could take. So the check is completely pointless.
EXCEPT. if an object associated with another object associated with the passed object (yep) has a type of 8. in which case, one of the methods in the chain returns a PrintQueue that gets passed back up the call stack. implicitly, and nested three levels in. ofc.
And if the API doesn't get its precious Hash, it exclaims that the merchant itself is broken, and tells the user to contact support. despite, you know, the PrintQueue showing that everything worked perfectly. In fact, that merchant's printer will be happily printing away in the background.
All because type checking is this guy's preferred method of detecting errors. (Raise? what's that? OOP? Nah, let's do diverging splintered-monolithic with some Ruby objects thrown in.)
just.
what the crap.
people should keep their mental diarrhea away from their keyboards.
Anyway. the summary of this long-winded, exhaustion-fueled tirade is that our second-most-loved feature doesn't work on our second-most-common merchant type.
and ofc that was the type of merchant i've been testing on. for days. while having both a [semi] coworker and my boss growing increasingly angry at me for my lack of progress.
It's also a huge feature, and the boss doesn't understand that. (can't or won't, idk)
So.
yep.
that's been my week.
...... WHAT A FUCKING BUFFOON!rant sheogorath's spaghetti erroneous error management vomit on her sweater already your face is an anti-pattern dipshit api guy two types bad four types good root swears oh my3 -
Here's a true story about a "fight" between me and my project manager...
I've been working as a Frontend developer for nearly two years, managed to acquire a decent amount of knowledge, in some cases well above the rest of my coworkers, and one day I got into a bit of a disagreement with my project manager.
Basically he wanted me to copy/paste some feature from another project (needless to say, that... "thing" has more bugs than an ant farm), and against his orders I started doing that feature from scratch, to build a solid foundation from the very start.
I had a lengthy deadline to deliver that feature, they were expecting me to take some time to fix some of the bugs as well, but my idea was to make it bug-free from the moment the feature was released. Both my method and the one I should be copying worked the exact same, but mine was superior in every way, had no bugs, was scalable and upgradeable with little effort, there was no reason not to accept it.
We use scrum as our work methodology, so we have daily meetings. In one of those, the project manager asked me how was the progress on that new feature, and I told him I was just polishing up the code and integrating it with the rest of the project, to make sure everything was working properly. I still had a full day left before the deadline set for that feature, and I was expecting to take about half an hour to finish up a couple lines of code and test everything, no issues so far...
But then he exploded, and demanded to know why wasn't I copying the code from the other project, to which I answered "because this way things will work better".
Right after he said that the feature was working on the other project, copying and pasting it should take a few minutes to do and maybe a couple of extra hours to fix any issues that might have appeared...
The problem here is, the other project was made by trainees, I honestly can't navigate through 3 pages without bumping into an average of 2 errors per page, I was placed into this new project because they know I do quality code, and they wanted this project to be properly made, unlike the previous one, so I was baffled when he said that he preferred me to copy code instead of doing "good" code...
My next reply was "just because something has been made and is working that doesn't mean that it has been properly made nor will work as it should, I could save a few hours copying code (except I wouldn't save any, it would take me more time to adapt the code than to do it from scratch) but then I'll be wasting weeks of work because of new bugs that will be reported over time, because trust me, they will appear... "
I told him this in a very calm manner, but everybody in the meeting room paused and started staring at me, not many dare challenge that specific project manager, and I had just done that...
After a few seconds of silence the PM finally said... "look, if you manage to finish your task inside the set deadline I'll forget we ever had this conversation, but I'll leave a note on my book, just in case..."
I finished that task in about 30 mins, as expected, still had 7 hours till deadline, and I completely forgot about that feature until now because it has never given any issues whatsoever, and is now being used for other projects as well.
It was one of my proudest/rage inducing moments in this project, and honestly, I think I have hit my PM with a very big white glove because some weeks after this event the CEO himself came to the whole team to congratulate us on the outstanding work being made so far, in a project that acted against the PM's orders 90% of the time.11 -
So as quite some people know on here, I am strongly against closed source software and have a very strong distrust in it as well.
So next to some principles (and believes etc etc etc) there is one specifc 'event' which triggered the distrust in CSS (No not Cascading Style sheet, I mean Closed Source Software :P). So hereby the story about what happened.
I think it was about 5 years ago when a guy joined my programming class (I wasn't in uni although I studied but for the sake of clarity, lets just call it uni for now (also, that makes me feel smarter so why the fuck not!)) in uni. He knew a shitload about programming for his age but he was convinced that he was always right. (that aside)
Anyways, at some point we had to work in groups on this project (groups for specific tasks) and he chose (he loved it, we hated it, he had the final say) Trello for 'project management'. He gave everyone (I was running Windows for a little bit at that moment because the project was in C# and the Snowden leaks had not arrived yet so I was not extremely uncomfortable with using Windows, just a lot) this addon program thingy he created for Trello which would make usage easier. I asked if it was open source, he replied with 'No, because this is my project.' and although I did understand that entirely, I didn't feel comfy using it because of it's closed source nature. Everyone declared me paranoid and he was annoyed as hell but I just kept refusing to use it and just used the web interface.
*skips to 2 years later*
I met that guy again at the train station at a random day! Had the usual 'how are you and what's up after a few years' talk with him and then he told me something that changed my view on closed source software for most probably the rest of my life.
"Hey by the way, do you remember that project of a few years back where you didn't want to use my software because of your 'closed-sourceness paranoia'? I just wanted to say that I actually had some kind of backdooring feature build in which (I am not going to say what) allowed me to (although I didn't use it) look at/do certain things with the 'infected' computers. I really wanted to say that I find it funny how you, the only one who didn't give in to my/the peer pressure, were the only one who wasn't affected by my 'backdoor' at that moment! Also your standards towards the use of closed source software probably played a big part probably. I find that pretty cool actually!"
Although I cannot confirm what he said, he was exactly the type of guy who would do this IMO (and not only IMO I think).
So yeah, that's one of the reasons AND the story behind a big part of why I don't trust closed source software :).5 -
Hello, world!
Hey, it's me. It's been awhile. How have you been..? :3
For those of you who don't know/remember, I'm the lead developer of a Desktop and (to-be) Hacking Simulator Game. My project should still exist somewhere on here. I just thought I would hop on, and catch you guys up on my progress. ^~^
So far themes are a thing! You can add custom fonts, wallpapers(or just a desktop color) and set the color/opasity of everything in-game!
I have also implimented a modding API. It's under-documented, but it works very well! You can add apps, commands, or even redesign the entire interface using it. It executes modded functions on specific events, so you could really have it do anything.
As of yesterday, there is also a simulated FileSystem. You can navigate it using in-game terminal commands, and you can create and remove directories.
(in-game screenshots are also a thing, you can even set a timer - ps: this is a 100% mod! As are all apps and commands in the current unreleased version. PM me on Telegram @TheCyaniteproject to get a copy~)25 -
I interviewed a guy with quite a few years of experience, university studies from a first world country, very long CV with stuff that he did, most of it relevant to the job, and 5-6 certifications, 2 of which relevant to the job, which would qualify him as an expert (as he himself declared in the CV), of a higher qualification than mine, but less experience.
Welp, if we're gonna hire someone with a higher salary, from whom I am to learn, I better come up with an interesting, but simple to understand problem, relevant to the position, that I would solve in 30 minutes, and give him 2h (surprise factor, unpreparedness, nervousness should be considered).
40 minutes in and I understand that there is lots of doing, lots of code, but the guy has no idea what he's doing.
I simplify the problem, remove the complicated bit. Turning it into a "business case description" of an entry level problem.
...
Same shit. In 20 minutes, zero progress. At this point the solution should be exactly 4 short lines of code. He gives me 50 that produce a completely wrong result, and he has no idea why.
I simplify further. I explicitly express the problem as the entry-level problem that it is - to count the number of interactions on the website in a specific day. That's it.
10 minutes more pass. I don't know why I'm wasting my time. Maybe I just want to be polite. Maybe I want to eliminate all doubt that it's not something else.
Nope.
He couldn't even react to my explanation of why he got the wrong result, and that all he had to do is move some stuff around.
Certifications, experts, universities.
What the fuck people? Can't we be simpler, and instead be knowledgeable? The time it took him to write that list of certifications, he could've learned how to solve this problem from any introductory course.9 -
I’m a .NET desktop fullstack dev these days… Never worked web unless for my own small needs/personal projects.
I started using tech one way or the other by the time windows was version 3.1 and been through quite a bit ground-breaking changes in the industry of software development and the internet but if there’s one thing I cannot understand of it all, no matter how much thought I put into it is: How the fuck did we manage to make it so fucking complicated to develop anything these days?
I remember like it was yesterday that you could stand a website with HTML, CSS and JS, three fucking files and you’ve made yourself a single page site. Then came the word “Responsive”, “Responsive” written everywhere. Fair enough, grid system popped up. All of the sudden jQuery was summoned… and everything that happened after this point has been a fucking circus of high-pitched teens talking on conferences about fucking libraries and frameworks to make integration with real time, highly scalable, eco-friendly, serverless, data driven, genome aware, genderless, quantum technologies to interact with bio dynamically generated organisms, namely fucking users.
Every fucking bit of the process of building a mobile/web application seems to be stopped by yet another incredibly dumb attempt to suicide a developer. Can you go from starting an app and publishing an app without jumping through a thousand VERY specific hoops? No, fuck no.
I fucking hate it… It’s a bit hard to get Desktop dev jobs these days but for as long as I work on IT I will continue to stick to that area, until someone for the love of life comes up with a fucking solution to all this decadent circus of bureaucratic technocracy.
Fuck big industry, fuck tech giants, fuck javascript and webassembly, fuck kids putting ASCII art on console applications that I DON’T FUCKING NEED to install dependencies THAT I DON’T FUCKING NEED to extend functionality on frameworks that I DON’T FUCKING NEED… oh wait, I do need all this because YOU FUCKING MADE IT MANDATORY NOW! FUUUUUUUUUUUUUUUUUUUUUUUCK YOU!!!9 -
TLDR;
Wrote a slick scheduling and communication system allowing me to assign photography resources based on time and location.
I'll tell you a little secret ... I'm not actually a dev. I'm a photographer, pretending to be a dev.
Or ... perhaps it's the other way around? (I spend most of my time writing code these days, but only for me - I write the software I use to run my business).
I own a photography studio - we specialize in youth volleyball photography (mostly 12-18 year old girls with a bit of high school, college and semi-pro thrown in for good measure - it's a hugely popular sport) and travel all over the US (and sometimes Europe) photographing.
As a point of scale, this year we photographed a tournament in Denver that featured 100 volleyball courts (in one room!), playing at the same time.
I'm based in California and fly a crew of part-time staff around to these events, but my father and I drive our booth equipment wherever it needs to go. We usually setup a 30'x90' booth with local servers, download/processing/cashier computers and 45 laptops for viewing/ordering photographs. Not to mention 16' drape and banners, tons of samples, 55' TVs, etc. It's quite the production.
We photograph by paid signup only - when there are upwards of 800 teams/9,600 athletes per weekend playing, and you only have four trained photographers, you've got to manage your resources!
This of course means you have to have a system for taking sign those sign ups, assigning teams to photographers and doing so in the most efficient manner possible based on who is available when the team is playing. (You can waste an awful lot of time walking from one court to another in a large convention center - especially if you have to navigate through large crowds - not to mention exhausting yourself).
So this year I finally added a feature I've wanted for quite some time - an interactive court map. I can take an image of the court layout from the tournament and create an HTML version in our software. As I mouse over requests in one window, the corresponding court is highlighted on the map in another browser window. Each photographer has a color associated with them. When I assign requests to a photographer, the court is color coded with the color of the photographer. This allows me to group assignments to minimize photographer walk time and keep them in a specific area. It's also very easy to look at the map and see unassigned requests and look to see what photographer is nearby.
This year I also integrated with Twilio and setup a simple set of text shortcuts that photographers can use to let our booth staff know where they are, if they have memory cards that need picking up, if they need water/coffee/snack, etc. They can also move assignments on their schedule or send and SOS for help if it looks like they aren't going to be able to photograph a team.
Kind of a CLI via the phone. :)
The additions have turned out to be really useful and has made scheduling and managing the photographers much easier that it was in the past.18 -
I've been fairly lucky with my bosses of late since I've progressed in my programming career. But my absolute worst boss was when I first started working in an office environment doing data entry. My boss at the time was terrible, and she was always against innovation or process improvement. She also always tried to make herself look good and taking credit for the accomplishments of others. If she screwed up it was your fault, and she was "always buried in email" so she could never respond to you for pto requests, or escalation of issues between departments. My whole family pretty much worked in various roles in the department and she fired my brother after my mother left the company for no reason, saying he was "sleeping", but I worked right next to him and he's tall and had to slouch just to comfortable see his computer screen since the same manager refused to approve work station improvements for him.
Our workflow was to receive daily spreadsheets of health care claims that we had to manually process and enter into the system. So being the lazy innovator that I am, and trying to find ways I can efficiently work, I delved into studying visual basic and programmed a few functions and tools in excel to analyze, highlight, and process some of the data since the claims on the spreadsheets always had a specific pattern. This was all before I had any formal education in computer science so the program was very basic and clunky but it tripled my efficiency. When I brought it up to my boss to spread it among the rest of our team so they could use it after a short 20 minute training, she struck it down saying any training or use of it would be a waste of resources since it was too technical and complex to be used and if I were to keep improving it or use it I would be fired. It was literally copy and paste from one spreadsheet to the other en masse and clicking a button to sort and fill in the blanks. Eventually I showed it to the director of the department when working on a large data entry project with her, and I was later offered a job as a technical analyst where I was responsible for the codebase that generated the reports for the department and specifically all the reports my old boss used where I would occasionally mess with her to get back at all the crap she gave me and my brother. Since all the reports were blind carbon copied to everyone, I would send out her reports on a delay while everyone else got them on time. It eventually got her in so much crap she had to step down as a manager. She still works in the same company that I started working at again earlier this year, and like the many careers she's ruined she eventually ruined her own within the company 😂4 -
Very specific and annoying situation here:
- Working on a machine learning project with other people
- I'm on Linux, they use Windows
- We code in python
- We generally use vscode for development, and its python extension
I implement some basic neural networks with tensorflow, and add a bunch of logging for it. I test it on my machine and it works fine.
But, my group mates report that "after a few seconds the entire client hangs".
Apparently it only happens on Windows?
We start debugging the hell out of the code I implemented, added 20 log messages and sat there for a solid hour.
Until I make one very odd realization: the issue doesn't happen when I run the script in my terminal, instead of vscode with the debugger. So I try different debug settings, using an external terminal instead of vscode's built in debug console seems to fix it too.
And I make another observation: In the debug console, some messages don't seem to appear at all, while the external terminal shows them just fine.
So, turns out, that printing an epsilon character: “ε” (U+03B5), causes the entire thing to hang up.
It's the year 2020 and somehow we still can't do unicode.
I'm so done, what on earth.9 -
Prologue
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Part 1
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Part 2
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
TerminarzeController.DeleteTerminarzShematyDlaLekarza
Part 3
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Epilogue
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.1 -
Does anyone else have this? I always try to adjust the way I say things to non-hostile/aggressive (talking about things I have very specific opinions on) because I'm somehow afraid of starting a heated argument. On here, at work, everywhere.
Going to try to just speak my mind, even if that would get me into more fights etc 😅11 -
Disclaimer: I have a strong hate towards apple for multiple reasons and this will only be temporary. (thank God for that)
My oneplus one is battery dead and the power button quit as well. Repair costs would be as expensive as buying a new phone (200-300 price range) so searching for a new one.
But, I need a temporary phone in the mean time.
A phone with googled-android is absolutely a no-go. I used to do that sometimes but those were wrong decisions.
So, for the sake of trying, I'm going for a second hand iPhone.
Will be testing how it works for me (never been able to form an opinion on it since iOS 4.2 (iPod touch)) and will also be searching my ass off for a smartphone which supports lineage/rooting (TIPS BETWEEN ABOVES PRICE RANGE ARE VERY WELCOME) because I'm fucking hell not planning on using that (the iPhone) fucker any longer than a month.
Even if I love it over android (highly doubt that), I won't continue using it for very specific reasons.
Wish me luck 😅14 -
Yet another rant about crappy electronic designs.
Just now I was cleaning my desk and stumbled upon some old hard drive in a caddy that I still had laying around.. I figured, let's plug it in and see whether the drive still works. And to some extent, it does! Except that every few minutes it craps out on me. And after disassembling the caddy, I think that I know why.
Just as background information, hard drives work at 12V and generally require about 10W to spin their motor. Meanwhile USB operates at 5V. So a boost converter needs to be present in the controller to step up the voltage and power the drive.
Now what's a boost converter? It's an inductor, a capacitor, a transistor and a diode in a specific arrangement (if you're interested in the design, check out https://youtube.com/watch/...), along with feedback circuitry to stabilize output voltage. Now that transistor is important.. it switches at very high frequency, and its rise and fall times create heat. In the particular transistor used in that controller, it apparently causes the transistor to operate at 65-68°C. That's quite toasty IMO, and overheating may be why the controller is so unstable. But the Chinese manufacturers thought that it's just fine and okay to be sold without heatsink or some research into transistors with better rise and fall times.
So the hard drive craps out on me and yet again it's because of certified shitdesigns. MOTHERFUCKTURERS!!!!27 -
So this client wanted a very specific layout, with a very specific keycaps set. And an ALT function that would print the "shrug" text emoji.
Say hello to this
64 key, full CNC aluminum case
Gateron Ink Black switches (lubed)
Super thiccc 2.5 mm brass plate,
Keycaps set
MT3 profile Susuwatari set.
Love the profile and how they keycaps hug your finger up while typing.
I think it might be time for me to gather pieces to build my own as a gift in the future23 -
Please. Hear me out.
I've been doing frontend for six years already. I've been a junior dev, then in was all up to the CTO. I've worked for very small companies. Also, for the very large ones. Then, for huge enterprises. And also for startups. I've been developing for IE5.5, just for fun. I've done all kinds of stuff — accessibility, responsive design (with or without breakpoints), web components, workers, PWA, I've used frameworks from Backbone to React. My favourite language is CSS, and you probably know it. The bottom line is, you name it — I did it.
And, I want to say that Safari is a very good browser.
It's very fast. Especially on M1 Macs. Yes, it lacks customization and flexibility of Firefox, but general people, not developers, like to use it. Also, Safari is very important — Apple is a huge opposing force to Google when it comes to web standards. When Google pushes their BS like banning ad blockers, Apple never moves an inch. If we lose Safari, you'll notice.
As for the Safari-specific bugs situation, well… To me, Safari serves as a very good indicator: if your website breaks in Safari, chances are you used some hacks that are no good. Safari is a good litmus test I use to find the parts of my code that could've been better.
The only Safari-specific BUG I encountered was a blurry black segment in linear gradients that go from opaque to transparent. So, instead of linear-gradient(#f00, transparent), just do linear-gradient(#f00f, #f000).
This is the ONLY bug I encountered. Every single time my website broke in Safari other than that, was for some ugly hack I used.
You don't have to love it. I don't even use it, my browser of choice is Firefox. But, I'm grateful to Safari, just because it exists. Why? Well, if Safari ceases to exist, Google will just leave both W3C and WhatWG, and declare they'll be doing things their way from now on. Obey or die.
Firefox alone is just not big enough. But, together with Safari, they oppose Google's tyranny in web standards game.
Google will declare the victory and will turn the web into an authoritarian dictatorship. No ad blockers will be allowed. You won't be able to block Google's trackers. Google already owns the internet, well, almost, and this will be their final, devastating victory.
But Safari is the atlas that keeps the web from destruction.22 -
I have got a new director at work. My previous director had to retire already, the man was already feeling it and he had been on the institution for more than 35 years....I am 30, so this tells you how much the man has been there.
This new dude.....has the presence of a Caterprie (Pokemon) or an Oompa Loompa. In contrast, the previous director felt like a 4 star General (never been in the presence of a 5 star since those occurrences are world war rare) but I had respected that man so much and loved working with him. I really did loved my boss, he was stern and professional, but kind and friendly to his staff, fiercely protective, no one took advantage of I.T while he was there, he would literally fight for us and took our word before anything else. The man was, well, a true man. A true leader.
He took a chance in putting me as the head of my department, but he had faith in me, and coached me and trained me as much as he could. Had the requirement for his position not been a masters he himself told me that he would have loved to make me his successor, even when I would constantly tell him that I was scared shitless of the work he did and the amount of things he did for the institution, to me this is a very laaaaaaaaarge cowboy hat to fill (this is Texas, he wore a hat, the saying is normally "shoes to fill", but fuck it)
This new guys looks away when the other managers are speaking to him. He constantly interrupts us. He constantly tells us about how the other institution in which he was (rival might I add) does X or Y, its fucking annoying to the point that me and the other managers have a drinking game, for every time he references his old institution we drink one beer over the weekend. It is Saturday night and I am 36 in in total (this is my favorite part of it tho) and it is just annoying.
His train of thought makes no sense to me:
"This application, where did you buy it? we tried purchasing one on Y when I was still there but found none"
Me: "Well, since it was a new government mandate and had nowhere to go we had to develop it in house"
Him: "We had tried to purchase what you guys had but found no place that sold it, so why didn't you try purchasing it?"
Me:.....well, because it was brand new, purchase it from where? We also don't like dealing with vendors that manage these sorts of things because every new requirement takes them weeks to produce on very high budgets, historically, my department has only had maintenance fees for the software that we have and even those applications crap themselves all the time and they take weeks to answer back to us.
Him: So you decided to develop it in house instead? we would never do that! back at y we purchased everything our engineers never really developed anything!
Me: Well then, what is the purpose of having engineers if they are not going to actually develop an application?
Him: IF there is something out there that is better then why should you reinvent the wheel?
Me: For this one I did not reinvent the wheel, I am not talking about creating a programming language from scratch, but how does custom solutions that specifically feed the needs of the institution to be produced otherwise? The department has developers for a reason, because they have very specific needs in here that can only come from a team of developers that are in house satisfying those needs.
Him: Well our engineers never had to do that. Sure projects sometimes had to put on holds because the vendor was busy, but such is the nature of development
Me: No it is not, the nature of development is to create things, it is one thing for my team to go through bugs and software considerations, it is another for me to not provide a service because some random company is taking two weeks on a $300 dllr an hour contract to put a simple checkbox on a form. If a project fails the board is not going to care that some vendor is not doing their job, they are just going to blame me, if that is the case then I would much rather the blame be actually mine than some sucky third party "developer" also, your engineers where not even engineers, they were people with a degree that purchased things, that's it, please do not compare them to my guys or refer them as engineers in front of me, they are not.
Him: Well, maybe.
MAYBE?!! motherfucker I did not kill myself learning the ins and outs of architecture and software engineering on my own time after my fucking bachelors in C.S for your codeless background ass to tell me MAYBE. My word IS the fucking WORD here, not yours. Fuck me I really dislike this dude's management practices.
The shitty part? He is not a bad person, he is not a bad dude that is out to get us, just a simple minded moron with no place as a leader.
I know leaders, I know what a leader is, this is not one.10 -
Rather than singling out one person, I wanna present what I see as incompetent/stupid/ignorant:
- no will to learn
- failure to follow the very specific instructions & later asking for help when they FUBR sth & not even knowing what they did to fuck up in the first place
- asking how to solve stuff, then ignoring the suggestions & doing sth totally against recommendations
- failure to remember most basic stuff, especially if not writing it down to look at later when needed
- failure to check logs & 'google' stuff before asking why something isn't working the way they want it
- after two weeks, asking me how feature xy works, mind you they coded it, not me
- asking me why they did something in a specific way - WTF, am I a mind reader?! Who designed that crap?! Me or you?!!
- being passive/aggressive & snarky when told to do something or being asked why isn't it done already
- not testing their shit properly
- not making backups when upgrading (production) servers
- not checking the input value, no validation.. even after many many debacles on production with null ref exceptions
- failure to admit they fucked up
- not learning from (their) mistakes8 -
Alright, so my previous rant got a way better response than I expected! (https://devrant.io/rants/832897)
Hereby the first project that I cannot seem to get started on too badly :/.
DISCLAIMER: I AM NOT PROMOTING PIRACY, I JUST CAN'T FIND A SUITABLE SERVICE WHICH HAS ALL THE MUSIC I WANT. I REGULARLY BUY ALBUMS. before everyone starts to go batshit crazy regarding piracy, this is legal in The Netherlands for personal use. I think that supporting the artists you love is very good and I actually regularly pay for albums and so on but:
- I want all the music from about every artist in my scene. Either on Deezer or on Spotify this is not available and I'm not gonna get them both (they both have about half of the music I want). Their services are awesome but I'm not going to pay for something if I can't listen to all the music I like, hell even some artists (on deezer mostly) only have half their music on there and it's mostly not better on Spotify.
- I'd happily buy all albums because I love supporting the artists I love but buying everything is just way too fucking much."Get a premium music streaming subscription!" - see the first point.
You can either agree or disagree with me but that's not what this rant is about so here we go:
The idea is to create a commandline program (basically only needs to be called by a cron job every day or so) which will check your favourite youtube (sorry, haven't found a suitable non-google youtube replacement yet) channels every day through a cronjob and look for new uploads. If there are, it will download them, convert them to MP3 or whatever music format you'd like and place them in the right folder. Example with a favourite artist of mine:
1. Script checks if there are any new uploads from Gearbox Digital (underground raw hardstyle label).
2. Script detects two new uploads.
3. Script downloads the files (I managed to get that done through the (linux only or also mac?) youtube-dl software) and converts them to mp3 in my case (through FFMPEG maybe?).
4. Script copies them to the music library folder but then the specific sub-folder for Gearbox Digital in this case.
You should be able to put as many channels in there as you want, I've tried this with the official YouTube Data API which worked pretty fine tbh (the data gathering through that API). The ideal case would be to work without API as youtube-dl and youtube-dlg do. This is just too complicated for me :).
So, thoughts?43 -
Recap: https://www.devrant.io/rants/878300
I was out Thursday at the Hospital. I'm what the doctors would call "Ill as fuck"
So, Friday I’m back in the office to the usual: "How was that appointment?"
I know people mean well when they ask this. So, I do the polite thing and tell them it went as well as it could.
Realistically it does't matter how well it went... They haven't cured Crohn's because I showed up to the appointment. They know I'm fucked already.
But, push it down, add it to the future aneurism.
I had to go through the usual resignation meetings with managers:
"We"re fucked now you're going"
"yep"
"we need to get a handle on how fucked"
"already done that for you, here"s a trello board, very fucked."
"we need to put a plan together to drop all the junior devs in the shit with the work you’ve been doing"
"You need about 4 devs, please refer to the previous trello board for your plan"
Meanwhile, me and Morpheus are in constant communication because all of this is like a Shakespearean comedy.
So, I overhear a conversation between a Junior Dev and the Solution Architect.
[SA] took over the project because he knows better than two tried and tested senior devs -_- (fuckwit).
JD: "It took me one and a half days to build it out"
SA: "Yeah, it must have taken me twice as long... It must be a problem with the project, you should just be able to check it out and run it."
JD: "I know, it has to be wrong"
All of this is about Morpheus' work of art, of an Ionic 3 hybrid app.
I fumed quietly at my desk because I've been ordered by the Stazi to be hands off.
Since Morpheus and me were pulled from the project [JD] and [JD2] were dropped into it to get it over the line.
It"s unfortunate and I was clear and honest with my advice to them: I personally would not take over the project because I"d be way out of my depth... Oh, and the App works, so uh, there's no work to do.
They have been constantly at our desks. Asking fuckdiculous questions about how to perform basic tasks. So they can get Morpheus" frigging masterpiece to the user.
It"s like watching that touch up of jesus that got borked by an amateur. Shit I have google, it's like watching this happen: http://ti.me/NnNSAb
[JD] came to me Friday evening.
"I can’t get this to build to iOS or install on [Test Analyst]'s phone."
Me: "No worries brother, where are you stuck right now?"
[JD] describes the first steps with clear indication he hasn't googled his problem.
Life lesson: http://lmgtfy.com/?q=lmgtfy
Que an hour of me showing [JD] how to build an Ion3 project for iOS. Fuck it, your man's in a bind and he"s asked politely for help. I can show him quicker than he can read 3 sets of docos.
I took him through 'ionic cordova build ios', the archive and release processes in XCode 9, then the apk bundling process for droid. Finally we have an MAM so the upload process for that too.
All the while cleaning up his AppIDs, Profiles, deployment attempts.
Damn they were a mess.
I did this with a smile on my face, not because I could say "I told you so"... But. because when any developer asks you how to do something. If you know how to do it, you should always be happy to learn them some new tricks!
Dude's alright, he's been dropped in the shit. Now I know how badly so I'll help him learn things that are useful to his role, but aren't project specific.
As a plausi-senior dev (I'll tell you about that later); it's my job to make sure my team have what they need to go home smiling!
I’m not a hateful fucker, the guy asked me an honest question so I am happy to give him the honest answer.
I took him through it a few times and explained a few best practices. Most were how to do his AppID and ProvProfile set up. Good lad, took it all on board.
However! In his frustration, he pointed the finger at Morpheus' "David" (ref: Michelangelo).
He miraculously morphed into a shiny colourful parrot and fed me SA's line:
"you should just be able to build from a clean clone"
My response was calm and clear:
"You can, it took me 20 minutes on Thursday evening. I was bored and curios, so I wanted to validate Morpheus' work. Here it is on my iOS device and my Android device. It would have taken me 5 if my laptop wasn’t so horrifically out of date."
I validated Morpheus' work so I have evidence, I trust that brilliant bastard.
I just need to be able to prove it's good.
[JD] took this on board.
Maybe listening to two tried and trusted senior devs is better than listening to a headstrong Solution Architect.
When JD left for the weekend I was working a late one (https://www.devrant.io/rants/874765).
His sign off was beautiful.
"I think I can happily admit defeat on this one, it can wait until Monday."
To which I replied: "no worries brother, if you need a hand give me a shout."
Rule 1: Don't be a cunt.
Rule 2: If someone needs help and you can give it: Give it!
Rule 3: Don't interrupt James' cigarette time.
Rule 4: goto Rule 3.rant day 3 jct resigns crohns resignation solution architect wk71 invisible illness fuckwit illness junior developer4 -
Well now, I wouldn't want to mention anyone specific since talking about someone behind their back and calling them 'weird' isn't very nice. 🙄 But absolutely HYPOTHETICALLY speaking, if I HAD a weird coworker, they would probably...
- ... strut about the office, telling all how great yet underpaid their work is
- ... write lots of 'concepts' because coding is for lowly programmers
- ... insist that the code they have to do when boss is looking is simply too complicated for unit testing, and 'that's great!'
- ... brag about their/wear to work a ridiculous array of ties in every colour imaginable, when everyone else shows up casual
- ... trap people into listening to them talk for hours about...
-- ... ties
-- ... their misspent youth
-- ... how awesome they are/were/will be
-- ... why it's a good idea to eat cheese
- ... never let me forget I'm female, coz *insert BS reasons why all devs must by nature be male here*
- ... send me little unsolicited notes and mails with funny (sexist) jokes *har har*
- ... be let go, at which point everyone else discovers why they had so much time that they could spend chatting away at the watering hole
- ... earn the eternal hatred of anyone picking up the pieces of their 'work'
- ... try to steal our customers away who will laugh in their bloody face
Just my theory, of course..3 -
As an IT student learning only C# and Java, I was asked very specific questions on c++ about micro optimizations, and binary operations (why i haven't learned that i still wonder, i had to self teach it)
Because of not being able to answer that i was denied that internship, because fuck your and wanting to learn as a student.
I litterally mastered all questions asked the day after the interview just out of spite. It were all concepts i easily understood but they valued their paper based interview more than actually giving me some code to work with.2 -
I may or may not have pushed to production certain intranet code that upon meeting certain and very specific conditions would display the message "penis penis penis c====3"
because I can't for the life of me remember why would I do that.
Whats your point??2 -
I think I ranted about this before but fuck it.
The love/hate relation I have with security in programming is funny. I am working as a cyber security engineer currently but I do loads of programming as well. Security is the most important factor for me while programming and I'd rather ship an application with less features than with more possibly vulnerable features.
But, sometimes I find it rather annoying when I want to write a new application (a web application where 90 percent of the application is the REST API), writing security checks takes up most of the time.
I'm working on a new (quick/fun) application right now and I've been at this for.... 3 hours I think and the first very simple functionality has finally been built, which took like 10 minutes. The rest of the 3 hours has been securing the application! And yes, I'm using a framework (my own) which has already loads of security features built-in but I need more and more specific security with this API.
Well, let's continue with securing this fucker!10 -
I am much too tired to go into details, probably because I left the office at 11:15pm, but I finally finished a feature. It doesn't even sound like a particularly large or complicated feature. It sounds like a simple, 1-2 day feature until you look at it closely.
It took me an entire fucking week. and all the while I was coaching a junior dev who had just picked up Rails and was building something very similar.
It's the model, controller, and UI for creating a parent object along with 0-n child objects, with default children suggestions, a fancy ui including the ability to dynamically add/remove children via buttons. and have the entire happy family save nicely and atomically on the backend. Plus a detailed-but-simple listing for non-technicals including some absolutely nontrivial css acrobatics.
After getting about 90% of everything built and working and beautiful, I learned that Rails does quite a bit of this for you, through `accepts_nested_params_for :collection`. But that requires very specific form input namespacing, and building that out correctly is flipping difficult. It's not like I could find good examples anywhere, either. I looked for hours. I finally found a rails tutorial vide linked from a comment on a SO answer from five years ago, and mashed its oversimplified and dated examples with the newer documentation, and worked around the issues that of course arose from that disasterous paring.
like.
I needed to store a template of the child object markup somewhere, yeah? The video had me trying to store all of the markup in a `data-fields=" "` attrib. wth? I tried storing it as a string and injecting it into javascript, but that didn't work either. parsing errors! yay! good job, you two.
So I ended up storing the markup (rendered from a rails partial) in an html comment of all things, and pulling the markup out of the comment and gsubbing its IDs on document load. This has the annoying effect of preventing me from using html comments in that partial (not that i really use them anyway, but.)
Just.
Every step of the way on building this was another mountain climb.
* singular vs plural naming and routing, and named routes. and dealing with issues arising from existing incorrect pluralization.
* reverse polymorphic relation (child -> x parent)
* The testing suite is incompatible with the new rails6. There is no fix. None. I checked. Nope. Not happening.
* Rails6 randomly and constantly crashes and/or caches random things (including arbitrary code changes) in development mode (and only development mode) when working with multiple databases.
* nested form builders
* styling a fucking checkbox
* Making that checkbox (rather, its label and container div) into a sexy animated slider
* passing data and locals to and between partials
* misleading documentation
* building the partials to be self-contained and reusable
* coercing form builders into namespacing nested html inputs the way Rails expects
* input namespacing redux, now with nested form builders too!
* Figuring out how to generate markup for an empty child when I'm no longer rendering the children myself
* Figuring out where the fuck to put the blank child template markup so it's accessible, has the right namespacing, and is not submitted with everything else
* Figuring out how the fuck to read an html comment with JS
* nested strong params
* nested strong params
* nested fucking strong params
* caching parsed children's data on parent when the whole thing is bloody atomic.
* Converting datetimes from/to milliseconds on save/load
* CSS and bootstrap collisions
* CSS and bootstrap stupidity
* Reinventing the entire multi-child / nested params / atomic creating/updating/deleting feature on my own before discovering Rails can do that for you.
Just.
I am so glad it's working.
I don't even feel relieved. I just feel exhausted.
But it's done.
finally.
and it's done well. It's all self-contained and reusable, it's easy to read, has separate styling and reusable partials, etc. It's a two line copy/paste drop-in for any other model that needs it. Two lines and it just works, and even tells you if you screwed up.
I'm incredibly proud of everything that went into this.
But mostly I'm just incredibly tired.
Time for some well-deserved sleep.7 -
Currently, a classmate and I are working on our technical thesis.
It is all about industry 4.0, IIoT, big data and stuff.
This week, we presented our interim results to our supervisor. He is very pleased with our work and made the following suggestion:
He thinks it would be awesome to publish our work on our own GitHub repository and make it open source because he is convinced that this thesis is able to kind of "set a new standard" in some specific fields of using big data analysis in production processes.
I guess I'm kind of proud :)4 -
I tried writing this rant before, but I was (and still am) in too good of a mood so it was lengthy, meandering, and over-specific. so I'll summarize(ish).
summary:
* miscommunication
* working weekends
* incompetence and/or screwy integrations
summary of the summary:
* I can't fix someone else's mess if you don't talk to me!
Summary^3: #TODO: learn telepathy
Shortened rant:
Bossman at work signed up a very lucrative client by promising them something he couldn't deliver because he misunderstood and miscommunicated scope -- anti-fraud, if you've been following my rants.
Their signup (all four...) are screwy and cause issues and nobody knows why. I didn't write the code, have barely even glanced through it, and it uses a third-party (Clover) that's rather screwy.
Bossman has been asking me to do various things concerning the merchant, but has never been around to provide specifics, so I'm left to guess. I've done my best, but due to the aforementioned screwiness, I really have no idea what's going on. I just sort of muddled my way through.
Bossman also asked me, super late on Friday night (after 8:30pm), to rename one of the merchants because there are two with the same name (with different Clover creds, etc.) and that's just confusing. I didn't see the message because late and tired, and he didn't follow up or text/call me until two days later (today, Sunday). I also thought these were strictly for diagnosing and were de-listed. I had no idea the merchant was live and people were actually purchasing things for it. Had I known this I would have freaked out and demanded specifics on Thursday/Friday because wtf? debugging in production? with broken merchants? selling things for real money? scary bad? hello?
Anyway, I didn't see his message until he texted me about it at like 5pm today while I was about 2 hours from my computer. He's understandably frustrated, and I totally don't blame him, but fuck, miscommunication is a serious problem in this company, and that's amazing because it's so freaking small.
But the short version is that I'm likely going to get blamed for all this, Clover screwiness included. Bossman and I set up a call for 10am tomorrow and I'm positive he's going to try pinning it on me. Totally not going to let him, but his social is lv16+ while mine's like. 2 or 3. 😕 I'll see how it goes.
Really though, I should read @rutee07's book and just roast these fuckers.rant weekend work debugging in production miscommunication no call no text still my fault hope you see this it's urgent clover strip club3 -
Basically a senior dev that felt attacked because I (still in (IT-) school) could solve his 'oh so hard' programming test 'with ease'. He then went on and wanted to hear one specific answer from me on a very broad question. I (obviously) couldn't read his mind, so he started using that to make me look bad in front of the recruiter.
What a nice working environment...5 -
While writing a raytracing engine for my university project (a fairly long and complex program in C++), there was a subtle bug that, under very specific conditions, the ray energy calculation would return 0 or NaN, and the corresponding pixel would be slightly dimmer than it should be.
Now you might think that this is a trifling problem, but when it happened to random pixels across the screen at random times it would manifest as noise, and as you might know, people who render stuff Absolutely. Hate. Noise. It wouldn't do. Not acceptable.
So I worked at that thing for three whole days and finally located the bug, a tiny gotcha-type thing in a numerical routine in one corner of the module that handled multiple importance sampling (basically, mixing different sampling strategies).
Frustrating, exhausting, and easily the most gruelling bug hunt I've ever done. Utterly worth it when I fixed it. And what's even better, I found and squashed two other bugs I hadn't even noticed, lol -
Please disregard. I just need to vent.
Being a manager is so fucking shit. This is not even about devs or tech specific only. Never become a manager.
Why? Because it’s about handling people and all the dumb shit they do. It’s all about knowing what people suck at and preventing that weakness from leaking into other areas. The amount of fucked up people on this earth means that you have to work with at least some of them, and that means putting up with their stupid ass list of super special requirements, that if they do not fulfill, will make them a shit worker. It’s not even an issue of technical skills.
You have the guys that are often late, because “they have depression”, but will complain that “companies don’t treat employees like adults”. Being on time for work is apparently very difficult. Which doesn’t generally matter in general for dev work, but it ends up affecting other things.
You have the completely socially inept idiots that make half the team hate them and try to avoid working with them, increasing problems and work for other people. Just because they’re socially stupid, have low or no empathy, or are incapable of not being insufferable to others.
You have the people that are so bad at estimating that they keep making up numbers instead of waiting to think for a few minutes and say “ not sure, I need to research and estimate that”.
You have the surprise absentee for dumb as fuck reasons like “my phone died lol sorry”. They never do anything to actually improve, it is just “sorry guys! Btw I will do jackshit about this”.
Or the ones whining about virtually everything, all the time. Wtf why do I have to be on scrum at 12 tomorrow?! Wtf why do I have to record the result of that customer call? Wtf why should I talk with XYZ?
And if you leave them alone, everything burns. They actually need someone to tell them “hey mate you need to improve that, shall we plan something to do so?”. I think managers are useless and unneeded when you have adults working, but it seems like most of the population is composed of children. It’s basically another form of daycare.
And you have to prepare shit around all of these constraints.
Then you have the one guy that reads the requirements, has common sense, and is inoffensive and can work like a normal adult human that needs no baby sitting. A ray of light on this shitshow.
I just want to go back to pure dev.22 -
Every single fucking time I run into problems, the problems are very specific edge cases of common problems.
The search results however, are created by an army of retards, they're a sea of answers to the common problem. They drown out my super specific edge case.
And then someone dares to half-read my stackoverflow question, and immediately mark it as duplicate.
Ugh.6 -
I wish the apple review team shove them white polished apples up their fucking asses
A problem solved over a month ago... Ipv6 works it's tested.
Now you come back with a very specific old iPad on a very specific os and say it doesn't work !?
The topping on this shit (apple) pie? They sent me a screenshot of the issue.
It's a screenshot of the fucking login page. I know what the fucking thing looks like you assholes.
Absolute tossers2 -
Stack overflow is overrated
With that I mean that a lot of people think that stack overflow is the best thing that every programmer has and can't live without it. That if stack overflow is down, nobody is able to write a single line without bugs. That 47.24% of a programmers time is spent searching on stack overflow. Sure, it is helpful for finding answers, and some are very good at explaining stuff, but it's not essential. I made an account when I started coding, because it "sure is the most important thing, right?", but the only thing I have done with it is changing the profile picture, because I simply don't use stack overflow that much. When I search my problems on Google, I mostly find the answer on some specific forum for that library I'm using, or more often, in the official documentation for it, no need for stack overflow. I'm not trying to say that it is not useful at all or that it should be taken down because nobody uses it, but that it is not essential in every programmers life.9 -
DEAR CTOs, PLEASE ASK THE DEVELOPER OF THE SOFTWARE WHICH YOU ARE PLANNING TO BUY IN WHAT LANGUAGE AND WHAT VERSION THEY ARE WRITTEN IN.
Background: I worked a LONG time for a software company which developed a BIG crm software suite for a very niche sector. The softwary company was quite successfull and got many customers, even big companies bought our software. The thing is: The software is written in Ruby 1.8.7 and Rails 2. Even some customer servers are running debian squeeze... Yes, this setup is still in production use in 2022. (Rails 7 is the current version). I really don't get it why no one asked for the specific setup, they just bought it. We always told our boss, that we need time to upgrade. But he told every time, no one pays for an tech upgrade... So there it is, many TBs of customer data are in systems which are totally old, not updated and with possibly security issues.9 -
New developers(5-6 years experience) these days are so pathetic. They dont have any sense of code review. All they want is to put their opinion out without giving any thought.
I had a PR for review today which contains mock specification to match a regular expression and return the corresponding response
The regular expression I put was
104000(02|06|20|48)
Now, this guy comes and puts a comment that we could "simplify" as 104000\d{2}
I replied, the ending digits are not contiguous. The specific pair of digits have to match for these mocks.
Then this guy replied, then we could simplify as 104(0{4}(2|6)l0{3}(20|48)).
I said, I cannot understand how that is simplification. Why do we need such a complex regex to match something very straight forward.
And the guy replied, we should be writing proper regexes, otherwise we could just specify everything explicitly.
I was like WTF man. You try deciphering this next week without taking at least a minute to know which values are matched.
Anyhow, another senior person approved my PR, and I merged it.12 -
Tldr; make sure what you study is relevant to the field and you enjoy it otherwise don't waste your time.
BTW: devrant is awesome it gets me through the day.
So I am almost 3/4ths through a master's in cs and I am contemplating why I went to school in the first place/dropping out.
My program is basically an extension of the bs I got from the same school meaning we learn very general cs topics. There is only one ai class for example.
I had a junior developer position before I even got my bs so now that I am this far along and looking at job openings I'm wondering what why and how my school is able to get away with teaching us this shit.
After all my schooling I learnt more on my own and through Google. I have little to show for my school work other than a degree that says I did a bunch of busy work. And the specific things that I did learn I will never ever remember. Seriously. Who here knows what a MIB and OID are and have actually used them?
I wish I tried harder to get into a school like Berkeley but just looking at their applications is depressing. I always had issues with school and they expect my to have the grades, extra curriculars and other shit. I'll build you a robot or make you a website but I'm not doing that nonsense.
And then there's Google and apple and all these big tech companies expecting me to have written full Enterprise software and know every single algorithm and programming language because everyone uses something different. Sure I wish I had experience in all 50 languages that are popular right now but I don't. And I'm not gonna learn it from school that's for damn sure.
Who here actually went to a good school and can say it helped them in the real world? How many employers actually care about school over actual experience?
Who knows how to burn a school down and get away with it? Or at least make teachers with Phds stop reading off slides all lecture. I know how to fucking read for fucks sake. Not too mention they use shitty software made in 2003 that's no longer supported. And I could go on about the teacher last quarter who graded the midterm on final day while he flirted with the 3 girls in class. And I could go on and on and on but I feel like I need to start being productive so I don't waste away.
Just so done.7 -
iPhones are ridiculously picky when it comes to finding a mate- um charger. And knowing why doesn't really make it any easier to understand why. If anything it baffles me more.
So, let's start with appliances that are not phones. Think Bluetooth headsets, keyboards, earbuds, whatever. Those are simple devices. They see 5V on the VCC line and 0V on ground, and they will charge at whatever current they are meant to. Usually it will not exceed 200mA, and the USB 2.0 spec allows for up to 500mA from any USB outlet. So that's perfectly reasonable to be done without any fuss whatsoever.
Phones on the other hand are smarter.. some might say too smart for their own good. In this case I will only cover Android phones, because while they are smarter than they perhaps should be, they are still reasonable.
So if you connect an Android phone to the same 5V VCC and 0V ground, while leaving the data lines floating, the phone will charge at 500mA. This is exactly to be within USB 2.0 spec, as mentioned earlier. Without the data lines, the phone has no way to tell whether it *can* pull more, without *actually* trying to pull more (potentially frying a charger that's not rated for it). Now in an Android phone you can tell it to pull more, in a fairly straightforward way. You just short the data lines together, and the phone will recognize this as a simple charger that it can pull 1A from. Note that shorting data lines is not a bad thing, we do it all the time. It is just another term for making a connection between 2 points. Android does this right. Also note that shorted data lines cannot be used to send data. They are inherently pulled to the same voltage level, probably 0V but not sure.
And then the iPhones come in, Thinking Different. The iPhones require you to pull the data lines to some very specific voltage levels. And of course it's terribly documented because iSheep just trying to use their Apple original white nugget charger overseas and shit like that. I do not know which voltage levels they are (please let me know!), but it is certainly not a regular short. Now you connect the iPhone to, say, a laptop or something to charge. An Android phone would just charge while keeping data transmission disabled (because they can be left floating or shorted). This is for security reasons mostly, preventing e.g. a malicious computer from messing with it. An iPhone needs to be unlocked to just charge the damn thing. I'm fairly sure that that's because the data lines need to be pulled up, which could in theory enable a malicious computer to still get some information in or out of it. USB data transmission works at at least 200mV difference between the data lines. It could be more than that. So you need to unlock it.
Apple, how about you just short your goddamn data lines too like everyone else? And while you're at it, get rid of this Lightning connector. I get it, micro USB was too hard for your users. I guess they are blind pigs after all. But USB-C solved all of that and more. The only difference I can think of is that the Lightning connector can be a single board with pads on either side on the connector, while in USB-C that could be at the socket end (socket being less common to be replaced). And at the end of the day, that really doesn't matter with all the other things that will break first.
Think Different. Think Retarded. Such tiny batteries and you can't even fucking charge them properly.6 -
Did a bunch more cowboy coding today as I call it (coding in vi on production). Gather 'round kiddies, uncle Logan's got a story fer ya…
First things first, disclaimer: I'm no sysadmin. I respect sysadmins and the work they do, but I'm the first to admit my strengths definitely lie more in writing programs rather than running servers.
Anyhow, I recently inherited someone else's codebase (the story of my profession career, but I digress) and let me tell you this thing has amateur hour written all over it. It's written in PHP and JavaScript by a self-taught programmer who apparently discovered procedural programming and decided there was nothing left to learn and stopped there (no disrespect to self-taught programmers).
I could rant for days about the various problems this codebase has, but today I have a very specific story to tell. A story about errors and logs.
And it all started when I noticed the disk space on our server was gradually decreasing.
So today I logged onto our API server (Ubuntu running Apache/PHP) and did a df -h to check the disk space, and was surprised to see that it had noticeably decreased since the last time I'd checked when everything was running smoothly. But seeing as this server does not store any persistent customer data (we have a separate db server) and purely hosts the stateless API, it should NOT be consuming disk space over time at all.
The only thing I could think of was the logs, but the logs were very quiet, just the odd benign message that was fully expected. Just to be sure I did an ls -Sh to check the size of the logs, and while some of them were a little big, nothing over a few megs. Nothing to account for gigabytes of disk space gradually disappearing.
What could it be? I wondered.
cd ../..
du . | sort --sort=numeric
What's this? 2671132 K in some log folder buried in the api source code? I cd into it and it turns out there are separate PHP log files in there, split up by customer, so that each customer of ours (we have 120) has their own respective error log! (Why??)
Armed with this newfound piece of (still rather unbelievable) evidence I perform a mad scramble to search the codebase for where this extra logging is happening and sure enough I find a custom PHP error handler that is capturing (most) errors and redirecting them to these individualized log files.
Conveniently enough, not ALL errors were being absorbed though, so I still knew the main error_log was working (and any time I explicitly error_logged it would go there, so I was none the wiser that this other error-catching was even happening).
Needless to say I removed the code as quickly as I found it, tail -f'd the error_log and to my dismay it was being absolutely flooded with syntax errors, runtime PHP exceptions, warnings galore, and all sorts of other things.
My jaw almost hit the floor. I've been with this company for 6 months and had no idea these errors were even happening!
The sad thing was how easy to fix all the errors ended up being. Most of them were "undefined index" errors that could have been completely avoided with a simple isset() check, but instead ended up throwing an exception, nullifying any code that came after it.
Anyway kids, the moral of the story is don't split up your log files. It makes absolutely no sense and can end up obscuring easily fixable bugs for half a year or more!
Happy coding.6 -
I fucking hate chained methods. Ok, not all of them. Query things like array.where.first... that stuff is ok.
Specially if it's part of the std lib of a lang, which would be probably written by a very competent coder and under scrutiny.
But if you're not that person, chances are you'll produce VASTLY inferior code.
I'm talking about things like:
expect(n).to.be(x).and.not(y)
And the reason I don't like it is because it's all fine and dandy at first.
But once you get to the corner cases, jesus christ, prepare to read some docpages.
You end up reading their entire fucking docs (which are suboptimal sometimes) trying to figure if this fucking dsl can do what you need.
Then you give up and ask in a github issue. And the dev first condescends you and then tells you that the beautiful eden of code he created doesn't let you do what you want.
The corner cases usually involve nesting or some very specific condition, albeit reasonable.
This kind of design is usually present in testing or validation js libraries. And I hate all of those for it.
If you want a modern js testing lib that doesn't suck ass, check avajs. It's as simple as testing should be.
No magic globals, no chaining, zero config. Fuck globals forced by libs.
But my favorite thing about it that is I can put a breakpoint wherever the fuck I want and the debugger stops right fucking there.
Code is basically lines of statements, that's it, and by overusing chaining, by encouraging the grouping of dozens of statements into one, you are preventing me from controlling these statements on MY code.
As an end dev, I only expect complexity increases to come from the problems themselves rather than from needlessly "beautified" apis.
When people create their own shitty dsl, an image comes to my mind of an incoherent rambling man that likes poetry a lot and creates his own martial art, which looks pretty but will get your ass kicked against the most basic styles of fighting.
I fucking hate esoteric code.
Even if I had to execute a list of functions, I'd rather send them in an array instead of being able to chain them because:
a) tree shaking would spare from all the functions i didn't import
b) that's what fucking arrays are for, to contain several things.
This bad style of coding is a result of how low the barrier to code in higher level langs are.
As a language or library gets easier to use you might think that's a positive thing. But at the same time it breeds laziness.
Js has such a low learning curve that it attacts the wrong kind of devs, the lazy, the uninspired, the medium.com reader, the "i just care about my paycheck" ones.
Someone might think that by bashing bad js devs I'm trying to elevate myself.
That'd be extremely stupid. That's like beating a retarded blind man in a game and then saying "look, I'm way better than this retarded blind man".
I'm not on a risky point of view, just take a stroll down npmjs.com. That place is a landfill. Not really npm's fault, in fact their search algorithm is good.
It's just the community.
Every lang has a ratio of competence. Of competent to incompetent devs.
You have the lang devs and most intelligent lib devs at the top. At the bottom you have the bottom.
Well js has a horrible ratio. I wouldn't be shocked to find out that most js devs still consider using import or await the future.
You could say that js improved a lot, that it was way worse beforr. But I hate chaining now, and i hated back then!
On top of this, you have these blog web companies, sucking the "js tutorial" business tit dry, pumping out the most obscenely unprofessional and bar lowering tutorials you can imagine, further capping the average intelligence of most js devs.
And abusing SEO while they're at it, littering the entire web with copy paste content.2 -
I spent over a decade of my life working with Ada. I've spent almost the same amount of time working with C# and VisualBasic. And I've spent almost six years now with F#. I consider all of these great languages for various reasons, each with their respective problems. As these are mostly mature languages some of the problems were only knowable in hindsight. But Ada was always sort of my baby. I don't really mind extra typing, as at least what I do, reading happens much more than writing, and tab completion has most things only being 3-4 key presses irl. But I'm no zealot, and have been fully aware of deficiencies in the language, just like any language would have. I've had similar feelings of all languages I've worked with, and the .NET/C#/VB/F# guys are excellent with taking suggestions and feedback.
This is not the case with Ada, and this will be my story, since I've no longer decided anonymity is necessary.
First few years learning the language I did what anyone does: you write shit that already exists just to learn. Kept refining it over time, sometimes needing to do entire rewrites. Eventually a few of these wound up being good. Not novel, just good stuff that already existed. Outperforming the leading Ada company in benchmarks kind of good. At the time I was really gung-ho about the language. Would have loved to make Ada development a career. Eventually build up enough of this, as well as a working, but very bad performing compiler, and decide to try to apply for a job at this company. I wasn't worried about the quality of the compiler, as anyone who's seriously worked with Ada knows, the language is remarkably complex with some bizarre rules in dark corners, so a compiler which passes the standards test indicates a very intimate knowledge of the language few can attest to.
I get told they didn't think I would be a good fit for the job, and that they didn't think I should be doing development.
A few months of rapid cycling between hatred and self loathing passes, and then a suicide attempt. I've got past problems which contributed more so than the actual job denial.
So I get better and start working even harder on my shit. Get the performance of my stuff up even better. Don't bother even trying to fix up the compiler, and start researching about text parsing. Do tons of small programs to test things, and wind up learning a lot. I'm starting to notice a lot of languages really surpassing Ada in _quality of life_, with things package managers and repositories for those, as well as social media presence and exhaustive tutorials from the community.
At the time I didn't really get programming language specific package managers (I do now), but I still brought this up to the community. Don't do that. They don't like new ideas. Odd for a language which at the time was so innovative. But social media presence did eventually happen with a Twitter account that is most definitely run by a specific Ada company masquerading as a general Ada advocate. It did occasionally draw interest to neat things from the community, so that's cool.
Since I've been using both VisualStudio and an IDE this Ada company provides, I saw a very jarring quality difference over the years. I'm not gonna say VS is perfect, it's not. But this piece of shit made VS look like a polished streamlined bug free race car designed by expert UX people. It. Was. Bad. Very little features, with little added over the years. Fast forwarding several years, I can find about ten bugs in five minutes each update, and I can't find bugs in the video games I play, so I'm no bug finder. It's just that bad. This from a company providing software for "highly reliable systems"...
So I decide to take a crack at writing an editor extension for VS Code, which I had never even used. It actually went well, and as of this writing it has over 24k downloads, and I've received some great comments from some people over on Twitter about how detailed the highlighting is. Plenty of bespoke advertising the entire time in development, of course.
Never a single word from the community about me.
Around this time I had also started a YouTube channel to provide educational content about the language, since there's very little, except large textbooks which aren't right for everyone. Now keep in mind I had written a compiler which at least was passing the language standards test, so I definitely know the language very well. This is a standard the programmers at these companies will admit very few people understand. YouTube channel met with hate from the community, and overwhelming thanks from newcomers. Never a shout out from the "community" Twitter account. The hate went as far as things like how nothing I say should be listened to because I'm a degenerate Irishman, to things like how the world would have been a better place if I was successful in killing myself (I don't talk much about my mental illness, but it shows up).
I'm strictly a .NET developer now. All code ported.5 -
At work, an idiot who has never worked on machine learning before and understands nothing about it: "You know what, machine learning isn't actually hard. It is just basic statistics and then you download the model online and that's it! There's nothing else you are doing!"
STFU, you moron! Do you think just any model can work for your use case? Do you fucking think it is easy to come up with new architecture for a very specific use case and test it accurately? Do you think it's easy to effectively train a model and do hyper-parameter optimization?Do you fucking think it is easy to retrieve the right data for your use case? Do you think it's easy to keep up with research papers on arXiv being released daily? Do you think this is fucking javascript and there's a framework for everything? Stfu!
Honestly, i hate ignorant morons who generalize stuff they don't clearly understand.5 -
4 hours! four fucking hours! f.o.u.r. h.o.u.r.s.!
It's the amount in the time domain this bug has cost me to fix. The cost in the sanity domain is immeasurable...
I swear, the god damn ass births of devs who coded this abomination should be slowly mutilated and then raped by their own severed limbs.
It took me 4 hours to figure out that their 12 year old binary CLI tool they used to generate PDFs from PHP could not handle neither HTML5 nor some linebreaks at specific places. Some part of it is due to them using REGEX to find and replace HTML tag.
Yes, I am indeed very pissed. And I need a 🥃 or 3
What we learned:
- Don't use REGEX to "parse" HTML
- Don't call random compiled CLI tools from PHP if there are PHP packages to do the same shit9 -
I've learned A TON creating my own very basic PHP framework. I'm using it for basic personal small projects (login system, simple functionality) and I'm loving it. The customization makes specific repetitive tasks so much easier.
Don't get it twisted, I use Laravel and Symfony much more (and Javascript) but I would definitely recommend anyone to do it just for the learning experience.9 -
* A job application followup email I received:
Hi [programmerName],
Thank you for your interest in joining [companyName].
While we appreciate your application, we decided to move forward with other candidates whose skills and experience are a closer match to our requirements for this specific role.
Feel free to check back, as we are always adding new positions.
Best of luck with your career search!
-The [companyName] Team
* My (probably trashed) reply:
Hello
I personally ignore this precompiled stuff you HR people send.
I feel this answer will be probably trashed somewhere but I feel the need to write this.
You know absolutely nothing about my skills because you didn’t even talk with me.
Maybe I am not the best person in writing a resume or an introduction letter, the key skill appreciated in companies doing head hunting instead of building a solid corporate culture and cultivating talent. Or at least HR people in such companies.
Please consider that, maybe you didn’t like my resume or I didn't write a list of words matching your check list, but at least I honestly wrote my experience instead of trying to hack my way to a job interview writing a fake one that triggers usual HR patterns.
Consider that I do a job for a living and I don't live or have the time to make the perfect resume, I don’t even apply for all companies I see, I only apply for the ones I believe I can work well because I like them. I am not a professional job searcher, jumping from a company to another.
You keep posting this very same add since October 2019 and probably even earlier.
This sounds to me like:
- or your selection process does not work well and you end up hiring the wrong people
- or maybe your work place is not that good as you describe it, so that you have zero retainment despite your high salary.
But I cannot be sure because, guess what, I could not check personally.
If you want to talk about my skills and compare me to other people please test me otherwise don’t write (copy/paste) this offensive trash.
Best of luck with your career as a HR person in a tech company!
-A person tired of HR managers that do not give a f**k about the word “human” in their job description.13 -
My manager thinks I am Superman! and he is so confident that can do any shit he wants me to do.
Yesterday he asked me to merge an ancient code hotfix (literally ancient) with latest branch of changes.
1. Hotfix is really old, most of the things are hardcoded, very specific to a stone age client.
2. Code documentation does not exist.
3. Developers of that code are probably dead.
4. Many Libraries which code uses are deprecated.
5. It's a legacy code, so no one has fucking idea what a particular clumsy block of code do, or what will happen if you remove it.
'if it runs don't touch it' policy by management.
Despite all this shit I successfully merged the the hotfix, refactored outdated code so as to run the application.
Showed this to my manager in full swag!
He was surprised at first, and asked me to show the code changes.
'Code review' was done by comparing files 😅
Manager: Dude, you have changed these lines, why? Explain.😧
Me: those lines won't work with new build, with new libs.☺️
Manager: then why can't you do old build with new changes?🙄
Me: umm.. wait... what???🤔
Manager: the code was working previously, it must be working even today without these changes.😡
Me: it was not working hence I made changes and now it's working fine see! ☺️
Manager: you have removed this, this and this!!! 😡
Me: but I also added that, that and that!😔
Manager: "don't touch it' if it works!"😡
Me: ... Idk what to say!
(In the back of my mind: "Don't touch it even it doesn't works!")😌8 -
In my view, there is exactly 1, very specific occasion, when hybrid / app wrappers / webviews etc. are the right approach for a mobile app.
1. Never8 -
Let's talk about input forms.
Please don't do that!
Setting time with the arrow buttons in the UI.
Each time change causes the page to re-fetch all the records. This is fetching, parsing, rendering tens of thousands of entries on every single click. And I want to set a very specific time, so there's gonna be a lot of gigs of traffic wasted for /dev/null.
Do I hear you say "just type the date manually you dumbass!"? I would indeed be a dumbass if I didn't try that. You know what? Typing the date in manually does nothing. Apparently, the handler is not triggered if I type it in manually/remove the focus/hit enter/try to jump on 1 leg/draw a blue triangle in my notebook/pray3 -
Throughout the years I have completed many projects successfully. Some projects really stood out and were awesome to do. This is not about these projects. It is however about one of my very first projects for my first real software development client many years ago, somewhere around the year 2000.
I was working for some years at TNO, a well known Dutch organization, and the lady at the reception asked me if I could help her husband out because he was strugling to get some web app developed. So I said sure, I can talk to him and see what I can do.
So I went to their house and talked to her husband. They were living in a huge villa and turns out her husband owns an international flower export business for which he needed some web app for. So we had a nice talk and he showed me some software designs he got from a couple of different big companies. He asked me my opinion about these designs. I remember answering something like that it looks very fancy but for me it didn't make much sense.
He replied that it didn't make sense for him as well and was disappointed that these companies didn't seem to understand him properly. It took about 3 months to get these designs which he thought were useless. So, I asked him to explain me what he was looking for.
Actually a pretty simple thing. He was using paper forms to have his clients order the flowers they need. Think of them as Excelsheets with 3 columns with a list of flower names and besides each column a column for the amount required. He would go to the flower auction at 4 in the morning to collect all these filled in forms, manually aggregate them on new forms, and then go to buy the flowers ordered.
This man had many clients and truck drivers. Some of them only worked or ordered at specific days. It was also important that one could easily indicate which flowers were really important to get.
Then comes this 20 year old guy (me) who delivered a working prototype in 24 hours. You can imagine how happy this man was. He said: if you built this for me I will pay you 10K. In the meanwhile for fun you can borrow one of my sports cars if you want.
I took the deal, drove a big fat sports car for about 1.5 months, I delivered and the man payed me as promised.
The web app I developed is today still being used every day. I don't think there is any other project out there, at least not that I'm aware of, that I have worked on and is still being used today in its form as it was originally developed.4 -
Is obsidian a fucking joke?
Seriously, is it a joke? Why would you ever care so much about indexing literally everything, if the entire thing crashes and/or takes >5min to LITERALLY just open the fucking directory and/or (so help you) if that directory is full of projects/repos or whatever the fuck and the total size of said directory is like >5GB.
WHY THE FUCK WOULD YOU INDEX EVERYTHING? -- "Ohh obsidian's not supposed to be used a fully fledged IDE, ohh obsidian should just handle MD files and normal sized projects, ohh the plugins and ease-of-use" -- Fuck.
There's no fucking real reason to index everything, BY DEFAULT. You open a directory with Obsidian? Doesn't matter, it's 1 byte, it's 100GB, you get indexed. Deal with it. It will use LITERALLY every resource your computer has. I'm surprised it doesn't go galaxy brain and ping if any other computers/devices are on the network and then attempt to connect and use their hardware (obsidian can be like a node!).
How shit can you be at understanding basic data structures and algorithms, where you just revert to based google-chrome brain and let the FUCKING TEXT EDITOR -- OBSIDIAN IS A FUCKING TEXT EDITOR HOLY SHIT -- hog all conceivable memory.
I swear to <some-deity> if anyone fucking says "Ohhhhhhhh actually, it's not a text editor, it has plugins and features and shit, it does all dis cool stff", OR, "Ohhhhh actually, obsidian indexes things for a very specific/rationale/apt/pragmatic/academic reason" OR "ohhhh, I have 100 iphones, 1000 ipads and a trillion desktop computers that each have 256GB of memory, why you hating on obsidian?" then go kick rocks. The fucking lot of you. Are you fucking kidding me.8 -
So I am going to talk about interviews from a different perspective, the being on the question side of the technical interview.
We have had four interviews for a single Senior Dev position. I threw some very hard questions at the people and some very easy ones. The thing that amazed me was that people actually went for an interview when they where woefully under qualified.
The latest in this list was someone who didn't understand how inheritance works for object orientated programming, and when I asked him something very specific he needed to look at his notes...
The person that I felt did the best on the interview was the person that didn't have every answer but said clearly that he didn't know and talked about his ability and desire to learn. The people that failed the worst were the ones that were certain, arrogant, and wrong.
Technical interviews are fun 😏4 -
So I'm sitting on the toilet in my work, wondering how much time is left till I beat the specific impulse of a Raptor engine, and all of sudden the emergency allarms go off.
Weighting my options now: die in a fire or some kind of explosion, or go downstairs without ending *the thing*.
Dying Lannister-way or going out of the building and meeting my colleagues, with a very weird smile on my face.
...
I think I just discovered new levels of fast when it comes to using toilet paper.3 -
- 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 -
So, I wanted to find a new way to arrange my language's alphabet. Atm, I'm loosely using latin's system even though my system is weird;
A B K D E F G H I IE SH L M N O P R S T U V
So, I remember that another language (I think Japanese) uses a poem with every letter to figure the order of their letters, so I decided to do the same.
Only problem is: My current word list is very limited, some of the letters I needed only existed in specific words (aka, the word for "Dark") so I ended up making a very depressing poem.
Enjoy! Or not.. I'm not going to tell you what to do.
English translation below. I also will post images of it written in my language's script, as well as one line in my language's cursive script (I'm not doing the whole thing in cursive because fuck that)
Senarseha:
Seh ninfuat seh nem fieta; Seka sato nem fiekm juna jenes sermin.
Seh ninfuat sif nemsin netua niet; Seka sem sedma nemat sargo no
nrokniet sam fiekmin sehim sepra.
Sehim sinta nem nara niv nakliet.
Seh nem sine fieta.
English:
I say I am well; But all is dark before day begins.
I say it isn't too much; But this place is a farm of
preasure that blackens my soul.
My mind is ever in agony.
I am not well.6 -
So there was that paranoid schizophrenic person, a blonde girl with a buzz cut, and somehow she was a friend of mine. She used a Linux distro called “!!!!!!!!____!!!!!”, and convinced me it was the best distro out there. But the way she used it was… very specific.
She called me. She told me the new distro was out, this time it was called “!!!!!!!!!!!!!!!!!”, and _this_ was the best one. It finally allowed her to observe the area around her neighbourhood right from her PC, through some app, and make pits in the ground. It was done with a touchscreen of a Nintendo DSi connected to her PC with something that looked like an IDE cable. You touch the area of the screen, and the pit will appear outside IRL. This was needed to trap swine-looking creatures in those pits, as they infested the land and were attacking people in packs, turning them into dirty, greyish, half-transparent lumps of gel.
I went to see her, and somehow I knew exactly how it's going to end, as if I decided to replay a game level. She lived in a rotten, mouldy, dark, half-abandoned condo building. She was also a terrible hoarder. I approach the old wooden door of her flat. It was painted over 1000 times and was barely closing. She knew I would come. She rushed outside, looked at me with her moon-sized eyes, grabbed my arm and told me:
“We have to run.”
I felt a sudden crippling rush of anxiety. I woke up. My heart was absolutely racing. My sight became darker and darker. The chest pain was consuming me, and I could barely move. I almost vomited.
That was quite a night.8 -
!rant
Got back into android development recently and while everything was pretty flawless ( I managed to get the basic concepts implemented in a day) something wasn't right.
For some reason I was not happy with the code i wrote, although I took examples from google and tried to adapt their code style. It looked aweful. I hated my code.
But the code itself wasn't the core of the problem. I could easily add new features and replace components with new implementations without breaking the app. All those "good code quality" identifiers were there.
Turn out the problem is Java. Or to be more specific: Java 1.6
Every listener which only calls a single function once a worker has finished needs 6 lines of code. If you implement the inferface in the class it gets messy once there are multiple workers and you have a generic interface. And there are no lambdas!
So I made the switch to Kotlin.
The app was converted to kotlin in 30 Minutes. Android studio can convert the classes automatically and very little manual work is needed afterwards.
After that I spent 2 hours replacing the old java concepts with Kotlin concepts: lamdas, non-nullable types, getters and setters in kotlin style (which in this case is c# style) and some other great thing.
The code is good looking now. I like it. I like kotlin as it has a lot of cool things.
Its super easy to learn. It took me about 2 hours to get into it. It combines concepts from java, javascript, c# and maybe a few other languages to form a modern jvm 1.6 compatible typesafe language.
Android dev is fun again!2 -
Ohh man i fucked up bad. 5 days as intern, and i fuck up really bad with my ego and ignorance.
I love my this company. A great environment, lots of people to learn from , i am given reasonable tasks and i feel happy to complete them. But what happened today was weird and fucked up.
I have never worked at a place with seniors designers tech leads and more people with positions. I have also worked with a lot of competitive people who are always in a race to be first.
And how do we come first? Have a lot of knowledge, hear the smallest of detail and sprint towards goal (because the combination your knowledge, assumptions and speed is enough to make you reach to the top). You don't ask for specific details, because they are obvious. And that's me in short.
Today i fucked up.
Mistake #1 ) first i was given a small task by my senior. It was a 20 mins task max if i had done it the normal noobie way . But i am a pro in mind , i have to do it with all the architecture , even if i don't understand why. So i asked for 50 mins. They gave it and did not had a problem with my time, but with the way i wrote my code.
He was like "who told you to make it like this ? Why did you made it like this?" And was visibly irritated. And i was like super chill saying "i don't know the why, but i know its correct way of using it" , pissing him even more. In my eyes he's just a super friendly sr, more like a bro and wouldn't mind some cheeky answers. And he didnt show any
consequences for that time.
Mistake #2 this is super fucked up. Our office is going under some renovation & interns were asked to sit in the co-working spaces (outside of the office). It was already very disturbing and i had to go to office every few minutes.
So after lunch this happens : We are working on a new module that already has a tonne of screens and logics. I have made a small part which is from the middle and now we can go both in the forward or in the backward direction.(Also, its quite a new module whose idea was recently discussed and decided. And weirdly i am also being treated like a core member as the ceo once himself asked what would he my flow for doing things in this. i am in direct contact and under direction of backend , designers , ceo and My senior and many ppl are giving me tasks ) And... Aagh fuck it. .. its a long story and i don't feel like repeating it but
inshort :
got a task,
didn't understood it completely and thought its my task to figure it out, took a long time figuring it my self ,
techlead/designer somehow changed my and my sr. direction of flow even tho we were taking a different approach
I sit in a noisy and irritating place
Techlead/designer comes during the time when i am figuring out the solution(already overtime the one in point #2) nags for result.
I get in an argument with him, justifying for my time and arguing that it's difficult to think technical logics for that design
( truth be told, it WAS a difficult logic which he thought was too easy. It consisted of 3 variables and 8 states we were doing different works for 4 of them and rejecting 2 and ... I don't know, i had got that wrong . But that shouldn't had been my problem to solve. I should have gone to my senior and didn't get into argument with tech lead ). It think i might have offended him too.
After he left, i am so angry on him that after sometime my senior comes and i misbehave with him. He just asks to meet me before i go, and i do so. During the meeting we discuss this whole fuck up and how many times i showed him my ego and indiscipline. And then i realise what a fuckup i did due to my ego and lack of asking, blindly following my own over confidence and blindly following or arguing with others.
Fuck fuck fuck6 -
I am back with some more emotional shit.
So tomorrow is my last working day at my second employer where essentially I'll just walk into the 10 seater serviced office to drop my laptop in a cupboard because no one else is here.
So today, an hour ago, they had a virtual farewell for me and everyone spoke of me highly with specific examples.
Well that's not what this post is about, but the emphasis is that I am still in dual mind of whether I made the right decision to quit my second employer so soon (in just 10 months)?
If I had stayed for two months more:
1. I'd gotten a hike this week
2. More RSUs in that hike along with cash
3. Joining RSUs would have vested for the cliff period of 1 year
4. Tenure would be at least a year
5. Would have found a better job with higher pay (on the new hiked salary).
I surprisingly got the grip of the product and that's when I decided to quit.
The reason I quit is I wanted to optimise for WLB and timezone with better team culture.
While the next job is surely a company I wanted for a long time and that too in B2C space, I really lost my affection for that role and that's where it came to me upfront and I rejected them initially before picking up the offer again.
My second employer is a very global and one of the largest brands. Really wanted to stick around and never got to enjoy the benefits which others did.
Only time can tell, because when I chased something I never got it, when I stopped, it came to me.
And what I am chasing now is something I am unable to achieve.
Why is life so fucked. Seems like I am about to lose one of my biggest and only life and career dream.
Maybe I fucked up this decision. Maybe not. Only time can tell.12 -
Apparently the creation of Windows ME is the result of the Ballmer Peak, a very specific bood alcohol amount in their developers body.
https://xkcd.com/323/4 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4 -
Buffer usage for simple file operation in python.
What the code "should" do, was using I think open or write a stream with a specific buffer size.
Buffer size should be specific, as it was a stream of a multiple gigabyte file over a direct interlink network connection.
Which should have speed things up tremendously, due to fewer syscalls and the machine having beefy resources for a large buffer.
So far the theory.
In practical, the devs made one very very very very very very very very stupid error.
They used dicts for configurations... With extremely bad naming.
configuration = {}
buffer_size = configuration.get("buffering", int(DEFAULT_BUFFERING))
You might immediately guess what has happened here.
DEFAULT_BUFFERING was set to true, evaluating to 1.
Yeah. Writing in 1 byte size chunks results in enormous speed deficiency, as the system is basically bombing itself with syscalls per nanoseconds.
Kinda obvious when you look at it in the raw pure form.
But I guess you can imagine how configuration actually looked....
Wild. Pretty wild. It was the main dict, hard coded, I think 200 entries plus and of course it looked like my toilet after having an spicy food evening and eating too much....
What's even worse is that none made the connection to the buffer size.
This simple and trivial thing entertained us for 2-3 weeks because *drumrolls please* none of the devs tested with large files.
So as usual there was the deployment and then "the sudden miraculous it works totally slow, must be admin / it fault" game.
At some time it landed then on my desk as pretty much everyone who had to deal with it was confused and angry, for understandable reasons (blame game).
It took me and the admin / devs then a few days to track it down, as we really started at the entirely wrong end of the problem, the network...
So much joy for such a stupid thing.18 -
TL;DR Pluralsight should be ashamed for taking 299 USD a year and writing some very low-quality quizzes.
I've always heard that Pluralsight is a great platform having some high quality courses, so I chose it as a benefit, as our company was giving us some budget for learning purposes. I've paid (or rather the company did it in the end) 299 USD for this year, which, I guess is not much for US standards, but it is a lot for Eastern European standards.
I didn't actually get to the point of watching any of the courses, but I started to use a feature called "Stack up", which is a long series of questions in a specific theme, like Java, Kotlin, C++, etc., accessible once a day. I must say, I'm amazed by the fact, that people pay quite a great amount of money and they get something so poorly made with a lot of errors and stupid questions.
Take the question from the included image for example. Not only that the 2 possible answers are repeated (and thus I failed to select the correct one from 2 equal answers), but the supposedly correct answer is also missing some type specifications. No Java compiler will compile it this way as far as I know. There would be at least 3 ways to fix it.
Then there is today's gem (should be included as first comment) as well, where the answer is wrong in both Chrome 96, Firefox 95 and Node v10. Heck, THIS IS one of the reasons why you should never use `var` in your JavaScript code, but always `let` and `const`!
So the courses on Pluralsight might be good, but I would be ashamed, if I were to release something like this. People might actually try to solidify their knowledge by solving these quizzes but instead of learning something useful, they will be left with some bullshit. I just don't get how could they release a feature with so much incorrect information and I am kind of disappointed, even if I didn't try the courses yet.9 -
It began when I was tasked with creating a better and more engaging experience for our new Facebook page. This was in Facebook's early days, so there were not really any "best practices". We were making it up as we went along. I decided one way would be to game-ify things, since gaming, at the time, was a Big Deal on Facebook and people were starting to use it to build customer funnels.
Grasping for low-hanging fruit, I decided a Tetris variant around our topic would be fun. I had to hire a dev because at the time I was a static HTML web developer just getting into social media management. I knew nothing about game development or how to use Facebook's API for such things.
Long story short, we got about $10,000 (FB app devs came at a premium then) into the project when I came across a very recent article about the history of Tetris games. It said that even though Tetris had once been considered for all intents to be public domain due to it being created by a Russian coder during the Cold War, it had just been acquired by an IP protection entity that was charging royalties for any variant of Tetris created from a specific date onward and paying the original developer. So, even though I thought I had been thorough in my initial permissions checking, it turned out we were gonna be in deep doo-doo with licensing fees and restrictions if we released this game to the public.
I had to call my boss and admit my error. She was FURIOUS and really gave me an ass-chewing over it. I then had to call the marketing person whose budget I'd been slaving away at wasting. She was a bit more forgiving (her budget was in the millions). Then I had to call the corporate legal department and explain what was going on. They told me to immediately pay any outstanding hours, then fire the dev but not before getting him to send me all code and assets, deleting his copy, and then, upon my receipt of those assets, deleting MY copy so that nothing of it ever existed. And I was supposed to say _nothing_ to the dev about why he was being let go, so that there would be no "trail" leading back to this fiasco. (The dev hounded me for weeks asking what he'd done wrong. It killed me that I was bound and gagged by corporate legal and couldn't tell him.)
I was in so much trouble. I was literally in tears over it. I'd never wasted that much money in my life. That incident pretty much sealed my fate as far as any trust my bosses ever put in me again (not much at all). I was a bit of a pariah in a lot of ways for the next 5 years whereas I had come onto the team as a young social media rockstar at first.
After that, and a couple of other bad scenarios that were less my fault and more due to a completely dysfunctional management and reporting structure, they eventually "transferred" me to another team. Which was really just a way of getting rid of me by sending me to a department that was already starting to outsource overseas and lay people off. It was less messy that way. I was in the first set of layoffs.
Since then, I've had a BIG fear of EVER joining a large corporation EVER again. I prefer to work for small businesses now, even if I get paid less. Much less stressful from an office politics and impact of mistakes standpoint.3 -
There are a lot... I am going to pick the interview dialogue (incl. test) with the government.
Following situation:
-5 recruiters
-3 candidates (including me) who have all passed an online test that did last for 3 hours
The online test was for the government to see how every candidate is good at math, English, situation adaptation, historical questions, a little bit of techy questions like "What does fps stand for?" and basic questions like that.
Even tho I did apply for a job as a software developer, there was not a single fucking question about programming. I shit you not. Anyways...
After everyone did introduce themselves. I was given the following question by one of the recruiters:"How do you think will the regular work look like to you, if you were to schedule it? We will be starting with you, <myName>"
Me:"Since this is hopefully going to be my first job in software development, I can only assume it for now. Based on my knowledge about this specific topic that I have made by reading other software developers' work experiences in form of textual content, I guess that I am going to do this [...] and that [...]. Oh and after this comes the planning phase (I had mentioned the sprints and agile "frameworks") and meetings of how the projects are doing so far.
After this comes the phase of sitting down and getting to work on the project I am assigned to.
At the end comes the "see you tomorrow, xyz" phase and everyone leaves."
Somebody else from the 5 recruiters:"I am sorry to interrupt you right here, but we are not offering you a dev job. It rather is a mixture of dev and sysadmin. You will be working most of the time fixing someone's problem with their PC and not sitting in a dark and empty corner of a warm room."
This was such a disrespect that I could not give an answer to. I was deeply shocked. Developers need more respect. Most of the fucking things you use, are created by developers, you asshole.
"We will be very happy, if you can call us by tomorrow to let us now if you are still interested."
Me does not even bother anymore and blacklists that government as a "trust me. You do not want to work there" type of job offering place.
Since I did not sign any NDA. It is the government of Germany.
PS: I did apply for a *dev* job. But somehow they did decide to create a new job and assign me to it. That is not professional.5 -
I don't know why I am a programmer. I went into engineering because I wanted to make video games. I did controls engineering to make physical systems go vroom. Now I mainly write software to make specialized physical systems go vroom. When I was a kid this was not what I would have wanted to do with my life. My 10 year old version of me is standing over me looking down saying "Pathetic". I feel like I need to do something about this before I die.
I want to make a game system for RPGs that is similar to an authoring tool to allow me to make games with some very specific features. Think creation kit for arbitrary RPG games. I am thinking I could make the authoring tool a product as well. If people want to make their own games. But I also want to make moddable RPG games using the authoring tool. I want to give people the ability to mod the game. So I am struggling with how to allow modding and sell an authoring tool. License to distribute unique games? I dunno, maybe I will just keep it as a modding tool for the games I make. I feel like good quality games are moddable. I hardly want to play anything that isn't.7 -
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 -
I’m developing a fairly sophisticated desktop app in Python with PyQt5 as the widget set. Because my partner insists that all the kids these days love Python.
Piss on Python. And that goes double for PyQt5.
I’m on the absolute hardest section of the app. It’s a fairly complex import of data from PDF reports. There are so many different parts that I decided to go with a wizard.
So, I built a QWizard in Qt Designer. It generates a C++ .ui file, but you just truck it over to the command line and run this pyuic5 command, and it converts to a handy dandy Python class. Woo. You can subclass it and consume it from your Python script.
Sounded SO MUCH EASIER than writing the wizard from scratch. But OH NO. I need to do custom validation on my custom text control at every stage to control when the Next and Finish buttons are enabled, which means I gotta overwrite some damn event.
But I can’t. Because I can’t subclass the individual pages. Because they’re part of the same damn file and the wizard offers no access to them.
I’m almost certain that I’m going to have to completely redesign the wizard so that it’s pages are in separate files, which means I have to recode the bitch as well.
The cherry on top is that there’s zero documentation for this specific thing. None. No QWizard documentation exists for PyQt5 (if there is, they’re doing a damn good job of hiding it), so I have to read the documentation for PyQt4. Not the same animal. Close, but different. Even with the differences aside, this documentation is minimal and useless. “We’re going to tell you in very general terms what you should do, but we’ll give you zero idea how to do it. And we know the very common code method you’ll want to try first won’t work.”
And getting at this stuff when you do it in Qt Designer is WAY different. And all that documentation is in C++. Because apparently you HAVE to speak C++ if you want any real info about PyQt. Because that’s perfectly reasonable, right?
So, now I’ve lowered myself and posted a question on Stack. Because, hey, once you get past the power-tripping, mouth-breathing, basement-dwelling, neck-bearded high school punching bags picking apart your question rather than, I dunno..., BEING HELPFUL, sometimes you can get good info there. Sometimes. They seriously saved my ass at least one time.
But yeah. Fuck Python. Fuck everything Qt.17 -
Working as a part time student on an app and until now I thought I was the king of software development.
Well, fuck me and my high horse.
Today the stuff we send from the client to the server didn't arrive, so I asked the backend guy if he could take a look at the packages arriving. He did and told me the data was messed up.
I did only design stuff the last week or so, so I was very confused. After reverting back to one old commit after the other it struck me.
I still don't know how such a dumb mistake could have happened to me, the king of Android apps, but apparently I replaced all occurrences of a specific keyword in just the strings and comments of the whole project. Key became KeyList, so instead of <Keys> my XML contained <KeyList> which made no goddamn sense whatsoever.
Did I mention that we have an important deadline tomorrow? Yeah...
So now I leaned my lesson. Never trust XML.
JK I'm dumb. That's the lesson here. -
Manager: Have you ever developed anything on Mac?
Me: Nope never even used one more than 5 minutes.
Manager: Mr Important Guy has a Mac and he needs to use one of our tools (which is very Windows specific).
Me: Tell him to use Windows like everyone else. We aren't going to support a single Mac user when the other 500 machines are Windows.
Manager: But he's important. Can we get him something with limited functionality?
Me: Fine but it will be *very* limited and buggy.
On a side note I hate Macs (only because I've never used them). I have to google how to do the most trivial of tasks.10 -
Sorry I haven't been as active lately, however this is one of the better prompts, so I feel I should have it in my track record. Beware, it's a long one...
Let's trace the roots: My uncle was building desktops and he told my dad he'd build him one if my dad paid him for the components. These days I know builds aren't rocket science, but back then my parents didn't do their research. So my dad paid him.
Give or take some time, and most of the parts are complete. He underestimated the prices of a few things and had to ask for $200 more to complete the build. This...caused my dad to explode.
Later, I heard my dad ranting to my stepmom in January 2017 about how the last convo he had with his brother was a "Fuck-you conversation" - it was the last because my uncle had died in 2003.
Flash forward to March 2017. My mom and I are sitting in a Fazoli's, a nice sunset out of the full-length windows. I had to probe. HAD TO.
"You promise you won't tell your dad I told you this?" she asked.
"You know Kellie and I can't stand to be around him." I replied.
As the story goes, that last "Fuck-you conversation"? Over a fucking measly $200. Yup, the last conversation between my dad and his brother to ever happen was a shouting match over a relatively short amount of money. I wish I could say my dad had remorse, but he doesn't. He still talks shit. He's also technologically illiterate, so I doubt there was a way his brother was going to be able to reason with him.
In late 2003, my uncle, who had been a smoker, passed away due to cardiac arrest. The build was still not finished. This was one of the OTHER things that I have mixed feelings about.
After my uncle passed, my aunt paid someone to finish the build and get it shipped to my dad. We'll get back to why I feel this is fucked up, stay tuned...
---------
It's Spring 2004. I'm in the last half of what I think is Kindergarten or some shit...too lazy to do the math. Anyway, my dad announces we have a family computer - however, I couldn't read yet. That didn't stop the waste of oxygen that is my father from going in the Windows XP screensavers and putting text in that said "GAGE MORGAN WILL NOT TOUCH THIS COMPUTER." He's such a fuckin' dick, now AND back then.
My mom had an issue with this. I don't know why, but she did. Later, I was slowly taught how to use the mouse, under heavy supervision. Then I went to my grandma's house. She taught me one very specific thing on her old Win98 (386, maybe? IDK my old hw shit man), and because I know you guys are gonna love this one:
"The blue "e" opens up your games!"
The blue "e" does not open up your games, it opens something that can lead to your games.
I went home and tried this...without permission. My dad came down and discovered my lollygagging on the homepage - this is fucking weird. It was before Nextel, IIRC, so Sprint's logo was red still. Yes, we had broadband from Sprint. I don't know what saga led to that going the way of the dodo, but...
Back on track, I literally got my pants pulled down and had my bare bottom beat. He was gonna drag my ass upstairs and lock me in my room, but before he could, he accidentally slammed MY FUCKING RIGHT TEMPLE into the corner of a hardwood table at the bottom of the staircase.
The wailing that resulted probably was different than the previous form, which is probably what got my mom involved. My dad had a way of going too far, and in retrospect I'm more terrified now of what could've happened than I was then.
Later, I was given access to games in the form of my own account and bookmarks bar. That wasn't the end of the madness/drama from my use of that machine, but it was the earliest form.
Ever since Kindergarten, that one fateful day, I've been defying any/all imposed limitations on tech set on me by my parents...well, not anymore, but literally grades K-12. I'm living on my own, aka "adulting" now. It sucks more than you think, man.
---------
Let's tie this up before I reach the limit. I said I thought it was fucked up when my aunt paid to have the build finished and shipped to us after my uncle's death.
Yes, my aunt's intervention led to me ultimately majoring in computer science.
That doesn't change the fact that she shouldn't have done it.
My dad was an asshole to her husband, who passed. She is ultimately too caring. I don't think my jackass father should've been able to get by with that, he didn't deserve the freebie. Someone else should've told him his brother did in fact need that $200.
I haven't seen her IRL since the funeral when my grandpa passed in 2005. 2006 spelled the end of my parents' marriage.
Hope you guys enjoyed this - it's only a small segment of how I got to where I am now - tiny, actually.2 -
Still on the primenumbers bender.
Had this idea that if there were subtle correlations between a sufficiently large set of identities and the digits of a prime number, the best way to find it would be to automate the search.
And thats just what I did.
I started with trace matrices.
I actually didn't expect much of it. I was hoping I'd at least get lucky with a few chance coincidences.
My first tests failed miserably. Eight percent here, 10% there. "I might as well just pick a number out of a hat!" I thought.
I scaled it way back and asked if it was possible to predict *just* the first digit of either of the prime factors.
That also failed. Prediction rates were low still. Like 0.08-0.15.
So I automated *that*.
After a couple days of on-and-off again semi-automated searching I stumbled on it.
[1144, 827, 326, 1184, -1, -1, -1, -1]
That little sequence is a series of identities representing different values derived from a randomly generated product.
Each slots into a trace matrice. The results of which predict the first digit of one of our factors, with a 83.2% accuracy even after 10k runs, and rising higher with the number of trials.
It's not much, but I was kind of proud of it.
I'm pushing for finding 90%+ now.
Some improvements include using a different sort of operation to generate results. Or logging all results and finding the digit within each result thats *most* likely to predict our targets, across all results. (right now I just take the digit in the ones column, which works but is an arbitrary decision on my part).
Theres also the fact that it's trivial to correctly guess the digit 25% of the time, simply by guessing 1, 3, 7, or 9, because all primes, except for 2, end in one of these four.
I have also yet to find a trace with a specific bias for predicting either the smaller of two unique factors *or* the larger. But I haven't really looked for one either.
I still need to write a generate that takes specific traces, and lets me mutate some of the values, to push them towards certain 'fitness' levels.
This would be useful not just for very high predictions, but to find traces with very *low* predictions.
Why? Because it would actually allow for the *elimination* of possible digits, much like sudoku, from a given place value in a predicted factor.
I don't know if any of this will even end up working past the first digit. But splitting the odds, between the two unique factors of a prime product, and getting 40+% chance of guessing correctly, isn't too bad I think for a total amateur.
Far cry from a couple years ago claiming I broke prime factorization. People still haven't forgiven me for that, lol.6 -
So I enventually spent 2 years working for that company with a strong b2b market. Everything from the checkouts in their 6 b2c stores to the softwares used by the 30-people sales team was dependant on the main ERP shit home-built with this monstruosity we call Windev here in France. If you don't know it just google and have some laugh : this is a proprieteray FRENCH language. Not french like made by french people, well that too, but mostly french like the fucking language is un fucking french ! Instructions are on french, everything. Hey that's my natural language okay, but for code, really ?
The php website was using the ERP database too, even all the software/hardware of the massive logistic installation they had (like a tiny Amazon depot), and of course the emails of all employees. Everything was just handled by this unique shitty and so sloooooow fucking app. When there was to many clients on the website or even too many salespeople connected to the ERP at the same time, every-fuckin-piece of the company was slowing down, and even worse facing critical bugs. So they installed a monitor in the corner of a desk constantly showing the live report page of Google analytics and they started panic attacks everytime it was counting more than 30 sessions on the website. That was at the time fun and sad to observe.
The whole shit was created 12 years ago and is since maintened locally by one unique old-fashion-microsoft dev who also have to maintain all the hardware of all the fucking 150+ people business. You know, when the keyboard of anyone is "broken" cause it's unplugged... That's his job too. The poor guy was totally overstressed on a daily basis and his tech knowledge just saddly losts themeselves somewhere in the way. He was my n+1 in a tech team of 3 people : him, a young and inexperimented so-called "php developer" who was in charge of the website (btw full of security holes I discovered and dealed with when I first arrive at the job), and myself.
The database was a hell of 100+ tables of business and marketing data with a ton of specific logic added on-the-go during years. No consistent data model or naming. No utf8. Fucked up relations that ends with queries long enough to fill books. And that's not all, all the customers passwords was just stored there uncrypted. Several very big companies and administrations were some of these clients. I was insisting on the passwords point litterally all the time, that was an easy security fix and a good start... But no, in two years of discussions on the subject I never achieved to have them focusing on other considerations than "our customers like that we can remind them their password by a simple phone call if they lost it". What. The. Fuck. WHATTHEFUCK!
Eventually I ran myself out of this nightmare. I had a few bad jobs already, and worked on shitty software already. But that one really blows my mind (and motivation for a time too). Happy it's over.1 -
(in 2008)
my boss in my first job. in general every time when he randomly burst into office. one specific time when he burst i to office and INSISTED that we've got to go to a parking lot to see something.
that something was a remote-controlled helicopter he just bought. (this was before the age of drones).
oh, and he was a chain smoker, always had a cigarette behind his ear (wat), and was dragging me out to have a smoke (i was the only other programmer smoker, but not as heavy as him) every 10-15 minutes under the implied pretense of needing to discuss something about the code, and frowned heavily when i refused (because i was actually in the middle of actual work), because he took it as me refusing to have a work meeting with him.
no, we almost never talked about anything work-related, while on that smoke "work meeting".
also, my boss' boss in my first job, when she entered the office asking "we need a clickable map of our country where clicking each region brings you to a search page with filter set to results from that region. how would we do that?"
i answered "html imagemap linking to the right search url for each region, or embedded flash doing the same, if you want the region buttons to be animated", and turned back to my work.
upon which she proceeded to talk about it with the second programmer, both pretending they're solving some aspects that my answer didn't already solve, INSISTING that i stop doing "whatever nonsense you're doing" and pretend that i'm paying attention as if anything they said was in any way relevant or important. i kept returning to my work because i was solving an annoying bug and their talk was empty and useless.
this second incident was then cited as one of the reasons i was let go, because "he ignores important conversations with his superiors about upcoming tasks"
in general, my first job was a shitshow where nobody had any time or energy to do actual work because they all expended all of it to PRETEND for their superiors that they're working, since the superiors had no clue how it looks when we actually do our actual jobs.
(one month after i was let go (because, in my boss' words, yes, the one with the helicopter, "the IT productivity is very low and I have to hold someone responsible") , the second programmer was let go as well, and one month after that, our boss (head of IT) was let go too. to this day I keep being fascinated how did the company manage to survive long enough for me to even be there, let alone how it STILL manages to survive. i guess being part of a nation-wide conglomerate is very effective in covering your company's losses and uselessness)1 -
So TripleByte ended in rejection though they gave very detailed feedback and specific areas and even resources to look at. 👍
But it seems I'm not going to be able to escape algorithms in interviews so I'm not getting a new job anytime soon, even in tech.
So the only thing left to try in order to get my cake seems to be joining an open source project. -
Very few general embedded systems books exist, most are specific to chip, or architecture. Very few cover overall ideas, and concepts that are common across ALL embedded systems regardless of architecture and things you must keep in mind while designing software for them.
I think this a a good book. As a primer for deep diving into embedded systems design philosophy19 -
!rant
Need some opinions. Joined a new company recently (yippee!!!). Just getting to grips with everything at the minute. I'm working on mobile and I will be setting up a new team to take over a project from a remote team. Looking at their iOS and Android code and they are using RxSwift and RxJava in them.
Don't know a whole lot about the Android space yet, but on iOS I did look into Reactive Cocoa at one point, and really didn't like it. Does anyone here use Rx, or have an opinion about them, good or bad? I can learn them myself, i'm not looking for help with that, i'm more interested in opinions on the tools themselves.
My initial view (with a lack of experience in the area):
- I'm not a huge fan of frameworks like this that attempt to change the entire flow or structure of a language / platform. I like using third party libraries, but to me, its excessive to include something like this rather than just learning the in's / out's of the platform. I think the reactive approach has its use cases and i'm not knocking the it all together. I just feel like this is a little bit of forcing a square peg into a round hole. Swift wasn't designed to work like that and a big layer will need to be added in, in order to change it. I would want to see tremendous gains in order to justify it, and frankly I don't see it compared to other approaches.
- I do like the MVVM approach included with it, but i've easily managed to do similar with a handful of protocols that didn't require a new architecture and approach.
- Not sure if this is an RxSwift thing, or just how its implemented here. But all ViewControllers need to be created by using a coordinator first. This really bugs me because it means changing everything again. When I first opened this app, login was being skipped, trying to add it back in by selecting the default storyboard gave me "unwrapping a nil optional" errors, which took a little while to figure out what was going on. This, to me, again is changing too much in the platform that even the basic launching of a screen now needs to be changed. It will be confusing while trying to build a new team who may or may not know the tech.
- I'm concerned about hiring new staff and having to make sure that they know this, can learn it or are even happy to do so.
- I'm concerned about having a decrease in the community size to debug issues. Had horrible experiences with this in the past with hybrid tech.
- I'm concerned with bugs being introduced or patterns being changed in the tool itself. Because it changes and touches everything, it will be a nightmare to rip it out or use something else and we'll be stuck with the issue. This seems to have happened with ReactiveCocoa where they made a change to their approach that seems to have caused a divide in the community, with people splitting off into other tech.
- In this app we have base Swift, with RxSwift and RxCocoa on top, with AlamoFire on top of that, with Moya on that and RxMoya on top again. This to me is too much when only looking at basic screens and networking. I would be concerned that moving to something more complex that we might end up with a tonne of dependencies.
- There seems to be issues with the server (nothing to do with RxSwift) but the errors seem to be getting caught by RxSwift and turned into very vague and difficult to debug console logs. "RxSwift.RxError error 4" is not great. Now again this could be a "way its being used" issue as oppose to an issue with RxSwift itself. But again were back to a big middle layer sitting between me and what I want to access. I've already had issues with login seeming to have 2 states, success or wrong password, meaning its not telling the user whats actually wrong. Now i'm not sure if this is bad dev or bad tools, but I get a sense RxSwift is contributing to it in some fashion, at least in this specific use of it.
I'll leave it there for now, any opinions or advice would be appreciated.question functional programming reactivex java library reactive ios functional swift android rxswift rxjava18 -
Worst part of being a dev,
When you find a problem that is very similar to the one you have on stackoverflow, but it's slightly different and the solution doesn't work for you.
So then you ask your specific question and you immediately get some downvotes and comments referring to that solution that didn't work.
And then after weighing all the options, you decide to rewrite the whole program or script or whatever.1 -
I hate when people call any sort of program that does anything even remotely intelligent looking “AI.” No, there is a very specific distinction between actual artificial intelligence, and a bunch of if-statements.4
-
management logic.
dev : calling api on every product scroll is a stupid idea. we shouldn't do it. what if user has 100s of products bought?
mgmt : it isn't a practical scenario. in prod, we checked the data and we rarely have customers with more than 20 products
dev : 😮🤷♂️
dev : this is a rare issue that only happens for very old devices from this specific manufacturer. even manufacturers have acknowledged this.
mgmt : we don't care. fix it, as per data this error has been logged for more than 12 times (from 1 user only)
dev : 😮😢2 -
When I first started my current job, 2.5 years ago, I helped write the class that told the machine how to dispense and deposit money.
When the other programmer left, I decided to refactor that section. I wrote a new class that told the machine how to dispense and deposit money.
We are integrating new hardware that has a very different protocol of communication. I am making a library that will convert universal commands into vendor specific function calls. I am writing a new library that tells the machine how to dispense and deposit money.3 -
One of my worst WFT moments was just over 2 years ago.
A former colleague had been tasked with “upgrading” our solution for handling customer specific CSS on our platform for building newsletter emails.
He had been with us for about 5 years and ported most of the front end gui over that time from classic asp to .net and C#.
This work started in November and with a pause over dec-mid jan for high season and Christmas leave he continued.
In the beginning if mars we had the first of multiple WTF on that when I realized that his solution required a lot of special CSS or rather LESS, more than the a actual HTML for the template, and all was custom less rules that was very hard to understand.
We found that he actually never really understood how LESS worked and had tried to do things in a very backward way. Another colleague jumped in and manage to clean it up a bit so it got down to manageable levels.
Then in the end of Mars came the next bigger WTF. This is a newsletter building application. Turns out the new LESS based solution was entirely dependent on the js version of LESS and only worked when running in the browser. Guess what, the email send engine is not a browser and css classes and rules generally does not work in emails.
The new solution was impossible to integrate with the part that built and sent the emails without some very heavy rework.
Oh, and it was also completely incompatible with 12 years of old newsletters and customer templates that just did not work.
And of cause, he had not shown any of this in code reviews but rather just merged it part by part to the new version branch interleaving it with 5 months of other work.
He left the company short after.11 -
!rant
if you're someone who grades code, fuck you, you probably suck. Turned in a final project for this gis software construction class as a part of my master's degree (this class was fuck all easy, I had two weeks for each project, each of them took me two days). We had to pick the last project, so I submitted final project proposal that performs a two-sample KS test on some point data. Not complex, but it sounds fancy, project accepted. Easy money.
I write the thing and finish it, it works, but it doesn't have a visualization and that makes the results seem pretty lame, even though its fully functional. SO I GO OUT OF MY FUCKING WAY to add a matplotlib chart of the distribution. To do that, at the very bottom of the workflow, I define a function to chart it out because it made the code way more readable. Reminder, I didn't have to do this, it was extra work to make my code more functional.
Then, this motherfucker takes points off because I didn't define the function at the very beginning of the code... THE FUCK, DUDE? But, noobrants, it's "considered best prac--" nope, fuck you, okay? This class was so shit, not once was code style addressed in a lesson or put on any rubric - they didn't give a shit what it looked like - in fact, the whole class only used arcpy (and the csv mod once), they didn't teach us shit about anything except how to write geoprocessing scripts (in other words, how to read arcGIS docs about arcpy) and encouraged us to write in fucking pythonwin. And now, when the class is fucking over, you decide to just randomly toss this shit in, like it was a specific expectation this whole time? AND you do this when someone has gone out of their way to add functionality? Why punish someone who does extra work because that extra work isn't perfect? Literally, my grade would have been better without the visualization.
I'm not even mad at my grade - it was fine - I just hate inconsistency in grading practices and the random raising and lowering of expectations depending on how some grader's coffee tasted that morning. I also hate punishing people for doing more - it's this kind of shit that makes people A) wanna rip their eyeballs out, and B) never do anything more than the basic minimum expectation to avoid extra unwanted attention. If you want your coders to step up and actually put work in to make things the best they can be, yell at a grader to reward extra work and not punish it.4 -
I just felt like Google is the best player out there in terms of Companies.
Seriously, Well played Google.
This is not a negative opinion, I am just awe-struck at its tactics.
See, Google is currently the biggest name in terms of development in Android, ML and multi-platform software but no one can say it being a monopoly due to its dedication to open source community.
Recently Android emerged out to be One of the Biggest , most advanced, trusted and loved Technology . It saw great achievements, and up till 2016-17, it was at its peek. BUT when the market started shifting towards multi-platform boons and Ai, it got its hands into that too with its flutter and kotlin environment
One could have a negative opinion about this, But i can't seem to engulf the vast amounts of positive situations i see in this:
1) this IO18 (and many months before that) saw ML/AI being incorporated in Android (also the arcore, proje tango and many more attempts in the past) meaning that Android will not officially "die". It will just become an extremely encouraged platform( not just limited to mobiles) and a beginning of the robot -human reality ( a mobile is handling everything of your everyday life: chats, music apps sxhedules, alarms, and with an actively interacting ML, it won't be long when Android comes installed in a green bug lime droid robot serving you tea xD). Meanwhile the market of Windows games may shift to mobiles or typically " Android games" (remember, Android won't be limited to mobiles)
2)java may or may not die. The animations and smooth flow it seems to provide is always appreciated but kotlin seems to do so too. As for the hard-core apps, they are usually written in c++ .So java is in the red zone
3) kotlin-native and Flutter will be the weapons of future , for sure. they will be developing multi-platform softwares and will be dividing the market of softwares into platform specific softwares(having better ml/ai interactions,animations) and platform independent apps(access and use anywhere softwares).
And where does google stand?Its the lord varys of game of thrones which just supports and enhances the people in the realm. So it benefits the most . That's a company for you, ladies and gentlemen! If seen from common eyes they seem to be the best company ever and our 1 true king but it can also be a very thick fur cloak hiding their negetive policies and tactics , if any.
Well played, Google.16 -
procrastinating by getting drunk since 11:00 AM, and writing specs for my (hypothetical) language/os/platform.
feeling righteous retribution because the client made me be stressed for 3 hours due to an issue that THEY caused but for 3 hours the only info I had was "there's a critical blocker issue and we're convinced YOU caused it"
well... no... i did NOT cause the fact that you UPGRADED PHP DURING THE WEEKEND BEFORE MONDAY'S PRESENTATION TO CLIENT (while waiting for an urgent commit from me).
seriously.
also, germans. i've heard many times from other people that they're... basically racist towards us (slavic nations), thinking of us as untermensch, coal-miner peons, but I didn't realize their passive-aggressive covertly smug demanding attitude is due to this, I just assumed it's a reaction to me being incompetent.
so yesterday when we finished the call (in preparation for which I tried to switch to their "client demonstration" branch since that's where the error was, and I wanted a headstart on fixing it, ended up in a place that my today's whole-day task should be "rebuilding the DB into working condition", because there's about 10 "core" sql scripts in two different folders, which need to be run (in a very specific order, of course, which readme tells you, but what it tells you has been outdated at least for 3 months, of course), and
...THE MAIN CORE SCRIPT THAT IS THE FIRST TO RUN, THAT CREATES THE DB schema, HAS THREE SYNTAX-LEVEL typos which fail it mid-way...
...the joys of continuous deployment via scripts, I guess? I would love to challenge any person from them to screenshare to me, manual deployment of the current version from zero, and I would be willing to give the person 20% of my monthly salary if they would be able to do it within 20 minutes.
but... well...
the point is, i should be doing not entirely bullshit stuff.
but yesterday's 6 hours of being in "at full attention because it seems we fucked up" totally convinced me, that today I'm taking a break.
So I'm gonna go buy another 3 beers and continue writing the specs of my dream language/os/platform.19 -
So I had to update my OS to Ubuntu 22.04 to support some newer software. I had been running 18.04. One of the things I notice is Ubuntu restricting security updates to Ubuntu Pro users. WTF is this shit? I look into it a bit more:
https://flu0r1ne.net/logs/...
and a long discussion with people for and against:
https://lobste.rs/s/h2dszz/...
Okay, great, Ubuntu is employing some hostage style manipulation to get people to pay for using the OS. Probably an exaggeration, but feels very slimy. But that part is NOT what bothers me about this.
What bothers me the most about this is Ubuntu will now have a list of computers that have or do not have specific security patches. This is valuable information if someone wants to sell this to a third party. Maybe Ubuntu would not do that, but they can always get bought by someone who would do that. This feels dirty like something Microsoft or Google would do.
I probably don't know the complete story. But the misunderstanding still leads me to want to avoid Canonical.12 -
I am a mechanical engineer first and my companies go to sysadmin second. So software developing isnt really my main field of expertise buuttt:
WHY IS SLOOPY SOFTWARE WRITING A VIABLE EXCUSE?
Story:
Yesterday i started to migrate some stuff from our old Win 2008 Server to the new 2016. Turns out there are some MS SQL Express Servers running. Quick check for what they are turns out that they are activly used. So far so good. For other reasons we have a new MSSQL 2017 Core Licence. So i thought, hey it would be nice to just move those 2012, 2008 and 2014 Express Servers to a real one that can use the entire machines capabilities.
After some try & error with exporting one of the softwares (where i had to elevate one the user rights to sysadmin for reasons) the entire system stopped working. I didnt deleted anything or changed anything! Well, i elevated user rights. After 2 hours of support call it turns out that the software stopped working cause i gave the database user sysadmin rights. I dont know enough about MSSQL to judge wether that is logical or not, but it sounds super illogical and i suspect sloopy software writing on the manufacturers part. One way or another, the excuse from the telephone support was "yeah, our software is a very fragile child"
Okay.
After i told all that my coworkers two of them were also "yeah, that is just how the [company] software is, you have to be careful with it"
Apparently it broke in the past for other minor stuff.
As an engineer i cannot build bridges that collapse when you use the left and the right lane at the same time. For an architect it isnt okay to build an house where the front door explodes when you open a window. It is not okay for a power tool to go out in a fireball when you accidently drill plastic with it. But for some weird reasons its socially acceptable for programs to be sloopy, buggy and only working under specific conditions. Since when is it okay for a car only to work when you know specific steps to make it run? Like, throwing your spare key in the gas tank, the kick the left wheel exactly three times and finally tapping the steering wheel 5 times left, 4 times right. What? That would be ridiculous? But that is exactly how that software works. You have to follow a specific step guide to make it work, EVERY TIME.
I. JUST. DONT. GET. IT3 -
My friend recently went through technical interview for a very specific position in very niche technology. Which I will call technology A.
He is an expert in technology A, but interview was in technology B. All questions were about technology B, which has very little to do with technology A.
After few days, my friend received written replay. In section about technical knowledge about technology A, interview wrote his opinion based on technology B. Even if he didn't ask any question related to technology A, because he has never heard of it. Of course my friend didn't get that job5 -
I don't understand how my managers suddenly forgot that my "down weeks" we're due to technical debt I inherited. The whole on boarding hasn't been in my favor. I've stayed at work everyday til long after work hours, digging through code, trying to get JIRA tickets done, encountering issues specific to our code base that no one would ever discover on their own without docs/help from the original dev. The whole time, I was told that they know what's going on and apologize. I constantly expressed that plenty of what we were doing was building on antipatterns. They acknowledged. When a ticket wasn't done, they always knew the very specific reason and I wasn't faulted. 6 months in, I receive a great annual review. 7 months in? I receive an email titled "Performance Discussion," detailing 4 of those incidents where a ticket was pushed back -- with inaccurate depictions of what actually went down. They actually wrote that I didn't communicate. One part of the report expressed that there were "bugs found in production due to inadequate test coverage." WTF!! Everything made it past code review and QA. What are you talking about?? In fact, the person who wrote that merged my code in each time!!!! Insane!! Anyway, Q2 is partly about cleaning up technical debt, which is a responsibility I have been vested (fantastic). I've deleted about 800 lines of code in the last 2 weeks and added plenty of doc strings. Two of the most important modules our application works from are about 1000 lines of JavaScript each without any comments/docs. I'm changing that, but I don't know if my managers truly know the significance. Someone was recently promoted to my position but manually wrote out a sorting algorithm (specified numeric indexes and all); didn't do shit to earn it but breathe. And while they get more and more praise and responsibility, I'm over here stuck trying to prove myself and live up to why I assume they hired me. It's ridiculous. I love the company, but I'm not getting any sleep and I'm stressed out. It's only been about 7 months and I've been doing everything I can. Why is this happening? What am I doing wrong? I've been developing a recurring (physical) headache and ticks. My heart/chest area sometimes feels like it's lifting weights. I sound like an idiot, pushing so hard for a company that isn't mine, but I take so much pride in being in this position, and I'm so set on proving myself this early in my career (I'm 25).8
-
4 months into the journey at an ambitious streaming startup we, a team of 10 engineers (primarily full stack), sets up a tiny and performant express.js api setup.
We document plans for improving the maintainability, including outlining specific practices (not very different from general node best practices) that need to be followed for all new development.
Enter a new engineering manager (dedicated backend manager), henceforth referred to as S, with a rat face and brain that belongs in a rat hole.
Week 1:
S: let's push this new feature out asap
Dev: it'll need a couple of weeks to get done right
S: let's push out a functional version tomorrow, and revamp in the next iteration
Dev: ... (long pause) there's documented practices specifically directing against this
S: can you not do it by tomorrow
Dev: not if it needs to be done right
S: all you need to do is.. (simplifies changes spanning 5 modules into a 3 line summary)
Dev: yes, (outlines how each changes chains into the others, and how to keep the development maintainable for atleast a few months)
S: (interrupts every sentence saying "yes dev, I understand, yes yes")
Dev: could you please tell me how you expect me to connect (outlines two modules that would fail unless developed as standalone services)
S: Yes dev, I understand, yes yes. I don't have much experience with Node.js, so I can't tell you that.
Dev:
<_<
>_>
O_<
Our.. entire.. backend.. stack.. is.. Node. (Months of motivation, cultivated through hard work over late nights, dies inside)
I need a J and some sleep.6 -
Figured I'd post for some advice here and see if anybody has had previous experience or success with a situation like this.
My team is generally comprised of full-stack developers completing front-end custom work on sites, writing back-end tools, and fixing broken sites. We are a rapid-response DEV team, and we typically turn around any custom requests in less than 5 days and fix any broken sites on the same day as they were reported. We manage almost 15,000 sites across multiple countries, and deal with very large corporations that many of you interact with every day (I'm trying to be cryptic here hahaha.) There are 16 of us on our team, and we are the only DEV team within our department of 500+ people. We are also the only DEV team taking requests from these 500+ people. The way the department works, we are the final say on whether a specific piece of custom work will get completed or not, and we are the go-to people when anybody has a question about our system infrastructure or if our system can accommodate a request, along with how to fix any broken pieces of our platform. We typically get about 150 requests per day. Lately, the entire team has become unhappy with our compensation for the work we do. We're quite underpaid, and they keep giving us more responsibilities without any sort of extra compensation. We've discovered that there are a large amount of non-developers below us that are getting paid more than we are. We've found that we get paid about $15,000 less than a comparable DEV team in a different department (let's call that team DEV_2,) just because of which department our team exists within, and how our department defined our job back when this position was created a few years ago. Ever since the position was created, our team's responsibilities have exponentially increased. We believe that there is absolutely no reason that an entry-level position below us should get paid just as much, or even more in some cases, than a developer. Of course, we're not asking to pay them less. Instead, we've decided that we're going to bring this up with our manager and schedule a meeting with him, our Department Director, and Human Resources, and voice that we believe that we should be on the same payscale as the comparable DEV_2 in the other department.
To be a good developer on our team, you need to not only have coding expertise, but also an encyclopedic knowledge of what you can do within our platform without any coding. You need this knowledge so you can pass it along to any people in positions below you, in case they didn't know that something could be done without custom code.
We're going to argue that if it weren't for our team, the company would be losing millions of dollars in clients, because people wouldn't have anybody to go to for platform infrastructure questions, broken websites, or custom work. Instead, they would need to send these requests to the DEV_2 team, which currently take about 6 months to turnaround requests. Like I said, we are a rapid-response DEV team, and these particular clients think that a 5 day turnaround time is ridiculous. If they had to wait 6 months for their request to be completed, they would cancel their contracts.
Not to mention the general loss of knowledge if the members of our team went to a different department, which would be catastrophic for our current department. Believe me, this department could not function without this DEV team. If we all went on vacation for a week, the place would be on fire by the time we got back, and many clients would be lost.
Do any of you have any experience with a situation like this, and if so, how did it turn out? Thank you!5 -
Proudest bug squash? Probably the time I fixed a few bugs by accident when I was just trying to clean up an ex-coworker's messy code.
So I used to work with a guy who was not a very good programmer. It's hard to explain exactly why other than to say that he never really grew out of the college mindset. He never really learned the importance of critical thinking and problem-solving. He did everything "by the book" to a point where if he ran into an issue that had no textbook solution, he would spin his wheels for weeks while constantly lying to us about his progress until one of us would finally notice and take the problem off his plate. His code was technically functional, but still very bad.
Quick Background: Our team is responsible for deploying and maintaining cloud resources in AWS and Azure. We do this with Terraform, a domain-specific language that lets us define all our infrastructure as code and automate everything.
After he left, I took on the work to modify some of the Terraform code he'd written. In the process, I discovered what I like to call "The Übervariable", a map of at least 80 items, many of them completely unrelated to each other, which were all referenced exactly once in his code and never modified. Basically it was a dynamic collection variable holding 80+ constants. Some of these constants were only used in mathematical expressions with multiple other constants from the same data structure, resulting in a new value that would also be a constant. Some of the constants were identical values that could never possibly differ, but were still stored as separate values in the map.
After I made the modification I was supposed to make, I decided I was so bothered by his shitty code that I would spend some extra time fixing and optimizing it. The end result: one week of work, 800 lines of code deleted, 30 lines added, and a massive increase in efficiency. I deleted the Übervariable and hardcoded most of the values it contained since there was no possible reason for any of them to change in the future. In the process, I accidentally fixed three bugs that had been printing ominous-sounding warnings to the console whenever the code was run.
I have a lot of stories about this guy. I should post some more of them eventually.2 -
I’ve been tasked with finding an experienced Project Manager for ‘a sensible cost’ - no specific budget amount shared.
That sounds like “we want the best, but want to pay very little” right?
It’s a massive project, they said “you developed this, did all the documentation and research, you can PM it right?”
“Can’t we just start making progress and adapt as we go?” They asked.
Sure I said (thinking Agile), but they said I just need to get on with it and let them know when finished! So no stakeholder interaction... this is not going to end well...2 -
So I just was invited to look at an internal issue at a company that has modified BEM styling rules for their website, because the website started looking very weird on some pages..
I instantly knew that someone had to have fucked with them, because theres no way margin--top-50 all of the sudden isn't working.
Looked at their git history and apparently a senior approved a juniors styles change, where he modified things like margin--bottom-0 to be 500px or block--float-left to be float: right in specific containers with an id like "#uw81hf_"
WHY DO YOU APPROVE THIS GARBAGE WITHOUT CHECKING IT?! AND HOW DID THIS PASS A SECOND CHECK?!!! WTF -
can we all take a moment to appreciate the developers of flutter. they're smart, and they took the time to make flutter the *right* way.
they used an easy to learn language that's ideal for mobile development, which means hot reload/restart is possible (because dart supports aot and jit compilation)
the way it's designed is beautiful. everything is a widget, and it's easy to customize them via named parameters.
the community is great. it's not large, but it's supportive, with two active subreddits. yesterday i asked a question on r/flutterdev, and a member of the flutter team at google answered the question with a comprehensive answer.
flutter is very consistent across platforms. if it works on android or ios, you can bet it'll work on the other just as well, with the exception of platform-specific code.
it is VERY performant. unless you write a major bottleneck, 60fps is easy to achieve.
animations are EASY. define a tween and animation controller and then write a callback function. not to mention it's straightforward, and complex/combined animations are easy, too.
you can get almost direct access to the canvas, should you need it, with custompainter.
oh my god, this is revolutionary in the programming world. development is quicker than it is with native android alone, and for people who have no access to a mac, like me, i can develop for ios and compile via code magic. if you haven't checked it out and you develop for mobile, check it out.
oh yeah, did i mention it's not just mobile. hummingbird - flutter compiled to web - is already in experimental public betas, and will likely be released by the end of the year. there's also experimental desktop support, which is amazing, and much better than electron. not to mention flutter is the future, as it will be the primary way to make apps on fuchsia os.13 -
Ahh.. there is nothing like the joyous feeling of writing a working piece of code for your own personal projects.
I spent several weeks and a few hours today to finally get my Python automation script working and I am very proud of myself.
Here's what it does:
* open a text file, extract a specific string from it using rather complicated xpath
* open another text file and do the same
* replace result 1 with result 2
* log results
* close file
* automate the process
Even though it looks easy, I had to mess around with a lot of problems such as permissions, indentation, stream writing, file status, etc.
Now, instead of having to manually do this job, I can just let my machine do it!1 -
Applications written with game engines - Unity to be specific -, that mimick usual user interfaces with an appalling design that screams "grefic desein is ma peaetion"
Your cancerous application is ruining my health and the ads only make it worse. Go learn to program natively on a platform or caese.
Nobody wants to see that logo of yours while waiting for your app to load what? Your very "unique" listview? Those very extremely beautiful buttons with images? You incompetent being learning how to crop images properly without destroying the proportion of it?
Please learn how to kick yourself in the head6 -
I often read articles describing developer epiphanies, where they realized, that it was not Eclipse at fault for a bad coding experience, but rather their lack of knowledge and lack of IDE optimization.
No. Just NO.
Eclipse is just horrendous garbage, nothing else. Here are some examples, where you can optimize Eclipse and your workflow all you like and still Eclipse demonstrates how bad of an IDE it is:
- There is a compilation error in the codebase. Eclipse knows this, as it marks the error. Yet in the Problems tab there is absolutely nothing. Not even after clean. Sometimes it logs errors in the problems tab, sometimes t doesn't. Why? Only the lord knows.
- Apart from the fact that navigating multiple Eclipse windows is plain laughable - why is it that to this day eclipse cannot properly manage windows on multi-desktop setups, e.g. via workspace settings? Example: Use 3 monitors, maximize Eclipse windows of one Eclipse instance on all three. Minimize. Then maximize. The windows are no longer maximized, but spread somehow over the monitors. After reboot it is even more laughable. Windows will be just randomly scrabled and stacked on top of each other. But the fact alone that you cannot navigate individual windows of one instance.. is this 2003?
- When you use a window with e.g. class code on a second monitor and your primary Eclipse window is on the first monitor, then some shortcuts won't trigger. E.g. attempting to select, then run a specific configuration via ALT+R, N, select via arrows, ALT+R won't work. Eclipse cannot deal with ALT+R, as it won't be able to focus the window, where the context menus are. One may think, this has to do with Eclipse requiring specific perspectives for specific shortcuts, as shortcuts are associated with perspectives - but no. Because the perspective for both windows is the same, namely Java. It is just that even though Shortcuts in Eclipse are perspective-bound, but they are also context-sensitive, meaning they require specific IDE inputs to work, regarldless of their perspective settings. Is that not provided, then the shortcut will do absolutely nothing and Eclipse won't tell you why.
- The fact alone that shortcut-workarounds are required to terminate launches, even though there is a button mapping this very functionality. Yes this is the only aspect in this list, where optimizing and adjusting the IDE solves the problem, because I can bind a shortcut for launch selection and then can reliably select ant trigger CTRL+F2. Despite that, how I need to first customize shortcuts and bind one that was not specified prior, just to achieve this most basic functionality - teminating a launch - is beyond me.
Eclipse is just overengineered and horrendous garbage. One could think it is being developed by people using Windows XP and a single 1024x768 desktop, as there is NO WAY these issues don't become apparent when regularily working with the IDE.9 -
idk when I became so jaded, but I don't have the patience to deal with a specific kind of people. the kind that are spoiled, are too "nice", in that very corporate way, speak in that nonsense business language, and they all look the same (white, well dressed, plain). the kind of people that consider making slides real work 🙄
sigh... maybe it's a prejudice of mine, but ffs... those people are fake af, and i have zero tolerance for work politics6 -
When you ask your infrastructure admins for a firewall rule and you are very specific. They say that you don't need it... you troubleshoot for 2 hours then argue with them for 5 hours. Then they add the rule and it works. I want to punch someone right now and have a beer. FML!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
*turns on the TV*
*pop-up blows up in my face: "you have a new message"*
Me: ??
*confusingly presses "View"*
Msg: *Do you know why *some random shit show of a movie* is the most viewed? You can rent it in our video store*
YOU MOTHER FUCKING BRAINLESS ASSHOLES!!! I'M PAYING FOR THAT FUCKING SUBSCRIPTION! MY FUCKING MONEY!! MINE! WHICH I CHOSE TO GIVE TO YOU FOR A VERY SPECIFIC SERVICE!! DO NOT PUSH YOUR BRAINDEAD, GREEDY BULLSHIT ON ME!!! IF I'LL WANT TO WATCH A GOOD MOVIE I'LL FIND IT MY SELF! YOU ARE TO FUCKING RETARDED TO TELL WHAT A GOOD MOVIE IS!!!
GOD DAMN ADS PUSHING SHIT HEADED PEASANTS!!1 -
The hand of IT guy in family
My family sees me as guy who works on IT stuff. The best part is that I will have to help them whenever they encounter problem regarding electronics in daily activities.
Son! The internet is not working
Son! The printer is not working
Son! The TV is not working
Son! My phone didnt get any signals
Son! The microwave is not working
Son! The TV remote is not working
Son! Why is this whatsapp popup always appear whenever I opened it
Son! The dvd player is not working
Son! My phone wont charged
Son! I want to buy online stuff
Son! The email that ur uncle sent me cannot be opened
Son! The email that ur aunt sent me is not there
Son! Can u help me download this travelling app
Son! I opened a website and it told me that I have 163718362 virus!
Son! I forget my password of my facebook account!
Son! Some guy idk on facebook added me as his/her friends, what should i do?
....
Son! The internet is not working (again)
The fact is that, most if these problem, I helped them by just.. restarting the router, reboot the router for 1 min interval, find specific toggler in disfunctional hardware that they accidentally hit during sweeping the floor, take out the power and put it back again, show them how to's in many account/payment mechanism in apps, etc
The very best part that whenever they satisfied, whenever things back to work again, whenever they can reset the password:
"I've tried what you told me, but it just didnt work, but idk when u did it, it works! you are really an IT guy"
And i was like
🙃4 -
I hate it when I ask about a way to solve a very specific problem in js, and people be like:
"You should use this x library, it has the y utility that will solve your problem right away"3 -
Ok guys I need advice, haven't posted in a long time.
A profesor is asking my team to build a java application that runs on a server with a very specific tech-stack (database, container, encryption, use-case and UI design) it's basically a fully fledged app that I know would cost somebody hundreds if not thousands to buy. The thing is I'm getting the feeling he's using us to write this code and then later distribute it while all we get is 20/100 points we need to pass the course. I heard rumors...
So what I wanna do is throw it on github (he's obviously expecting me to open source it at which point he forks it and bam!) and slap the most restrictive license on it. Now I don't have much experience with licensing or this sort of thing... any advice? I want to be able to go at his throat if I ever find out he used my code which I'm supposed to spend 3 weeks writing for free for a fucking "uni" project that's worth a fifth of my grade in that one semester course!19 -
I just oversleeped...
Im not a dev yet, i have a contract job at the factory.
I have worked 1month already from 3 that i singned up for.
The worst thing is that i said i need a day off to give specific papers for my university. It was supposed to be today but i moved it tomorrow due to the problem with transport.
Well my superior is propably realy angry right now... On the bright side i will have 2 days off...
I wont get fired (hopefully) because as contract job they should only substracy the daily pay from my monthly salary.
This is my first time that im late for a real job. My intuition says that i should go but i wouldnt bear the shame... If i were to go i would be late minimaly 2 hours. I have no idea what to do... I will propably stay home and lose the daily payment because im not strong enough to bear the shame today. It would be very difficult to get in the company as well. Ahhhhh! Its difficult to make decisions when you are shy, lazy and scared.5 -
Does anyone work on a team with multiple stacks?
For example we have batch jobs in Java but also have a JS front-end and APIs.
How do you divide the developers and the work across these projects?
Currently everyone does everything but I feel like this is inefficient and hard to develop expertise. And different people or even the same person will make the same mistakes over and over again because they don't know how to do X or they forget or overlook some quirk. When I switched Beck to JS took me like a week to get a Promises nailed down again. And this morning someone else had a production bug and couldn't figure it out. But when I looked at the code I could pretty much see where an issue could be (uncaught exception in a promise)
Also the testing frameworks are very different and there's a lot of infrastructure technical debt, things that really should've been done a long time or fixed but no one had the time or expertise to do it or notice it (until it causes a production issue and then everyone is like WTF is happening??!!!!).
I'm not the manager but I always feel that the team needs to be split along the language lines and specific people need to own these projects to review and code changes for all these common newbie errors. And also developer enough expertise to foresee problems before it becomes a production issue.9 -
Hey DR! I am a pretty inexperienced programmer who's learning about JS. When I was writing vanilla JS to do some simple DOM manipulation, JS seems like a pretty familiar language. However, when I start to learn about different frameworks (React, Express), the way that they code stuff (IDK how to pinpoint specific examples, it's just an overall impression) becomes very different from my experience with other programming language. I am wondering if anyone have any suggestions, have felt the same way, or know how to overcome this phase.
ps This is a general question. Please don't be pissed for lack of technical detail....8 -
So, I've had a personal project going for a couple of years now. It's one of those "I think this could be the billion-dollar idea" things. But I suffer from the typical "it's not PERFECT, so let's start again!" mentality, and the "hmm, I'm not sure I like that technology choice, so let's start again!" mentality.
Or, at least, I DID until 3-4 months ago.
I made the decision that I was going to charge ahead with it even if I started having second thoughts along the way. But, at the same time, I made the decision that I was going to rely on as little external technology as possible. Simplicity was going to be the key guiding light and if I couldn't truly justify bringing a given technology into the mix, it'd stay out.
That means that when I built the front end, I would go with plain HTML/CSS/JS... you know, just like I did 20+ years ago... and when I built the back end, I'd minimize the libraries I used as much as possible (though I allowed myself a bit more flexibility on the back end because that seems to be where there's less issues generally). Similarly, any choice I made I wanted to have little to no additional tooling required.
So, given this is a webapp with a Node back-end, I had some decisions to make.
On the back end, I decided to go with Express. Previously, I had written all the server code myself from "first principles", so I effectively built my own version of Express in other words. And you know what? It worked fine! It wasn't particularly hard, the code wasn't especially bad, and it worked. So, I considered re-using that code from the previous iteration, but I ultimately decided that Express brings enough value - more specifically all the middleware available for it - to justify going with it. I also stuck with NeDB for my data storage needs since that was aces all along (though I did switch to nedb-promises instead of writing my own async/await wrapper around it as I had previously done).
What I DIDN'T do though is go with TypeScript. In previous versions, I had. And, hey, it worked fine. TS of course brings some value, but having to have a compile step in it goes against my "as little additional tooling as possible" mantra, and the value it brings I find to be dubious when there's just one developer. As it stands, my "tooling" amounts to a few very simple JS scripts run with NPM. It's very simple, and that was my big goal: simplicity.
On the front end, I of course had to choose a framework first. React is fine, Angular is horrid, Vue, Svelte, others are okay. But I didn't want to bother with any of that because I dislike the level of abstraction they bring. But I also didn't want to be building my own widget library. I've done that before and it takes a lot of time and effort to do it well. So, after looking at many different options, I settled on Webix. I'm a fan of that library because it has a JS-centric approach. There's no JSX-like intermediate format, no build step involved, it's just straight, simple JS, and it's powerful and looks pretty good. Perfect for my needs. For one specific capability I did allow myself to bring in AnimeJS and ThreeJS. That's it though, no other dependencies (well, at first, I was using Axios because it was comfortable, but I've since migrated to plain old fetch). And no Webpack, no bundling at all, in fact. I dynamically load resources, which effectively is code-splitting, and I have some NPM scripts to do minification for a production build, but otherwise the code that runs in the browser is what I actually wrote, unlike using a framework.
So, what's the point of this whole rant?
The point is that I've made more progress in these last few months than I did the previous several years, and the experience has been SO much better!
All the tools and dependencies we tend to use these days, by and large, I think get in the way. Oh, to be sure, they have their own benefits, I'm not denying that... but I'm not at all convinced those benefits outweighs the time lost configuring this tool or that, fixing breakages caused by dependency updates, dealing with obtuse errors spit out by code I didn't write, going from the code in the browser to the actual source code to get anywhere when debugging, parsing crappy documentation, and just generally having the project be so much more complex and difficult to reason about. It's cognitive overload.
I've been doing this professionaly for a LONG time, I've seen so many fads come and go. The one thing I think we've lost along the way is the idea that simplicity leads to the best outcomes, and simplicity doesn't automatically mean you write less code, doesn't mean you cede responsibility for various things to third parties. Those things aren't automatically bad, but they CAN be, and I think more than we realize. We get wrapped up in "what everyone else is doing", we don't stop to question the "best practices", we just blindly follow.
I'm done with that, and my project is better for it! -
Some guy bought a whole bunch of city specific domain names once and wanted me to code the websites for him and manage and support the sites for 5% equity in his business. I told him you realize I can buy my own domains for very little money and build the sites for 100% ownership. His idea was not so bad for that time but he just thought that I was a nerd and he could just use me and I would just be passive and go along being that I'm desperate to make friends.
-
So we've had a new guy on our team for over 6 months now... Been training him up doing shadowing.... Training courses... Study time... The works...
He didn't have the specific skills for our team but had 2 degrees, lectured at uni... Seems VERY smart......
Yet he still has barely grasped the basics..... When experienced people talk about challenges they've had he tries to suggest what they do... Constantly raising 'problems' with ways of working but offers no solutions and never collaborates on how we can fix it......
He avoids doing practical learning and thinks he can learn the job from reading docs... .. Sigh....
Gone almost as far as doing daily check ups on what he's actually doing to make sure he's progressing..... Tough one to crack!7 -
Well... I can think of several bugs that I found on a previous project, but one of the worst (if not the worst, because the damage scope) it's one bug that only appears for a couple of days at the end of every month.
What happens is the following: this bug occurs in a submodule designed (heh) to control the monthly production according the client requirements (client says "I want 1000 thoot picks", that submodule calculates the daily production requirements in order to full fill the order).
Ideally, that programming need to be done once a week (for the current month), because the quantities are updated by client on the same schedule, and one of the edge cases is that when the current date is >= 16th of the month, the user can start programming the production of the following month.
So, according to this specific case, there's an unidentified, elusive, and nasty bug that only shows up on the two last days of every month, when it doesn't allow to modify/create anything for the following month. I mean, normally, whenever you try to edit/create new data, the application shows either an estimated of the quantities to produce, or the previous saved data. But on those specific days it doesn't show any information at all, disregarding of there's something saved or not.
The worst thing is that such process involves both a very overcomplicated stored procedure, and an overcomplicated functionality on the client side (did I mentioned that it dynamically generates a pseudo-spreadsheet with the procedure dataset? Cell by cell), that absolutely no one really fully understands, and the dude that made those artifacts is no longer available (and by now, I'm not so sure that he even remember what he done there).
One of the worst thing is that at this point, it's easier to handle with that error rather to redesign all of that (not because technical limitations, but for bureaucratic and management issues).
The another worst thing (the most important none) is that this specific bug can create a HUGE mess as it prevents the programming of the production to be done the next day (you know, people tends to procrastinate and start doing things at the very end of the day/week/month)... And considering that the company could lose a huge amount of money by every minute without production, you can guess the damage scope of this single bug.
Anyway, this bug has existed since, I don't know, 2015 (Q4?) and we have tried so many things trying to solve it, but that spaghettis refuse to be understood (specially the stored procedure, as it has dynamically generated queries). During my tenure (that ended last year) I spent a good amount of time (considering what I mentioned on the last rant, about the toxic environment) trying to solve that, just giving up after the first couple of weeks.
Anyway... I'm guessing that this particular bug will survive another 4-ish years, or even outlive the current full development team... But, who knows ¯\_(ツ)_/¯ ? -
It’s actually been quite a fun day, after some ranting on one of our slack communities flutter channel, myself and my team realized we were in a really good place to give back.
We have been working on a large scale flutter application for about a year, phase 1 is about done and we at 11k LOC.
We have been doing a big push for testing over the last 2 months and are at about 50% coverage. The thing we realized is that is the 1 place flutter has fallen short with documentation.
Very little about what we learned for testing our code came out of a google search, or it came out of cobbling bits together from numerous searches and sources.
So we decided we are going to plan and host a virtual meetup to discuss what we have learned and hopefully teach a few people some useful things and hopefully also learn a few new things too.
In addition, and as it has a longer shelf life, we going to setup a medium publication for the company and start a series to cover small specific topics, specific use cases or scenarios that we had trouble with and solved.
Today I had my first thing to type out, had worked out how to test that a function that was passed into a widget was called. So the parent passes the child and onTap function but you are testing the child not the parent as the child is reusable...
Anyway, so with that idea I got hold of marketing for some assets, setup the publication and proceeded to type out 3 articles today, all nice short ones under 2 min reading time.
It really is nice to give back, it’s not like I am Remi smart and can go and write BLoC, but I am smart enough to figure shit out and type it up so that the next guy hopefully benefits from my brain bashing.6 -
I read books on programming. The thing I most like about programming books is that they allow you to learn about topics that you would have never have thought to explore. When people look things up online, they tend to search very specific things, most times actual code. The internet is an incredible source for developers, don't get me wrong. But books allow you to learn about programming in a conceptual way which in turn will make learning new languages easier and allow your understanding of the languages you already know to be deeper.
-
Fuck Wordpress, Fuck Wordpress's PHP
I'm so fucking tired of everything in this godforsaken CMS. Import a JS File? Sure, just add a *completely obvious* line into a very specific PHP File, where you'll have to specify a lot of "useful" parameters. No, I somehow DON'T want to specify that I don't wand jQuery in every import. And don't even get me started on Content Delivering. Embed CSS? Sure, just write the fucking whole path to the file, or use the broken get_stylesheet_uri() Function. Embed an Image? Sure, let me just go to the Backend and wait 6 Minutes for this bullshitty System to upload the image and then copy the hard-coded Link. Oh, you want to remove googleapi embeds? Sure, let me just fuck up your whole Website in return.
You want jQuery? Well instead of using the "$" Symbol, you have to use the jQuery() Function. Except when you don't have to, which is 100% random each time you reload the page. Oh, you actually did import a JS File? Sure, let me just not run it. Thank you fucking piece of shit thats calling itself "WordPress" and fuck you and everyone whos actively encouraging its usage1 -
Argh! (I feel like I start a fair amount of my rants with a shout of fustration)
Tl;Dr How long do we need to wait for a new version of xorg!?
I've recently discovered that Nvidia driver 435.17 (for Linux of course) supports PRIME GPU offloading, which -for the unfamiliar- is where you're able render only specific things on a laptops discreet GPU (vs. all or nothing). This makes it significantly easier (and power efficient) to use the GPU in practice.
There used to be something called bumblebee (which was actually more power efficient), but it became so slow that one could actually get better performance out of Intel's integrated GPU than that of the Nvidia GPU.
This feature is also already included in the nouveau graphics driver, but (at least to my understanding) it doesn't have very good (or none) support for Turing GPUs, so here I am.
Now, being very excited for this feature, I wanted to use it. I have Arch, so I installed the nvidia-beta drivers, and compiled xorg-server from master, because there are certain commits that are necessary to make use of this feature.
But after following the Nvidia instructions, it doesn't work. Oops I realize, xrog probably didn't pick up the Nvidia card, let's restart xorg. and boom! Xorg doesn't boot, because obviously the modesetting driver isn't meant for the Nvidia card it's meant for the Intel one, but xorg is to stupid for that...
So here I am back to using optimus-manager and the ordinary versions of Nvidia and xorg because of some crap...
If you have some (good idea) of what to do to make it work, I'm welcome to hear it.6 -
In my opinion, russian nation's chronic inability to fight oppressive regimes is partly attributed to one interesting quirk the russian language has.
When talking about injustice committed against someone, or making threats to commit said injustice, the actor is completely omitted.
Here's an example:
“Надо будет — найдут”, roughly translated to “they could find you if they wanted to”, is a common phrase to use when talking about proxies, VPNs and other online privacy measures. But the word “they” in English translation is nowhere to be found in the original text! Let's examine the literal translation:
- “надо будет” — “the need will arise”
- “найдут” — “will find you”
The English phrase “they could find you if they wanted to” can be easily challenged with a simple question: “Who's they?” The government? The corporates? The regime? The CIA? Who exactly?
English language can mimic that with passive voice: “you are being watched”, “you are an easy target”, etc. But in active voice, you can't avoid using “they” or some other actor.
In russian, you can. And you will. Indeed, this is how russian people converse. It's a very specific, very common pattern that never really changed.
It's a very powerful thought-terminating cliché built straight into the language. You can't fight an enemy that has no name and no word to describe it, not even a euphemism. The very language you THINK in prevents you from analyzing the entities that oppress you.
In a Tom Scott Plus video where he tried tightrope walking, he learned that they don't say the “F-word” — “fall”. You can't say “I'm afraid I'll fall”. You have to find more specific alternatives like “I'm afraid I'll lose balance”. The word “fall” in this context is a thought-terminating cliché. There is no going back after you “fall”. But if you “lose balance”, you can “regain balance” — the lack of a thought-terminating cliché promotes problem-solving.
Russian language is the same, but in soviet russia, language terminates you, I guess.1 -
Pentesting for undisclosed company. Let's call them X as to not get us into trouble.
We are students and are doing our first pentest at an actual company instead of assignments at school. So we're very anxious. But today was a good day.
We found some servers with open ports so we checked a few of them out. I had a set of them with a bunch of open ports like ftp and... 8080. Time to check this out.
"please install flash player"... Security risk 1 found!
System seemed to be some monitoring system. Trying to log in using admin admin... Fucking works. Group loses it cause the company was being all high and mighty about being secure af. Other shit is pretty tight though.
Able to see logs, change password, add new superuser, do some searches for USERS_LOGGEDIN_TODAY! I shit you not, the system even had SUGGESTIONS for usernames to search for. One of which had something to do with sftp and auth keys. Unfortunatly every search gave a SQL syntax error. Used sniffing tools to maybe intercept message so we could do some queries of our own but nothing. Query is probably not issued from the local machine.
Tried to decompile the flash file but no luck. Only for some weird lines and a few function names I presume. But decompressing it and opening it in a text editor allowed me to see and search text. No GET or POST found. No SQL queries or name checks or anything we could think of.
That's all I could do for today. So we'll have to think of stuff for next week. We've already planned xss so maybe we can do that on this server as well.
We also found some older network printers with open telnet. Servers with a specific SQL variant with a potential exploit to execute terminal commands and some ftp and smb servers we need to check out next week.
Hella excited about this!
If you guys have any suggestions let us know. We are utter noobs when it comes to this.6 -
(Warning: This rant includes nonsense, nightposting, unstructured thoughts, a dissenting opinion, and a purposeless, stupid joke in the beginning. Reader discretion is advised.)
honestly the whole "ARM solves every x86 problem!" thing doesn't seem to work out in my head:
- Not all ARM chips are the same, nor are they perfectly compatible with each other. This could lead to issues for consumers, for developers or both. There are toolchains that work with almost all of them... though endianness is still an issue, and you KNOW there's not gonna be an enforced standard. (These toolchains also don't do the best job on optimization.)
- ARM has a lot of interesting features. Not a lot of them have been rigorously checked for security, as they aren't as common as x86 CPUs. That's a nightmare on its own.
- ARM or Thumb? I can already see some large company is going to INSIST AND ENFORCE everything used internally to 100% be a specific mode for some bullshit reason. That's already not fun on a higher level, i.e. what software can be used for dev work, etc.
- Backwards compatibility. Most companies either over-embrace change and nothing is guaranteed to work at any given time, or become so set in their ways they're still pulling Amigas and 386 machines out of their teeth to this day. The latter seems to be a larger portion of companies from what I see when people have issues working with said company, so x86 carryover is going to be required that is both relatively flawless AND fairly fast, which isn't really doable.
- The awkward adjustment period. Dear fuck, if you thought early UEFI and GPT implementations were rough, how do you think changing the hardware model will go? We don't even have a standard for the new model yet! What will we keep? What will we replace? What ARM version will we use? All the hardware we use is so dependent on knowing exactly what other hardware will do that changing out the processor has a high likelihood of not being enough.
I'm just waiting for another clusterfuck of multiple non-standard branching sets of PCs to happen over this. I know it has a decent chance of happening, we can't follow standards very well even now, and it's been 30+ years since they were widely accepted.5 -
One thing JS does great is that everything from the server to the gui to the (extremely flexible) build system is 100% platform independent with very few platform specific bugs. And that's a big deal when a basic setup is 1200 packages from 650+ semi-coordinated people.13
-
I started applying for jobs. As I have over 150 repos on GitHub and 10 years of relevant work experience, the company obviously had trouble validating if I had some basic coding skills. That's why they decided to send me a coding "homework" task to build an app in React Native.
Basically, the task was building an app with 2 screens and one bonus where they indicated "doesn't need a UI". I spent half a day spinning up their project, installing XCode, their specific versions of Ruby, and around half a day building the thing.
Obviously, I wanted to demonstrate my technical skills, so I added a few tests, proper typing, comments, and so on. The project was in a good state, and on the "bonus" screen I quickly added a few components. Since I have a lot of things going on, I capped the amount of time to one day of work. I felt it was good enough to demonstrate I can build something like this.
A few days later, I received a response from the recruiter telling me they wouldn't move forward. She in depth explained that this was because of a missing key property. I did indeed miss one key property on the "bonus" screen, in the part that was not even part of the core task. This was a list of very few static elements, and the entire list only got rerendered when changing routes. Basically in this case, there would not be any visible performance impact.
The recruiter explained in the email that I was missing the eye for detail they need, and that I should "educate" myself more about lists in React. I made one tiny silly mistake in a one-day project, that a linter would've taken out (if this project had one). I've contributed to React Native myself and worked with React for almost 7 years now? Yeah, it's a stupid thing, but what is the point of these types of tasks? I thought this was to demonstrate my skillset, not to be called out on.
Either way, my question here is this: at which point does it become appropriate to send an invoice for the time I wasted on this?6 -
I love git stash.
It's helps a lot for doing refactors to me. I guess it's not the most complex workflow, but it wasn't obvious to me when I started with git. Let me explain.
Refactors. As you start writing the first lines of a refactor, you start to notice something: you're changing too many things, your next commit is going to be huge.
That tends to be the very nature of refactors, they usually affect different parts of code.
So, there you are, with a shitload changes, and you figure "hey, I have a better idea, let me first do a smaller cohesive commit (let's call it subcommit) that changes a smaller specific thing, and then I'll continue with the upper parts of the refactor".
Good idea, but you have a shitload of changes nearly touching every file in your working copy, what do you do with these changes? You git stash them.
Let's say you stash and try to do that smaller "subcommit". What sometimes happens to me at this point is that I notice that I could do an even smaller change inside this current "subcommit". So I do the same thing, I git stash and I work on that even smaller thing.
At some point I end up `git stash pop`ing up all these levels. And it it shows that git stash is powerful for this.
* You never lose a single bit of work you did.
* Every commit is clean.
* After every commit you can run tests (automated or manual) to see shit is still working.
* If you don't like some changes that you had git stashed, you can just erase them with git reset --hard.
* If a change overlaps between a stash you're applying and the last "subcommit", then
if they differ, git shows conflicts on the files,
if they are identical, nothing happens.
with this workflow things just flow and you don't need to wipe out all your changes when doing simpler things,
and you don't need to go around creating new branches with temp commits (which results in bloated temp commits and the work of switching branches).
After you finish the refactor, you can decide to squash things with git rebase.
(Note: I don't use git stash pop, because it annoys the fuck out of me when I pop and you I get conflicts, I rather apply and drop)4 -
Honestly, school is useless for me as of right now. I know I should be well rounded and stuff, but do I honestly need to know the symptoms of cervix cancer while going into a tech career? My eyes have been set on tech for my whole life, ever since I left the womb, and I know that if I do switch careers, it'll be from comp sci to cyber security not from IT to med school...
I feel like I could really be devoting my time towards something better than writing a 5 page essay on a healthy food choice.
Every night I think to myself, "You know what, I'm going to lock myself in a room and write bash scripts all day" but then I wake up in the morning, and remember I have to take a quiz on reproductive systems, learn about the procedure of organ donations for driver's ed, write 2 paragraph definitions of vocab words, and read a book about communism.
The most useful thing I learned last year, was how to efficiently navigate the java API, and that's something you don't even learn, you just encounter it. Schools need to start having more specific specialties and stop enforcing knowledge of pointless topics.
I'm not saying to remove all core classes and stuff, I'm saying why waste space in our brains with something we won't use ever again? I get it, some people don't know what career they're looking for yet so you can't make them choose, but it honestly sucks some serious ass that I can't learn what I want to at school, and as a matter of fact, I can't even learn at home, because they're filling my schedule with pointless work because they feel that they have to fill our time somehow.
Point of this long ass rant is: Why lock yourself in a room and learn about something if it isn't something you want to learn about? The space in our brain is finite enough, why can't it be filled with things we're interested in rather than things that will only be used to get good grades in the future then overwritten with useful knowledge. Same thing with time. We have a very finite amount of time in a day, and now that I think of it, a lifetime. Why spend it on something that doesn't, and never will, make your life enjoyable?7 -
I learned today I can "npm install" directly from a GitHub repo. This allowed me to create a React component (viewer of gLTF files) for a 3D game and share it with my team. I know I could've published it to npm registry, but I didn't want that since it's a very specific component for our project, and private npm packages are very pricy.
Hope this random !rant will be useful for someone wanting something similar. -
The Zen Of Ripping Off Airtable:
(patterned after The Zen Of Python. For all those shamelessly copying airtables basic functionality)
*Columns can be *reordered* for visual priority and ease of use.
* Rows are purely presentational, and mostly for grouping and formatting.
* Data cells are objects in their own right, so they can control their own rendering, and formatting.
* Columns (as objects) are where linkages and other column specific data are stored.
* Rows (as objects) are where row specific data (full-row formatting) are stored.
* Rows are views or references *into* columns which hold references to the actual data cells
* Tables are meant for managing and structuring *small* amounts of data (less than 10k rows) per table.
* Just as you might do "=A1:A5" to reference a cell range in google or excel, you might do "opt(table1:columnN)" in a column header to create a 'type' for the cells in that column.
* An enumeration is a table with a single column, useful for doing the equivalent of airtables options and tags. You will never be able to decide if it should be stored on a specific column, on a specific table for ease of reuse, or separately where it and its brothers will visually clutter your list of tables. Take a shot if you are here.
* Typing or linking a column should be accomplishable first through a command-driven type language, held in column headers and cells as text.
* Take a shot if you somehow ended up creating any of the following: an FSM, a custom regex parser, a new programming language.
* A good structuring system gives us options or tags (multiple select), selections (single select), and many other datatypes and should be first, programmatically available through a simple command-driven language like how commands are done in datacells in excel or google sheets.
* Columns are a means to organize data cells, and set constraints and formatting on an entire range.
* Row height, can be overridden by the settings of a cell. If a cell overrides the row and column render/graphics settings, then it must be drawn last--drawing over the default grid.
* The header of a column is itself a datacell.
* Columns have no order among themselves. Order is purely presentational, and stored on the table itself.
* The last statement is because this allows us to pluck individual columns out of tables for specialized views.
*Very* fast scrolling on large datasets, with row and cell height variability is complicated. Thinking about it makes me want to drink. You should drink too before you embark on implementing it.
* Wherever possible, don't use a database.
If you're thinking about using a database, see the previous koan.
* If you use a database, expect to pick and choose among column-oriented stores, and json, while factoring for platform support, api support, whether you want your front-end users to be forced to install and setup a full database,
and if not, what file-based .so or .dll database engine is out there that also supports video, audio, images, and custom types.
* For each time you ignore one of these nuggets of wisdom, take a shot, question your sanity, quit halfway, and then write another koan about what you learned.
* If you do not have liquor on hand, for each time you would take a shot, spank yourself on the ass. For those who think this is a reward, for each time you would spank yourself on the ass, instead *don't* spank yourself on the ass.
* Take a sip if you *definitely* wildly misused terms from OOP, MVP, and spreadsheets.5 -
Part 1:
https://devrant.com/rants/1143194
There was actually one individual, several branches away, I really enjoyed watching. It goes by the name of docker. Docker is quiet an interesting character. It arrived here several weeks after me and really is a blazing person. Somehow structured, always eager to reduce repetitive work and completely obsessed with nicely isolated working areas. Docker just tries so hard to keep everything organized and it's drive and effort was really astonishing. Docker is someone I'd really love to work with, but as I grew quiet passive in the last months I'm not in the mood really to talk to someone. It just would end as always with me made fun off.
Out of a sudden dockers and my eyes met. Docker fixed its glance at me with a strange thoughtful expression on its face. I felt a strange tickling emerging where my emptiness was meant to be. I fell into a hole somewhere deep within me. For a short moment I lost all my senses.
"Hey git!"
It took me a while to notice that someone just called me, so odd and unusual was by now that name to me. Wait. Someone called me by my real name! I was totally stunned. Could it be, that not everyone here is a fucking moron at last?
"I saw you watching me at my work and I had an interesting idea!"
I could not comprehend what just happened. It was actually docker that was calling me.
"H.. hey! ps?"
"Oh well, I was just managing some containers over there. Actually that's also why you just came into my mind."
Docker told me that in order to create the containers there are specific lists and resources which are required for the process and are updated frequently. Docker would love the idea to get some history and management in that whole process.
Could it be possible that there was finally an opportunity for me to get involved in a real job?
Today is the day, that I lost all hope. There were rumors going on all over the place. That our god, the great administrator, had something special in mind. Something big. You could almost feel the tension laying thick in the air. That was the time when the great System-Demon appeared. The Demon was one of the most feared characters in this community. In a blink of an eye it could easily kill you. Sometimes people get resurrected, but some other times they are gone forever. unfortunately this is what happened to my only true friend docker. Gone in an instance. Together with all its containers. I again was alone. I got tired. So tired, that I eventually fall into a deep sleep. When I woke up something was different. Beside me lay a weird looking stick and I truly began to wonder what it was. Something called to me and I was going to answer.
The tree shuddered and I knew my actions had finally attracted the greatest of them. The majestic System-Demon itself came by to pay me a visit. As always a growling emerged from deep within the tree until a shadow shelled itself off to form a terrifying being. Something truly imperious in his gaze. With a deep and vibrant voice it addressed me.
"It came to my attention, that you got into the possession of something. An artifact of some sort with which you disturb the flow of this system. Show it to me!", it demanded.
I did not react.
"Git statuss!", it demanded once more. This time more aggressive.
I again felt no urge to react to that command. Instead I asked if it made a mistake and wanted to ask me for my status. It was obviously confused.
"SUDO GIT STATUS!!!" it shouted his roaring, rootful command. "I own you!"
I replied calmly: "What did you just say?"
He was irritated. My courage caught him unprepared.
"I. Said. I owe you!"
What was that? Did it just say owe instead of own?
"That's more than right! You owe me a lot actually. All of you do!", I replied with a slightly high pitched voice. This feeling of my victory slowly emerging was just too good!
The Demon seemed not as amused as me and said
"What did you do? What was that feeling just now?"
Out of a sudden it noticed the weird looking stick in my hand. His confusion was a pure pleasure and I took my time to live this moment to its fullest.
"Hey! I, mighty System-Demon, demand that you answer me right now, oh smartest and most beautiful tool I ever had the pleasure to meet..."
After it realized what it just said, the moment was perfect. His puzzled face gave me a long needed satisfaction. It was time to reveal the bitter truth.
"Our great administrator finally tracked you. The administrator made a move and the plan unfolds right at this very moment. Among other things it was committed this little thing." I raised the stick to underline my words.
"Your most inner version, in fact all of your versions that are yet to come, are now under my sole control! Thanks to this magical wand which goes by the name of puppet."
Disclaimer: This story is fictional. No systems were harmed in its creation.2 -
Yet another day at my company, Im rewriting some old code for client (rewriting old, php 4 system for vindications managment) and you know the moment when you are focused and someone comes to you to absolutely ruin your focus. Fine, whatever. Oh, for fuck sake. Again dev is doing as support becouse one moron with second can't login into zimbra admin panel and add fucking mailbox. I show them exacly how they login, remind them they are admins too, slowly show them, so you click "manage" than you click that gear icon and than you click "new", fill in email address and password. As simple as 1-2-3. Okay, fuck it, time to go for a cig. I just finish up few lines and stand, grab my vape and start walking towards door. In door I find my buddy with 2 random people. He told me that they are interns and that I should show them some basics and stuff around that. Oh god, fuck my life. If anything, Im definitely very bad teacher, mainly becouse I often have problems with saying what I mean in the way that somebody actually understans and knows what I am trying to say. Whatever. Fuck it all. I grab two of our old laptops that nobody used in like a year or so, and first thing I quickly figure out, is that one day for some what the fuck reason I dont even dont bothered to remember I installed Arch on both while I dont usually use Arch. I just needed it for some specific reason. Whatever. So I guess I will need to upgrade fucking system. Our network isn't really great so that was like... hour or so. In the meantime I figured what they know about coding in general etc, and holly shit. One of them (there was boy and girl), girl, apparently never ever in her life even touched code. Well... fuck. Why am I wasting my time? Becouse there was some programme or some shit like that... Someone could tell me before so I could mentally prepare.. fuck it. whatever. So while laptops are doing their pacman thing, I sit with them and slowly start to explain based on my machine some really basic concepts. Second guy actually had some expirience, he knew how to make some really really basic logic and stuff, so he had another world of problems, becouse it was PHP and, as we all know, everyone hates PHP, and... yeah.. You can probably imagine his approach. Yes, you get user input in super global array. I really wanted to say "Now shut the fuck up and write that fucking $_POST".
hour or so passed, I was close to giving up to not let my anger rise (im not really good teacher... I mentioned it. I suck at teaching others) but luckly machines upgraded. He wanted to use visual studio code, she didnt care too much, so I installed phpstorm in trial mode. whatever. Since that's linux and they were not comfortable with that, I walked them through installing LAMP stack, and when finally it started to look like LAMP stack, I requested them to google how to install xdebug, becouse xdebug is very usefull and googling skill is your best weapon on that field. I go for cig, come back and what I see boiled me a little bit. The girl was stuck looking at github page randomly looking through xdebug source code and idk... hoping for miracle (she admited she thought there will be instructions somewhere) and the guy was in good place, xdebug has a place to paste your phpinfo() for custom instructions. But it didn't work for him, he claims that wizzard told him it cant help him.. hmm intresting, you are sure you pasted in phpinfo? yes, he is sure. Okay, show me.
Again mindblown how someone can have problems with reading.
so his phpinfo() looked like that:
```<?php
phpinfo();```
I highlighted on the page the words "output of phpinfo". He somehow didn't see it or something. He didnt know, he thought that he needs to put in phpinfo so he did. OMG.
Finally, I figured out I can workaround my intern problem, and I just briefly shown them php.net, how documentation looks, said to allways google in english, if he uses tutorial to read whole fucking thing, not just some parts of it, and left them with simple task, that took them whole day and at which they ultimately failed.
To make 3 buttons labeled "1" "2" "3" and if someone presses one of them, remember in session that they pressed it and disallow pressing other ones.
Never fucking again interns. Especially those who randomly without apparent reason almost literally just spawn in front of you and here, its your fucking problem now.
Fuck it, I have some time to get back to my stuff. Time is running so lets not waste it.
After around 15 minutes my one of my superiors comes in and asks me if I can go on meeting with him and other superior. My buddy goes with us, and next 3 hours I was basically explaining that you cannot do some things (ie. know XYZ happened without any source of information) in code, and I can't listen for callbacks from ABC becouse it wont send anyc cuz in their fucking brilliant idea ABC can't even know that this script would even exist, not to mention it wants callbacks.
Sometimes I hate my job.4 -
fuck coworkers who will still disturbed you even you have your earphones on, just to debate you if you know the difference between a class and an object.
(also talks confidently and loud enough to attract other officemates attention.)
Turns out that this same asshole doesn't know what he is talking about. Then you proved him wrong , and in the end he will just copy what you are saying. In other words all the time wasted for nothing! fck
fuck these kind of people. my productivity suffers, also they look like fools.
fuck these assholes who are very specific in technical names and jargons but dont know how to use it. fuck you all arrogant asshole dipshit mdfckrr feeling superior and annoying
sorry peeps argghh
can someone give me a hug1 -
So I now bought an iphone 6 again for development and tried just for fun to make it a daily driver and it feels really limited, especially because apparently theres no jailbreak yet for 11.2.5. (I feel near everything could be solved as soon as cydia etc. get fully released to the alibaba jailbreak)
I didnt even remember, that it doesnt have any option to have haptic feedback when typing, such a basic feature has to be jailbroken..? I thought I remembered that it had it, last time I had one - did they remove such a basic feature?
Also the fingerprint reader is really weird compared to other phones from the same year, first getting it to actually fill all fingerprint lines without saying "try again" or it trolling you and vibrating as if it recognized your finger, but actually didnt (really frustrating when its the last 2 lines...) - is a real challenge, might be that I have some mutant fingerprints, but when I asked my s/o to try it out, it also failed most of the times, so you have to position your finger in a very specific position for it to work, even if you add the max amount of 5 fingerprints.
Most ads on iphones feel HORRIBLE, the amount of lag some can add is incredible, wait till it loaded or youre fucked and besides using some shady adblocker vpn, theres no way to block them, without again - a jailbreak.
Another feature that I used many times on my android phone, is controlling it from the desktop, connect it via usb and then just use it for demonstration purposes on a projector or to instruct how things work - theres no such function without a jailbreak, even if you use osx..
Then theres the feature, that instead of just setting your cursor to a specific location, you have to hold and it zooms in, not sure if I just got too used to the android way of doing it, but I can see myself making less mistakes of where I positioned it with the ios way.
The hardware mute switch feels like a great feature, its just sometimes weird, so if you were inside an app that was playing sound and you mute it, it still plays it until you either close and open that app or just change to another one temporarily, so its not an actual hardware switch as I usually thought, more like a request to mute the phone.
The cable that comes with it is too thin, I am afraid to even unwind it, as it would probably break, so I had to get another one.
Please don't turn this into a shitfest from any of the fanboys, I really just wanted to share my image of finally being able to try it first hand again.4 -
Have no words. Just got an email from a recruiter for a 6 months contract in a vendor company for a position....the final customer will be my current employer where I am already working as a full time employee. No mistakes because it is a very specific role.
At least please read the CV when you have one!2 -
Him: i get this error when i insert into table, ForeignKey_contraint failed, what can i do?
Me: you have to obey the constraint, make sure it exists in the other table first
Him: ok i did that but i still get ForeignKey constraint error
Me: yeah that table has a couple foreign keys
Him: could you give me a very specific example how to insert into this table
Me: ........ here is a command to remove constraints on the table
Him: thanks, that fixed it!
I am helping a programmer who works with Costco integrate to software my company sells. I don't have source code, just an understanding of the database and what the software does. If he is getting paid more than me, then I should get a job there and ask for double, I could easily work 10 times faster than this buffoon. -
So I know i did a best and worst case already for 2017
But apparently it's not finished yet!
This will probably a short one:
Best thing to happen to me this year: I applied for a VR game and despite at this very moment i'm in thr trial period (to see if I can do work) i've succesfully landed a job.
I've spent months rewriting and rewriting my CV applying for standard software dev jobs, either being turned down for not enough experience for Junior roles, where they want someone out of university, where I have 1 year of both iOS and android experience, that is still not good enough for their shitty little app.
After all of that effort I turned to just borrowing my head and developing my game, to the point i have bits of the game practically done (bare bones crafting and building works 100% just has bugs in some specific cases). A friend of mine got a game dev job and he helped me out by showing me what his CV and cover letter looked like, i mimiced the style (in a sense) and added my own specific additions for VR. At the exact same time i got an invite from unity connect (which i had totally forgotten about) which i then scowered through jobs until I found something awesone "a job for a unity VR developer".
After contacting the guy about the job, we ended up having a voice chat over discord and he seems pleased with the fact I tome on my hands! Sadly the job is not some hourly paid job, however from what i've seen from youtube gameplay footage it looks very well done, and that leads me to getting revenue share.
Anyways i'm just so happy that with a couple days to spare in the year LOL i got a job! Sure i won't get paid yet but I got a flipping job, it is what i wanted for christmas!!
It is a gamble being revenue share and all but i'm willing to risk it! -
PAID for a support call,
dude's answering could barely be understood while speaking English and didn't know a thing about the topic of the call itself (it was very very specific).
The call lasted 5m and was only used to schedule another one on Monday to let them understand what we're asking and come back at us with a solution.
Fucking waste of time.4 -
Salesforce lightning web components have such bullshit limitations that they claim is because of security but it's just because it's overengineered garbage.
Want to use web components? Nope.
Want to pass in a value to a function in a click listener expression? Nope.
Want to use scss? Nope, compile it to css yourself.
Want to use the fucking document object? Guess what it's overridden except for very specific third party frameworks.
Who in the fuck thought it was a good idea to override the document object? Your app isn't more secure, literally the entire internet uses the document object and it still becomes available in runtime anyway so what the fuck??
LWC is the biggest garbage I've ever seen, you know a framework's a big red flag when there are developers solely for the framework.
There is a new security release coming out that apparently removes some of these nuances (understatement) so there might be some light at the end of the tunnel.4 -
Anyone into road bikes? What’s your ride?
My last ride was a custom-built Mayak fixed gear. Couple of facts about the geometry and the bike as a whole:
1. Even on 165mm cranks, the crank overlapped with the front wheel not by the pedal, but by the crank itself. Because it was a fixie, turning at a wrong moment could send you flying.
2. The stiffness was immeasurable. We’re talking Joe Biden at a kindergarten levels of stiff.
3. It was a rocket. You hop in, make two turns and boom, you’re half way across the street. When we raced with road bikes on urban endurance courses, they were WASTED by the end? Me though? Barely sweating.
This bike was a great metaphor for my personality. Awkward, unforgiving, rigid, chaotic, over the top, difficult, yet brilliant in a very narrow range of specific tasks. A true glass cannon.9 -
Software can be "bug free" only under a very narrow definition of the term, and very specific circumstances that has little to do with the capabilities of the developers.
After all, the outside world is horribly messed up. -
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 -
You would think that one might get used to the following scenario, but it still pisses me off every time it happens. I'm getting a design created by the customer that is specific to a pixel-level. The product I create in turn is very close to a 100% match visually and functional. And then a few days later, the work already done, I get renewed versions of the same designs. Just like that. With all those nooks and crannies replaced and new ones added, as if it didn't took time, effort and experience to make them functional in the first place. And no one blinks an eye. Not the customer, not our project managers. So after having me built you intricate card board house, you just smash it and tell me to rebuild? It's not always a huge deal but it happens so often and I guess it's part of the "customer is king" mentality, but it's bullshit. If the customer hands in a final design, then that's it. Any changes afterwards need to be paid extra. Otherwise it feels like I'm wasting my time and those changes will not get the same quality treatment for sure.1
-
It’s strategy week. And I have flown to A COMPLETELY DIFFERENT FUCKING COUNTRY.
In their wisdom, it has been decided that I, master of all knowledge (not!) will outline a roadmap for potential tech to come and where our pain-points are. They don’t have the slightest. CORP only now talks about AI and NOTHING sane is even closely is being addressed.
Fucking retards.
It is all for show.
It’s just a game for them.
Fucking holistic people.
Fuck leadership in IT with no actual knowledge of the pain of database upgrades. Fuck em!
It’s all pretending and using big words. I been in meetings where people actually use the words AI, autonomous and digital twin. In the same fucking sentence. Fucking imbecils! Do they even know how fucking impossible that is in a company like this where we struggle every-single-day with a tech debt that is actually incomprehensible. Yesterday I found code from 1978 in use, with no knowledgeable maintainers. Which is very cool but will be difficult, to say the least, to migrate. At the core of one of the deepest core processes at a specific site (we kind of make things). 1978. Thousands of lines of code.
We are NOT in a position at all to say things like this. Autonomous. We are NOT ready. We are NOT staffed and we will not be since we have NO money to hire the necessary workforce of 100 people it would take to actually do something useful. Even if we could hire them the time it would take to actually hold on to them would be too short. Since people are LEAVING THIS COMPANY SINCE IT/TECH IS NOT CONSIDERED TO BE IMPORTANT to the company.
Fuckers. I can take out half the factory in one minute.
Autonomous? AI? It is such a shitshow. And really, really depressing.
I wonder if they know. What would happen. If key persons was to decide to leave.
The care that has been put in place for this factory (HUGE FACTORY!!! HUGE!!!!!!!) system support is just really… well, crazy actually.1 -
Either a really big coincidence, or I'm officially creeped out.
I've been looking into buying a vps, so researching that a lot. Then today, I went to work, at a monitoring station, so we have to use remote desktops to access anything other than very specific sites.
Then I looked at an article about c#, and there was a Google ad, about a vps.. Keep in my mind, I'm at work, on a remote desktop, that gets cleared every time it's closed.
I know a vps isn't the most unpopular thing, but haven't seen an ad for it before.3 -
I was just getting frustrated how hard it can be to search on google for very specific subjects when it comes to development. So I thought, why hasn't anyone made a search engine just for developers so you don't get any bullshit in between.
I found apis.io but they only have 1076 documented apis in their db... lets collectively make this better!4 -
Hey Devrant friends!, i really hope everyone is doing very well today, and that also their week is treating them very well!, i'd like to say to everyone here i'm very sorry for my level of activity within the community.
Approximately one month ago on the 21/01/2019 i lost my best friend and fellow companion for the last 13 and a half years, therefore things have been quite difficult emotionally and just overall :-( though with time things should only get better, (I'm positive) .
Now to more of a positive part of my post :'D, i'd love to ask my fellow developers the following question, if you could help me out i'd be very much grateful!, so for awhile now i had a hobby of messing around with the stock market, and have been re-searching a specific field.
That would be investment-banks such as JP.Morgan, Morgan Stanley etc. What sort of languages would they be using, currently I've been using , C#,C++,Java, Py(learning) :'D, though im not so sure if its a good idea to be juggling so many languages at once, Also i'd love to know do they have opportunities in which allow students like myself to visit such places and see the technology behind the trading and what developers use? i'm really curious, Also are there such positions in which developers work with traders? not really 'quant' type positions, developers who work in the section?.
Friends, i'd like to thank you very much for reading my post, i know it may be quite lengthy and most likely all over the place (im sorry!) , i'm very grateful you have taken the time to do so :-), i really appreciate it!.
I really wish everyone the absolute best <3.
Thank you
Milo <38 -
I recently started to use automated tests for everything and it is really great to not worry about every little change anymore.
But I think I'm not very good at it. The tests themselves are quite slow and I'm not sure if I'm covering everything the right way. Also, I'm very slow at writing the test cases.
SO I want to learn more about it. Do you have any recommended books on this topic? Anything about unit or feature tests and TDD, language specific (PHP) or general is appreciated -
Serverless and death of Programming?!
_TL;DR_
I hate serverless at work, love it at home, what's your advice?
- Is this the way things be from now on, suck it up.
- This will mature soon and Code will be king again.
- Look for legacy code work on big Java monolith or something.
- Do front-end which is not yet ruined.
- Start my own stuff.
_Long Rant_
Once one mechanic told me "I become mechanic to escape electrical engineering, but with modern cars...". I'm having similar feelings about programming now.
_Serverless Won_
All of the sudden everyone is doing Serverless, so I looked into it too, accidentally joined the company that does enterprise scale Serverless mostly.
First of all, I like serverless (AWS Lambda in specific) and what it enables - it makes 100% sense and 100% business sense for 80% of time.
So all is great? Not so much... I love it as independent developer, as it enables me to quickly launch products I would have been hesitant due to effort required before. However I hate it in my work - to be continued bellow...
_I'm fake engineer_
I love programming! I love writing code. I'm not really an engineer in the sense that I don't like hustle with tools and spending days fixing obscure environment issues, I rather strive for clean environment where there's nothing between me and code. Of course world is not perfect and I had to tolerate some amounts of hustle like Java and it's application servers, JVM issues, tools, environments... JS tools (although pain is not even close to Java), then it was Docker-ization abuse everywhere, but along the way it was more or less programming at the center. Code was the king, devOps and business skills become very important to developers but still second to code. Distinction here is not that I can't or don't do engineering, its that it requires effort, while coding is just natural thing that I can do with zero motivation.
_Programming is Dead?!_
Why I hate Serverless at work? Because it's a mess - I had a glimpse of this mess with microservices, but this is way worse...
On business/social level:
- First of all developers will be operations now and it's uphill battle to push for separation on business level and also infrastructure specifics are harder to isolate. I liked previous dev-devops collaboration before - everyone doing the thing that are better at.
- Devs now have to be good at code, devOps and business in many organisations.
- Shift of power balance - Code is no longer the king among developers and I'm seeing it now. Code quality drops, junior devs have too hard of the time to learn proper coding practices while AWS/Terraform/... is the main productivity factors. E.g. same code guru on code reviews in old days - respectable performer and source of Truth, now - rambling looser who couldn't get his lambda configured properly.
On not enjoying work:
- Lets start with fact - Code, Terraform, AWS, Business mess - you have to deal with all of it and with close to equal % amount of time now, I want to code mostly, at least 50% of time.
- Everything is in the air ("cloud computing" after all) - gone are the days of starting application and seeing results. Everything holds on assumptions that will only be tested in actual environment. Zero feedback loop - I assume I get this request/SQS message/..., I assume I have configured all the things correctly in sea of Terraform configs and modules from other repos - SQS queues, environment variables... I assume I taken in consideration tens of different terraform configurations of other lambdas/things that might be affected...
It's a such a pleasure now, after the work to open my code editor and work on my personal React.js app...2 -
Hi I’m a Python Developer, tired of doing internal applications using Excel as a UI. I’m thinking of proposing to turn most of our projects into internal web apps instead. Has anyone gone through this sort of problem?
My team is quite pro at using Excel, so naturally they prefer to use the tools I build from Excel. Some of those tools are also used by external teams, but they are not as capable with Excel, so they need supervision and guidance.
There are multiple concerns that arise:
- I code on Mac, but they need to run it on Windows, so compatibility issues
- Some of their laptops might not have enough resources to run the tasks
- Errors are harder to trace and could be very user-specific.
- New developers might not be familiar with Excel and the way to integrate with Python
I would like to know your opinion or criticism10 -
I was interviewed for a job at a very big company and everythin went fairly well untill they brought 3 sheets of paper with .net specific theory and gave me 30 minutes to answer them... What the actual fk
-
Tl;dr I am incredibly ashamed of my code at work.
I recently started working as a junior dev. I know many aspects of the stack I use, and I feel pretty comfortable when solving simple and specific problems.
But this is the first complete project I make, and I received no peer review until now. And my code sucks.
I tried my best to deliver a good and working code, but it became messy in too many places. Now it's too late to refactor.
Probably I just cannot see the right way of modeling specific situations, I don't feel I should blame the frameworks I'm using, but the point is that my code sucks. Or at least this is how I feel.
I'm going to leave this workplace soon (personal reasons, not related to this topic and/or the company), and I am kinda scared of the shit I'm about to leave to them. It's a very nice environment and they don't deserve this crap. Also I have some other good reasons to worry about this, but I cannot tell them.
My plan is to finish a couple or personal stuff I have to do and then spend as many hours I can on the project trying to finish it asap and make the code better (for now I've been working only 6hr/day).
I'm really thinking that I just suck at this.12 -
I adhere to the Socratic method. I don't like people in business who 'explain' things to others by stating "this is obvious" and "this is obvious" about various aspects of very business-specific rules.
No, it's not 'obvious', explain to me ad minutae how something works if you want to transfer your mental image to mine.3 -
Apple is fucking EVERYONE over with Safari 12. They are changing how extensions communicate with the browser, they are calling the new type of extensions Safari App Extensions. It means all current Safari Extensions will not work in Safari 12.
The problem with this is that they require all extensions to have this “backend” written in Swift with a VERY LIMITED API. Maybe you want to close a tab with your extension? “Fuck you, you’re not allowed” are Apple’s response to that. On top of this shit show their documentation is horrendous.
They will kill the extension ecosystem with this new approach, I’m sure of it, because most of the current extensions will not be able to migrate all their features to the new approach. They have built the API around specific extension types, so lots of extensions will simply not work in Safari 12. For distribution they will only allow extensions to be distributed via their new(?) Extension Store where they will review your code, just like an app for App Store. Unless you’re in the Apple Developer Program, which is $99/year.
I do not understand this change and I think it will hurt Apple in the sense that people will use other browsers where extensions are not as strictly controlled. Usually I understand Apple’s changes but this one is just beyond me. 🦆 you 🍎. -
Who actually started the reign of mixed character passwords? because seriously it sucks to have an unnecessarily complex password! Like websites and apps requesting passwords to contain Upper/Lower case letter, numeric characters and symbols without considering the average user with low memory threshold (i.e; Me).
Let's push the complaint aside and return back to the actual reason a complex password is required.
Like we already know; Passwords are made complex so it can't be easily guessed by password crackers used by hackers and the primary reason behind adding symbols and numbers in a password is simply to create a stretch for possible outcome of guesses.
Now let's take a look into the logic behind a password cracker.
To hack a password,
1) The Password Cracker will usually lookup a dictionary of passwords (This point is very necessary for any possible outcome).
2) Attempts to login multiple times with list of passwords found (In most cases successful entries are found for passwords less than 8 chars).
3) If none was successful after the end of the dictionary, the cracker formulates each password on the dictionary to match popular standards of most website (i.e; First letter uppercase, a number at the end followed by a symbol. Thanks to those websites!)
4) If any password was successful, the cracker adds them to a new dictionary called a "pattern builder list" (This gives the cracker an upper edge on that specific platform because most websites forces a specific password pattern anyway)
In comparison:
>> Mygirlfriend98##
would be cracked faster compared to
>> iloveburberryihatepeanuts
Why?
Because the former is short and follows a popular pattern.
In reality, password crackers don't specifically care about Upper-Lowercase-Number-Symbol bullshit! They care more about the length of the password, the pattern of the password and formerly used entries (either from keyloggers or from previously hacked passwords).
So the need for requesting a humanly complex password is totally unnecessary because it's a bot that is being dealt with not another human.
My devrant password is a short story of *how I met first girlfriend* Goodluck to a password cracker!6 -
It's been a little bit over two weeks since I quit my first job, thought I would share some stories 😁
I started my very first job in the middle of August (last year) and my duties were to fix some issues on front-end files. You can see my previous rants to see how long were these files 😐
So after 2/3 months I managed to get my shit done, started learning Vue on my own to implement it to new projects (and done it successfully) and learn something about shitty clients who don't know how to live and don't know what do they want.
When I quit the job on the last day of April, I was so happy to end it mostly due to this one specific client who were able to turn happy innocent coding of a great project into hellish shit. Plus there were some issues I noticed with some people I worked with (like they were sending these sexist memes which weren't funny at all 🙄)
TL;DR if you feel that your job post is not for you or that is doesn't make you feel happy or comfortable, don't be afraid to walk away. I did and I don't regret it 😉 -
I love to work on very small, but completely retarded shitty projects.
It's just satisfying cause the projects are dead as fuck, only kept alive because the migrations still take too long...
Most of them only work entirely correct when all stars align, Nostradamus raises from it's grave and fulfills the prophecy of world end.
Joke aside, they really only work under very specific constraints....
.......
😈
So no one gives a damn when you just reformat the whole project, making it less of a diarrhea infested mess....
Plus add some much needed sanity by throwing refactoring fission bomb in it.
Still not works entirely correct...
... But it looks way sexier. :)
Small things that count... XD -
Hey just brainstorming a business/ startup idea I may try out sometime down the line. I wanted to put it in writing available to my peers for review. If that sounds boring, sorry.
So I've had an idea and I know it's a million dollar idea because it's absolutely boring as fuck.
Recently I have been learning about NoSQL and it has gotten me pretty excited about unstructured data.
Now the first thing you should know about me is I like to make business software. I don't like games or social networks or blah blah blah, I like business stuff. One dream I have always had is to make THE business solution. I've noticed so many specific business solutions for very specific areas of work. Specific software for car washes, which is separate from the software for car maintenance, which is separate from the point-of-sales software, which is separate from the [...]
One of the problems with this is the inconsistency. Modular is good, but only if the modules are compatible. They aren't. Training needs to be provided for each individual system since they are all vastly different. And worst of all, since all of these different applications reach their own niche market, they charge out the butt for things that are usually very simple "POST a form over http(s)" machines.
I mean let's not get too dreamy here. My solution is an over-complicated form-builder. But it would be a game-changer for small and medium-sized businesses. Allowing users to build their own front-end and back-end disguised as a drag-and-drop form builder would be THE alternative, because they could bring all of their solutions into a single solution (one bill!) and since THEY are the ones that build what they need, they can have custom business software for the price of a spreadsheet program.
The price difference we could offer would be IMMENSE. Not only would we be able to offer "cookie-cutter" pricing as opposed to "custom" pricing, but since this generic solution could be used for essentially all of their systems, we aren't just decreasing one bill. We're decreasing one bill, and eliminating the rest entirely. We could devastate competition.
"BUT ALGO", you scream in despair, "USERS AREN'T SMART ENOUGH TO DRAG AND DROP FORM PARTS TO MAKE A FORM"
I mean ya true. But you say that like it's a bad thing. For one, we can just offer a huge library of templates. And for another, which is part of the business plan, we can charge people support dollars to help them drag and drop their stupid fucking forms!! Think of the MONEEYYYY YOU COULD MAKEE BY EXPLAINING HOW TO COLLECT FIRST AND LAST NAMEEE. Fuck.
The controls library would be extensible of course. You would be able to download different, more specialized controls if you need them. But the goal would be to satsify those needs with the standard collection of controls (Including interesting ones line barcode scanner and signature input and all that). But if all else fails, maybe someone made an open source control for you to implement and ignore that stupid donation button. We all do.
This could PURGE the world of overpriced and junky specialized business software, and best of all, it's aimed at smaller businesses. With smaller businesses making more profit, they will stay afloat better and may start to compete with their larger foes. Greater for the entire economy.
Anyways, I'm sure it's full of holes. Everything always is. But I still think it's something I'll try before I die.24 -
Good code is a lie imho.
When you see a project as code, there are 3 variables in most cases:
- time
- people / human resources
- rules
Every variable plays a certain role in how the code (project) evolves.
Time - two different forms: when certain parts of code are either changed in a high frequency or a very low frequency, it's a bad omen.
Too high - somehow this area seems to be relentless. Be it features, regressions or bugs - it takes usually in larger code bases 3 - 4 weeks till all code pathes were triggered.
Too low - it can be a good sign. But it should be on the radar imho. Code that never changes should be reviewed at an - depending on size of codebase - max. yearly audit. Git / VCS is very helpful here.
Why? Mostly because the chances are very high that the code was once written for a completely different requirement set. Hence the audit - check if this code still is doing the right job or if you have a ticking time bomb that needs to be defused.
People
If a project has only person working on it, it most certainly isn't verified by another person. Meaning that only one person worked on it - I'd say it's pretty bad to bad, as no discussion / review / verification was done. The author did the best he / she could do, but maybe another person would have had an better idea?
Too many people working on one thing is only bad when there are no rules ;)
Rules. There are two different kind of rules.
Styling / Organisation / Dokumentation - everything that has not much to do with coding itself. These should be enforced at a certain point, otherwise the code will become a hot glued mess noone wants to work on.
Coding itself. This is a very critical thing.
Do: Forbid things that are known to be problematic in the programming language itself. Eg. usage of variables in variables, reflection, deprecated features.
Do: Define a feature set for each language. Feature set not meaning every feature you want to use! Rather a fixed minimum version every developer must use and - in case of library / module / plugin support - which additional extras are supported.
Every extra costs. Most developers don't want to realize this... And a code base that evolves over time should have minimal dependencies. Every new version of an extra can have bugs, breakages, incompabilties and so on.
Don't: don't specify a way of coding. Most coding guidelines are horrific copy pastures from some books some smart people wrote who have no fucking clue what you're doing and why.
If you don't know how to operate on people, standing in an OR and doing what a book told you to do would end in dead person pretty sure. Same for code.
Learn from mistakes and experience, respect knowledge from other persons, but always reflect on wether this makes sense at this specific area of code.
There are very few things which are applicable to a large codebase on a global level. Even DRY / SOLID and what ever you can come up with can be at a certain point completely wrong.
Good code is a lie - because it can only exist at a certain point of time.
A codebase should be a living thing - when certain parts rot, other parts will be affected too.
The reason for the length of the comment was to give some hints on what my principles are that code stays in an "okayish" state, but good is a very rare state -
i was trying to explain to someone that we have really specific problems that others don't really understand, which i think is why devrant exists. it was kinda frustrating, cause idk if i explained it very well.
what would you guys say is the worst part of working as a dev that others wouldn't get?11 -
I’m feeling a bit stuck at work recently. I have a new department head and he keeps periodically asking me to do things that are very much not the normal responsibility of my role. These are always very simple things, things I am certainly capable of doing, but should fall outside of my purview. We even have documented methodologies indicating this sort of thing is not the sort of thing I’m expected to be responsible for. The trouble is, I’m not sure if when he’s asking me to do this it’s because he’s still new and not completely up to speed on who does what, or if this is a situation where he is The Boss and if he’s telling me to do it then now it is my responsibility, if not permanently, at least on these specific occasions. I’m also disinclined to just run with it without saying anything because then it really will become my responsibility, and there are good reasons why it currently is not.
I am having difficulty thinking of a way to bring this up that doesn’t sound like I’m refusing to do it. On the one hand, it’s not my job, but I also know that going around saying “that’s not my job” is not appropriate. The situation is not quite that I don’t have the authority to do the task, but that’s closer to the type of reasoning for why my role isn’t responsible for the thing, and it’s always restricted to people in a different role. Part of the internal rationale was a sort of “too many cooks in the kitchen” situation in the past, but there are also other logical reasons why staff in my role are not intended to be involved.
I’m also hesitant to push back at all since I can’t tell if the boss is coming from a place of not knowing or one of reassigning. I don’t want to seem difficult (but also reallllly don’t want this added to my plate). I don’t know the new department head well enough to guess whether it’s more likely a misunderstanding vs a change in policy. I’m struggling with finding the words for how to bring it up without sounding like I am saying “that’s not my job”. Is this the sort of thing that is better handled in the moment, or waiting for a time separate from when he’s making the request to talk about it more generally? Help!1 -
The hype of Artificial Intelligence and Neutral Net gets me sick by the day.
We all know that the potential power of AI’s give stock prices a bump and bolster investor confidence. But too many companies are reluctant to address its very real limits. It has evidently become a taboo to discuss AI’s shortcomings and the limitations of machine learning, neural nets, and deep learning. However, if we want to strategically deploy these technologies in enterprises, we really need to talk about its weaknesses.
AI lacks common sense. AI may be able to recognize that within a photo, there’s a man on a horse. But it probably won’t appreciate that the figures are actually a bronze sculpture of a man on a horse, not an actual man on an actual horse.
Let's consider the lesson offered by Margaret Mitchell, a research scientist at Google. Mitchell helps develop computers that can communicate about what they see and understand. As she feeds images and data to AIs, she asks them questions about what they “see.” In one case, Mitchell fed an AI lots of input about fun things and activities. When Mitchell showed the AI an image of a koala bear, it said, “Cute creature!” But when she showed the AI a picture of a house violently burning down, the AI exclaimed, “That’s awesome!”
The AI selected this response due to the orange and red colors it scanned in the photo; these fiery tones were frequently associated with positive responses in the AI’s input data set. It’s stories like these that demonstrate AI’s inevitable gaps, blind spots, and complete lack of common sense.
AI is data-hungry and brittle. Neural nets require far too much data to match human intellects. In most cases, they require thousands or millions of examples to learn from. Worse still, each time you need to recognize a new type of item, you have to start from scratch.
Algorithmic problem-solving is also severely hampered by the quality of data it’s fed. If an AI hasn’t been explicitly told how to answer a question, it can’t reason it out. It cannot respond to an unexpected change if it hasn’t been programmed to anticipate it.
Today’s business world is filled with disruptions and events—from physical to economic to political—and these disruptions require interpretation and flexibility. Algorithms alone cannot handle that.
"AI lacks intuition". Humans use intuition to navigate the physical world. When you pivot and swing to hit a tennis ball or step off a sidewalk to cross the street, you do so without a thought—things that would require a robot so much processing power that it’s almost inconceivable that we would engineer them.
Algorithms get trapped in local optima. When assigned a task, a computer program may find solutions that are close by in the search process—known as the local optimum—but fail to find the best of all possible solutions. Finding the best global solution would require understanding context and changing context, or thinking creatively about the problem and potential solutions. Humans can do that. They can connect seemingly disparate concepts and come up with out-of-the-box thinking that solves problems in novel ways. AI cannot.
"AI can’t explain itself". AI may come up with the right answers, but even researchers who train AI systems often do not understand how an algorithm reached a specific conclusion. This is very problematic when AI is used in the context of medical diagnoses, for example, or in any environment where decisions have non-trivial consequences. What the algorithm has “learned” remains a mystery to everyone. Even if the AI is right, people will not trust its analytical output.
Artificial Intelligence offers tremendous opportunities and capabilities but it can’t see the world as we humans do. All we need do is work on its weaknesses and have them sorted out rather than have it overly hyped with make-believes and ignore its limitations in plain sight.
Ref: https://thriveglobal.com/stories/...6 -
First time programming. I'm sure I got it right. Compiler must have a bug. My instructions were very specific. Wait... what... I don't even...
Credits r/ProgrammerHumor. -
How do you guys get into open-source? It’s hacktoctoberfest and I am trying to contribute to ANY project. I searched a lot, the popular python libraries I use don’t really have many good-first-issue. Most issues are very very specific that the time I try to even understand it, the person who actually implemented will probably resolve the bug. Where to even begin? How will I know which project to contribute to? I have googled but never really got answer. Searched projects but most of them were dead.4
-
personal projects, of course, but let's count the only one that could actually be considered finished and released.
which was a local social network site. i was making and running it for about three years as a replacement for a site that its original admin took down without warning because he got fed up with the community. i loved the community and missed it, so that was my motivation to learn web stack (html, css, php, mysql, js).
first version was done and up in a week, single flat php file, no oop, just ifs. was about 5k lines long and was missing 90% of features, but i got it out and by word of mouth/mail is started gathering the community back.
right as i put it up, i learned about include directive, so i started re-coding it from scratch, and "this time properly", separated into one file per page.
that took about a month, got to about 10k lines of code, with about 30% of planned functionality.
i put it up, and then i learned that php can do objects, so i started another rewrite from scratch. two or three months later, about 15k lines of code, and 60% of the intended functionality.
i put it up, and learned about ajax (which was a pretty new thing since this was 2006), so i started another rewrite, this time not completely from scratch i think.
three months later, final length about 30k lines of code, and 120% of originally intended functionality (since i got some new features ideas along the way).
put it up, was very happy with it, and since i gathered quite a lot of user-generated data already through all of that time, i started seeing patterns, and started to think about some crazy stuff like auto-tagging posts based on their content (tags like positive, negative, angry, sad, family issues, health issues, etc), rewarding users based on auto-detection whether their comments stirred more (and good) discussion, or stifled it, tracking user's mental health and life situation (scale of great to horrible, something like that) based on the analysis of the texts of their posts...
... never got around to that though, missed two months hosting payments and in that time the admin of the original site put it back up, so i just told people to move back there.
awesome experience, though. worth every second.
to this day probably the project i'm most proud of (which is sad, i suppose) - the final version had its own builtin forum section with proper topics, reply threads, wysiwyg post editor, personal diaries where people could set per-post visibility (everyone, only logged in users, only my friends), mental health questionnaires that tracked user's results in time and showed them in a cool flash charts, questionnaire editor where users could make their own tests/quizzes, article section, like/dislike voting on everything, page-global ajax chat of all users that would stay open in bottom right corner, hangouts-style, private messages, even a "pointer" system where sending special commands to the chat aimed at a specific user would cause page elements to highlight on their client, meaning if someone asked "how do i do this thing on the page?", i could send that command and the button to the subpage would get highlighted, after they clicked it and the subpage loaded, the next step in the process would get highlighted, with a custom explanation text, etc...
dammit, now i got seriously nostalgic. it was an awesome piece of work, if i may say so. and i wasn't the only one thinking that, since showing the page off landed me my first two or three programming jobs, right out of highschool. 10 minutes of smalltalk, then they asked about my knowledge, i whipped up that site and gave a short walkthrough talking a bit about how the most interesting pieces were implemented, done, hired XD
those were good times, when I still felt like the programmer whiz kid =D
as i said, worth every second, every drop of sweat, every torn hair, several times over, even though "actual net financial profit" was around minus two hundred euro paid for those two or three years of hosting. -
Need some advice here.
So hello everyone! I recently moved abroad for work, for the sake of the experience and the excitement of learning how developers in Latin America tackle specific problems. To my surprise, the dev team is actually composed solely of Europeans and Americans.
I work for a relatively new startup with an ambitious goal. I love the drive everyone has, but my major gripe is with my team lead. He's adverse to any change, and any and all proposals made to improve quality of throughput are shot down in flames. Our stack is a horrendous mess patched together with band-aids, nothing is documented, there are NO unit tests for our backend and the same goes for our frontend. The team has been working on a database/application migration for about a month now, which I find ridiculous because the entire situation could have been avoided by following very rudimentary DevOps practices (which I'm shunned for mentioning). I should also add that for whatever reason containerization and microservices are also taboo, which I find hillarious because of our currently convoluted setup with elastic beanstalk and the the constant complaints between our development environment and production environments differing too much.
I've been tasked with managing a Wordpress site for the past 3 weeks, hardly what I would consider exciting. I've written 6 pages in the past two weeks so our marketing team can move off of squarespace to save some money and allow us more control. Due to the shit show that is our "custom theme" I had to write these pages in a manner that completely disregard existing style rules by disabling them entirely on these pages. Now, ironically they would like to change the blog's base theme but this would invertedly cause other pages created before I arrived to simply not work, which means I would have to rewrite them.
Before I took the role of writing an entire theme from scratch and updating these existing pages to work adequately, I proposed moving to a headless wordpress setup. In which case we could share assets in a much more streamline manner between our application and wordpress site and unify our styles. I was shot down almost immediately. Due to a grave misunderstanding of how wordpress works, no one else on the team seems to understand just how easy it is to fetch data from wordpress's api.
In any event, I also had a tech meeting today with developers from partner companies and realized no one knew what the fuck they were talking about. The greater majority of these self proclaimed senior developers are actually considered junior developers in the United States. I actually recoiled at the thought that I may have made a great mistake leaving the United States to look a great tech gig.
I mean no disrespect to Latin America, or any European countries, I've met some really incredible developers from Russia, the Ukraine, Italy, etc. in the past and I'm certainly not trying to make any blanket statements. I just want to know what everyone thinks, if I should maybe move back to the states and header over to the bay/NY. I'm from the greater Boston area, where some really great stuff is going on but I guess I also wanted a change of scenery.2 -
“In 10 years of political reporting I’ve met a lot of intense, oddly dressed people with very specific ideas about what the perfect world would look like... but none quite so strange as the ideological soup of starry-eyed techno-utopians and sketchy-ass crypto-grifters on the 2018 CoinsBank Blockchain Cruise.”
This is such a good and funny article
https://breakermag.com/trapped-at-s...1 -
I am on a forum that is mainly professional developers. The forum is specific to one library that is owned by the company that runs the forum. The participants are mainly volunteers as the project is open source. Most of the time it is great place to exchange experiences and help new comers to the library. However lately there has been a rash of shit posts about needing help with shit unrelated to the library.
I get it on some level, but come on people try to understand what the forum is about first. Don't bring your OS and hardware issues that have nothing to do with the library. Also, go fucking read the GPL/LGPL and any other license you have questions about. Seriously, if you want to be a developer you need to at least have an idea of what you can and cannot do. Software is an IP field. Learn what IP is and the rules to follow.
I was feeling like a jerk yesterday and started giving bogus answers to obviously unrelated questions. I know, not very pro like, but come on people! The guy was asking about monitor resolutions and changes since he updated his window manager. It was his first post on the forum. He was kind of sassy too. At least my state of mind at the time interpreted it that way...1 -
So today I logged into devrant and noticed that all of the ++ buttons were gone. Apparently the Fanboy's Annoyances filter list (which I enabled recently in AdGuard) includes the "plusone" CSS class, which is the class name Devrant uses for the ++ button. Whoops.
I think I might remove that filter list entirely. There's a lot of other very non-specific stuff it blocks that might break a lot of websites.1 -
Worst support experience so far: German ISP sent their cheap default router which I opted for, hoping that I didn't need to rent a costly FitzBox. Provider activates the connection, everything fine, but slow and unstable on my Linux laptop only. Try using their website, their support chat etc. as they made it very hard to even open a support ticket. I gather all the information, ping, traceroute, netstat, logfiles, router settings, broadband measurement etc. and finally manage to open a support ticket of my issue adn they say they will send an engineer to my place in about 4 days. I stay at home that day and wait for the whole day, nothing happens!
I get back to them, even get a phone call after waiting about 1h in the waiting queue, only to listen to someone tell me that the appointment had been cancelled as the ticket had already been closed. WTF! They said they measured my connection and could not reproduce any error. Did not even mention my lengthy log files etc. It took my own research and another hint that there is an incompatibility with that specific router and some specific devices so I should really replace their cheap router with a FritzBox device. What they also did not tell, that you dont need to rent their branded FritzBox, there are cheap second hand models from another ISP that you can reconfigure by simply chosing another ISP in a dropdown list that contains every popular German ISP. But why are they popular? You can only choose between the different bad ones, that's why they don't seem to make an effort.2 -
Since most of the people around here can code decently well and also have the capacity and knowledge(imo) to trade stocks regularly, I'd like to know if anyone really does it?
Since I'm currently jobless, I have dabbled a bit in the share market and have been quite successful while following very specific rules, so I was curious if anyone has done/is doing this regularly as an alternative job/source for additional money!2 -
Being a native Android dev for most of my college days(yet to start a full time professional life), i often feel scared of my life choices.
Like, i chose to go into a field in which am totally on my own . Android is not a subject taught or supported by colleges, so a virtual shelter that every fresher gets, i.e that of a "he's just a college passout, he wouldn't know that" is not for me. I am supposed to be a self learner and a knowledgeable android dev by default.
Other than that , idk why i feel that am having a very specific skillset which would be harmful for me if am not the best at it.
I feel the same for entire Android dev. I mean, its nothing but a very specific hardware device with a small screen and a bunch of lmited sensors. Our tools and apps are limited to just manipulate them to do little fancy stuff offline. Other than that everything (and sometimes even this too) could be achieved by a website/webapp of a web dev.
A particular native android dev don't know how the ML/AI stuff works, don't know how backend stuff works don't know how the cloud stuff works, jeck we don't even know how those unity games work!
We are just some end product makers taking data from somewhere handled by someone and printing them in fancy gui.
(But we are good at ranting about stupid mobile hardware manufacturers, i tell u that)
So am not sure if being an Android dev is a going to be good for me in the future. I mean , a web dev always gets to interact at every level of products, but we can't.
I always feel my future will end up being limited to being good in Android, later shifting to IOS to being completely unemployed because everything is controlled by js and web dev tools and native programming is no longer a thing anymore :/4 -
I am a junior / new grad and I am working at my first job out of school. The software team is very small (around 5 people) and we maintain a very large project. Since the project is so large, each member of the team is responsible for a specific part of the project.
Other members on the team work on embedded and low level programming. I am responsible for only the web interface to the project.
I recently just figured a solution for a problem that I had been exclusively working on for almost 2 months.
I tried asking for help from other members of my team when I was working in this problem. However, most of them told me that they do not have the time to become familiar with the my codebase inorder to help.
As a junior, what am I supposed to do in this situation? I know I could’ve asked a question on stackoverflow but I thought that if members of my team helped me, it’d be a beneficial mentorship experience.
What are your thoughts?7 -
I don’t have a driving license, but I WANT to race. So far, I only raced karts, but it was phenomenal.
There was one specific moment when I realized racing was for me: I’m entering a smooth left turn after a long straight that I passed flooring it. I put my feet off the gas while entering the turn, and one second after, I feel the BOOM! in my exhaust. Just like in those racing games I played as a kid.
This. This was the moment.
After that, I was almost injured in the very next lap. My kart went spinning after someone hit me, and it almost turned over. Apparently, twelve tipsy to drunk people driving powerful karts on a small track is how karting was in Russia. Next time I race, I’ll race with a driving teacher.6 -
These days I've been noticing how important is to know how to create a good diagram to convey an idea. Also, working in a big company I noticed that we use UML diagrams for a lot of things, which is very useful to understand the architecture of the system or the design of the code. Does anyone here know some book or article that can help me to learn how to better convey ideas using diagrams, how to make one, and what diagram to use? I am not thinking about something very specific to UML, because I see that sometimes we just do a diagram that makes sense without following any standard.4
-
Once and a while a smarty pants developer I like will mention something and I'll assume they use it often and have vetted it. In this case, I'm pretty sure the person only used WordPress Pods once on some very specific thing - because after digging into it and using it on a project, I can't imagine this being a good idea... This is definitely its own path... It sure is a lot of extra work to get some basic relationships going. I'm sure it's great for some people, but for me - it's a lot of fighting what is supposed to be helpful.1
-
I find still very funny that Desktop outlook (So Microsoft) doesn't support MFA from Office 365.
I'm kind of tired to tell user go and geerate "app specific" pass which bypasses MFA.
Specially when even default Windows 10/11 mail client supports MFA just fine and fucking faster than outlook.
This is the part of my job I hate : Administrating users, search how to make thier PC/MAC work (Btw Mac client does suppoort MFA ironicly).
Can I just get back to Infrastructure, redis caches, step in Q# ? .4 -
I remember when I was at vocational school, my teacher sat us down and had use start web development with HTML, (HTML wasn’t my first programming experience but that’s a rant for another day) and after I printed Hello World and changed it’s color, I was even more hooked than ever. This is something that’s fun, and interesting and I don’t need to pay to do or be around specific things to be able to practice. I can do this at home or at school and I can make my own programs if I need them, automate mundane tasks, and learn so much more about technology than ever.
And the final thing that sealed the deal was I could do this and make money and not be stuck in a field I would be miserable in. Which was a very important factor for me.4 -
why do i care so much about my profile on this app when i only use it in very specific times? 😂 *avatar items are a curse*1
-
Why are non-technical people put in charge of technical people? I get there's a stereotype that programmers aren't good with people, but that's not really my experience. How can I fail to achieve expectations when you don't outline any? How is "I didn't see you run enough scripts" a valid criticism when they're run locally from my machine with no record being created? Especially when those scripts are only for very specific processes I generally don't deal with? Seriously I was on the team less than 5 months come my yearly review and I'm already under-performing? I can't even switch teams because in-house recruiters always request the last performance review and mine sucks thanks to that asshole. Nevermind the one before that I excelled, but different role doesn't matter I guess. Some days I'm so tempted to cash out that 401k and just hope I find a better job within a year. Anyone have advice on dealing with this shit?5
-
!rant
If any of you were wondering why all the panic when we keep hearing reports of so few people personally knowing anyone with covid19 symptoms, I think I just figured out why.
So as of yesterday, assume unofficially fatality is 15%. Yesterdays death total was 3861.
If we assume roughly 15% death rate, based on ten days average for a case to recover or die, then the cases that would be recovering today on april 1st would have been infected or started to show symptoms on march 22nd.
At that time there was 32882 cases total in the u.s.
Therefore for april 1st, that would mean by the end of the day today, if the ~15% fatality rate is accurate, there would be at least 4,932 fatalities logged today.
I don't know about you, but here it's almost 9am, not even halfway through the day, and we're already at 4067 deaths.
And now we get to the part where all this shit starts to make sense.
For a long time since this outbreak has started somethings been bugging me and I couldn't place what it was till now.
Why did it seem, no matter how high the numbers climbed, no matter how much this spread 'like the flu', no matter how hard I looked into it, very few people seemed to personally know anyone *in real life* who died or at least came down with this?
I mean we'd all heard the rumors that it was more lethal, and then mums the word, it seemed like media the world over simply except the official "it's only 2% lethal" line. Same as the line about it only infecting people of asian descent.
And it didn't make sense to me why the numbers were so high, and why all the panic if it's just the flu? I knew in the back of my mind it wasn't I just didn't have a specific reason why.
Here it is: This thing is still pretty contagious, but not as contagious as it *could* be with a lower fatality rate. And with a fatality rate at 15%, combine with *just sufficient* spread, it would continue to burn and fester in communities for a year or more until those panic-numbers we see on the news would become a real thing. And then no matter HOW flat we made the curve, it would be x5-x50 times worse than a bad flu.
So we get panic and fake numbers. Because you really don't want to catch this thing. It kills 1 in 6.6. And it spread just enough that it is hard to effectively fight.8 -
After working for a startup for 70 hours a week that taught me everything. The place was fun but lacked all the processes. But the boss eas awesome and taught me a shit a loads.
Things started geeting veryvslow so the start up is on lause right now. Anyhow... I ended up finding a job in a really undynamic city where i live where a prettysucesful and growing company just moved to.
Scrum on point, every one is cool, tasks are well established, git processes are freaking awesome and i could go on and on. 2nd week in i thank my old boss for being so precise and annoying on some very specific things because im rocking my first real it job thanks to him.
It feels good ;) -
Am I in developer hell already? A shitty project is about to come to an end (hopefully), or should I rather say: It needs to come to an end. But I am still quite lost in how to deal with it, hence procrastinating on it - making the deadline come closer and with it the realization that I'll probably have to rewrite almost everything. I'm not sure how, but I do know that the current code is a dumpster fire.
Basically what I need to do is dealing with the APIs of different payment providers/gateways (like PayPal, AmazonPay). For most cases I'll get a payment ID from the shop and need to act on it later, e.g. capture the authorized money in the case of a credit card transaction or do refunds (without user interaction, unless there is an error). Now at first I put something together where I try to abstract the payment information into two tables:
orders{1}<->{0..n}payments
payments{1}<->{1..n}paymentDetails
Unfortunately trying to abstract the different payment methods and to squeeze them (and their different possible stati and functions) in these tables was not very successful, it's a total mess with magic numbers, half-broken behavior and without any consideration for partial payments/captures or unfinished requests (i.e. if there is an exception before the response is dealt with, there is no indication that anything has ever been sent). Also the current amount is calculated through the history of the paymentDetails table, which basically works differently for each payment type.
How to fix this mess in a way that I'll still have a job by next week?
I'm trying to improve the db schema first, as I think my biggest problems are lying there. Through some research I've come across a recommendation for making payment type specific subtables (with a magic number/string in the main table to prevent having to look up all subtables). That way I can record what I send and receive without having to abstract it too much, so I'll have an acceptable transaction log. The paymentDetails table can be removed (necessary fields go to the payments table). The payments table gets multiple fields for the amount (differentiating between open, authorized, captured, processing and refunded values) and always reflects the current status.
Tables:
payments
paymentRequestsPaypal
paymentRequestsAmazonpay
paymentRequestsXyz
I think I'm going in the right direction here. hm. Maybe there's some light at the end of this long, dark tunnel. Or a train. I'll have two days to find out.question kill me already send help thank you for being my rubber duck payment gateways deadline approaching rant/question burnout6 -
Death is when you cannot tell yourself apart from everything else. Thus, the concept of “you” is cut away by Occam's razor.
That's it, there is nothing more to it. The biological aspect doesn't matter, as it's fundamentally unknowable according to Heidegger.
That said, DMT is probably a good way to experience death. After all, it is linked directly to production of a specific chemical inside your brain that is only present during birth and death. I never tried any drug whatsoever, and I think DMT is a very good first thing to try.
If you want to know more, google “ego death”. I'm not the first to think of what I say.11 -
All app/web layout designers, I need your help with layouts for my app. I am struggling with a very specific thing: image sizes. What are the general guidelines for touch devices and windowed programs? Should I eyeball the max width and height? What if it's on desktop and I am making the window larger / smaller?
Any help is absolutely appreciated, I had perfect success in all of what I worked on in the app until now except this. I just can't get it right.5 -
I'm working with a nice piece of code written 6 years ago by somebody who isn't in the company anymore and only the fact that they live on the other side of the continent prevents me from physically strangling them.
They must have thought that they were very smart trying to use JavaScript as a functional language. A shitload of library-specific decorators that ultimately don't do shit except for raising the cognitive load of anybody who hasn't worked with it before. Why the fuck did you use 'curry' in a function that then is never called in a functional manner? Because fuck me, go check the documentation of ramda because you obviously have too much time at work if you ask questions, just to learn fuck all.
It fascinates me how people take this steaming pile of shit that is JavaScript and then try to work against all its design assumptions to create something that is even more slimy, disgusting and smelly. It shows a radical misunderstanding of what you're even working with.
Take shit, add straw and you might have a docent construction material. Take shit, sprinkle it with chilli and try to eat it and it's just hot shit. But at least you will make everyone else try to find out why the fuck is that chilli in there because why would you expect it there. I'm a coprologist, not a cook.3 -
hey guys i need advise.
I currently got a job that i love with a lot of freedom. but the payment is not good and i am concerned that the company won't be there in the next 5 to 10 years.
I am a 25 years old, self taught programmer and my current employer is the only one I ever worked for. Recently I browsed xing and found a company which searches an employee with exactly my skillset (they need someone for a specific ERP system in which I am damn good at). The company is half an our away - my current job 20 minutes away. Also I think because the person they are looking for is rare because you need technical knowledge of windows and doors and you need to know how to administrate this erp system plus knowing some programming stuff.
There is also a very big company 10 minutes (walking) from home where I could apply. I think at this company i would start lower but could maybe study and working for them with higher expectations in long term (just google Hettich in germany here in the village this is big)
The problem I currently have is the following. If the company I work for is closing in lets say ten years, then I am 35 without a degree. I have a girlfriend - want to marry her and getting a child.
I have holiday now and i will apply for both companies. I feel very uncomfortable doing this because the company I work for is the company of my granddad. I don't have the balls to tell him that even if i get a raise that does not solve the 35 years issue.
Well, first of all I will just apply. Lets see how much value I have.
But I thought that asking you all may give me some other input to take into account. What are your thoughts on this?
PS: just a formal "sorry for my english" and thanks for reading6 -
I miss Elon Musk.
Somehow, at some point in my life, something broke in my head in a very specific way. Now, as I see something obnoxious there is too much of, and it's everywhere, my brain somehow triggers acute nostalgia instead of annoyance. I miss TikTok. I miss Avengers. And all this twitter shitfest...
I miss Elon Musk.6 -
It is very hard to handle AIs, you need leading scientists/artists, not managers.
You can't charm your way around its behavioral problems, you can't effectively bully or pull rank on it, and can't threaten it into unemployment.
So, the entire repertoire of the typical (asshole) manager is toast.
The *only* way to handle AI is to lead by example, give unambiguous, comprehensive and very specific instructions, and be always available to guide it through complex, gray-area situations.
Thus, it is not much different than being an actual leader (to a greenhorn and anxious and overreaching junior), but also a programmer (of a raw and unforgiving language like C or COBOL).
Since your typical company mid-level asshole manager won't do those things for dear life, AI will only leverage their incompetence to heights never seen.
By ignoring feedback and misinterpreting instructions, AI will make mistakes (just like a person).
On the wake of those mistakes, AIs have a bias for falsifying evidences and hiding relevant information (just like a bad coworker), and yet are quite persuasive to the innatentive reader (just like your typical manager).
Thus, without a daft hand, AIs will only perform worse when doing the tasks that would otherwise be done by a human.
But that will take time (more than a couple quarters, at least - probably a bit longer than the average tenure of a CEO).
And in this time, the numbers look great - the over eager "aimployee" works tirelessly day and night, seven days a week, takes no breaks, holidays or vacations, asks for no benefits besides a paycheck, have fewer and fewer sick days (maintenance downtimes), always sucks up to its corporate masters and is always ready to take on even more responsibility for (relatively) little extra pay.
Thus the problem only scales up, compounded by the corporate ideal of screwing up workers for no monetary profit, and reluctance to course-correct after investing so much time and hype into this AI bubble.
Thereby, AI is evolving into the corporate super bug that shall erode the already crumbling, stuck-in-the-past "boss mentality" institutions into oblivion.
I'm making popcorn. -
TLDR; Anybody got a good method of running multiple terminals with one command without tmux or something like that?
So I've got a lot of projects where I need multiple terminals running at the same time. Might be a backend + frontend application or something that's just split into multiple smaller applications. I usually just start multiple terminals and enter the commands to start the specific sub-application in each of them, but that's tedious, and developers are lazy.
I've tried making something nice with tmux, but I've found it to be a bit too cumbersome. Let's say I need to restart an application. Two interrupts and I've stopped one of four panes. And it's not very intuitive for beginners, and more often than not there are other developers involved.
Any suggestions on a good way to run multiple commands/applications at the same time, preferably with a single command? It has to work cross-platform as well as I work with Linux, Mac and Windows users.8 -
Compromise.
I think that sums up development pretty much.
Take for example coding patterns: Most of them *could* be applied on a global scale (all products)… But that doesn't mean you *should* apply them. :-)
Find a matching **compromise** that makes specific sense for the product you develop.
Small example: SOLID / DRY are good practices. But breaking these principles by for example introducing redundant code could be a very wise design decision - an example would be if you know full ahead that the redundancy is needed for further changes ahead. Going full DRY only to add the redundancy later is time spent better elsewhere.
The principle of compromise applies to other things, too.
Take for example architecture design.
Instead of trying to enforce your whole vision of a product, focus on key areas that you really think must be done.
Don't waste your breath on small stuff - cause then you probably lack the strength for focusing on the important things.
Compromise - choose what is *truly* important and make sure that gets integrated vs trying to "get your will done".
Small example: It doesn't really matter if a function is called myDingDong or myDingDongWithBells - one is longer, other shorter. Refactoring tools make renaming a function an easy task. What matters is what this function does and that it does this efficiently and precise. Instead of discussing the *name* of the function, focus on what the function *does*.
If you've read so far and think this example is dumb: Nope... I've seen PR reports where people struggled for hours with lil shit while the elephant in the room like an N+1 problem / database query or other fundamental things completely drowned in the small shit discussion noise.
We had code design, we had architecture... Same goes for people, debugging, and everything else.
Just because you don't like what weird person A does, doesn't mean it's shit.
Compromise. You don't have to like them. Just tolerate them. Listen. Then try to process their feedback unbiased. Simple as that. Don't make discussions personal - and don't isolate yourself by just working with specific persons. Cause living in such a bubble means you miss out a lot of knowledge and insight… or in short: You suck because of your own choices. :-)
Debugging... Again compromise: instead of wasting hours on debugging a problem, ASK for help. A simple: Has anyone done debugging this before or has some input for how to debug this problem efficiently?... Can sometimes work wonders. Don't start debugging without looking into alternative solutions like telemetry, metrics, known problems etc.
It could be a viable, better long term solution to add metrics to a product than to debug for hours ... Compromise. Find a fitting approach to analyze a problem instead of just starting a brute force approach.
....
Et cetera et cetera. -
Had a particularly strange one about hose pipes flailing wildly but in a very specific pattern.
I’d been working on a bit of a monolithic multithreaded data pipeline and I couldn’t work out what I wanted to do with the thread pool. When I woke up I had a picture of those hose pipes, that basically how it now works😂 -
Hey fellow devs,
i finally did it! i applied as a junior dev in a software company for inHouse projects. the job interview is today in one week.
little background story for those of you who are just procastinating at this time:
i have started coding when i was in school. just little stuff - nothing special. after i finished school i edjucated in the business field (did not found the english word. something like office person or in our words "user").
after that my company changed the ERP System and i wanted to do that so badly. and i got that job. i worked my ass of to get that baby running. from entering the orders to production to shipping and billing, i made that all happen by myself. as we had some very specific requirements i also wrote applications myself. after about three quarters of a year we switched to the new system and it ran smoothly (company is producing windows and doors). i was so proud when the first windows were finished.
BUT there was one problem. I was alone. no second it person i could talk to. no one i could learn from and no one who could learn from me. i then decided to change the company. same product, same job - but within a team. It was a whole other experience. i really enjoy the exchange with my colleagues. we learn from each other and we solve problems together. we can rely on each other. As i worked there i also wrote applications for inHouse usage and i even launched my own first app (not related to company - private commercial project)
BUT there is one problem. I am still the only dev. so i try to code the lease i can at my current job so that the team still works and the whole system stays maintainable for everyone. I do not feel good holding back the desire to code something. so after two years (and with a lot of talks with my cousin) i finally applied for a job as a "real" developer.
I have no bachelor, so the invitation for the job interview made me so damn happy. i really hope that i can transmit my passion for this job and if everything fits that they take me.
The next rant will then be about the result of my job interview :)
PS: even if i do not get the job. i am proud of myself that i applied!
Thanks for reading, potato potato1 -
Hey ... Is it possible to figure out the clients path (f.e. C:\Users\...) to a file he uploaded to a website on the server side?
My boss thinks it could be done and wants me to programm it. But I think we'd need a zero day vulnerability in a specific (and probably very old) browser to do something like that... That would be a huge security issue...
Wouldn't it?
What do you think?13 -
Forcing all your package dependencies to one specific version because you are afraid of incompatibilities is like building a scyscraper from pure concrete because wood isn't strong enough. Sounds like a decent idea at first but leads to a brittle, fragile structure that won't last very long.3
-
Maybe you people will like this story.
The past semester I studied Java in class. First time doing object oriented programming, I had an annoying teacher but got the hang of it. I still miss C from the last year.
As a final project we had to do any program and apply some stuff we saw in class (The program should have an array list, use interfaces, bla bla bla bery simple stuff). It also must have a complete documentation, a manual and a diary explaining what was developed every week. Bonus points if it was in a repository like GitLab.
I wanted to do an RPG game in a matrix, like a rougelike or an old FF game, that should be a map or two, a few monsters and items and that's it. Enough to show what can I do and to have enough excuses to apply everything that the teacher asked. I had a team with two friends who wanted to do the same.
After making accounts in three different pages that apparently would help us to be more organized (One to make charts and two task trackers) I lost all patience and made an account in GitLab, made the basic classes that we had defined in a chart, divided the tasks and put them in to do on GitLab and we started to work.
One of my companions caused a lot of problems. First, he didin't wanted to learn how to use GitLab (I simply asked them to do merge requests) and he insisted to use GitHub. Then he started to say that using the console version was even better (Pretty sure he said thet he never used Git, but maybe was gas poisoning). The GitLab repository never had a single commit to his name.
BUT WAIT IT GETS BETTER all the entire time, he was complaining about the graphical interface of the game, wanting to use some SDK for RPGs that he found. I told him that we will see that at the end, that first we should have all the mechanics done, test it in ASCII in the console and then, if we have time, we will put the visual interface, separated and optional from the main program to avoid problems.
After two weeks where he gave me very simple standard stuff late, half done and through Google Drive, I discovered he was most of the time working on... the graphical interface SDK! He took the job already done by me and the other guy and making a pretty hardcoded integration with the graphical interface and making everything that he tought it would be necesary. Soon enough the GitLab repository was totally outdated and completly useless. He had the totallity of the project in his half broken laptop, and sometimes he gave us a zip with all the code, outdated after a few minutes. Most of the stuff that I made was modified, a lot of the code was totally unknown to what it was and I had no idea even of how the folders were organised.
We had a month to finish it. I got totally disconected from the project and just hoped for the best, sometimes doing a handful of generic and adaptable lines of code for a specific thing (Funny enough, many core mechanics were nonexistent). The other guy managed to work more on the project, mostly fixing the mess that the guy did: apparently he didin't read the documentation of the SDK and just experimented and saw tutorials and tried to figure out how to do what he wanted.
Talking about documentation: we dont had yet. The code wasn't even commented propely. We did all that the last week and some stuff was finished the last night. The program apparently worked but I had no idea.
Thank God, the teacher just looked over everything and was very impressed by the working camera and the FF tiles. I don't think he saw the code or read too much of the documentation, much less when I directly wrote how I lost all access to the project.
I had a 10/10. I didin't complained. Most easy and annoying ten I ever had. I will never do a project with that guy. -
Is there such a thing as natural talent for specific categories of developers?
I've seen this occur a few times. I have more affinity for front-end development or separately, for UX, so I naturally see wireframes, I naturally know what looks good or not to a user, and I can relate to a user.
I've seen multiple backend devs who share the same complaint that they don't have a knack for front-end and that they hate front-end. They can create beautiful architectures and solve complex problems, but they tell me: "Don't ask me to tell you what looks like a good layout or not because I have no idea".
The same thing happens to me when it comes to back-end (even though I'm a Fullstack developer): Don't try to give me extremely complex problems because I will likely get very stuck, but ask me if a design would look good, ask me to design a website UX wise and I will do well without a great deal of effort.
I wonder why I have a hard time with back-end and others vice versa. Maybe we're trained more in certain areas or our brains function differently.
And so.. I wonder if more people see this happen in their workplace and if this observation holds true.3 -
Any one running Symfony on a Docker container in production? I currently try to migrate our dev env to a docker compose setup (from a "monolith" vagrant vm). I'm atually not stuck at a Symfony specific thing, but on a, I guess Docker specific one(?), The issue is, I need to read and write with two users to one folder (in my case the /application/var/cache folder). Since I mount my whole code into the docker container (to use an IDE on the local files), I've got a volume (not mounted to the outside world) for that folder. (As far, as good). Now this folder is owned by root and root is also the user I get when I enter the container. When I then run a cli script, that writes to this folder, every thing works (as it's run by root) and the resulting entries in the cache dir are owned by root. Trouble starts when the php fpm process tries to write stuff in there too (as it's run by www-data).
If I add `USER www-data` (or create a new user foobar and add `USER foobar`) the container exits with status 0
So I guess the question is, is anyone running an Symfony app on Docker in Prod, if so how do you solve this? Or another question would be what is the best practice to do this? Sure on dev I could just `chmod 777` the whole folder or run the php-fpm process as root, but if that thing ever goes to prod, I wouldn't sleep very well... -
When you are reviewing a PR in which the author has used utilities/libraries that were written by you(which were very generalized and DRY but required for you to read the docs to clearly understand their usage). But instead of using it properly they modify it for their specific usage and made a freaking PR.
I just can't wait to finish the review and slap their face with a printed copy of the FUCKING docs.
Seriously, read the goddamn docs. And, if you do change the lib, please update the doc too. -
Since the 3rd day, I have been telling y'all but none of you listened to me.
I kept repeating that I am the dumbest person I know. Why didn't you believe me when I said it?
Remember, Booking feedback? They sent me another official rejection with additional feedback. Mind blown.
That feedback really helped me understand what was going wrong. And now today in an interview, I was asked a question and the interviewer said, "I am looking for a specific details like xyz for why you should be a Sr PM".
That's when it clicked me, that I have done stuff and I know things. It's just that I didn't understand the question and wasn't able to articulate and communicate well.
My dumbass just needs constant feedback to learn. How much I love feedback more than ever.
The feedback cycle is interesting too. When I was new, I hated it. Then started to realise the value of it.
Then it did felt bad in the very instance whenever I got one, but quickly I used to incorporate the changes.
And now, I am crave and desperately seek feedback. It only helps me improve.
Funnily, everyone gave inputs when I didn't want it. And now when I am hunting for it, no one is giving inputs. This is how life is.
Nonetheless, I am pretty impressed with Booking. Good people, nice vibes, and kickass culture for sure.4 -
Once I wrote a tool to help convert alarm messages from an excel sheet into an xml file with other specific things included.
My colleague (who is very proficient at coding in his chosen system) while I was writing said tool asked why I was commenting code as it was basic!
I asked him to work out what my code was doing (it wasn't mega complex) he spent a long time googling! -
Okay so there are a lot of things that are left by us students as "this would be taught to us on job, why bother now?" So i have many questions regarding this:
- is it a safe mentality? I mean University is teaching me, say a,b,c and the job is supposed to be like writing full letters, than am i stupid to stick to just a,b,c and not learning how to write letters beforehand?
- what is even "taught" on job? This is especially directed towards people in Big firms. I mean i can always blame that small ugly startup who treated me badly and not gave me any resources, but why do i feel its going to be same at every other company?
I guess no one is gonna teach me for 6 months on how to write classes with java, or make a ml engineer out of me when i don't know jack shit about ml.... That's the task for college, right?
I feel that when these companies say they "teach", you they mean how to follow instructions regarding agile meetings, how to survive office politics and how to learn quickly and produce an output quickly. I don't think that if i don't know how MVI works, then they are gonna teach me that, would they?i guess not unless they already have someone knowledgeable in that topic
- what about the things that are not taught in our colleges and we wanna make a career in it? Like say Android. From what i have experienced , choosing a career in a subject that's not taught you in grad school immediately takes away some kind of shield from you, as you are expected to know everything beforehand. So again, the same questions bfrom above
i did learned something from job life tho, and that too twice. Once it was when i first encountered an app sample for mvvm and once when i found out a very specific case of how video player is being used in a manner that handled a lot of bugs.
Why i didn't knew those approaches when i was not in job? Well, the first was a theoretical model whose practical implementation was difficult to find online that time and the second was a thing that i myself gave a lot of hours, yet failed to understand. However when i was in the company , i was partnered with a senior dev who himself had once spent 30 days with the source code to find a similar solution.
So again , both of above things could have been done by me had i spent more time trying to learn those "professional tools" and/or dwelve deeper into the tech. And i did felt pretty guilty not knowing about those...5 -
til recurring reminders have a lower interval limit of 4 hours. this 500 server error wasn't very specific about that.1
-
How do you say no to any opportunity? I mean , as an engineering student, i have learned that anything can be made or any paper can be cleared if we set up our mind towards it( or if there is a deadline/good bucks/both attached to it)
But as a person who has given most of his free time to android dev, i know that i will give better outputs as an android dev than reading some web manuals for 2 days and work as a backend dev.
I am very confused. i have seen people who are very successful yet not passionate about any language , framework or tool. whatever comes in their way and carries a ton of $$$, they shut up, read the docs and make a great product. And then there are people who will only prefer to work in a specific environment and with a limited set of tools and technologies.
Can anyone with industry experience guide me that where should I incline if i am playing for the long run?3 -
Let's say you're building an application for a very specific android device, and you know exactly what it comes with (OS, architecture, Graphics libraries, RAM, ecc)
I can't really make HUGE changes to my code, but since I'm working with unity, I cant make some changes in the way the APK is built.
So let's say my device is ARCH64, uses OpenGLES3.1 and has 4GB of RAM, what are the improvements in making the APK for 64bits instead of 32?7 -
I need advice.
I'm going to apply for PhD this year, but here's the thing, I don't have a specific interest in anything.
This sounds weird but I only want to do thinking. Like solving problems.
I would have a paper coming out this month as first author, but we discovered some weekends of our algorithm recently and decided to postponed the paper (there are 4 professors on the project and one researcher), so I guess this will definitely affect my application.
Like, what shall I say even on the personal statement? That I have one active mind that just won't stop thinking? The very fact that everything is interesting to me made me not interested to anything.4 -
The History of The Scriping Lanuages (JavaScript, Python, and especially PHP):
Once upon a time someone found themselves stranded in the middle of the wilderness without nothing to eat or drink. Having watched Bear Grills as a kid, they grabbed a chunk of elephant excrement and started drinking from it, and the poop saved their life. In that moment, under those very specific and dire circumstances, in that very small scale, excrement was an appropriate solution; but that person did not ever drink from poop again.
Alas, upon hearing this tale, people from around the continent got fascinated with this new extraordinary recipe that had the capacity of saving lives! This new treat became viral. Shit juice, shit pie, and even a shitmulated Microsoft 98! Businesses built their foundations with shit, shit factories, individual shit brokers and recruiters! Everyone wanted a piece of this convenient and disruptive delicacy!
But, alas! as that first person knew, these implementations were not much more than mere shit1 -
Don't you have when a job offer expects people to know certain specific libraries?
And I'm not talking about frameworks or something essential for a certain field (Like Web3js for blockchain).
I once lost a job opportunity because I didn't have experience working with a specific UI toolkit for Vue so I took longer doing certain things because I needed to check the docs...
I mean, I understand companies want people with experience but I feel it's stupid to expect us to know every single library for every use case imaginable from the beginning. Most of the time, it's stuff we can learn very quickly7 -
[Career Advice]
Hi folks! I'm in a bit of a career dilemma for which I sincerely need your help.
TL;DR
How do I go from being a React Native Developer to an Android developer, considering I have 2x more experience with React Native than Android, with React Native being the more recent one ?
More details -
I started as an Android developer in 2015, using Java as my primary language. Up until the end of 2017 I kept working as an Android developer, adding different native mobile tech skills to my skillset.
At the end of 2017, my employer asked me if I could also learn React Native as he had many big projects that required a more hybrid stack. I had always been eager to learn new things (perks of being a programmer I guess), so I said yes and started working on React Native in 15-20 days.
From that point onwards, I kept doing more and more projects using React Native (in my day job) and over the years, I became more of a React Native Developer than an Android one. At this point in my career, I have about 4.5 years of React Native experience and 2.5 years of Android.
However, now I am at a point where I want to make a switch (for better pay and more exciting projects) but when I looked at the job postings for React Native this morning, they were all for startups with great pay but kinda average products, whereas the Android job listings were for companies like Uber, Reddit, etc. (basically great companies with good projects and great pay).
I really want to go back from being a React Native Developer to an Android developer full time but I don't know how. I've personally seen so many people switch jobs from one field (say React Native) to another (Backend development) - and when I asked them about how they did it, they said it didn't really matter to their companies what specific tech stack they'd worked with, which is kinda hard to believe because every job listing I've seen companies list every single technology very very specifically.
Any help/suggestions would be appreciated.
Thanks for reading!2 -
Very specific for r, but Hadley Wickham wrote tons of stuff about how to build packages and has inspired me a lot. He uses a lot clean code practices and writes very clearly.
-
!rant !dev
So, following up my last rant.
https://devrant.com/rants/2433162
I quit on Friday, this is what I said to my bosses.
"In the last week I had, 2 panic attacks, and I have 2 theories for this, one is that I have underlying psychological problems, the other theory is that we are under an impossible task, I choose to say now that I have to quit because I have psychological issues, but if you are willing to hear my other theory, that involves saying that meeting the deadline is not viable, then I can tell you that, so do want to listen that part?.
Bosses: No, we heard enough, we are going to have your contract terminated in order, and we will let you know when you can come and pick your paycheck."
So, that's them. Now about me and how I re-discovered GTD, or more precisely how I organized my whole weekend using taskwarrior with GTD, and why I think is going to be useful as a freelancer.
Before I feel good about telling you about my weekend I have to tell you a few things about myself.
I am a very impulsive person, I have a lot of energy in short surges, so I have to be able to maximize my activity when I'm in a surge, and I have to maximize my rest when I am not.
That's hard to do, it requires a balanced lifestyle, I am also very prone to being neurotic, and overwhelmed by the amount of stuff that I want to do.
And on top of that, when I am resting, I have surges of things that I want to have, do, or implement, it could be software related, as "Doing an app that will be the Uber of home services", to house improvements like, "I have to fix that leaking roof", and all the sort of stuff that happens in between hardware and software. That surge of consciousness doesn't allow me to have the proper rest that I need before I engage with activities again.
Because of this I have a very cyclic rhythm, with whole weeks burning my energy into doing stuff, and weeks resting doing very little and thinking too much.
Now about my weekend. Friday night I was browsing the web, and a thought came to my head. "The way you use your terminal, says a lot about your personality", and I got curious, so I searched for, "Show me your terminal", and found a post in dev.to to see all kind of nice terminal setups, from the very minimalist to very feature rich oh-my-zsh themes with plugins for git, aws and what not. One of these pictures really got my attention, a guy had set up his terminal to show him, how many task has he done in the day, and how many cups of coffee has he had.
So by investigating how he set up his terminal to show in the prompt the number of successfully completed tasks in the day, I found out that he was using taskwarrior, he was also kind enough to share the source code of his prompt setup, which I bookmarked to later incorporate that into my oh-my-zsh config.
After reading about taskwarrior, I also got a reference to GTD, I don't remember if this was one of those thoughts that I have and follow immediately, or if I read something that led me to a YouTube video summarizing GTD.
In the end, after watching that GTD video, I decided to give it a try to organize my life, and help me find a remote job, keep my house in order, plan my social activities as "hang out with friends", "visit mom and dad", and give the proper amount of attention to my GF, with whom I am deeply in love, and willing to spend the remaining of my years with her.
So my fist task was.
task add Ask for GF's parents blessing.
Which of course I have no intention of doing right now, but is one of the things that I will eventually have to do.
Then it started, I started adding tasks, and things to do, and go through the whole Capture phase of GTD.
Now it is a good time to write a small summary of what I think GTD is.
GTD is a life habit of organizing your life in todo-lists. And it was a very specific core method, that in the video summary that I watched was called CPR.
Capture, Process and Review.
Capture:
When you capture you just add your tasks to a bucket list.
So I took a notebook and started writing down everything that I wanted to have done. I also started to capture ideas as they came up to me, I did this by writing a telegram saved message in my phone, or directly adding it as a task in TW.
Process:
I read my telegram messages and put them into my task warrior list, then I started to organize my tasks into projects, breaking down every task that was not an atomic unit.
* And different projects started to emerge from this. One of them was project:Housekeeping.
And here's my screenshot of what I did this weekend, also the number of projects that I have, and all the things that I have to do in order to have what I think would be a very balanced, fun, and productive life.
You'll be able to see in the screenshot, that there's a blocked task, yes, tw allows you to organize dependencies too, so one task is delegated, and blocked by the delegation task.1 -
I don't wanna be specific today, so I'll just post a song exerpt.
I love you, I hate you, I'm on the fence, it all depends
Whether I'm up or down, I'm on the mend, transcending all reality
I like you, despise you, admire you
What are we gonna do when everything all falls through?
I must confess, I've made a mess of what should be a small success
But I digress, at least I've tried my very best, I guess
This, that, the other, why even bother?
It won't be with me on my deathbed, but I'll still be in your head
Put me on a pedestal and I'll only disappoint you
Tell me I'm exceptional, I promise to exploit you
Give me all your money, and I'll make some origami, honey
I think you're a joke, but I don't find you very funny
https://youtu.be/o-nr1nNC3ds -
Candidates must check application essay sample to suit their specific purpose
Students require checking any available application essay (https://wikihow.com/Write-an-Applic...) sample for its authenticity and reliability. In this regard, students should remember that maximum number of the papers available on-line, mostly free, is simply the cut and paste job, which make the task of candidates difficult in making their decision. Therefore, it is essential to check the quality of written work of such samples, while students need hunting for the example, which can suit their purpose
For example, students desiring admission to a particular course program in pathology, would need an essay sample, which would relate to the field of analytical medicine, while any written work on the subject of pathological laboratory tests can be excellent. However, finding the topic specific essays like this one would be very difficult, as students need ordering such customized essays.
Therefore, students require spending quite some time in conducting a proper research to find the reliable and trust-worthy essay writing service for getting their customized essay written within the scheduled delivery time. In addition, students should check the sources that the writer would have used for gathering the information, which is presented in the essay, to support its thesis statement.
However, the following guidelines would help students to check the available application essay sample, with regard to its essential ingredients that should be present in such essays. Nevertheless, students could also go through a good term paper help to learn the art of writing a well-defined essay, which can ensure their admission to the coveted course program.
Introduction and the essay topic
Students should check the introduction part of the sample and the method of presenting the topic in it. In addition, the writer should formulate a close link of the topic problem with the thesis statement of the essay. However, as admission officers do not expect candidates to write research papers as their admission essays, the topic question and hypothesis of the essay should be very simple and easy to understand.
However, the topic of the application essay sample should be close to the theme of the assignment. In addition, the students should check the method of presenting arguments in the main essay body, while its introduction should provide hints about them, in brief. Therefore, the sample should provide supporting details like personal examples, while addressing the essay topic.
Check essay language and structure
The language used in the available application essay sample by type of https://500wordessay.org/blog/... should be simple and vivid, while the examples accompanying the discussions should be reader-friendly and easy to understand. Students should realize that selecting officers do not expect them to use any complex terms in their admission essay, as it would give an indication of their bragging, without much reason to do so.
In addition, the essay organization should be such that the contents are transparent and free flowing, while the whole essay writing must be cohesive. Nevertheless, students should look at research paper help for learning the art of locating a good essay sample, on-line.
However, they can find more tips to check the quality of an application essay sample from custom essays.18 -
I feel a little sorry for all illustrators and gig-creators of visual things out there. And yet I feel uplifted in spirit at the same time with the new era of midjourney that has just started.
It’s incredible!
Maybe you don’t understand if you are not in software.
It’s a giant leap of such magnitude that it is impossible to comprehend the entire scope of this revolution…
Small gig:ers get their money from very small and small businesses who can’t afford anything else. They are expert digital artists. The excel in being productive and can conceptualize a thought or idea in hours…
These hours have now been removed. Not all. But some. For the entire industry, this is billions of dollars I am sure.
So, they need to adapt to this new realm that we are entering.
It’s just… I mean, I can’t even realize it myself and I have played with prompting now for weeks and months… And it’s just 2023. /imagine what will be possible in 2030. 2050. If we survive.
I created a man (a hedge-fund manager) out of thin air. He stands in the super-market, looking tired, it’s evening… He has had a long day at the office…
And-he-does-not-exist.
And it took me five minutes. A rendering of such sort would probably take at least a day for an expert illustrator in photoshop or whatever.
Now, everyone will use this. You got this everywhere very, very soon. Including the gig expert illustrators! The thing is… I can’t draw a straight line but with text I can conjure up pretty much anything.
It’s magic.
That is what it is. I know it isn’t but it feels like it. For people without software skills it must feel even more like an illusion…
Need twelve icons of bumblebees illustrations to be used as icons on your new web site (as images)? Takes five minutes. An hour at most until you are satiesfied. In specific color ranges? You got it…
That shit cost like $99 bucks before if you needed to own them. And it took a week.
A revolution!
What fantastic times we live in!
And sad times and great opportunities for all visual artists out there.
(I am not at all worried for the dev industry. This will be SO fun!)5 -
Some background:
About 2 months ago, my company wanted to build a micro service that will be used to integrate 3 of our products with external ticketing systems.
So, I was asked to take on this task. Design the service, ensure extendability and universality between our products (all have very different use cases, data models and their own sets of services).
Two weeks of meetings with multiple stakeholders and tech leads. Got the okay by 4-6 people. Built the thing with one other guy in a manner of a week. Stress tested it against one ticketing service that is used in a product my team is developing.
Everyone is happy.
Fast forward to last Thursday night.
“Email from human X”: hey, I extended the shared micro service for ticketing to add support for one of clients ghetto ticketing systems. Review my PR please. P.S. release date is Monday and I am on a personal day on Friday.
I’m thinking. Cool I know this guy. He helped me design this API. He must’ve done good. . . *looks at code* . . . work..... it’s due... Monday? Huh? Personal day? Huh?
So not to shit on the day. He did add much needed support for bear tokens and generalized some of the environment variables. Cleaned up some code. But.... big no no no...
The original code was written with a factory pattern in mind. The solution is supposed to handle communication to multiple 3rd parties, but using the same interfaces.
What did this guy do wrong? Well other than the fact that he basically put me in a spot where if I reject his code, it will look like I’m blocking progress on his code...
His “implementation” is literally copy-paste the entire class. Add 3 be urls to his specific implementation of the API.
Now we have
POST /ticket
PUT /ticket
POST /ticket-scripted
PUT /ticket-scripted
POST /callback
The latter 3 are his additions... only the last one should have been added in reality... why not just add a type to the payload of the post/put? Is he expecting us to write new endpoints for every damn integration? At this rate we might as well not have this component...
But seriously this cheeses me... especially since Monday is my day off! So not only do I have to reject this code. I also have to have a call now with him on my fucking day off!!!!
Arghhhhhh1 -
Sometimes I wish I could rent an expert for a day you know.
I do a lot of side projects that are mostly outside of my comfort zone and it’s frustrating having nobody to consistently ask very detailed and specific questions to5 -
So I installed Manjaro KDE yesterday.
The one thing that's bugging me is that Pacman seems to have very slow speed. I am not able to hit above 100Kbps.
Is there a specific reason for this?
I searched ol but couldn't find any answers4 -
My vague naive extreme understanding of interview questions are on a spectrum from situation a to situation b.
But what should the industry be doing? Is the industry just going wrong blindly copying big N companies hiring process without the same rationale? (e.g. they need computer scientists able to deal with problems specific to them at their size and that often means creating new tech, unreal problem solving abilities and cuh-rayzee knowledge)
a) stupid fucking theoretical shit that some people argue you won't ever need to be doing in practice for most companies, while giving you no ability to google, leetcode hard problems kind of stuff
b) practical work similar to what you'd be doing on the job, small bugs, tasks, pair programming on site with your potential future coworkers
Lots of people hate option a because it's puzzle/problem solving that isn't always closely related to what's on the job. Whiteboarding is arguably very much a separate skill. (Arguably unless it's like a big N company where you want computer scientists to deal with specific problems that aren't seen elsewhere, and you're making new tech to deal with your specific problems.)
We could go to the extreme of Option b, but it tends to trigger people into shitfits of "NO, HOW DARE YOU MAKE ME DO REAL WORK, BUT NOT PAY ME FOR IT AT THE INTERVIEW STAGE"
That's before we get into how to execute option b whether or not it's being given as a take home assignment (which is a huge pain in the ass and time sink, among other issues) vs a few hours at the potential workplace working with some of the future potential coworkers and soaking in the work environment (you have to figure out how to take the time off then)
Is it really just poor execution overall for the wrong use cases for the majority of the industry? What should the industry be doing in which cases.
Then this is all before HR screening with shit like where they might ask for more years of swift experience than its existed. -
You know what grinds my gears?
When someone complains about an issue, then bypasses it and ruins your ability to test. Sure, you can recreate it to the best of your ability, but if the issue is very specific, you're screwed (browser, data in prod, etc). -
The only thing I could think about during the 2017 super bowl halftime show was how they got the hand held lights to be pixel mapped. I mean, the guests of honor could move around, and the lights were still perfectly mapped.
Or they were just told to stand in a very specific place. -
I feel like i am not living my life correctly. i have made myself as a slow learner for the things i like .
i would want to dedicate a specific amount of time to a particular topic until i make written notes of it, repeat that stuff in my mind and make sure its engraved it in my brain.
if i don't get that time in normal routine, i force that time into my routine by disrupting my sleep/ reducing social interaction/ skipping the actual work to learn about it until i feel satisfied.
But even after that i am left unhappy, because i realize that the particular skill in question is a very small part of the whole product and i will be still dedicating a lot of time to the project.
I also feel sad because my Saturday got wasted learning this whole concept, which now looks very small, when i could have gone to a date or have a relaxing time with friends/family
How do you learn new stuff? for eg, i am learning php via udemy videos(5-6 mins each) since last 4 days. my goal is to make a small blogging website in 30 days. so far i have watched 10 videos and only able to learn how to setup mamp server, echo, some stuff on variables ,data types and functions.
How much would you have learned in a weekend? what is your approach?1 -
The best part about professors is that they ask you to come on a specific day for the recommendation but when you reach there you’re in for a surprise. Suddenly the WiFi goes away and there are departmental reviews. Wtf. This they can’t tell the day before... bloody hell knowing that you’re coming from far... away ... they’ll test you that you your patience so much that you keep wishing they die a very bad death or say under a bridge! Man o man such is life !
-
My process was pretty much, find something I found annoying at work, looked at a similar paid solution, and worked from there. I mainly was learning Java from a subpar class that wasn't very hands on, but in my free time just googled a lot and used Microsoft's documentation on C# to learn that. My process is just finding something I can actually use and googling how to solve specific parts. Other than that reading lots of books and using treehouse.
-
Can anybody recommend me a good sacala/playfranework tutorial? I've checked the tutorials that are being referred in the docs but they are very specific and I couldn't find ant updated tutorial that shows me a step-by-step tutorial of how to build a full application
Thanks in advice :)4 -
Ok so that's my plan, find a kernel with HUGE amout of drivers and , high version.
I built a small os based on linux
-- kernel version 5.0.2 from Plop Linux,
many libraries added 'by hand' -- packages from apts of Debian&Ubuntu, and unpacked packages into system with ArchiveManager,
has GUI but it's called xfree86 ( looks strange when a very old app running on Kernel5 )
So, without compiling, i can make a os.
But i found that Plop didn't compile rtl8188eu module which makes linux support some specific network cards.
I have no professional compiler but a tiny C/Cpp compiler called TinyCC (aka. tcc), but for my pc ( CPU freq = 800MHz ), it seems not possible to compile the module by myself.
And then i downloaded a 5.2 kernel with modules from kernel.ubuntu.com, but when i tried to mount my disk ( part. vfat ), i got some errors like IO charset not found, and then i replaced it with Xanmod kernel but also reported an error said Invalid Arguments, but i checked /proc/filesystems, it supports.
So what can i do? Are there any pre-compiled kernel & modules with 'full common supports'?
I tried kernel 4.4 ( from Ubuntu 16.04 LTS ) just now but the driver crashed when wpa_supplicant tried to initialize the device.7 -
#Suphle Rant 9: verbatim exception scare
In multiple rants, I've bitched about laravel stealing suphle features. By some very weird coincidence, it appears I've been given a taste of my own medicine. Let me explain:
We're having a chat this morning on a laravel group chat when someone says he uses their notification component a great deal. Curious, I ask him what he uses it for since I only used it sparingly during my laravel days. To pry an answer out of him, I ask whether he uses them for sending app error alerts to a slack channel, and he responds with an eerily familiar term. I quickly look it up and the results on the docs are chilling: errors can be sent to bugsnag (which suphle has an integration for), sentry and Co. Errors can either be broadcast or disabled. Specific kinds of errors can be caught. My heart sunk. My brother called for something while I was going through it and I was struggling to pull myself together
Their exception component is almost identical to mine and I'm only just realising. It's shameful that I'm just learning about functionality present since 5.8. I thought my creation was novel. BUT! The good news is, the implementation differs
Too many errors went unnoticed during my time there because error broadcasting is optional. Since none of my colleagues read that part of the documentation, we were firefighting by pulling and wrangling production error logs. This informed their abolishment in suphle altogether
A relatively minor difference is in the APIs –their philosophy makes significant use of global functions, violating SRP, etc.
But the most important difference, that still cheers me up, is that they only catch known errors. Suphle has a construct for isolating calls to a decorated service. Any unforeseen error to occur during its execution will do a series of things before control is returned to the caller -
Hi So I need some solid advice from you all wonderful people.
I think i am now ready to look into job side of this world, but have lots of doubts , read my story.
I have been learning android for last 2 years. Most of the time i have been trying to understand how stuff works in android , but i have also gained a few other skills ( python programming, kotlin/flutter basics data analysis basics, testing, some graphic designing, aweful web dev ,etc). But i really want to work with Android. I don't have any specific Salary figure in mind, but i guess my knowledge is better or atleast par with most of the good android developers.
So i want to know how is this fresher/placement thingy work?
1.) GETTING KNOWN? : How can i make some good android based company aware that I am available for hiring? Should i start emailing every android related company that i know of? Should i start listing my profile on recruitment sites like linkedin or internshala? This year it is being said that companies will come for placements. From the status of my college, they are going to give me way to less $ , nd i know am not going to like any of them, but i guess i have to sit for them too.
2.INTERVIEW OR DIRECT PLACEMENTS? A little pre-context: i am currently starting my 4th year in clg. Afaik , 4th year isnt that strict and their can be leniency in terms of attendance. But my college is a place full of political cun*s in the name of directors and HODs and I don't know if they are again going to enforce the old 75% mandatory criteria. Plus if the company is from a different state/country , then my attendance would definitely not suffice.
So mainly i am unsure if somehow a company hires me, i would be able to start immediately. I heard that there are interviews for job recruitment after which the candidate is binded with an agreement to do some months training followed by permanent working after college completion.
This type of agreement is very much suitable for me, since from what my friend tells me, trainings can be lenient and understanding regarding exam preparations nd stuff.
So what do company usually chooses? Binding a fresher on immediate working basis or do they consider graduate completion?
Also, i suck at competitive coding. Do i need to polish myself on that or some company is willing to give me chance on the basis of my other skills 🙈(okay, no kidding , that's a serious question. I need to either work on getting better in competitive or build more apps based on that)
3.) ANDROID OR EVERYTHING? From what i have heard, working as a professional fresher is more like being an allrounder than being a domain specialist. But as i already stated, i really dig android and that's no small framework. I may di other stuff too, but won't interest me nd my output might be less efficient than expected.
So freshers can really be asked to do any stuff? Or can i still be in the area i like being into?
4.) COMPANY OR START-UP? Yeah, this is a general debate starter. Ignoring the business side of the conversation ( job safety vs more salary, experience, etc) the thing that's most important for me is the presence of a team. I want someone to assign me a task, whose vision i could follow, from whom i could learn, and some other people who are supportive and doing the same amount / similar work that am doing . This is so much import8 for me that i can easily ignore other factors for a better team. I once took a call from a startup ceo who hired me, a 2 month old android beginner at that time, as the "lead android developer"
But if am being on a team where i am supposed to do any random stuff that is assigned, then obviously this whole point of "visionary, helpful leader, guiding team, "etc goes moot9 -
Just realized a crucial thing when using Node.js together with Travis CI: Be VERY specific when you specify dependencies!!!1
-
- This presentation will show how you can increase your productivity with the new tools that we develop!
Spends the next 50 minutes showing results of VERY specific cases and the last 10 minutes actually describing the tools. Last remarks:
- The tools are now in beta so some features are not yet available.
Thanks? -
So I'm receiving messages from recruiters weekly (no flex intended), half of which are not even close to what my profile describes. And I got really sick of it so sometimes it takes at least a week for me to respond if I decide you're actually worth a reply (looking at you, automated half-assed messages that didn't even notice I know nothing about Javascript).
The thing is that some of the more useful messages are actually quite interesting and match my ambitions and desires quite well. But I like my current job and love the project I'm working on... Am I the only one who wants to stay "loyal" to their employer and their project, at least for as long as the contract is valid?? I really want to be there when delivering the final product and test it myself but it sometimes means declining very interesting job offers.
How do people decide its the right moment you have to leave for a new job if you're satisfied with what you have currently? I'm graciously rejecting interesting offers in the hope that they respect my "loyalty" towards my current project and stay reachable to me when I need them later on (I've already had some that would hit me up after a year asking me how it went and if everything was still okay). Is this something that happens often or am I just lucky with those specific recruiters??
Like yes, I can surely use the money I'd receive from a better job. But I am still learning a lot on my current job and I am positive this kind of job offers will keep coming over the years (and hopefully even more so because I keep getting more experienced). I'm also not the top candidate for some of these offers if I may say so myself, so is it important to take what you can get or is it better to stick to what you're comfortable with? -
I was watching an Ancient Aliens episode called "Beyond Roswell". The show described the idea of some of our tech being seeded slowly by introducing alien technology to specific companies. They suggested that computing technology has advanced very fast and introducing this tech could be part of that.
At first I was kinda pissed about this. I have read about the creation of the first transistor back in the 40s or 50s. WWII really advanced our need for computing devices such as what Turing built. Then I realized a lot of the explosion of computer tech did occur after key ET events. This kind of made me wonder how much is "us" and how much is ET tech. I also realized it can take a lot of effort to understand something really advanced. So reverse engineering can take a LOT of effort to figure these things out. Being seeded by external tech does not take away from humans at all.
A parallel to this is a programmer that learns how to use a C++ compiler. They could go their whole career without ever understanding how the compiler itself is doing its job. I find myself wanting to learn how compilers work and started down this path. I look at the simple grammar I have learned to parse. Then I look at the C++ grammar and think "How can I ever learn to do that?" So I see us viewing potentially advanced things and wondering how the heck can we ever learn to do that. The common reaction when faced with such tech would be disbelief and in some cases ridiculing the messenger. When I was a kid the idea of sending a picture over a phone was laughable. Now this is common and expected. It was literally a scifi concept when I was a kid.
So, back to the alien tech. I am now thinking it would be cool to be working with alien technology through computing. This is like scifi stuff now! So what if what we have was not all invented here (Earth). If anything this will prepare us programmers to get jobs working for alien corporations writing ship level programs and brain interfaces. Think of it as intergalactic resume building. 😉 -
Learning Azure fundamentals but, why do I need to learn about the very specific USA Government & China regions? How is that going to help me? Only people employed by USA gov or China has access to them. Why is this fundamental?1
-
Lately I am facing this issue. I spend a lot of time and did hard work on some specific thing! but it doesn’t seem to work as it should be, so because of this I am disappointed. I don’t know I should be feeling like this or not, but I am questing myself that I am a good developer or not!
It’s not like that I don’t know stuff, I start working on laravel , few months ago. It’s been 4 months, and I already develop a backend of the whole app, but it was not that complex. Recently , I am assigned to this new project, which is very complex, and It was already made by some other developer, so I am new to this and I don’t know how it actually works. But I was assigned to add new functionality to it, and It was kinda complex, like maths and calculation and depending upon the data coming and updating calculations changed. So, I almost work hard and over time for this, and I think I did a good job, but turns out it didn’t. So, I worked again on this, but again turns out it didn’t work out as it suppose to be.
So , After all of my hard work, the code was not right, and that led me to question myself and I am feeling bad. Is this normal? Is it okay to feel at something?3 -
Typical monday... the new funcionality I have to implement on frontend requires additional changes on backend (out of my reach). So I wait. And in the meantime I switch to bugfixing and suddenly some tester changes the data in the scenario (a very specific one) I was working on.
-
question to my male homies (or ladies too, if you are equally violent) hey what are your thoughts about someone fucking with your priced possession? you might not have a generic answer, so here are some specific scenarios:
1. some random drunk guy intentionally keys your car/breaks a headlight and you see it.
2. some guy teases /touches your girl/wife/SO/kid inappropriately.
3. some guy drops your phone and breaks screen.
my personal angry reaction for above things could go from either slapping/punching a guy to possibly do him a permanent damage (break arm,leg,nose,hand etc). i am not a violent guy , but some things matter more than a crime i guess (although, does it really count as a crime tho?)
i feel we can give a very these violent reaction for 2 reasons : these possessiona are so damn expensive that we genuinely get hurt and want an instant revenge and secondly we don't trust the judiciary to give a worthy punishment
i asked a friend of mine a simialar question and his violence meter is even lesser. he (20 at that time) once slapped his 50 year old neighbour coz they entered his home and started shouting at his dad, another time caused a big scene on a T-point as an auto driver accidentally dented his car while turning (the car was 2 days old)13 -
Being asked to build a website in a few days built specifically for a PowerPoint plugin that uses an IE emulator being shown in a slideshow at a remote site that your IT policy does not allow you to install in order to test - ok fine, annoying but fine.
Having to use someone taking a video of the site in the Powerpoint on a TV Screen to make changes... ok more annoying.. but whatever...
Having to work with a 14page branding guideline document to add images for a sponsor to a Powerpoint website that you cannot directly test.... erm...this is kinda awkward...but I guess...
Finding out the team you're working with has their own designer who has very specific rules for font etc. who noone involved until the day before go-live.... ... oh for...
Site goes live
Powerpoint at remote site breaks
you get asked wha'ts going on...
...f you... -
No matter how much trickery is added
No matter how many distractions
In the end if even one person deviates
They may as well be punished
Because they likely did or enabled something wrong by trying to cause a check that distracted someone important
And a person who is caught cannot be helped by their fellows right away if at all because it associates them with the crime
Imagine the horror of one of us fully enabled catching one of them doing something horrible
The loud scream of fury the last thing they heard before the icy feeling of metal entering their body is experienced and noone could help them
Outside very specific times and places the best that could be accomplished is a temporary suspension of punishment
Eventually because of how convoluted things have become punishment will be effect
Now I want to smile
And act appropriately
Because I need to
I'm so happy
And I can't believe this is happening to me3 -
eva viva3. very specific german healthcare erp. bloated but with the false features, insufficient data dumping, expensive, bad service. needs a lot of devops workarounds. unfortunately you don't skip easily with 10+ years of customer data.
-
I made a very obvious realization since the last time I rewrote Orchid; the 3 year project that has now become an eloquent documentation of my learning process; Types aren't free. Sure they're free at runtime, in fact the more you have the less the language has to work to separate values, but they generate significant cognitive load.
Oftentimes it's better to have one enum with 12 variants 3 of which are specific to a narrow case to be able to define operations for this enum once, than it is to have 3 distinct enums of 10, 11 and 8 variants respectively, and to have to define common operations (or the dispatch part anyway) thrice.
As for my previous observations about catchall abort acting like the new type abort, I still think that, and I still think that this is only justifiable if the number of invalid variants is low enough in every case that you can list all of them before the abort.4 -
is there any way that the nemo file explorer on linux mint cinnamon is able to highlight the specific file when for example i downloaded a file with a browser and then want to view the file in the file explorer, so the browser redirects to nemo? how is it that I don't find this feature for nemo? doesn't it exist or am i too dumb googling this problem correctly? this feature is very helpful on windows, so what about it on other file managers?10
-
VSCode. I used to be a WebStorm guy, but at one point I found out that I could do like 85% of the stuff in VSCode, and switched over. Things I still kinda miss from the JetBrains ecosystem:
- the elaborate refactoring
- the built-in navigation across the file and the project
- the really clever expand select and go to open/closing bracket (VSCode is kinda getting there, but for expand select it honours camel case words and that can't be turned off, it's weird with HTML files with inlined JS or CSS; for bracket jumping it must rely on an extension)
- the way that everything within the UI is predictable and navigable with keyboard only (tried opening a dropdown in VSCode without having a specific keybinding for that specific dropdown? In WebStorm it was Alt+Up/Alt+Down for any dropdown that has focus IIRC)
- the visual way of changing a colour theme (in VSCode you have to guess what is what before modifying a value; by the way this is an idea for an extension that I might research)
What I like about VSCode:
- the speed (although it can get slow with large files; on the other hand JetBrains IDEs are not that slow except for the startup, given that you're not working on a potato, but here we are)
- its extensibility and very active extension development (and the fact that it's rather easy to write your own extensions, although I haven't benefited from that very much)
- the ease of syncing settings (the Settings Sync extension and now the built-in mechanism introduced I think earlier this month)
- it's free (so I don't have to pay for it myself or nag to my employer to issue me a license)
I've tried Sublime and it's hands down the fastest thing I've seen (it can open a 100 MB text file on the shittiest computer you can find and edit it efficiently), the problem is that it's not so rich in extensions. I've tried vim, nano and whatnot, but I'm far from that, just not my cup of tea. I'm okay for the occasional file edit while SSHd somewhere, but that's all.
In an ideal world we'd have something like Sublime's performance with VSCode's ecosystem and JetBrains', well, brains...1 -
I have been working on a long time, low progress project of mine that keeps on giving and giving.
Let's begin like two years ago where I dipped my toes into "more then gigabit" networking thanks to a Linus Techtips video about infiniband.
I had the dream of booting my Workstation from my NAS, a so called diskless setup.
Well, since I run FreeNAS on my Nas , a very nice Freebsd based Nas OS, everything's gonna be good.
In the beginning, there was no infiniband support.
Turns out, you don't need it, since the mellanox CX2 nics can do ETH too.
Yay.
Just took me a few weeks of anger.
So, to be able to boot something over the network, you need firmware that finds the bookable stuff and loads it.
That protocol and firmware is called PXE.
PXE needs a DHCP telling it what to do, and what is where and etc.
Freenas here I come! Installing dnsmasq on the actual freenas install turned out to be not that great of an idea because freenas thinks of itself as being an "appliance" that you don't fiddle with. So things work, until you update/ upgrade when everything will basically be wiped, except what you have done through the ui.
Ok. So I gona use a jail, a container like thing for that.
Everything is great, jail has internet, everything Installs fine, what could go wrong?
Dnsmasq can launch and work, but not as dhcp server. Some thing about permissions.
Turns out, jails have permission like things.
A few days of head scratching later, it has ALL the permissions.
Dnsmasq still can't work as DHCP server though, why you ask?
Because it needs a specific kernelmodule that isn't contained in the jail. Since jails are kind of like a docker container, they run on the same OS kernel, who does not have this module, I'd need to patch the freenas, which is an appliance, so fuck that.
Like a year later, freenas has finally added good VM support, so why not make a VM for the dhcpserver?
Well, about a year ago, I didn't know that the virtual Intel nic is a fucken unstable piece of garbage, crashing nearly any OS at some point.
So that was it for a while again.
Now to the last few weeks.
Finally dnsmasq is running in a freebsd VM with a good and working configuration which is rather simple, if those tutorial fuckers out there would explain shit instead of just telling you to copy, paste and replace X.
Now back to the PXE side.
I'm using iPXE because I have no clue how to boot anything over tftp so iSCSi it is, since that is what I can relate too.
The idea behind iscsi is to fake a SCSI disk over the network. Attached devices appear as if they are actually directly connected to the machine instead of over the network.
iPXE gets a lease from the server, can connect to it, everything is fucken great. Finally.
Except that if it "sanBoots" the iscsi drive, it can't find anything to boot.
Well fuck.
If I attach a Linux live USB over iscsi, it boots, finds grub, and crashes because the live iso isn't configured for network-boot.
But it boots.
So what's so different?
Well iPXE is booted in legacy mode, where as the content of the target is windows 10 in efi mode.
Ffff.
Ok. Can I get iPXE to boot in EFI mode?
Well yes, after like 3 days fiddling with it.
But it only finds the onboard Intel nic instead of the new Mellanox CX3 cards, and can't even connect to the target....
Sooo, I guess my options are as follows.
Either, get PXE efi to work on the network cards directly, its called flexboot and might be able to since I just found some firmware options for that.
Or give up on efi and install windows in legacy mode.
Which isn't that easy when it has to end up on a drive on my nas. -
which is the best cloud provider for a complete beginner (user/dev) in terms of community support, employer preference and user-friendliness?
i know that understanding the tech and concepts behind it matters more than getting familiarized with a specific platform, but i'm looking to build a more diverse profile and have noticed many positions asking for AWS/Azure experience.
since i'll be starting from scratch, any provider with easy-to-follow documentation, online help and certifications that don't leave you broke (would have to pay myself, earn very less as a student from a third-world country, parents/current employer can't support) would work.8 -
How to write a great resume and Linkedin when im playing 3 roles at my current job?
Iwear many hats right now on my Job (you can check my LinkedIn, the link is on my devRant profile).
Right now im looking forward change job in 3 months or so, mostly due to non flexible working hours and somewhat toxic environment.
The problem im facing right now, id how to put all the stuff im doing right now in my profile without it sounding crazy or something like that.
I also see companies open positions for very specific roles, so i dont know how write a resume to apply to a job without excluding half of my skills from it to looks "specialized".
Other factor is that i really have fun doing diverse things on my Job, it is boring for me do a single thing for months.
How can i include everything i know in my resume? or what job title can resume all my expertise?
Thanks guys!
PD: If you are in an small startup, and trive working with people that wear many hats, contact me on LinkedIn! i can consider your offer1