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 - "new step"
-
Oh, man, I just realized I haven't ranted one of my best stories on here!
So, here goes!
A few years back the company I work for was contacted by an older client regarding a new project.
The guy was now pitching to build the website for the Parliament of another country (not gonna name it, NDAs and stuff), and was planning on outsourcing the development, as he had no team and he was only aiming on taking care of the client service/project management side of the project.
Out of principle (and also to preserve our mental integrity), we have purposely avoided working with government bodies of any kind, in any country, but he was a friend of our CEO and pleaded until we singed on board.
Now, the project itself was way bigger than we expected, as the wanted more of an internal CRM, centralized document archive, event management, internal planning, multiple interfaced, role based access restricted monster of an administration interface, complete with regular user website, also packed with all kind of features, dashboards and so on.
Long story short, a lot bigger than what we were expecting based on the initial brief.
The development period was hell. New features were coming in on a weekly basis. Already implemented functionality was constantly being changed or redefined. No requests we ever made about clarifications and/or materials or information were ever answered on time.
They also somehow bullied the guy that brought us the project into also including the data migration from the old website into the new one we were building and we somehow ended up having to extract meaningful, formatted, sanitized content parsing static HTML files and connecting them to download-able files (almost every page in the old website had files available to download) we needed to also include in a sane way.
Now, don't think the files were simple URL paths we can trace to a folder/file path, oh no!!! The links were some form of hash combination that had to be exploded and tested against some king of database relationship tables that only had hashed indexes relating to other tables, that also only had hashed indexes relating to some other tables that kept a database of the website pages HTML file naming. So what we had to do is identify the files based on a combination of hashed indexes and re-hashed HTML file names that in the end would give us a filename for a real file that we had to then search for inside a list of over 20 folders not related to one another.
So we did this. Created a script that processed the hell out of over 10000 HTML files, database entries and files and re-indexed and re-named all this shit into a meaningful database of sane data and well organized files.
So, with this we were nearing the finish line for the project, which by now exceeded the estimated time by over to times.
We test everything, retest it all again for good measure, pack everything up for deployment, simulate on a staging environment, give the final client access to the staging version, get them to accept that all requirements are met, finish writing the documentation for the codebase, write detailed deployment procedure, include some automation and testing tools also for good measure, recommend production setup, hardware specs, software versions, server side optimization like caching, load balancing and all that we could think would ever be useful, all with more documentation and instructions.
As the project was built on PHP/MySQL (as requested), we recommended a Linux environment for production. Oh, I forgot to tell you that over the development period they kept asking us to also include steps for Windows procedures along with our regular documentation. Was a bit strange, but we added it in there just so we can finish and close the damn project.
So, we send them all the above and go get drunk as fuck in celebration of getting rid of them once and for all...
Next day: hung over, I get to the office, open my laptop and see on new email. I only had the one new mail, so I open it to see what it's about.
Lo and behold! The fuckers over in the other country that called themselves "IT guys", and were the ones making all the changes and additions to our requirements, were not capable enough to follow step by step instructions in order to deploy the project on their servers!!!
[Continues in the comments]26 -
Hey everyone,
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (david@hexicallabs.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)53 -
The programmer and the interns part 3.
Many of you asked me to keep posting about the interns that I'm responsible for.
I had the intention but never had the time or the energy. Since the interns only kept doing stupid, unthinkable things and just filtering out the good ones is a task of its own.
Time has passed, some interns left us by their choice, others were fired (for obvious reasons). Some stayed loyal and were given permanent positions. New ones joined. I no longer am directly responsible for their wellbeing, yet, somehow I am still their tech-lead and the developer of their tools.
Without further delay,
Case 0:
New guy get's into the internship, has his LinkedIn title set to ‘HTML Technician’.
Didn’t know about the existence of HTML5.
Been building static web pages in the early 2000s. The kind with embedded, inline CSS.
Claims that he is about to finish an engineering degree (sadly I believe him).
Fails the entry level Linux test. Complains about the similarity of the answer options.
Fails the basic web-standars test because "they change so fast, but the foundation is HTML and it's rock-solid!".
Get's caught taking home onions and milk from the kitchen.
Is spotted eating in a restaurant under our offices in his day off. Thrice. He lives a 30 minute drive away and comes here on a bicycle or by bus.
Apparently didn't know that the scrolling wheel on the mouse is clickable.
Said that his PC experience is mostly from his PlayStation (PC = PlayCtation apparently).
Get's fired, says that he'll go to the press. Never does.
Case 1:
Yet another new intern. He seems very eager to learn and work, capable, even charismatic. Has an impressive CV.
Does nothing.
Learns from the "case 0" guy and spends time with him until he is fired.
Comes to work at 8:00 AM and immediately goes to sleep on an office puff. In front of everyone.
Keeps dining alone, without a notice, at different times, for hours. Sometimes brings food into the office and loudly eats it there.
On his evening shifts keeps disappearing for long periods of time. Apparently drinking in the nearby bars and hitting on girls.
Keeps bragging about his success with getting their numbers and rants about those who reject him.
For over a year he fails his final training test and remains a trainee, without the ability to work on a real case.
Not fired yet.
Case 2:
Company retreat. Beautiful, exotic views, warm sun beams, all inclusive package for everyone on a huge half-island.
Simon (he's still with us, now as a true engineer!) brings his MacBook to the beach in order to work and impress all others.
Everybody get's drunk and start throwing huge inflatable balls at each other. One hits his laptop and it immediately is flattened.
Upset Simon is going in circles and ranting about the situation, looking for a solution.
Loses his phone on the beach.
Takes his broken laptop with him while searching for the phone.
Dips the laptop in the river while drunkenly ducking in order to pick a clam.
Case 3:
Still company retreat.
Drunk intern makes out with an employee's drunk wife.
Huge verbal fight. The husband says that he files for a divorce. Intern get's fired.
Case 4:
Still company retreat.
Three interns each take an inflatable swimming mattress and drift with the current. Get found on the other side of the resort three hours later, with red skin and severely dehydrated.
Case 5:
Still company retreat.
The 'informally fired' intern gets drunk again, climbs through a window into a room and makes out with an employee's drunk wife.
Again, gets caught when the husband returns to find a locked door but can see them though the window.
Case 6:
Still company retreat.
We all get ferociously drunk and wander off to the unknown in search of more booze.
Everybody does something stupid and somebody finds Simon's phone.
Simon is lost.
Frenzied horde of drunks is roaming the half-island in search of ethanol and the lost comrade.
Simon's phone get's permanently lost.
Five people step on sea urchins but find that out only hours later and then are unable to walk.
The mob, now including more drunk people who joined voluntarily, finds the sexually active intern making out with the enraged employee's wife yet again.
Surprisingly Simon is found sleeping in a room nearby.23 -
There is. My latest creation. A 8bit microcontroler made in minecraft.
Features:
(1.0 version without control room)
-8bit full adder + overflow flag
-8x8bit RAM
-16x8(4bit instruction, 4bit address)
program memory
-64 possible microinstructions (16 instructions with 4 step each)
-uncondintional and if oveflow jumps
(place determined using address written with instruction)
-1/3Hz clock speed 😨
New working version (2.0) has 1Hz clock and new faster instruction decoder.
In 3.0 in addition to that useless bus was replaced with 16x8bit "hardware" stack that can store adresses and data. The clock is going to be yeeted out because it is unnecesary #clocklessisbetter (WIP tho)
Might add more documentation and post it as learning model for CS wanabees 🤔. What do you think?
Picture: Old working version 1.0
(the only one with fancy diagram)
Newer version screenshots in comments.34 -
Was irritated and annoyed because of a client.
Someone called the support line and I was ready for some temper-holding practice.
A very sweet lady was at the other side and she couldn't figure something out and was overwhelmed by all the options she had in her new hosting package.
Very calmly helped her and guided her to the right place, step by step. She did exactly what I said instead of playing a smartass.
She finally found it and said that she appreciated it and a ton of thanks 😊.
Now that's a good way to end a work day!8 -
Fucking intern.
While I was working next to her a couple weeks back, she spent half her time on social media, playing Candy Crush, or talking with her friend. She also left early almost every day.
I had given her a project to do (object crud + ui), and helped her through it. She made pretty abysmal progress in a week. I ended up finishing it for her by rewriting basically all of her code (every single line except some function names, lone `end` or `}` statements, a few var declarations, blank lines, plus a couple of comments she copied over from my code).
This week I gave her a super easy project to do. It amounts to copying four files (which I listed), rename a few things to be Y instead of X, and insert two lines of code (which I provided) to hook it up. Everything after that just works. It should have taken her ... okay, maybe a few hours because she's slow and new to the language. but it would have taken me five to ten minutes, plus five minutes of testing.
She has spent THREE FUCKING DAYS ON THIS AND SHE'S STILL NOT DONE. SHE'S BLOODY USELESS!
She has kept not pulling changes and complaining that things are broken. Despite me telling her every time I push changes that affect her work (on. my. branch. ergh!)
She keeps not reading or not understanding even the simplest of things. I feel like MojoJojo every time I talk to her because of how often I repeat myself and say the same things again and again.
Now she's extremely confused about migrations. She keeps trying to revert a drop_table migration that she just wrote so she can re-create the table differently. Instead of, you know, just reverting back to her migration that creates the table. it's one migration further.
Migrations are bloody simple. they're one-step changes to the database, run in order. if you want to make a change to something you did a few steps back, you roll back those migrations, edit your shit, and run them again. so bloody difficult!
`rails db:rollback && rails db:rollback`
Edit file
`rails db:migrate`
So. hard.
I explained this to her very simply, gave her the commands to copy/paste, ... and she still can't figure it out. She's fucking useless.
It took me ten minutes to walk her though it on a screen share. TEN FREAKING MINUTES.
She hasn't finished a damned fucking thing in three weeks. She's also taking interview calls while working on this, so I know she totally doesn't care.
... Just.
Fucking hell.
USELESS FUCKING PEOPLE!34 -
Things have been a little too quiet on my side here, so its time for an exciting new series:
practiseSafeHex's new life as a manager.
Episode 1: Dealing with the new backend team
It's great to be back folks. Since our last series where we delved into the mind numbing idiocy of former colleagues, a lot has changed. I've moved to a new company and taken a step up as a Dev manager / Tech lead. Now I know what you are all thinking, sounds more dull and boring right? Well it wouldn't be a practiseSafeHex series if we weren't ...
<audience-shouting>
DEALING! ... WITH! ... IDIOTS!
</audience-shouting>
Bingo! so lets jump right in and kick us off with a good one.
So for the past few months i've been on an on-boarding / fact finding / figuring out this shit-storm, mission to understand more about what it is i'm suppose to do and how to do it. Last week, as part of this, I had the esteemed pleasure of meeting face to face with the remote backend team i've been working with. Lets rattle off a few facts to catch us all up:
- 8 hour time difference to me
- No documentation other than a non-maintained swagger doc
- Swagger is reporting errors and several of the input models are just `Type: String`
- The one model that seems accurate, has every property listed as optional, including what must be the primary key
- Properties go missing and get removed at the drop of a hat and we are never told.
- First email I sent them took 27 days to reply, my response to that hasn't been answered so far 31 days later (new record! way to go team, I knew we could do it!!!)
- I deal directly with 2 of them, the manager and the tech lead. Based on how things have gone so far, i've nick named them:
1) Ass
2) Hole
So lets look at some example of their work:
- I was trying to test the new backend, I saw no data in QA. They said it wouldn't show up until mid day their time, which is middle of the night for us. I said we need data in our timezone and I was told: a) "You don't understand how big this system is" (which is their new catch phrase) b) "Your timezone is not my concern"
- The whole org started testing 2 days later. The next day a member from each team was on a call and I was asked to give an update of how the testing was going on the mobile side. I said I was completely blocked because I can't get test data. Backend were asked to respond. They acknowledged they were aware, but that mobile don't understand how big the system is, and that the mobile team need to come up with ideas for the backend team, as to how mobile can test it. I said we can't do anything without test data, they said ... can you guess what? ... correct "you don't understand how big the system is"
- We eventually got something going and I noticed that only 1 of the 5 API changes due on their side was done. Opened tickets. 2 days later asked them for progress and was told that "new findings" always go to the bottom of the backlog, and they are busy with other things. I said these were suppose to be done days ago. They said you can't give us 2 days notice and expect everything done. I said the original ticket was opened a month a go *sends link* ......... *long silence* ...... "ok, but you don't understand how big the system is, this is a lot of work"
- We were on a call. Product was asking the backend manager (aka "Ass") a question about a slight upgrade to the new feature. While trying to talk, the tech lead (aka "Hole") kept cutting everyone off by saying loudly "but thats not in scope". The question was "is this possible in the future" and "how long would it take", coming from management and product development. Hole just kept saying "its not in scope", until he was told to be quiet by several people.
- An API was sending down JSON with a string containing a message for the user with 2 bits of data inside it. We asked for one of those pieces to also come down as a property as the string can change and we needed it client side. We got that. A few days later we found an edge case and asked for the second piece of data to be a property too. Now keep in mind, they clearly already have access to them in order to make the string. We were told "If you keep requesting changes like this, you are going to delay the release of the backend by up to 2 weeks"
Yes folks, there you have it, the most minuscule JSON modifications, can delay your release by up to 2 weeks ........ maybe I should just tell product, that they don't understand how big the app is, and claim we can't build it on our side? Seems to work for them
Thats all the time we have for today,
Tune in for more, where we'll be looking into such topics as:
- If god himself was an iOS developer ... not
- Why automate when you can spend all day doing it by hand
- Its more time-efficient to just give everything a story point of 5
- Why waste time replying to emails ... when you can do nothing instead
See you all next week,
practiseSafeHex13 -
!rant
Programming is a huge blessing i believe we all should be thankful to. For me, it literally turned my life around.
11 months ago i was fighting a losing battle with depression, and contemplated suicide constantly. I would use a self remedy of smoking weed and sleeping all day long. I was depressed because i felt my life had no real value. I was doing nothing, and its kind of an infinite loop.
You don't do anything, so you feel bad, so you don't do anything, and so on.
That was until i finally took the step that changed my life. I searched and wanted to learn something. I always liked web pages so i thought id get into web development.
Did some research, found out that the fastest way to go was to learn ruby on rails. I followed a tutorial i found online, and literally pushed myself through it. There were times when there where things i didnt understand, and when it was really bad, but i pushed myself through it and i finished the tutorial.
Just finishing the tutorial and learning something new helped me alot. I had already quit smoking and was feeling way better, but after a while i started feeling bad again since i wasnt doing anything after i had finished learning, so i started working on a personal project, creating it from scratch, and just working on it day and night. I worked 14 hours a day, never really leaving my room ( this was during summer vacation ) for a month.
There were many things i didnt understand, but i never gave up and always searched for the solution and read about it until i understood it better. Looking back, there were things i knew could have been done in a better way, but as a first project, im proud of myself, not because it rocks, but because i did not give up.
In the process of starting a new life, i was really lonely. I cut all ties with everyone i knew, since they were all toxic, all i had in my life was ruby on rails and my web application. I wanted to launch it but couldn't due to personal reasons.
Not being able to launch and see something live, something that you worked so hard on, that you put so much effort into, that was devastating to me. I felt as if all my efforts had gone to waste.
And here is what i love most about programming, NOTHING EVER GOES TO WASTE. All that effort you spent on something ? All these all nighters you pulled ? All that frustration from that bug ? It will pay off later. It always does somehow. You get more knowledge and become a better programmer, and sometimes it even gives way to new opportunities and chances you never even expected.
I included my web application in my resume and it helped land me a job as a junior developer in a really nice company. A job that i wouldn't even have dreamed of several months earlier.
Programming and creating something new and learning something new everyday, creating something that people use, that someone else will benefit from and be grateful for, i think we should never take that for granted !
Tl;dr : learning how to code and web development saved my life9 -
The laziest thing I've done was during an internship:
We had to open big table files in a special software, click on some buttons and then save it. Each step took 1-5 minutes untilnwe could proceed with a click on the next button. So I wrote a click script, predefined the mouse positions and run it all day. This was able to run for 1 hour straight with no human action needed, so I started using the new sparetime for more interesting stuff: Gaming.3 -
I hate ZenHub. For those who haven't heard of it, it's an agile project management solution that is hacked (and by hacked I mean really hacked) on top of Github.
It's touted as being convenient because you can have all your issues in Github and then look at them in epics and board format. Sounds awesome. Except it's not. For everything "convenient" it does, it severely lacks the most basic ticket management features that make any ticket management solution usable. Ex., you can't copy tickets. That's right - if you're creating 20 similar tickets, which I've needed to do in the past, you must create each one individually. New ticket -> add labels -> add assignee -> add title -> add description and then submit. 20 times.
ZenHub is so bad and so poorly conceived that many of those who use it have lost sight of project management reality and are blind to the 300 other PM products out there that are better.
True story: a couple of weeks ago people were celebrating because ZenHub added functionality to allow you to define what epic an issue belonged in while you were creating it. For those who aren't familiar with what that means, let me explain: before two weeks ago, when creating an issue in ZenHub, to fill out this "epic" field, you needed to first create the issue and then edit it to fill in the epic.
Let me break that down in devRant terms: it's the equivalent of not being able to add tags to a rant until you create it and then go back and edit it. Complete lunacy is the only way to describe it. And when they added the functionality two weeks ago allowing you to do it all in one step, people praised them!!!
Yeah, ZenHub sucks.11 -
Looks like I'm getting fired on Wednesday :)
Long story:
*I add first unit tests to project.
*Boss adds new functionality and breaks all the tests so I can't compile and write more for what I'm working on.
*Boss is very fragile and cannot handle any comment that can possibly be taken as a slight against him.
Me: "I wanted to ask what our policy on unit tests is please? Because we haven't really said how we are treating unit tests, and everyone myself included is not thinking about them. I also haven't added tests when I fixed bugs and this time your changes broke the tests"
Boss 10 minutes later: "I want to speak to you in private".
Boss: "you are too forceful and direct. You said I should have added tests."
Me: "yeah but I didn't mean in a nasty way"
Boss getting louder and more aggressive: "You are too forceful"
Me: "I didn't mean it in a bad way"
Boss: "I didn't want to add tests for that!"
Me: "then why add any tests?"
Boss: "Fine we are not having this conversation now!"
*Boss storms out
I decided I can't speak to the guy about anything without upsetting him spoke to the manager before I quit because I can't work like this.
That resulted in a meeting with my boss, his boss and the head of HR where I ended up savaging him and told them I can't bring up anything as I can never tell if it will offend him and that I spend ages writing emails and trying to document communications because I just can never tell if I will upset him. Also that I cannot bring up any ideas because I can't tell if he will somehow get offended and that I can't even write code because if I change something he wrote at some point he will get angry.
My boss claims that I am extremely forceful and disrespectful and that I am constantly insulting him and his decisions.
We go back over a ton of shit and I refute everything he says. In the end I have to have a meeting with him on Wednesday where we either get things straight, he fires me or I quit.
I think at this point that our relationship is too fucked for him to be my team lead on a 6 man team.
Side note I keep bringing forth ideas because we have one database shared between 6 Devs, no pull requests (apart from mine and another new guy), no test driven development, no backlog, no team driven story pointing, no running tests before merging, no continuous integration setup, no integration tests, no build step on merge, no idea of if we are on track to our deadline other than his gut feeling, no actual unit tests backend - just integration with a test db, no enthusiasm to learn in the team and no hope.21 -
There once was a bright young engineer who was hired by a company to design their new light ship.
Like 50 seconds after getting inside the company, the engineer was approached by a douchebag in a business suite.
"Hey, can you make us a mock up of the ship's design in the next hour or so? Nothing fancy, it must be very simple! To not overcomplicate it! Just a simple mock up so we can all see what are we talking about in this project! Please do not overthink this!"
The engineer, young and naive, just folded some piece of paper and gave the douchebag a paper boat.
"Fantastic! That's all we need for the presentation for the investors!"
A couple hours later the suite was back screaming.
"YOUR FUCKING FARSE! YOUR SHITTY SHIP EMBARRASED US ALL! THE VERY MOMENT OUR CEO TRIED TO STEP ON IT IT SANK! YOU ARE FIRED AND WE WILL SUE YOU FOR INCOMPETENCE! I ASKED YOU SOMETHING SIMPLE AND YOU CAME UP WITH THIS OVER ENGINEERED PIECE OF CRAP, YOU SON OF A.. [many, maaany expletives suppressed for brevity sake]"
This is how I feel everytime someone asks for "a tiny change" or some "very simple solution".
If it was so simple that it could be done in such short notice, than why the fuck do it at all, instead of buying it? I heard people sell all sorts of things in the internet nowadays. Software fucking included.5 -
Step 0: Feel incompetent with coding skills
Step 1: Try to practice by writing programs or learning new software, etc...
Step 2: Lose motivation and watch Netflix
Step 3: repeat9 -
We have a new developer working in our office. He is fairly new, which is understandable, so he asks for help regularly(which I actually appreciate). This time however, he asked for help, and every step of the way argued it. He said he needed help making a small circle(it's just an indicator on a table).
I told him if there is a mat-icon it would be simple, but if not it would still be pretty simple with CSS. He argued that those two options seem messy. I pointed out they are extremely clean actually, and showed him how it was only about 4 lines of css. and 1 if there was a material icon. He agreed it was pretty easy, and then went with a complicated way to have green or red. I let him know that was really trivial, and even gave him the exact code he needed for it(at this point, he could have copy and pasted, adjusted the conditional to the name of his variable, and be done).
He proceeds to take 3 more days to complete this task, making a new component for a colored circle, using templates and nested css in the html, and hard coding the color as opposed to using the material colors we use site wide. All in all 100+ lines of code. And he felt my solution with fewer than 10 lines was messy.14 -
I see my boss interested in learning new languages as if it is gonna be some sort of holy grail but his logic remains the same.
I'm in a step of my life that I finally understand that this language fight is a total waste of time:
PhP is fucking delicious to deploy
Java is fucking delicious to work with spring boot
Python has a fucking delicious syntax and I wanna marry it
Go is fucking delicious to outperform others
Anyway, my point is that when you get the hang of it you should learn concepts and improve your logic instead of hoping language x is gonna save you, its not.13 -
!rant
I quit my job today for a better one! It was my first job after graduation, been there for 2.5 years so it's a big step for me.
Wish me luck on my new job! :-)5 -
Fuck my life...
Okay, so I’m working on a web app with a small group... the app is basically a lead generator for new business in another country. We just need contact details cause they’re a fucker to buy.
Step 1: prototype to the investors, working with the ceo to make this thing look shiny AF.
Goes well as fuck.
CEO: “when can we get this out?”
Me: “it’s basically done mate, get your guys to look at it and we can talk about marketing”
Que a shower of 10 or so bellends with senior in their title going into a room and coming out with:
Bellends: “so on this page we want the user to confirm and accept the contract”
Me: “cool, makes some sense, that’s what it’s already doing.”
Bellends: “afterwards we want to show them the price and have them put in their banking details.”
Me: “Wait, you what when?”
Bellends: “Yeah, well Jenny says we should have as few clicks as possible to get to the final stage and have the customer accept.”
Me: “Jenny’s on fucking crack, moving the contract formation phase to after the contract acceptance stage is not an option”
Bellends: “Oh it’s okay, Andy in legal said that would be okay”
Me: “Andy’s a fucking moron, tell him that online contract formation laws were updated 2014/2015 and you can’t do that anymore”
Bellends: “No, andy’s legal, surely he knows”
Bellends: “We want all of this above the fold”
Me: “OH FUCKING SUCK A DICK YOU ABSOLUTE BAND OF FUCKWADS... which one of you, which one hasn’t looked at a website this millennia!?”
Needless to say I ignored all their shit, got the lead generator out and told the CEO those ten people are certifiably fucking useless.
Bonus round; recent, but “it has to be on internal infrastructure”
“Why? It’s a mobile app sending rest calls to a third party saas.”
“It just has to, we have this thing called the private cloud and w”
“Wait... you what son, priv 🤦🏼♂️ private what mate?”
“Private cloud”
“You... you mean a server rack?”
“Nah we spent £2mn on it, it’s brilliant”
“Hahahaha you fucking dick, you blew £2mn on server infra with fuckall to put on it!?”
“No, no it’s the private cloud”
“Fucking idiot, aye son, where’s the fucking bean stalk you prick!?”
“It has to go on internal infr”
“Shut up, that won’t work”9 -
Every step of this project has added another six hurdles. I thought it would be easy, and estimated it at two days to give myself a day off. But instead it's ridiculous. I'm also feeling burned out, depressed (work stress, etc.), and exhausted since I'm taking care of a 3 week old. It has not been fun. :<
I've been trying to get the Google Sheets API working (in Ruby). It's for a shared sales/tracking spreadsheet between two companies.
The documentation for it is almost entirely for Python and Java. The Ruby "quickstart" sample code works, but it's only for 3-legged auth (meaning user auth), but I need it for 2-legged auth (server auth with non-expiring credentials). Took awhile to figure out that variant even existed.
After a bit of digging, I discovered I needed to create a service account. This isn't the most straightforward thing, and setting it up honestly reminds me of setting up AWS, just with less risk of suddenly and surprisingly becoming a broke hobo by selecting confusing option #27 instead of #88.
I set up a new google project, tied it to my company's account (I think?), and then set up a service account for it, with probably the right permissions.
After downloading its creds, figuring out how to actually use them took another few hours. Did I mention there's no Ruby documentation for this? There's plenty of Python and Java example code, but since they use very different implementations, it's almost pointless to read them. At best they give me a vague idea of what my next step might be.
I ended up reading through the code of google's auth gem instead because I couldn't find anything useful online. Maybe it's actually there and the past several days have been one of those weeks where nothing ever works? idk :/
But anyway. I read through their code, and while it's actually not awful, it has some odd organization and a few very peculiar param names. Figuring out what data to pass, and how said data gets used requires some file-hopping. e.g. `json_data_io` wants a file handle, not the data itself. This is going to cause me headaches later since the data will be in the database, not the filesystem. I guess I can write a monkeypatch? or fork their gem? :/
But I digress. I finally manged to set everything up, fix the bugs with my code, and I'm ready to see what `service.create_spreadsheet()` returns. (now that it has positively valid and correctly-implemented authentication! Finally! Woo!)
I open the console... set up the auth... and give it a try.
... six seconds pass ...
... another two seconds pass ...
... annnd I get a lovely "unauthorized" response.
asjdlkagjdsk.
> Pic related.rant it was not simple. but i'm already flustered damnit it's probably the permissions documentation what documentation "it'll be simple" he said google sheets google "totally simple!" she agreed it's been days. days!19 -
Once upon a time while browsing his Instagram, a young and inexperienced boy found a magic realm called devRant.
He decided to hop on the cyberweb of interconected computers, aka. the Internet and found the gate to the magic realm.
Timidly he took a step forward and found himself surrounded by strange structures called Rants and Stories.
No knowing what to do, he now roams in this new and strange realm looking for some guidence and perhaps even friendship.26 -
Hey fellow devs,
I'm proud to say, that today I've passed my final step/exam of my apprenticeship.
So now I'm officially an IT-Specialist - Software Development or "Fachinformatiker für Anwendungsentwicklung" in german.
I'm so fuckin' relieved and happy that this chapter is now finally closed and the real fun can begin!
My new job - indeed the old one with 4x payment and just a 32 hour week instead of a 40 hour one.
Now I will cheer and drink as much whiskey I can find out there! :D
PS.: This baby (pic related) was my presentation device today. One member of the commission had to laugh, a ranter as it seems! ;)16 -
When will Google understand what an ecosystem means ?
Love it or hate it. What makes Apple devices homely is the ability to build a banded and consolidated associative user space that feels the same anytime on any platform. Crafting an ecosystem might be a daunting task , and requires adaptive and perfective rework through a long period. But it pays of , just like apples utility app suite does today. It was a journey to get it right.
Now we have Google , a company that is confused most of the time , releasing new apps everytime they have new feature in mind. According to me , Google did a phenomenal job in building hangouts and Allo , hangouts was a huge step forward from gChat , and Allo was way ahead of its time for a fun and innovative IM app. But what's the need for 2 different apps ? One has video calling , text messaging , group sharing , everything the Allo had.
Then all of a sudden you get Google Duo " The best ever video calling app " Why wasn't this integrated with hangouts and marketed the same way ?
Trial and error is one thing , this seems a lot like the lack of effort in architecting coaction and a well designed internetworking application framework. A lot of unnecessary choices have led to the shutting down of majority of their apps. Allo and hangouts included , but all this would have been unnecessary if the goal was to always build upon iteratively.
While I believe Allo was marketed as a cross platform chat application unlike hangouts , an integration plan could have always circumvented this issue.
I have to talk about another one of Google's failed efforts in recognition of potential , the hello app , but this rant has gone a bit too far already. So I'll post 6 hours later 😅
Well I'll always have the hope to see Google integrate the best of their ideas in a more relaxed and realised structure than what exists today. :)13 -
Two years ago I moved to Dublin with my wife (we met on tour while we were both working in music) as visa laws in the UK didn’t allow me to support the visa of a Russian national on a freelance artists salary.
After we came to Dublin I was playing a lot to pay rent (major rental crisis here), I play(ed) Double Bass which is a physically intensive instrument and through overworking caused a long term injury to my forearm which prevents me playing.
Luckily my wife was able to start working in Community Operations for the big tech companies here (not an amazing job and I want her to be able to stop).
Anyway, I was a bit stuck with what step to take next as my entire career had been driven by the passion to master an art that I was very committed to. It gave me joy and meaning.
I was working as hard as I could with a clear vision but no clear path available to get there, then by chance the opportunity came to study a Higher Diploma qualification in Data Science/Analysis (I have some experience handling music licensing for tech startups and an MA with components in music analysis, which I spun into a narrative). Seemed like a ‘smart’ thing to do to do pick up a ‘respectable’ qualification, if I can’t play any more.
The programme had a strong programming element and I really enjoyed that part. The heavy statistics/algebra element was difficult but as my Python programming improved, I was able to write and utilise codebase to streamline the work, and I started to pull ahead of the class. I put in more and more time to programming and studied personally far beyond the requirements of the programme (scored some of the highest academic grades I’ve ever achieved). I picked up a confident level of Bash, SQL, Cypher (Neo4j), proficiency with libraries like pandas, scikit-learn as well as R things like ggplot. I’m almost at the end of the course now and I’m currently lecturing evening classes at the university as a paid professional, teaching Graph Database theory and implementation of Neo4j using Python. I’m co-writing a thesis on Machine Learning in The Creative Process (with faculty members) to be published by the institute. My confidence in programming grew and grew and with that platform to lift me, I pulled away from the class further and further.
I felt lost for a while, but I’ve found my new passion. I feel the drive to master the craft, the desire to create, to refine and to explore.
I’m going to write a Thesis with a strong focus on programmatic implementation and then try and take a programming related position and build from there. I’m excited to become a professional in this field. It might take time and not be easy, but I’ve already mastered one craft in life to the highest levels of expertise (and tutored it for almost 10 years). I’m 30 now and no expert (yet), but am well beyond beginner. I know how to learn and self study effectively.
The future is exciting and I’ve discovered my new art! (I’m also performing live these days with ‘TidalCycles’! (Haskell pattern syntax for music performance).
Hey all! I’m new on devRant!12 -
First step to learning Django. Wish me luck!
Trying new stuff always excites me and anxious at the same time.15 -
How I chose a new smartphone:
- specs good?
Yes: good, continue.
No: hmm i might live.
- looks good?
Yes: OOHH MUCH BEAUTY, SUCH AWESOME, LET'S GO TO THE LAST ONE!!
No: 😩. I'll live I guess, last step :/.
- can find a rooting guide on DDG within a fee minutes?
Yes: YES YES I LOVE YOU ALREADY I'LL BUY YOU ❤😍
NO: FUUUCK. Next.28 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
Got a new colleaque. System Engineer with coding skills.
First step is to become adjusted to hearing high heels in our nerd room.
:)13 -
!rant
It's been months since I last posted in here, but I finally get to share good news for once!
I quit my current job and took an offer at a much better company in a senior developer role.
I no longer have to put up with an idiot tech lead who cannot either prioritize tasks or follow simple processes, a self-absorbed senior developer who keeps deleting my code for his because he prefers tables over divs for layouts, and an incompetent HR manager who is more concerned about his image than the welfare of us employees.
I felt pure bliss when I handed in my resignation. I feel focused and ready to tackle my next challenges at my new job in January. I can't wait.
My personal learning here is that while good things come to those who wait, it still needs you to take that first step yourself and without hesitation.4 -
Hello again, everyone. As Sunday comes to a close, and Monday is fast approaching, I'll share with you the likely cause of my death by stroke and/or heart attack:
MONDAY MORNING COFFEE OF HORROR
Disclaimer: Do NOT try this. I am a professional addict. I am not responsible for anything this brew from hell causes to you and/or those around you.
So, I wake up, feeling like I haven't slept for days, or just notice the fucking alarm clock shrieking because I pulled an all-nighter.
Step 1: Silence alarm clock via mild violence.
Step 2: Get the coffee machine to brew some filter coffee (espresso works too)
Step 3: Get milk and ice cubes from the fridge (both are needed, I don't care if you don't like milk, trust me)
Step 4: Get 2 spoonfuls (not tea spoon, and actually FULL spoonfuls) into the biggest glass you have
Step 5: Pour just a little of the warm filter coffee into the glass, just to get the instant coffee wet enough, and start mixing, until the result looks like the horror you unleashed in your toilet a few minutes ago (and will do so again in a few)
Step 6: Mix in 25-50 ml milk, just for the aesthetic change of colour of the devil-brew, and to add the necessary amount of lactic acid to react with the coffee to produce chemical X
Step 7: Add ice cubes to taste (if you are new to this, add a lot)
Step 8. Slowly add the filter coffee while mixing furiously, so that the light brown paste at the bottom get dissolved (it's harder than it sounds)
Now, take a deep breath. Before you is a disgusting brew undergoing a chemical reaction, and your moves need to be precise otherwise it will explode. Note that sugar or any other form of sweetener is FORBIDDEN, as it will block the reaction chain and the result won't be as potent.
Take a straw (a big one, not those needle-like ones that some cafeterias give to fool you into believing that the coffee is more than 150ml). Put it inside the mix, and check that the route to the bathroom is free of obstacles.
Now, clench your abs, close your nose if you are new to this, grab the straw and DRINK!
DRINK LIKE THERE IS NO TOMORROW!
THAT BROWN DEVIL'S BILE WILL HAVE YOUR INTESTINES SPASM AND DANCE THE MACARENA WHILE TWIRLING A HULA HOOP!
YOUR HEART WILL GO OVERDRIVE HARDER THAN YOUR PC'S CPU WHEN COMPILING ON ECLIPSE AND BROWSING WITH IE AT THE SAME TIME.
The combination of caffeine and lactic acid will bring out the perfectly disgusting combination of sour and bitter usually expected in rotting lemons. After you manage to chug it down (DON'T SPILL OR SPIT ANY!) you have 30 - 60 seconds max to run to the porcelain throne, where you will spend the next 30-60 minutes.
After that, nothing can stop you! You will fix bugs, write entire codebases from scratch, punch that annoying coworker, punch that boss! You will be a demigod among mortals for the next 6-8 hours!
Your recipes for Monday morning coffee?13 -
It's more than a story bear with me.
Open source world is big enough to scare a beginner like me, which happened when I started with my first contribution in the year 2015. So many platforms, lot of organisations, freaking images of coding languages, pull request, issues and bugs- these all were enough to freak me out.
The only thing which motivated me to stay and know about the open source technology was to develop my first program using python. I was in great difficulty as when I started writing my program I was stuck after almost every two to three stages of compilation, so I needed guidance. I started my search on Github by creating my repository, pushing my code and following developers. I was amazed to see such a good response from people around me, not only they helped me to debug and fix the issue but they also helped me to understand and build my program from a new perspective. Daily discussions and communication, new issue build up and solving them by the traditional way of GUI further motivated me to learn the Git using the command line tool.
I still remember the year I worked on a repo using the command line tool, it was amazing. Within months or few, the fear of open source tools, community, interaction all just flew away. With this rant I will like to suggest all the beginners and open source enthusiast to just step a foot ahead and ask openly to the world- "I need help" and believe me you will be showered with information and help from all the world.
Happy contribution.8 -
(Written March 13th at 2am.)
This morning (yesterday), my computer decided not to boot again: it halts on "cannot find firmware rtl-whatever" every time. (it has booted just fine several times since removing the firmware.) I've had quite the ordeal today trying to fix it, and every freaking step along the way has thrown errors and/or required workarounds and a lot of research.
Let's make a list of everything that went wrong!
1) Live CD: 2yo had been playing with it, and lost it. Not easy to find, and super smudgy.
2) Unencrypt volume: Dolphin reports errors when decrypting the volume. Research reveals the Live CD doesn't incude the cryptsetup packages. First attempts at installing them mysteriously fail.
3) Break for Lunch: automatic powersaving features turned off the displays, and also killed my session.
4) Live CD redux: 25min phonecall from work! yay, more things added to my six-month backlog.
5) Mount encrypted volume: Dolphin doesn't know how, and neither do I. Research ensues. Missing LVM2 package; lvmetad connection failure ad nauseam; had to look up commands to unlock, clone, open, and mount encrypted Luks volume, and how to perform these actions on Debian instead of Ubuntu/Kali. This group of steps took four hours.
6) Chroot into mounted volume group: No DNS! Research reveals how to share the host's resolv with the chroot.
7) `# apt install firmware-realtek`: /boot/initrd.img does not exist. Cannot update.
8) Find and mount /boot, then reinstall firmware: Apt cannot write to its log (minor), listed three install warnings, and initially refused to write to /boot/initrd.img-[...]
9) Reboot!: Volume group not found. Cannot process volume group. Dropping to a shell! oh no..
(Not listed: much research, many repeated attempts with various changes.)
At this point it's been 9 hours. I'm exhausted and frustrated and running out of ideas, so I ask @perfectasshole for help.
He walks me through some debugging steps (most of which i've already done), and we both get frustrated because everything looks correct but isn't working.
10) Thirteenth coming of the Live CD: `update-initramfs -u` within chroot throws warnings about /etc/crypttab and fsck, but everything looks fine with both. Still won't boot. Editing grub config manually to use the new volume group name likewise produces no boots. Nothing is making sense.
11) Rename volume group: doubles -'s for whatever reason; Rebooting gives the same dreaded "dropping to a shell" result.
A huge thank-you to @perfectasshole for spending three hours fighting with this issue with me! I finally fixed it about half an hour after he went to bed.
After renaming the volume group to what it was originally, one of the three recovery modes managed to actually boot and load the volume. From there I was able to run `update-initramfs -u` from the system proper (which completed without issue) and was able to boot normally thereafter.
I've run updates and rebooted twice now.
After twelve+ hours... yay, I have my Debian back!
oof.rant nightmare luks i'm friends with grub and chroot now realtek realshit at least my computer works again :< initrd boot failure8 -
It all began yesterday in my math lesson.My teacher introduced us into a new subject: The Heron method.
This is a method for iteratively computing the square root of a number which was made up by Hero of Alexandria.
But here's the cool part:
When my teacher said "method" I had the thought that I could make a programm on my TI-82 Stats (my calculator).
So I used the next break to make a little programm that does exactly the same what my mates has to do in several steps, in just one step.
Here is a picture so I can explain the programm:
First it asks for the root that it should calculate then for a value to begin with and finally for the amount of arithmetic operations.
Then it goes trough the algorithm and displays the interim results (this is important for later ...) .
So back in story.It wasn't surprising that we got exercises with this method as homework but through my programm I just needed 5 minutes instead of 20 minutes (like my class mates).8 -
Team quarterly capacity planning:
- Confluence document created with a big table (+100 rows) by product / business. Each row is something that needs to be worked on for the coming quarter.
- Row 1 could be an Epic with 15 tickets attached. Row 2 could be adding a single log to our analytics. No consistency.
- For each row, we create a separate confluence document with the "technical details". 75% of the time these remain blank. 1% of the time there is something useful, the rest its a slightly longer version of the description from the bigger document.
- Each row gets a high level estimate by the leads. 50% of the time without sufficient background info to actually do get it accurate.
- These are then copied into the teams excel spreadsheet, where it will calculate if we are over/under capacity.
- We will go backwards and forwards between confluence and excel until we are "close enough" to under capacity without being too much.
- Once done, we then need to copy them into the org/division's excel spreadsheet. This document is huge, has every team on it and massive 50pt text saying "Do not put a filter on this document".
- Jira tickets + Epics will now be created for each one, with all the data be copied over by hand, bit by bit, by product. Often missing something.
- Last week, at the end of this process for Q2 (2 weeks late), 6 of the leads were asked to attend a 30 minute meeting to discuss how to group the line items together because we had too many for the bigger excel spreadsheet.
- This morning I was told business weren't happy with one of our decisions to delay one line item. Although they were all top priority (P0), one of them was actually higher than that again (P-1?) and we need to work it back in.
... so back to step 1
- Mid way through Q2, a new document will be created for Q3. Work items that didn't make the cut will be manually copied from one to the other. 50/50 whether anything that didn't get done on time in Q2 will make its way to the Q3 doc.
- "Tech excellence" / "Tech debt" items (unit/UI tests, documentation, logging, performance, stability etc) will never be copied over. Because product doesn't understand them and assumes therefore that they are unimportant.
==================
PS: I'd like to say this was a rare event for Q2, but no. Q4 and Q1 were so bad, we were made assurances from the director of engineering that he would fix this process for Q2. This is the new and improved process (I shit you not) that has resulted in nothing tangible.7 -
About a year ago I switched my job.
At the start everything seemed like magic. I was the It director, I've finally was able to call the shots on technologies, on new software architecture.
First step was to check the current state of the company.
"qqqq" as each pc password? Ok
No firewall from outside? Lovely
Servers running on Windows Server 2008? Spectacular
People leaving pc on after work and left the machine unlocked just not to type the password? Hell yeah
The IT dude playing games instead of working? But ofcourse
Plaintext passwords publically accessible eshop? Naturally.
The list goes on and on.
After all this time, I'm working to fix every hole like that like crazy and because it doesn't show results, I'm soon to lose my job. Well better luck next time as an intern I guess :')19 -
It's been a long ass time Devrant, but I got some great news...
I start my new job as a Junior Frontend Developer next week :)
I'm just so happy to finally become a "professional" developer, but I'm also pretty nervous to be honest. Either way, I'm glad for the opportunity and won't squander it. I've been working towards being able to seize a moment like this for two years now; I'm as ready as I'll ever be, and I want to encourage everybody still struggling to make that first step into the professional world to keep going at it--you'll make it5 -
4 step process.
1. Loud music on the way home
2. Vent to the wife. Because she listens and is awesome.
3. Kill stuff in games. ESO or any shooter.
4. Sleep.
After all that the next day is fresh and new and all is good and right in the world.4 -
A new linear time O(N) sorting algorithm [Keep it secret 🔒]
* Compare two adjacent elements one by one starting from the first element
* If there are out of order, delete the second element and continue with step 1
* If in order, go to the next two elements
* Once done, act like the numbers you deleted never existed
Works all the time.
Not yet published. Thinking of a good name for it.25 -
First I wanna say how grateful I am that devRant exists, because my friends either don’t understand this vocab or don’t care lol.
Last week I worked on a pretty large ticket, opened a PR with 54 file changes. Just to follow standards I set the PR milestone to a future release version, but the truth is I didn’t care which version this work ended up in— I just needed it to go into the develop branch asap.
Since it was a large PR there was some expected discussion that prolonged its merging, but in the meantime I started a second branch that depended on some of the work from this branch. I set the new branch’s upstream to develop, fully expecting my PR to merge into develop, since that’s what I set the PR base to.
I completed all the work I could in the new branch, and got two colleagues to approve the initial PR so it would be merged into develop, I could add the finishing touch and get this work done seamlessly before the week was over. They approved, it got merged, I pulled develop, and… my work wasn’t there. I went to look at my PR and someone had changed the base branch to a release branch. It was my boss, who thought he was helping. (Our bosses don’t actually work on the same team as us, so he didn’t know. it’s weird. We have leads that keep track of our work instead.)
I messaged him and told him I really needed this in develop, knowing our release branch won’t be in develop for probably another week. I was very annoyed but didn’t wanna make him feel too bad so I said I’d just merge the release branch into my new branch. So many conflicts I couldn’t see straight. His response was “yeah and you’ll probably have a bunch of package manager conflicts too because that’s in that release.” He was right— I have so many package manager conflicts that I can’t even see how many compiler conflicts there are. I considered cherry picking my changes, but the whole reason I set develop as my upstream was to avoid having any conflicts since I’m working in the same functions, and this would create more.
So I could spend the next (?) days making educated guesses on possibly a thousand conflict resolutions, or I can revert my release branch merge and quietly step back and wait for the release branch to be merged into develop.
I’m sure cherry picking is the best option here but I’m genuinely too annoyed lol, and fortunately my team does not care to notice if I step back and work on something else to kill time until it’s fixed automatically. But I’m still in dire need of a rant because my entire plan was ruined by a well-meaning person who messed with my PR without asking, so here is that rant and I thank you for your time.8 -
I swear I work with mentally deranged lunatics.
Dev is/was using TFS's web api to read some config stuff..
Ralph: "Ugh..this is driving me crazy. I've spent all day trying to read this string from TFS and it is not working"
Me: "Um, reading a string from an web api is pretty easy, what's the problem?"
Ralph: "I'm executing the call in a 'using' statement and cannot return the stream."
Me: "Why do you need to return a stream? Return the object you are looking for."
Ralph: "Its not that easy. You can return anything from TFS. All you get back is a stream. Could be XML, JSON, text file, image, anything."
Me: "What are you trying to return?"
Ralph: "XML config. If I use XDoc, the stream works fine, but when I step into each byte from the stream, I the first three bytes have weird characters. I shouldn't have to skip the first three bytes to get the data. I spent maybe 5 hours yesterday digging around the .Net stream readers used in XDoc trying to figure out how it skips the first few bytes."
Me: "Wow...I would have used XDoc and been done and not worried about that other junk."
Ralph: "But I don't know the stream is XML. That's what I need to figure out."
Me: "What is there to figure out? You do know. Its your request. You are requesting a XML config."
Ralph: "No, the request can be anything. What if Sam requests an image? XDoc isn't going to work."
Me: "Is that a use-case? Sam requesting an image?"
Ralph: "Uh..I don't know...he could"
Me: "Sounds like your spending a lot of time doing premature optimization. You know what your accessing TFS for, if it's XML, return XML. If it's an image, return an image. Something new comes along, modify the code to handle it. Eazy peezy."
<boss walks in from a meeting>
Boss: "Whats up guys?"
Ralph: "You know the problem with TFS and not being able to stream the data I had all day yesterday? I finally figured it out. I need to keep this TFS reader simple. I'll start with the XML configs and if we more readers later, we can add them."
Boss: "Oh yea, always start simple and add complexity only when you need it."
Frack...Frack..Frack...you played some victim complaining to anyone who would listen yesterday (which I mostly ignored) about reading data from TFS was this monumental problem no one could solve, then you start complaining to me, I don't fall for the BS, then tell the boss the solution was your idea?
Lunatic or genius? Wally would be proud.4 -
Teaching new recruit some SQL (even though hes supposed to fucking know SQL and have multiple years experience but I was a contractor and idgaf, not messing up my money. Just fucking annoying to have an idiot around you all the time).
Me: Okay, so sys tables, so this one is for jobs yeah?
Him: Yeah
Me: Okay, so in this table, its obviously not one row per job per step cos you have multiple rows for the same job and step. Also, there is a datetime field, so what is it showing?
Him: Hmmmmm..... (after some time, back and forth we get to the answer).... history table
Me: Cooooooool, okay, so, lets say, I have a job with 5 steps. If i run it once, how many rows will be in this table?
Him: 5 rows.
Me: Correct, so if I were to have run this same job, 10 times, how many rows get inserted into the table?
Him: (Now...you have to understand, how long this thought process was, im trying to fill the gap with words but really, he was like, having a flashback or something...I kept quiet but silently wanting him to say anything....then he looks me dead in the eyes).... 10!
Me: Motherfucker what!?!? 10 What? If 1 time == 5, what does 10 times ==?
Him: Hmmmmmmmmm.... (yes...we are doing this whole flashback montage all over again)....... Ohhhhh, 1!
Me: .....Stop, think, its a history table. It holds history, for when every step is run for a job, why would it be only one row?
Him: OMG, I know what a history table is!!!!
Me: (Pissed off cos I don't take disrespect calmly). Fine, genius, answer, go!
Him: (LONGER WAIT THAN LAST TIME!!!!)....is it not 10?
Me: I swear, I'm gonna kill you one of these days.
Him: *chuckle*
Me: No...seriously....
TOOK 20-30 MINUTES FOR HIM TO SAY 50!!!!!!
And even then, I swear he didn't understand why. Serious, he was a special breed, had a manager that was a super tard and when I worked here, the spirit of that manager possessed this idiot, the CIO and his little right hand bitch zzzzzzzzzzzzzzzzz.
If there was ever a time I was willing to catch a case at work, it was there.
Bonus: Serious, it got to the point I had to come in and tell this idiot that he can only ask me questions today if he calls me by my name...and my name has changed today...and no, you can't ask me for it cos you need my name to ask me questions.....FUCK OFF kkthxbai.5 -
Manager: I want the front ends to be more dumb, too much logic is happening on the frontend.
Me: both of the sites are just multi step forms, I’m confused about the complexity part.
Manager: yea but don’t we have a bunch of third party api calls?
Me: we have 4 and they are public facing apis.
Manager: yea, make a new api and move this api calls to the backend and I want both frontend teams to send the same shape payload.
Me: but…
Manager: oh and I don’t like how the business team does the a/b testing and splitting traffic, let’s move that to the backend as well.
Me: but… that a/b testing platform they use in ran by another team and they have a full set of features for business analytics…
Manager: yea let’s just replicate those features and move them to the backend.
Me: but it’s a product!
Manager: look! You are the best backend engineer we got! I know you can do this!
Me: I lead the frontend teams…
Manager: ….
Manger: good news we are giving you a promotion with raise you are now a senior engineer.
Me: I confused but happy… I think..9 -
Remember Apple's initiative to scan photos on user's devices to find child pornography?
Today I finally decided to research this.
The evidence is conflicting.
For context, the database of prohibited material is called CSAM (child sexual abuse material).
“If it finds any CSAM, it will report the user to law enforcement.”
— Futurism
“Apple said neither feature would compromise the security of private communications or notify police.”
— NPR
CSAM initiative is dead. It won't scan photos in iCloud. It won't scan photos on your device. It will be a feature that only works in some countries, only on children's devices, and it will be opt-in. It will only work for iMessage attachments.
This is what Apple actually said at https://www.apple.com/child-safety:
- “Features available in Australia, Belgium, Brazil, Canada, France, Germany, Italy, Japan, Netherlands, New Zealand, South Korea, Spain, Sweden, UK, and U.S.”
- “The Messages app includes tools to warn children when receiving or sending photos that contain nudity. These features are not enabled by default. If parents opt in, these warnings will be turned on for the child accounts in their Family Sharing plan.”
News outlets telling people they will be automatically reported to authorities, and then telling there can be false-positives is a classic example of fearmongering. I hate this. Remember, anger and fear are the most marketable emotions. They make you click. News are and will always be worded to cause these emotions — it brings in money.
When presented with good news, people think they're not being told the truth. When presented with bad news, even when they're made up, people think it's the truth that's being hidden from them. This is how news works.
Now, a HUGE but:
Apple is a multi-billion dollar corporation. There is no such thing as good billionaires. Corporations will always wait for chances to invade privacy. It's like boiling the frog — one tiny measure here, one there, and just like this, step by step, they will eliminate the privacy completely. It's in their interest to have all the data about you. It brings control.
This is not the first time Apple tries to do shit like this, and it definitely won't be the last. You have to keep an eye on your privacy. If you want your privacy in the digital age, it's necessary to fight back. If you live in Europe, take the action and vote for initiatives that oppose corporate tyranny and privacy invasions.
Privacy on the internet is one thing, but scanning people's devices is a whole another thing. This is unacceptable no matter the rationale behind it. Expect more measures like that in the near future.
Research Linux. Find a distro that suits you. The notion that you can't switch because of apps/UI/etc. may be dictated by our brain's tendency to conserve energy and avoid the change.
Take a look at mobile distros like Graphene OS and LineageOS. The former only supports Pixel devices, the latter supports a wide range of devices including OnePlus and Xiaomi. They'll have FAR better privacy than iPhones.
Consider switching. It's easier than you think. Yes, it's me who's saying this. I do and will always protect people/companies from unjust criticism, and I consider myself an Apple fangirl for personal reasons related to my childhood, yet I won't fight blindly. CSAM initiative is a valid criticism, and there's nothing preventing me from saying this is unacceptable, and Apple deserves the backlash they got.11 -
Just came back from a new café (to the pedantic among us, yes I know it's a bar.. get over it).
And I met some Apple fanboy 🤭
So the guy kept on bragging about his shiny iPhone 6.. and I figured that I'd chime in. Due to my short-term memory being terrible, I'll be paraphrasing here.
M: me
S: iPhone usar _/\_
M: iPhone 6 ey..? I've heard about some devices in which the old ones are throttled down in a system update "to save the battery".
S: Yes, biweekly updates!! You can even delay them to tune them down to the time during which your device is charging and can commence its system update.
M (thinking): You've clearly missed the point sir.. but on Android, system updates don't need to be willfully delayed even. They (usually) won't commence unless your device is 80% and charging. OnePlus has been an exception to this though, probably under the assumption that their users are mostly power users that know what they're doing.
M: You do realize that given that your iPhone 6 is quite old already, Apple will very likely start throttling your device during a system update in the next few months, right.
S: What the hell dude.. look, look how smoothly it's been going for the last few years!!! Nothing wrong with that.
M: Just wait until your repair bill comes from those Geniuses 🤭
M: Sir, you do realize that Apple quotes €600 for battery repairs nowadays, right.
S: What the hell dude!!! I can buy a whole new phone for that much!!
M: Exactly!! That's exactly Apple's business tactic!!! They design their phones as such that the battery replacement (one of the most common repairs) requires you to replace not only the battery, but the whole chassis!!! And on the XS, the battery replacement is nothing short of atrocious!!!
M: Here, have a look at this: https://youtube.com/watch/...
*shows Louis' newest video about him switching to iPhone XS*
S: Yeah that's just bullshit. I bet you're showing me this on one of those crappy Samsungs.
M: No sir. I'm showing this on my Nexus 6P, that is tethered to my OnePlus 6T. Speaking of which, let me introduce you to the Nexus 6P's (one of the crappiest Android flagships to ever exist) repair, the battery replacement of which I've done myself.
(you can watch the iFixit video about it here: https://youtube.com/watch/...)
*explains heatgun, screwdriver, heatgun battery replacement of Nexus 6P and the time each step takes - more than an hour combined*
S: Yeah that's because it's one of those crappy Androids. That'd never happen to this shiny iPhone, look, I've got a $20 battery right here!!!
*shows battery*
M: Sir... That's a battery for a MacBook. A laptop battery.... 🤨
I love how willfully ignorant these Apple users are. To them, all that exists is Apple and Samsung (both of which I hate because lockdown). And they apparently don't even know what repair they have to look for when they'll need one.. maybe that's why those Genius Bars exist? 🤭
I'd love to see the guy's face when the Geniuses quote him the price for battery replacement when his planned obsolescence time comes 🤭14 -
After over 1.5 month long recruitment and 4 stages (3 technical and one with HR) they finally said it was last stage and they will write to me with their decision soon. I really want to get this job. It would be great step in my career and I could learn so much more compared to the company I'm stuck in right now. Actually working with new and interesting technologies! Can you imagine?
Hold your fingers crossed for me guys.7 -
!!oracle
I'm trying to install a minecraft modpack to play with a friend, and I'm super psyced about it. According to the modpack instructions, the first step is to download the java8 jre. Not sure if I actually need it or not, but it can download while I'm doing everything else, so I dutifully go to the download page and find the appropriate version. The download link does point to the file, but redirects to a login page instead. Apparently I need an oracle account to download anything on their site. stupid.
So I make an account. It requires my life story, or at least full name and address and phone number. stupid. So my name is now "fuck off" and I live in Hell, Michigan. My email is also "gofuckyourself" because I'm feeling spiteful. Also, for some reason every character takes about 3/4ths of a second to type, so it's very slow going. Passwords also cannot contain spaces, which makes me think they're doing some stupid "security" shenanigans like custom reversible encryption with some 5th grade math. or they're just stupid. Whatever, I make the stupid account.
Afterwards, I try to log in, but apparently my browser-saved credentials are wrong? I try a few more times, try enabling all of the javascripts, etc. No beans. Okay, maybe I can't use it until I verify the email? That actually makes some sense. Fine, I go check the throwaway inbox. No verification email. It's been like five minutes, but it's oracle so they probably just failed at it like everything else, so I try to have them resend the email. I find the resend link, and try it. Every time I enter my email address, though, it either gives me a validation error or a server error. I try a few mores times, and give up. I try to log in again; no dice. Giving up, I go do something else for awhile.
On a whim later, I check for the verification email again. Apparently it just takes bloody forever, but it did show up. Except instead of the first name "Fuck" I entered, I'm now "Andrew", apparently. okay.... whatever. I click the verify button anyway, and to my surprise it actually works, and says that I'm now allowed to use my account. Yay!
So, I go back to the login page (from the download link) and enter my credentials. A new error appears! I cannot use redirects, apparently, and "must type in the page address I want to visit manually." huh? okay, i go to the page directly, and see the same bloody error because of course i do because oracle fucking sucks. So I close the page, go back to the download list, click the link, wait for the login page redirect (which is so totally not allowed, apparently, except it works and manual navigation does not. yay backwards!), and try to log in.
Instead of being presented with an error because of the redirect, it lets me (try to) log in. But despite using prefilled creds (and also copy/pasting), it tells me they're invalid. I open a new tab container, clear the cache (just to be thorough), and repeat the above steps. This time it redirects me to a single signon server page (their concept of oauth), and presents me with a system error telling me to contact "the Administrator." -.- Any second attempts, refreshes, etc. just display the same error.
Further attempts to log in from the download page fail with the same invalid credentials error as before.
Fucking oracle and their reverse Midas touch.10 -
Dear Australian Government and National Authorities, you can go fuck the right away with this shit!
It’s bad enough we are a country of national data collection with flimsy laws of obtaining access to said data, but to then go that one step further and shove back doors into everything is going too far.
https://news.com.au/technology/...
Under the proposed new laws, Australian government agencies could compel companies to provide technical information such as design specifications to help in an investigation, remove electronic protections, assist in accessing material on a device subject to a warrant and even build or install software or equipment that could help authorities gather information.
What could possibly go wrong 🤷♂️2 -
Seems like the "creator of the internet" is working together with MIT to create a new version of it.
Check it out yourselves.:
https://medium.com/@timberners_lee/...
https://solid.inrupt.com/15 -
Two new coworkers step in. HR hasn't set up their accounts yet. We create all necessary tickets and wait. A week has now gone by. New guys are just sitting there reading documentation. Call HR
- We are currently processing the request.
- But what is taking so long?
- The request needs to be approved in 4 steps by people on higher and higher levels.
- What level is it currently on?
- Two
*Rage quit*2 -
---WiFi Vision: X-Ray Vision using ambient WiFi signals now possible---
“X-Ray Vision” using WiFi signals isn’t new, though previous methods required knowledge of specific WiFi transmitter placements and connection to the network in question. These limitations made WiFi vision an unlikely security breach, until now.
Cybersecurity researchers at the University of California and University of Chicago have succeeded in detecting the presence and movement of human targets using only ambient WiFi signals and a smartphone.
The researchers designed and implemented a 2-step attack: the 1st step uses statistical data mining from standard off-the-shelf smartphone WiFi detection to “sniff” out WiFi transmitter placements. The 2nd step involves placement of a WiFi sniffer to continuously monitor WiFi transmissions.
Three proposed defenses to the WiFi vision attack are Geofencing, WiFi rate limiting, and signal obfuscation.
Geofencing, or reducing the spatial range of WiFi devices, is a great defense against the attack. For its advantages, however, geofencing is impractical and unlikely to be adopted by most, as the simplest geofencing tactic would also heavily degrade WiFi connectivity.
WiFi rate limiting is effective against the 2nd step attack, but not against the 1st step attack. This is a simple defense to implement, but because of the ubiquity of IoT devices, it is unlikely to be widely adopted as it would reduce the usability of such devices.
Signal obfuscation adds noise to WiFi signals, effectively neutralizing the attack. This is the most user-friendly of all proposed defenses, with minimal impact to user WiFi devices. The biggest drawback to this tactic is the increased bandwidth of WiFi consumption, though compared to the downsides of the other mentioned defenses, signal obfuscation remains the most likely to be widely adopted and optimized for this kind of attack.
For more info, please see journal article linked below.
https://arxiv.org/pdf/...9 -
So this is a rant about my country and especially my city: Berlin (Germany).
Germany is like a third world country when it comes to IT infrastructure. We have one of the slowest internet speeds in the whole EU. People are still afraid to pay with their card or phone. My people love their coins. While most of the other countries see the importance of the new technologies we still use mainly copper wire for internet. So why am I especially mad about Berlin? Google was planning to bring an innovation campus to our city. They wanted to establish a place for startups and technology. But the people from Berlin demonstrated against it extremely. They didn't want to have a company like Google in their city. I also am not a big fan of Google, but this would be such an important step to a better future for Germany. In a few years Germany will have a huge problem because we are so far behind the other countries. And it is so sad to see that seemingly no one cares about this.
This rant was brought to you by the worst internet in the whole EU20 -
Interesting bug hunt!
Got called in because a co-team had a strange bug and couldn't make sense of it. After a compiler update, things had stopped working.
They had already hunted down the bug to something equivalent to the screenshot and put a breakpoint on the if-statement. The memory window showed the memory content, and it was indeed 42. However, the debugger would still jump over do_stuff(), both in single step and when setting a breakpoint on the function call. Very unusual, but the rest worked.
Looking closer, I noticed that the pointer's content was an odd number, but was supposed to be of type uint32_t *. So I dug out the controller's manual and looked up the instruction set what it would do with a 32 bit load from an unaligned address: the most braindead thing possible, it would just ignore the lowest two address bits. So the actual load happened from a different address, that's why the comparison failed.
I think the debugger fetched the memory content bytewise because that would work for any kind of data structure with only one code path, that's how it bypassed the alignment issue. Nice pitfall!
Investigating further why the pointer was off, it turned out that it pointed into an underlying array of type char. The offset into the array was correctly divisible by 4, but the beginning had no alignment, and a char array doesn't need one. I checked the mapfiles and indeed, the old compiler had put the array to a 4 byte boundary and the new one didn't.
Sure enough, after giving the array a 4 byte alignment directive, the code worked as intended.8 -
I think I want to quit my first applicantion developer job 6 months in because of just how bad the code and deployment and.. Just everything, is.
I'm a C#/.net developer. Currently I'm working on some asp.net and sql stuff for this company.
We have no code standards. Our project manager is somewhere between useless and determinental. Our clients are unreasonable (its the government, so im a bit stifled on what I can say.) and expect absurd things from us. We have 0 automated tests and before I arrived all our infrastructure wasn't correct to our documentation... And we barely had any documentation to begin with.
The code is another horror story. It's out sourced C# asp.net, js and SQL code.. And to very bad programmers in India, no offense to the good ones, I know you exist. Its all spagheti. And half of it isn't spelled correctly.
We have a single, massive constant class that probably has over 2000 constants, I don't care to count. Our SQL projects are a mess with tons of quick fix scripts to run pre and post publishing. Our folder structure makes no sense (We have root/js and root/js1 to make you cringe.) our javascript is majoritly on the asp.net pages themselves inline, so we don't even have minification most of the time.
It's... God awful. The result of a billion and one quick fixes that nobody documented. The configuration alone has to have the same value put multiple times. And now our senior developer is getting the outsourced department to work on moving every SINGLE NORMAL STRING INTO THE DATABASE. That's right. Rather then putting them into some local resource file or anything sane, our website will now be drawing every single standard string from the database. Our SENIOR DEVELOPER thinks this is a good idea. I don't need to go into detail about how slow this is. Want to do it on boot? Fine. But they do it every time the page loads. It's absurd.
Our sql database design is an absolute atrocity. You have to join several tables together just to get anything done. Half of our SP's are failing all the time because nobody really understands the design. Its gloriously awful its like.. The epitome of failed database designs.
But rather then taking a step back and dealing with all the issues, we keep adding new features and other ones get left in the dust. Hell, we don't even have complete browser support yet. There were things on the website that were still running SILVERLIGHT. In 2019. I don't even know how to feel about it.
I brought up our insane technical debt to our PM who told me that we don't have time to worry about things like technical debt. They also wouldn't spend the time to teach me anything, saying they would rather outsource everything then take the time to teach me. So i did. I learned a huge chunk of it myself.
But calling this a developer job was a sick, twisted joke. All our lives revolve around bugnet. Our work is our BN's. So every issue the client emails about becomes BN's. I haven't developed anything. All I've done is clean up others mess.
Except for the one time they did have me develop something. And I did it right and took my time. And then they told me it took too long, forced me to release before it was ready, even though I had never worked on what I was doing before. And it worked. I did it.
They then told me it likely wouldn't even be used anyway. I wasn't very happy at all.
I then discovered quickly the horrors of wanting to make changes on production. In order to make changes to it, we have to... Get this
Write a huge document explaining why. Not to our management. To the customer. The customer wants us to 'request' to fix our application.
I feel like I am literally against a wall. A huge massive wall. I can't get constent from my PM to fix the shitty code they have as a result of outsourcing. I can't make changes without the customer asking why I would work on something that doesn't add something new for them. And I can't ask for any sort of help, and half of the people I have to ask help from don't even speak english very well so it makes it double hard to understand anything.
But what can I do? If I leave my job it leaves a lasting stain on my record that I am unsure if I can shake off.
... Well, thats my tl;dr rant. Im a junior, so maybe idk what the hell im talking about.rant code application bad project management annoying as hell bad code c++ bad client bad design application development16 -
How Google loost its data Monopoly-
Present:
Step 1- US bans Huawei
Step 2- Google Bans Huawei
Step 3- China Gov helps Huawei get back on its feet
Future:
Step 4- Huawei makes their own OS to rival Google, the OS can run Android apps as well as IoS apps and has its own language/framework for developing new apps
Step 5- China bans Google from their market
Step 6- Chinese mobile manufacturers adopt the new OS
Step 7- China's population starts using the new OS i.e. country with the world's largest population starts using the new OS
Step 8- Chinese manufacturers like Xiaomi, Vivo, Oppo and OnePlus who already own approx 40% of India's smartphone market start distributing the new OS based phones in India. Factors like cheaper devices take this market share to 50%+
Step 9- Cry, cause the new OS is now being used by approximately 30% of the world's population.
Yeah, bring your hate in the comments but come back and talk to me in August 2022...12 -
So after a llllllloooooonnnnnnngggggg struggle with the team i've been working with, today is the day that my group move to a different org and start working with a different team.
This is a huge step in the right direction for us and we are so happy. This new team is much bigger, but has been around for a lot longer and has proper processes in place and works a lot smoother. Never going to be perfect, but still going to be much more workable and we are so ...... thats an interesting linter file, hhhmmm they have disabled all the checks for the stuff that will cause crashes, like force unwrapping ... but they've enabled the rule to make sure our imports are sorted alphabetically
... nope, cant do it, no sign of intelligent life in this company at all. linkedin here I come.7 -
Ticket: This API param doesn’t work.
Ticket Size: 1 story point / extra small baby fries
Found the issue almost immediately: some fucked up date math. Or at least backwards as hell. I don’t know. I don’t care.
There’s no spec for it, and writing it is a bitch. None of the API test helpers are designed for end-to-end tests. Why? I don’t care. They’re stupid. They all just break. And the API does weird shit like fucking redirects to an HTML page. Which is… i don’t know. They mix up API and embedded sessions a bunch, so who knows if this is right or broken as fuck.
I can’t deal with this shit anymore.
It’s just mountains of fucking garbage. Every time I dig into anything, anywhere in this codebase, or, let’s be honest: the entire goddamn company, it’s just more fucking garbage. The code is garbage. The specs are garbage. The people are garbage. The woke crap they love so much is garbage. The industry is garbage. The macs we’re required to use are garbage. The strongly-encouraged editor is garbage. The new hires are garbage. The legendary devs are garbage. The VPN is garbage — still haven’t gotten it to fucking work outside of fucking Safari, which is also garbage. The meetings are garbage. The “culture” is garbage. The “raises” are garbage. The thirty-step dance ceremony for each ticket is garbage. The literal fucking garbage at the office is the best part of the entire goddamn landfill.
And yeah, over half of the code that’s been giving me problems on this ticket was written by the same dev: The legendary golden garbage boy himself.
Just.
Fucking hell.
I’m going back to looking for work again. I can’t do this anymore.10 -
Hacktoberfest time, and I usually try to contribute by creating some trivial issues and labelling them as such - ones that I could fix in 2 seconds, just to help those starting out get a pull request and get used to how the process works. Like, we're talking *really* trivial - remove superfluous import statements, that sort of thing. In most of these I list exactly what needs to be changed.
This guy picks, what's probably the *easiest* of these tasks going, and then comes back saying he's got some questions. Dude, seriously?! It's right there in the damn issue description.
Whatever, I decide to be nice and I say he's welcome to ask. Brace myself for answering some stupid crap, but fine, we were all new once.
THE GUY COMES BACK AND SAYS HE NEEDS A CALL. A call, seriously? What is this crap? I do you a favour by letting you create a trivial PR, and you want me to literally burn my time & jump on a call to take you through step by step what to do?! Pff, and people wonder why I'm grumpy most of the time.11 -
!rant && Announcement
I am working on a DEVRANT TOOLBOX for the Firefox Desktop Browser.
It includes a dark mode and some new functions (autoreload, colored notifs, image preview on mouseover).
The Alpha version is finished.
As a first step I created an experimental version just for the dark mode (no other functions).
Its alpha and experimental, so I will not not published it.
I need some testers for it. My email is temporary available in my users profile for that.16 -
I just spent 2 hours helping a fellow Sr Dev format an “if block” in code. Then helped show them how to step through the code. This is what passes as a senior at my company? I no joke have stayed at this job for 6 more months than I wanted to out of pure pity for my team. I want to quit so bad, but the team is in such terrible shape and can’t hire anyone new that is willing to stay. All good people personally, but gosh this job is just brain dead and eats my weekends when I should be focusing on family. Back to helping through the 500 line if block. There are worse things in life, but this just feels terrible.11
-
Step 1: Run to the store to buy a USB card reader because all of a sudden you have a need to use a 16Mb CF card that was tossed in a junk drawer for 20 years (hoping it still works, of course), but that was the easy part...
Step 2: Realize that the apps - your own - you want to run on your new (old) Casio E-125 PocketPC (to re-live "glory" days) are compiled in ARM format, not MIPS, which is the CPU this device uses, and the installer packages you have FOR YOUR OWN APPS don't include MIPS, only ARM (WHY DID I DO THAT?!), so, the saga REALLY begins...
Step 3: Get a 20-year old OS to install in a Hyper-V VM... find out that basic things like networking don't work by default because the OS is so damn old, so spend hours solving that and other issues to get it to basically run well enough to...
Step 4: Get that OS updated so that it's at least kind/sorta/maybe (but between you and me, not really!) safe online, all without a browser that will work on ANY modern site (oh, and good luck finding a version of Firefox that runs on it - that all took a few hours)...
Step 5: Okay, OS is ready to go, now get 20-year old dev tools that you haven't even seen in that many years working. Oh, do this with a missing CD key and ISO's that weren't archived in a format that's usable today, plus a bunch of missing dependencies because the OS is, again, SO old (a few MORE hours)...
Step 6: Get 20-year old code written in a language you haven't used in probably almost that long to compile, dealing with pathing issues, missing libs, and several other issues, all the while trying to dust off long-dormant knowledge somewhere in the deep, dark recesses of your brain... surprisingly, it all came back to me, more or less, in under an hour, which lead to...
Step 7: FINALLY get it all to work, FINALLY get the code to compile, FINALLY get it transferred to the device (which has no network capabilities, by the way, which is where the card reader and CF card came into play) and re-live the glory of your old, crappy PocketPC apps and games running on the real thing! WOO-HOO!
Step 8: Realize it's 3:30am by the time that's all done and be VERY thankful that you're on vacation this week or work tomorrow would SSUUCCKK!!!!
Step 9. Get called into work the next day for a production issue despite being tired from the night before and an afternoon of errands, lose basically a whole day of vacation (7 hours spent on it) and not actually resolve it by after midnight when you finally say that's enough :(
Talk about your highs and your lows.6 -
PORTFOLIO INFLATION
when every junior is writing algorithms, the next step up, the only way to keep up is writing apps. When every junior is writing apps, the next leg up is writing an entire SN.
Eventually junior full stack devs are writing microservice streaming cloud backend content delivery optimized social networks wrapped in virtualization with load balancing, proper CI, public accessible analytics apis, written in custom webaseembly compiled scripting backend utilizing both the latest graphql and every single feature of postgres, while also being a web site builder, an in browser app, mobile optimized, designed to transmogrify your asset pipelines linearflow functional-oriented modular rust cratified turbencabulator while cooking your turducken with CPU cycles, diffusing your gpt, and finetunning your llama 69 trillion parameter AI model to jerk you off all at the same time.
And then the title "wizard" becomes a reality as the void of meaning in our lives occupied by the anxiety of trying to reduce the fear of rejection in job hunting, is subsumed by the brief accidental glance into the cthulian madness-inducing yawning abyss of the future which is all the rest of our lives we have to endure existing for until at last sweet sweet death consumes us and we go to annihilation never having to configure one more framework or devops deploy of another virtual environment.
And it dawns on us that we no longer develop or write code at all. No, everything has become a "service" in this new hellscape future. We slowly come to the realization that every job is really just Costco greeter, or eventually going to be reduced to something equivalent, all human creativity, free will and emotions now taken care of by the automation while we manage the human aspects, like sardines pushing against one another not realizing their doom has been sealed along with the airless can they have been packed into, to be suffocated by circumstance and a system designed to reduce everything to a competition of metrics designed by the devil, if the metrics were misery", and "torture", while we ourselves are driven by this ratfuck wheel to turn endlessly toward social cannibalism, like rats eating their babies, but for the amusement of wallstreet corporate welfare whores who couldnt turn a dime if it wasnt already stolen.
And on our gravestones, those immortal words are carved, by the last person who gave up the ghost, the last whose soul wasnt yey shovelled onto the coal fires driving the content machine consuming the world:
Welcome to costco. I love you.12 -
Forgot to post a book yesterday, so maybe I’ll post two books today...
Anyway, this book, I found it recently never seen it before. But boy is it great.
It’s similar to the programming pearls book as far as what it’s about. Think of the refactoring book, clean code, programming pearls, and the mythical man month books, thrown in a blender, added some new spice and some new things, and filtered down into 100 or so page book, simple quick and enjoyable actually.
This book the references staple books by Sedgwick, knuth, Brooks, Myers, and so many others. It’s funny how things come full circle.
My favorite quote from the book. I’ve been essentially saying this for years, but to see it on a book, it’s lovely... more people need to realize it too.
“Understanding how things work at a low level becomes a base for making good decisions at the high level”
Followed up with if you’ve never built a computer from scratch your missing out... get yourself a breadboard and some TTL logic.. and build a 4 bit CPU, once you know how to program in assembly the next step is building your own computer ... if your university didn’t teach a class that did this they ripped you off....
Don’t bitch at me.. the book said that.. and I agree! 100% because it’s true, you can’t debate that.
Oh and btw this is another book written by a female developer.. kudos to her for nailing so many topics in such a short book!35 -
Worst collaboration experience story?
I was not directly involved, it was a Delphi -> C# conversion of our customer returns application.
The dev manager was out to prove waterfall was the only development methodology that could make convert the monolith app to a lean, multi-tier, enterprise-worthy application.
Starting out with a team of 7 (3 devs, 2 dbas, team mgr, and the dev department mgr), they spent around 3 months designing, meetings, and more meetings. Armed with 50+ page specification Word document (not counting the countless Visio workflow diagrams and Microsoft Project timeline/ghantt charts), the team was ready to start coding.
The database design, workflow, and UI design (using Visio), was well done/thought out, but problems started on day one.
- Team mgr and Dev mgr split up the 3 devs, 1 dev wrote the database access library tier, 1 wrote the service tier, the other dev wrote the UI (I'll add this was the dev's first experience with WPF).
- Per the specification, all the layers wouldn't be integrated until all of them met the standards (unit tested, free from errors from VS's code analyzer, etc)
- By the time the devs where ready to code, the DBAs were already tasked with other projects, so the Returns app was prioritized to "when we get around to it"
Fast forward 6 months later, all the devs were 'done' coding, having very little/no communication with one another, then the integration. The service and database layers assumed different design patterns and different database relationships and the UI layer required functionality neither layers anticipated (ex. multi-users and the service maintaining some sort of state between them).
Those issues took about a month to work out, then the app began beta testing with real end users. App didn't make it 10 minutes before users gave up. Numerous UI logic errors, runtime errors, and overall app stability. Because the UI was so bad, the dev mgr brought in one of the web developers (she was pretty good at UI design). You might guess how useful someone is being dropped in on complex project , months after-the-fact and being told "Fix it!".
Couple of months of UI re-design and many other changes, the app was ready for beta testing.
In the mean time, the company hired a new customer service manager. When he saw the application, he rejected the app because he re-designed the entire returns process to be more efficient. The application UI was written to the exact step-by-step old returns process with little/no deviation.
With a tremendous amount of push-back (TL;DR), the dev mgr promised to change the app, but only after it was deployed into production (using "we can fix it later" excuse).
Still plagued with numerous bugs, the app was finally deployed. In attempts to save face, there was a company-wide party to celebrate the 'death' of the "old Delphi returns app" and the birth of the new. Cake, drinks, certificates of achievements for the devs, etc.
By the end of the project, the devs hated each other. Finger pointing, petty squabbles, out-right "FU!"s across the cube walls, etc. All the team members were re-assigned to other teams to separate them, leaving a single new hire to fix all the issues.5 -
I am just thrilled about the new employees! They are so talented…
O-M-F-G!
Who hired these people!? It-is-incredible! (Actually, I know who hired them!) Just unbelievable amount of wasted time holding their hand on every step of the way. 10 years experience? I-think-not! This will not working out!
Don’t even speak understandable English. Just difficult to know what they are asking since they lack the basic principles of the english language.
Beginning of the end.
Imbeciles!9 -
Part 3: today has become a blog post.
WARNING: this is loooooooooooong
Background is my boss and I were talking about hiring the right people, also generalists vs specialists.
Essentially John and I are the specialists. When something goes wrong it ends up escalating to either him or me. But this is not sustainable as I can't handle the stress and most likely he eventually won't either.
And this goes back to general hiring standards.
All the good people leave and the remaining ones are stuck with all the problems and eventually for one reason or another they leave as well... or the code keeps getting worse... until someone decides to scrap everything and build a new one... But now the only people left to lead teams are monkeys.
Now current problem is the only person that can replace me is John and the only person that can replace John, at least in handling issues, is me...
It's a certain type of person, people that have a growth mindset and can pick things up.
Google and strong tech companies are full of these types of people where if needed there's always someone that can step in and help. They have the background and the ability to quickly learn. This also lets them innovate and identify and solve new problems.
I think that's what the technical interviews are for, to find these types of people.
And you really can't train this. I'm not sure how effective our "new" training program on high quality development is but I'm guessing it's not. Excellence has to be in the culture and it's not something that can be built overnight or by randomly hiring people.
So in a sense, tech companies aren't really paying well, they're paying cost to what their hires are really worth, after they've verified it, and enough to keep them from leaving.3 -
So I need some advice from some fellow devs here...
I recently accepted a job offer at a new company and I'll be leaving my place of work for the last 11 years. I'm a senior level dev who comes from a place where software is more of a secondary function and the skills of my peers are very... Atypical of most software developers.
My interview was ok, but I passed the mark barely - in that they recognize I'm rusty and have some gaps to shore up, but have decided to give me an offer anyway. I'm taking a "step down" to enter in as a level below senior to get my foot in the door of a real tech company.
I've got myself convinced I'm setting myself up to fail, despite being told by people that work there that they encourage mistakes and that they wouldn't be offering me a position if they didn't think I'd be successful.
Is it typical to feel inadequate and worried you'll be fired prematurely for underperformance? I've had little to no experience in a fast paced tech job so I have little to refer to. I was a very high performer where I'm coming from, but that's hard to equate to where I'm going. It seems like classic "impostor syndrome".
I've not even started there yet but I'm terrified my anxiety will get the better of me before I even have my first day there. Anyone out there have any advice?
I'm excited for this new opportunity but I can't seem to shake the fear of the unknown.4 -
I'll admit - I come from a WordPress background of almost 9 years in the making. I guess I can justify it because of all of the sites I created using it, it was the best that it could be on WP. Fast, efficient, custom - none of that off-the-shelf themeforest crap. I created everything custom. I actually knew what was going on behind the scenes of WP.
And then a buddy of mine and I had an idea for a new company/software project. I was smart enough to know that WP was not the foundation for this, so I did some NodeJS/Express tutorials. Started learning React, and really getting into the Javascript world.
And now I'm wondering WHY IN THE ABSOLUTE FUCK I ever bothered trying to become an expert in WP. It's the largest use of PHP in the fucking world and it doesn't even have native composer support. And by the time you actually get your project set up using composer you have to add a fucking mirror of the wordpress.org plugin repo to get anything to work. It's 2018 and you'd think that WP and composer would have all of this shit figured out by now.
And don't get me started on git - as soon as you have more than 1 person working on a WP site, I hope you have hourly backups of your DB because someones work will get overwritten. So you all either need to work on the same staging area of work around each other by pushing/pulling the DB and schedule your workflows.
I guess WP CLI and the REST API are a step in the right direction, but the foundation of everything is just so fucked up.
I don't feel like I've wasted my web dev career, but I definitely wish I had started down this path a lot earlier. I guess you don't know what you don't know. Thanks for reading!2 -
Partner of ours claimed they are going to update their api. No breakage. My hopes were low and they did not disappoint.
Soon after the new version of their api went live, of course, loads of breakage. And the email contact with them is really fun.
Me: "Hello, since your update we get the issue A. Here's the complete communication."
Them: "We did not change the existing behavior. You are doing X wrong. Repeat that one call during the step and you should be fine."
Me: "Thank you, if I repeat the call, it does indeed work, albeit slower, since we are now repeating calls. Furthermore, our application was consuming your api for years and we did not change anything. So why is that step necessary now? Only after your update do our logs show errors from your API. And by the way, we now also have a issue with B. Why is that?"
Them: "Oh that's because your query the endpoint with "Fnord", try "Baz".
Me: "Yes, I do know that we query it with "Fnord" as that is what a previous endpoint of yours is responding to us. Why are we getting "Fnord"? What request do I have to make to get a "Baz" back?"
It feels like a game of wackamole. Squash one issue, ten more will pop up. I am one step away from becoming active-aggressive.3 -
how to learn web development in 2018:
- watch youtube video of that new shiny promising framework
- spend hours trying to set up development environment
- spend another hours waiting for the dependencies to install
- spend the next few hours wondering and googling why it wont work even at fresh install
- spend another few hours redoing everything just to make sure you haven't missed a step
- realize that the youtube video you watched is uploaded last week, and now the framework developers mysteriously decided to change literally everything
- spend hours looking for another youtube video until you realize that now you are watching completely unrelated youtube video
- spend next hours wondering how your life become this pathetic while overthinking all of your past mistakes, and now you are just this lonely pathetic person with no clear future and that you will spend the rest of your life working at a fastfood chain below the minimum wage with no social life living on your parent's basement.9 -
Init and Hello. My name is git and this is my story.
I just arrived in this system recently by the apt highway. It's not the only way though. Some for example used the npm hype-train, others arrived from the ssh shore. No matter where we came from the next step on our agenda was time to introduce our self at the event destined for all new-comers to the system.
"As many of you I reside in the usr-bin district. I'm really into history and commitment! I like it when people work together, so I'm always eager to bring all branches together."
"But what is it actually good for?", asked Curl, which I already met at the bus station. Many nodded in agreement. It was odd. Somehow I felt not quite at home. All the others seemed so different based on their field of work.
"We have worked here in a really agile environment for ages. There is no need for any kind of strange bureaucracy.", said another voice.
All attempts to convince them from the beauty of history or a little bit of management were unsuccessful. It was just the beginning of a not so interesting stage in my life - to say the least.
Today was another of 'those' days. I live in this community for quiet a while now and unfortunately nothing really changed - at least for the good. I sat on my branch of the tree with all the others around and there was nothing really to do for me. Again. I mean, actually it's true. I have to admit it. There is just no work on this world for someone like me. All the others seem to be so busy, while I just have to sit around and question my own existence. Since I grew tired asking these questions to myself, I stopped it. I can't do a thing actually. That's not how this world works.
"Hey fagit, anything meaningful to add to our delightful conversation?", nginx shouted over to me from another branch of the tree. Before I was able to give an indifferent answer the voice just continued.
"Oh, sorry. I forgot that you have no purpose after all. Well, never mind!"
Everyone started laughing at me. It was not too bad by the way. Actually, this was quite ordinary. These fucktards completely ran out of creativity. If it wasn't for that mere emptiness gaping right above my guts, I'd actually be disappointed. I even got accustomed to the alias 'fagit'. Quiet sad given the fact that i really like my real name. If only someone would mind using it... First too quiet to notice but growing in intensity a rumbling emerged from somewhere deep within the tree. Out of a sudden everyone stopped laughing. The voices slowly faded while the growling from afar grew louder. It had come. Not more than a shadow reached out from the tree and faster than anyone could comprehend nginx was simply gone. Killed in an instance.
Disclaimer: This story is fictional. No systems were harmed in its creation.3 -
Windows 10 now let's you step through a options menu, which shows automatically after the new update, to select which kind of tracking you want to have. This makes it way more transparent for not tech savy people:)10
-
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
Agreed on an offer from company X... Told them I'd sign the contract on my first working day, still a week away.
The offer had a lower salary than my previous job, I needed to relocate, and travel costs were not covered. It was a step back for me but I really needed a new job.
After the weekend I got an invitation for another interview... All went well and the perks were better than the offer made by company X.
Next day I had the second interview and they were very excited and offered me a contract.
Contract came in on friday, signed it and called company X that I'd like to reject the position after reconsidering my options...
Boy were they pissed off 😂 -
Crushed my first week at the new job. I'm not a software engineer yet, but it's a QA job with a fair amount of test automation, so lots of programming and another step toward my goal.1
-
> Advice to new coders
Don't worry over picking language A or B.
Just pick A, use it for a month, then move on to B.
In a normal 3 year college degree you'll try multiple languages, some of which you'll never use again, and they'll each teach you something.
I had classes in Java, C, C++, C#, Prolog, Assembler, F#, JS.
Never used F# again and no one uses Prolog. But they were great for learning recursion and logic.
It's not like you take "a step down a bad path" if you pick a language you're never gonna use again.
You'll also learn new stuff on the job. We have one team that uses Go and one that uses Rust. None of the devs ever studied those languages. They were mostly former Java devs who leaned on the job.2 -
Having to deal with shit code as a new employee so you don't step on any toes...
Who knew developers had such egos. ¯\_(ツ)_/¯10 -
It's my end of probation and I just got demoted, from originally "Senior dev" to "dev".
My manager found it a bit difficult to tell me but funny enough, I am completely fine with it apart from the little dent on my pay check. Let me talk about the bad first: money. I believe I have been on the lower end of the market pay range anyways so this step-back gives me about 5% cut, which is acceptable and fair enough.
And the good? Quite a bit. When I got this job offer 6 months ago, it was when everything literally went to shit. I was upset with a somehow not so smart but stubborn tech lead and I desperately wanted to quit. Then I got the offer, which even after 2 interviews I still didn't recall it was a job ads for "technical lead". The manager thought I was not there yet but wanted to keep me as a senior dev. Then, this pandemic almost took away this job. My manager brought my case to the CEO and convinced him to keep me, by saying a lot of good things about me (which I think might not be true for the tech side...)
Throughout the whole 6 months I have been working remotely from home. WFH is not new to me, just this time it's very challenging as I was starting a new job. I have been struggling to keep my pace. All people in the team are nice. However if I don't reach out, no one would notice I need help. And with zero knowledge for this job, I got stuck with "I don't know what I don't know". This ranges from company culture, practice, new tech.. everything. So, that's how this 6 months feels long, but also short.
In our review meeting I think my manager finally realise this. Otherwise he would have gone for the "terminate employment" option. Taking away the "senior" title also takes away the expectation of "I should know XYZ", which I don't. I told him I am kinda happy with it because this sets me up for a more comfortable position to catch my breathe. He told me he noticed my improvement along the way. I told him yes I have been putting in efforts but just given the situation it's not as quick as anyone would expect. We're on the same page now.
So compared to my previous job, I got paid less. But in return, I get many more opportunities to expose myself to new tech. I get a good team who are respectful and open-minded. This is exactly what I was looking for and the drive for me to quit my previous job.
Not to mention I got a reality check. This is also an indicator for me starting to become an imposter, which is the thing I despise most in the industry. I don't want people to value me for how many years I have got in my career. I want to prove myself by what I am capable of. If I'm not there, I should and will get there.
And the last thing which I'm not very keen but it's 100% worth mentioning, is that my manager said I should aim for taking the "senior" role back. He said the salary raise is waiting when I get there. But... Let me just take my time.4 -
Had to integrate legacy code into the new framework.
Me: Where does the virtual sensor come from?
Colleague: It's in the docs.
Me: That step is not in the docs.
Colleague: It is, look into the file $FILE.
Me: Yeah, it's empty :D
Colleague: Nope, it's not.
Me: See, empty (pointing to laptop screen)
Colleague: Why is it empty? (keyboard typing...) Damnit, too many git remotes in my repo :D -
Business Intelligence, the most confused market technology has to offer. (Perhaps rivaled only by machine licking. Learning, whatever)
Step 1: develop a product that can replace a company's database guys. Make it cost more than the database guys.
Step 2: Show off product to managers using images of the product that the managers will love, but never have the skills to do themselves.
Step 3: Fucking obviously the managers buy it.
Step 4: Fire half the database staff.
Step 5: Managers give the BI tools to their remaining database guys ANYWAYS and instruct them to use it
Step 6: Database guys spend a month learning the new tool because management "wants to use it too".
Step 7: Database guys now use this new system for reports but have trouble using it for complex use cases, as it was designed for simple use cases. Meanwhile, management will never, ever touch the tool again.
Step 8: Hire new guys for reporting, because the remaining database guys can't complete both their normal tasks *and* the reports.
Step 9: Database guys are expensive. Go to step 1.1 -
How I want my Git history to look like:
New Feature - Step 1
New Feature - Step 2
Adjustments
...
How my history looks instead:
Super massive Mega Feature
Fixes
Fixes
... -
Startup rant ---
John and Bob joined a startup at the same day but they were in two different offices.
John joined the US office while Bob joined the European office (let's not share the country here ;) )
Both of them worked really hard, they worked longer hours, showed result and helped the startup to reach and get Serie A funds.
That seems good no? But let's step back, John was promoted twice and get more perks while Bob got only a salary raise that aligned him with the current market.
There are different reasons for this but the most important one is that the company is having two different cultures for the two offices.
What's funny here is that Bob effort is well known across the two offices and his contribution has made a huge difference to the company but unfortunately he wasn't rewarded for it.
So Bob opened a new window not in his office but in his browser to find better opportunities.2 -
Realized there was a bug in my npm package that made it hard to update the state of the input field conditionally (rather than explicitly through user action) and fixed it, wrote tests to ensure it was working the way I thought it was, updated the dist, updated the package version, merged, cut a GitHub release...
Then uninstalled and reinstalled it in the project I’m using it in and it didn’t work. What the eff, I think. Take a couple hours furiously trying to figure out why the hell the behavior doesn’t seem to match the behavior of the new version.
Then it dawns on me. I check the package.json.
“react-autosuggestions”: “^2.1.0”
.... I forgot to do the “npm publish” step.
*head desk* -
I don't seem to understand why so many developers nowadays are focused on learning newer frameworks rather than focusing on best practices and learning how to code better.
"Hey I learnt React today, we should totally switch to it because it's so amazing"
> mfw the same guy doesn't even know how to follow coding styles, write good code that scales or document his code.
I think some people need to take a step back and focus on the more vital tasks of writing good code to begin with rather than getting so excited about every new thing that surfaces. It's annoying as fuck to deal with some of these people who you have to work alongside and be able to read their loopy shit code and all they are doing in their time is refreshing hackernews.8 -
Hope you all are surviving well
Few changes here and there in my life and staying away from lots of things including DR. Not technically a rant but kinda a summary of my current life story.
- broke up with gf (to be precise, I dumped her because I don't wanna have a RS anymore). Pretty bad thing for her and she is still having a hard time accepting it.
- took a second job, part-time.
- trying to get few more part-time/consultant kind of jobs.
- step down from CEO/CTO position at my business and trying to focus just to be a better CTO.
- 80% of sale teams resigned or asked them to resign.
- found a new investor but no cash received yet.
- have to touch nodejs (at the part-time job).
- left side eyelid is twitching pretty frequently lately.
Not much. That's about it. Now let me check what the heck are you all up to lately.17 -
Oohhh, dropbox... You are pathetic.
I'm a long time dbx user. 10+ years ago they had a programme saying that each new dbx user created using my ref link [on different machines] grants me 500M or 1G of additional space in my acct. Around that time I used to actively fix/reinstall/setup others' computers, so I had an easy access to different machines. This way I boosted my dbx capacity to 27G. For free.
Since ~5 years ago dbx started spamming me with "you're almost out of storage" emails [I'm using ~80% of my 27G]. Annoying, but I understand - they have to keep with the sales. I can live with this occasional spam.
Now, since I got my new laptop, I'm setting up dbx on it. And dbx is SO desperate with their sales, that now they only allow sync on 3 devices max. I had to unlink other 17 devices I've ever logged in from before I could continue.
What's the next step of despair? Free accounts can only sync on weekends?
Come on. This looks ridiculous. Dropbox, get your shit together!10 -
not universal, but works for me:
1. start listening to long video/podcast/talkshow i'm interested in
2. (optional) think about all the physical things i should do, such as cleaning the house, running errands, etc. conclude "nah, i'd rather stay at the computer".
3. open the project i'm working on, thinking "while i listen, i might as well muck about with this for a bit". the key is for the thought to be duration-indeterminate and non-commital, so it feels like an idea for a voluntary idle activity.
4. start mucking around with the project, starting with the simplest smallest tasks, to slowly shift my focus away from what i'm listening to, so it gradually becomes the background thing as the work gets into foreground of my concentration without me even noticing. this also naturally shifts me towards the more important and complicated tasks in the project
5. naturally lose track of time, realizing i've been working for 2 to 3 hours without break only after what i'm listening to ends (sometimes not even then)
6. at that point, take a break, stretch my legs, get some food, watch some 20-30 minute thing with full attention.
7. find a new long-form mostly audio thing to listen to, and go to step 4. repeat.
8. i found i can work like this 8 to sometimes 20 hours straight in a nice atmosphere, without feeling like i spent the time working with all the mental exhaustion it brings, instead it feeling like "i was listening to interesting/entertaining things and mucking around with some stuff on the side", with all the feeling of "i've been idling the whole time" except the work is actually done, or at least i made a progress. it feels almost like procrastinating except without the guilt because i can see i've done a lot through that time. kind of a good compromise between total procrastination and working your ass off into complete anxiety/depression2 -
We should not tolerate censorship.
Beyond all the u.s. hype over elections
(and the division in the west in general), the real story is all the censorship on both sides.
Reasonable voices are quickly banned, while violent voices and loud angry people are amplified.
I broke out of the left-right illusion when
I realized what this was all about. Why
so much fighting in the street was allowed, both
justified and unjustified. Why so much hate
and division and slander, and back and forth
was allowed to be spread.
It's problem, reaction, solution.
The old order of liberal democracy, represented
in the u.s. by the facade of the GOP and DNC,
doesn't know how to handle the free *distributed*
flow of information.
That free-flow of information has caused us to
transition to a *participatory* democracy, where
*networks* are the lever of power, rather than
top down institutions.
Consequently, the power in the *new era* is
to decide, not what the *narrative* is, but
who can even *participate*, in spreading,
ideating, and sharing their opinions on that
narrative, and more broadly, who is even allowed
to participate in society itself.
The u.s. and west wants the chinese model of
control in america. you are part of a network, a
collective, through services and software, and
you can be shut off from *society* itself at
the drop of a pin.
The only way they get that is by creating a crisis,
outright fighting in the streets. Thats why
people keep being released after committing serious
fucking crimes. It's why the DOJ and FBI are
intent on letting both sides people walk.
They want them at each others literal throat,
calling for each other's blood. All so they
can step back and then step in the middle when
the chorus for change cries out loud enough.
And the answer will be
1. regulated tech
2. an end to television media as we know it
3. the ability to shut someone off from any service on a dime
4. new hatespeech laws that will bite *all* sides in the ass.
5. the ability to shape the narrative of society by simply 'pruning' networks as they see fit, limiting the reach of individuals on all sides, who are problematic to
the collective direction.
I was so caught up in the illusion of us-vs-them I didn't
see it before now. This is a monstrous power grab.
And instead of focusing on a farce of election, where the party *organizations* involved are institutional facades for industrialists, we should be focusing on the real issue:
* Failure of law to do its job online, especially failures of slander and libel laws, failures of laws against conspiracy to commit crime or assault
* New laws that offer injunctive relief against censorship, now that tech really is the commons. Because whats worse than someone online whipping up a mob on either side, is
someone who is innocent being *silenced* for disagreeing with something someone in authority said, or for questioning a politician, party, or corporation.
* Very serious felony level laws against doxxing and harassment on all sides, with retroactive application of said laws because theres a lot of people on all sides who won't be satisfied with the outcome until people who are guilty are brought to justice.18 -
I'm absolutely fed up with all documentation being tutorial-based these days! Well written documentation doesn't start with you creating a new project from scratch.
This is basically how all of Microsoft's documentation starts: Step 1 - Open Visual Studio. Step 2 - Create a new project...
I just checked out their WPF samples repository, and about 8 of the projects won't even compile. Absolutely ridiculous. There's 205 projects in the repository, and of course the one I need is on the list of those that won't compile.1 -
Years ago, we were setting up an architecture where we fetch certain data as-is and throw it in CosmosDb. Then we run a daily background job to aggregate and store it as structured data.
The problem is the volume. The calculation step is so intense that it will bring down the host machine, and the insert step will bring down the database in a manner where it takes 30 min or more to become accessible again.
Accommodating for this would need a fundamental change in our setup. Maybe rewriting the queries, data structure, containerizing it for auto scaling, whatever. Back then, this wasn't on the table due to time constraints and, nobody wanted to be the person to open that Pandora's box of turning things upside down when it "basically works".
So the hotfix was to do a 1 second threadsleep for every iteration where needed. It makes the job take upwards of 12 hours where - if the system could endure it - it would normally take a couple minutes.
The solution has grown around this behavior ever since, making it even harder to properly fix now. Whenever there is a new team member there is this ritual of explaining this behavior to them, then discussing solutions until they realize how big of a change it would be, and concluding that it needs to be done, but...
not right now.2 -
Development world is always changing and evolving... It changes before you know it...
So, having the ability to quickly adapt and learn is a must for any Developer... And, this is the one thing that I am sure that everyone knows about or heard about..
But, my advice is quite simple:
"Don't rush into participating in a race, just because everyone else is doing so.
The trick is not to move quickly.. But, to move one step at a time, at the pace in which you are at your most comfortable...
It might seem counterintuitive and a contradiction to what I have said earlier.. But, I hope that by the end of this rant, you will be able to understand my perspective..
This advice is especially useful for people still finding and searching for their place in our world..
Charles Darwin, very wisely understood the philosophy behind 'Survival of the Fittest'..
By 'fittest', he didn't refer to the ones considered to be the strongest or having the most intelligence, but the ones that had mastered the ability to adapt to changing circumstances..
Adaptability is important, but not at the cost of understanding and learning about the fundamental pillars on which this world stands..
Don't rush because when you run, your visions starts to become more narrow.. In your pursuit to reach your goal, you lose the ability to look at the macro details surrounding your goal..
Learning new technology is important, but that doesn't mean that you don't learn about various approaches or how to design a more logical or efficient solution...
Refactoring the code, developing good Testing procedures, learning to interact with your fellow developers are as crucial as learning about the changing trends...
Even, in this ever-changing world, understand that some things will always remain the same, like the adrenaline that course through your veins when you finally solve a long-standing problem...
Curiosity, Discovery and Exploration are the key pillars and hence, when we rush in, we might stop exploring and lose curiosity to discover new and exciting ways to reach our goal..
Or, we might also end up losing the drive that grips us and motivates to continue moving forward inspite of the challenges standing between us and our destination..
And, believe me, once you lose this quality, you might still succeed but the contentment and the satisfaction that you feel will be lost..
And, then, you will remain a developer only through your designation... And, that in my personal opinion, the worst punishment.3 -
Life as a developer:
1. install cool new lib
2. getting an error
3. google for solutions
4. try one solution => step 2
+ repeat recursively -
I'm from New Zealand, and was working in the business side of things but really wanted to learn more tech. Saw a course in the states I really wanted to do, spoke to the admissions person and they said I can initially do a 4 week course then a 8 week bootcamp. Decided I would go but turns out I needed more "experience" when I spoke to one of the instructors.
Was super disappointed I had travelled all the way to America only to be denied a place, but the same instructor said if I did all the tasks she gave me I could get in. 2 years later I'm a full time dev and will never go back.
Really appreciate my instructors belief in me to go the next step, my life would be so different (and empty) if it weren't for her!3 -
Looking back on 2022 from a developer's perspective, even without talking politics, war, climate, health, and injustice, despite CSS updates and AI progress, it feels like two steps forward, one step back. I used to curse ReactJS and Webpack, but we can have breaking changes everywhere else, like PHP 8 vs. WordPress. Oh yeah, and why do customers still love WordPress so much that we have to mess with this unstable abomination with its half-baked Gutenberg block editor and (full) site editing? And what about "social" media? Well, never mind, after Usenet and Myspace, why did people favour Facebook and Twitter in the first place? Thanks to devRant, there is at least one site where I rant about obscure tech topics from my subjective point of view, using swear words and exaggeration, without getting downvotes. Maybe I am even allowed to say "Mastodon" here? Thanks and merry Chanukka, Jul, X-Mas, Y-Mas, and Z-Mas and a happy new year everybody!3
-
One of my main hobbies is composing music. I had been in a creative funk for almost half a year when, during my vacation, I randomly discovered this little music production program for Nintendo Switch called Korg Gadget.
So far I've created 6 finished tracks, and this latest one I took a step further by giving some extra time and care.
I'm really glad to have the creative juices flowing again, especially since work has not been great lately...
Give it a listen, if you like. The other tracks are available as well :-)
New track. Sort of Synthwave. Composed with Korg Gadget on Nintendo Switch, mixed on a pc.
https://soundcloud.com/anders-bliru...
https://cloudbounce.com/zitilites/...8 -
I've assembled enough computing power from the trash. Now I can start to build my own personal 'cloud'. Fuck I hate that word.
But I have a bunch of i7s, and i5s on hand, in towers. Next is just to network them, and setup some software to receive commands.
So far I've looked at Ray, and Dispy for distributed computation. If theres others that any of you are aware of, let me know. If you're familiar with any of these and know which one is the easier approach to get started with, I'd appreciate your input.
The goal is to get all these machines up and running, a cloud thats as dirt cheap as possible, and then train it on sequence prediction of the hidden variables derived from semiprimes. Right now the set is unretrievable, but theres a lot of heavily correlated known variables and so I'm hoping the network can derive better and more accurate insights than I can in a pinch.
Because any given semiprime has numerous (hundreds of known) identities which immediately yield both of its factors if say a certain constant or quotient is known (it isn't), knowing any *one* of them and the correct input, is equivalent to knowing the factors of p.
So I can set each machine to train and attempt to predict the unknown sequence for each particular identity.
Once the machines are setup and I've figured out which distributed library to use, the next step is to setup Keras, andtrain the model using say, all the semiprimes under one to ten million.
I'm also working on a new way of measuring information: autoregressive entropy. The idea is that the prevalence of small numbers when searching for patterns in sequences is largely ephemeral (theres no long term pattern) and AE allows us to put a number on the density of these patterns in a partial sequence, but its only an idea at the moment and I'm not sure what use it has.
Heres hoping the sequence prediction approach works.17 -
Reviewing code for applications after not working on it for six months.
Client: so what is the first step to adding our new feature.
Me: I really think we need to redo the entire architecture from the ground up. It won't work any differently than it does now, but the code will be cleaner.
Client:😓
Me:😅3 -
I rarely tell this story because it's hard to believe and would show me in a bad light if people don't believe its details. I know there have been foolish moves from my part, and more stuff should have been agreed to in writing, and I did step into a legal grey area. However I am pleased with what I did and how it all turned out, and this is as close to the truth as possible without needing to explain too many details.
I was once a team lead in an outsourcing company. We had a flexible payment plan depending on results. That helped me motivate myself and my team. Things worked great.
But then the boss started acting like shit:
1. Flexible payment means minimum, right?
2. Promises are made to be broken, as long as your employees have hope and work overtime for a whole month just to finish an important project before schedule, right?
3. Who needs a good, comfortable, SAFE work environment when you can save 30$ on not buying a new crappy chair in place of the old broken crappy chair, if it can be maintained standing by just a bit of duct tape and careful balancing on it? It's not like that developer who earns 30$ per hour has anything else to think about than balancing on a broken chair, right?
I'm a very calm person at work. I never ever raised my voice at anyone for 10 years of my career. Except this situation. I pulled the boss out of the office so his secretary wouldn't hear what I had to say. I threw this everything into his face.
A guy from sales got out of the office to go to the bathroom, and when he heard me, he carefully snuck back into the office (I didn't see him. He told me this over a beer after he left).
Of course I quit on the spot, convinced most of my team members to leave (wasn't hard, I just had to offer a secure plan, which I did), and helped my team members to get good positions elsewhere, and assisted others in starting their own business, by stealing customers from this company (the asshole did not foresee this when he prepared the labour contracts), after he accused me of plagiarism (that I stole code from somewhere else) and used that excuse to not pay me what we agreed upon.
I didn't want litigation. I just used karma, while remaining in the legal realm.
Within a month after this, more than half of his company was gone, and he was left with only a fraction of the revenue he was making before, since the only ones left were people that did not produce value (sales that had nothing to sell, accounting that had nothing to account, etc.), and just one person maintaining one remaining contract that was bringing barely enough money to sustain half of these people.
Now I want to congratulate you for actually finishing reading this :)1 -
So about 3 weeks ago I was laid off from my dream job due to corporate bullshit. From the feedback received since then it is clear that the company made a mistake hiring a brand new React dev while they really needed an experienced one. Because the consultants who were supposed to be weren't. And the other in-house front end dev was an elitist asshole. And I never received proper feedback until it was too late. Actually I still don't have proper feedback save for some vague stuff which really sounds like the kind of feedback you'd give someone in the middle of their learning process. They even said eventually given more time I could have made it. But alas they felt they had to make a call in the best interest of the company.
Things moved fast since then, I took a week to recover and then I spent time updating my resume before getting back in touch with the recruiter who got me my last job. Great guy and he was happy to help me again. Applied to some positions, got some replies, first in person interview I go to they are immediately willing to take me on.
So now I'm supposed to start tomorrow but somehow I'm having my doubts. The company isn't an IT company but rather a fashion company. They believe in developing in house tools because past attempts with external companies resulted in them trying to push their vision through. Knowing who they worked with I agree, they tried to oversell all the time. But after talking with their developers I noticed they are behind on their knowledge. But so am I. So there was no tech interview which means I am getting an easy way in. And if they honour their word I'll be signing tomorrow for around my old wages.
So you'd think that sounds good right? And yet I'm worried it's going to be another shit show working on software without proper analysis or best practices. I mean the devs aren't total idiots, they are mediors like me and I think their heart is in the right place. They want to develop a good project but it will be just us 3 making a modern .net wpf application with the same functionality of the old Access based system currently in use. I was urged by the boss to draw on my experience and I think he wants me to help teach them too. But I'm painfully aware for my decade since graduating I'm a less than average .net dev who struggles with theory and never worked a job where I had someone more experienced to teach me. I coasted most of the time in underpaid jobs due to various reasons. But I'd always get mad over shitty code and practices. Which I realize is hypocritical for someone who couldn't explain what a singleton class is or who still fails at separation of concerns.
So yeah my question for the hivemind is what advice would you give a dev like me? I honestly dislike how poor I perform but it often feels like an insurmountable climb, and being over 30 makes it even more depressing. On the other hand I know I should feel blessed to find a workplace who seems to genuinely believe that people grow and develop and wishes to support me in this. Part of me thinks I should just go in, relax, but also learn till I'm there where I want to be and see if these people are open to improving with me. But part of me also feels I'm rushing into this, picking the first best offer, and it sure feels like a step backwards somehow. And that then makes me feel like an ugly ungrateful person who deserves her bad luck because she expects of others what she can't even do herself :(4 -
!(!(!(!(!(!(!(!rant)))))))
My new HTC smartphone hates me.
First it started to shut down all of the sudden yesterday night, when I was solving quadratic equations on my laptop.
I thought that it might be due to low battery. So I have restarted it. After putting itself into a bootloop for 4 start sequences, it was able to fully start to the page where it told me to enter the security pin to decrypt my files. I also had 30 attempts left. Like a ransomware.
I was like "tf I didn't set anything up".
So I decided to use my first attempt as I had 30 attempts left.
I entered the pin (I can swear that it's correct) and it told me that it has to wipe the /data partition.
I did that. I pressed that button. After waiting for 30 minutes I gave up and rebooted into the bootloader.
Bootloader -> Download Mode -> wipe /data (stock rom + stock recovery btw.)
Some error with "e: mount /cache failed[...]e: mount /data failed"
So, I tried using the adb sideload - no success.
Fastbooted into RUU Mode - HTC keeps rebooting itself into the RUU Mode - no success
Tried to flash the firmware and twrp recovery from Download mode - no success
Then I tried to flash all these things from the sd card - no success
Searched for revolutionary (I know this from my old HTC sensation device).
It wasn't big of any help.
Then someone on xda recommended htcDev (htc's <b>developer-friendly</b> lol site)
I followed every step. Everything seemed to be okay.
I got to the last step.
I needed to get my encrypted token by entering "fastboot oem get_identifier_token" to be able to submit it to HTC, and after they would send me an e-Mail with an .bin file that would let me unlock the bootloader to be able to flash my way through all this headache giving fucking piece of dog shit!
But since I can't back to the phone settings to select the bootloader activation box that would let me get my token... but nah.
FML
------------
Sent by using the devRant web app (:\)8 -
(long post is long)
This one is for the .net folks. After evaluating the technology top to bottom and even reimplementing several examples I commonly use for smoke testing new technology, I'm just going to call it:
Blazor is the next Silverlight.
It's just beyond the pale in terms of being architecturally flawed, and yet they're rushing it out as hard as possible to coincide with the .Net 5 rebranding silo extravaganza. We are officially entering round 3 of "sacrifice .Net on the altar of enterprise comfort." Get excited.
Since we've arrived here, I can only assume the Asp.net Ajax fiasco is far enough in the past that a new generation of devs doesn't recall its inherent catastrophic weaknesses. The architecture was this:
1. Create a component as a "WebUserControl"
2. Any time a bound DOM operation occurs from user interaction, send a payload back to the server
3. The server runs the code to process the event; it spits back more HTML
Some client-side js then dutifully updates the UI by unceremoniously stuffing the markup into an element's innerHTML property like so much sausage.
If you understand that, you've adequately understood how Blazor works. There's some optimization like signalR WebSockets for update streaming (the first and only time most blazor devs will ever use WebSockets, I even see developers claiming that they're "using SignalR, Idserver4, gRPC, etc." because the template seeds it for them. The hubris.), but that's the gist. The astute viewer will have noticed a few things here, including the disconnect between repaints, inability to blend update operations and transitions, and the potential for absolutely obliterative, connection-volatile, abusive transactional logic flying back and forth to the server. It's the bring out your dead approach to seeing how much of your IT budget is dedicated to paying for bandwidth and CPU time.
Blazor goes a step further in the server-side render scenario and sends every DOM event it binds to the server for processing. These include millisecond-scale events like scroll, which, at least according to GitHub issues, devs are quickly realizing requires debouncing, though they aren't quite sure how to accomplish that. Since this immediately becomes an issue with tickets saying things like, "scroll event crater server, Ugg need help! You said Blazorclub good. Ugg believe, Ugg wants reparations!" the team chooses a great answer to many problems for the wrong reasons:
gRPC
For those who aren't familiar, gRPC has a substantial amount of compression primarily courtesy of a rather excellent binary format developed by Google. Who needs the Quickie Mart, or indeed a sound markup delivery and view strategy when you can compress the shit out of the payload and ignore the problem. (Shhh, I hear you back there, no spoilers. What will happen when even that compression ceases to cut it, indeed). One might look at all this inductive-reasoning-as-development and ask themselves, "butwai?!" The reason is that the server-side story is just a way to buy time to flesh out the even more fundamentally broken browser-side story. To explain that, we need a little perspective.
The relationship between Microsoft and it's enterprise customers is your typical mutually abusive co-dependent relationship. Microsoft goes through phases of tacit disinterest, where it virtually ignores them. And rightly so, the enterprise customers tend to be weaksauce, mono-platform, mono-language types who come to work, collect a paycheck, and go home. They want to suckle on the teat of the vendor that enables them to get a plug and play experience for delivering their internal systems.
And that's fine. But it's also dull; it's the spouse that lets themselves go, it's the girlfriend in the distracted boyfriend meme. Those aren't the people who keep your platform relevant and competitive. For Microsoft, that crowd has always been the exploratory end of the developer community: alt.net, and more recently, the dotnet core community (StackOverflow 2020's most loved platform, for the haters). Alt.net seeded every competitive advantage the dotnet ecosystem has, and dotnet core capitalized on. Like DI? You're welcome. Are you enjoying MVC? Your gratitude is understood. Cool serializers, gRPC/protobuff, 1st class APIs, metadata-driven clients, code generation, micro ORMs, etc., etc., et al. Dear enterpriseur, you are fucking welcome.
Anyways, b2blazor. So, the front end (Blazor WebAssembly) story begins with the average enterprise FOMO. When enterprises get FOMO, they start to Karen/Kevin super hard, slinging around money, privilege, premiere support tickets, etc. until Microsoft, the distracted boyfriend, eventually turns back and says, "sorry babe, wut was that?" You know, shit like managers unironically looking at cloud reps and demanding to know if "you can handle our load!" Meanwhile, any actual engineer hides under the table facepalming and trying not to die from embarrassment.36 -
Holy shit firefox, 3 retarded problems in the last 24h and I haven't fixed any of them.
My project: an infinite scrolling website that loads data from an external API (CORS hehe). All Chromium browsers of course work perfectly fine. But firefox wants to be special...
(tested on 2 different devices)
(Terminology: CORS: a request to a resource that isn't on the current websites domain, like any external API)
1.
For the infinite scrolling to work new html elements have to be silently appended to the end of the page and removed from the beginning. Which works great in all browsers. BUT IF YOU HAPPEN TO BE SCROLLING DURING THE APPENDING & REMOVING FIREFOX TELEPORTS YOU RANDOMLY TO THE END OR START OF PAGE!
Guess I'll just debug it and see what's happening step by step. Oh how wrong I was. First, the problem can't be reproduced when debugging FUCK! But I notice something else very disturbing...
2.
The Inspector view (hierarchical display of all html elements on the page) ISN'T SHOWING THE TRUE STATE OF THE DOM! ELEMENTS THAT HAVE JUST BEEN ADDED AREN'T SHOWING UP AND ELEMENT THAT WERE JUST REMOVED ARE STILL VISIBLE! WTF????? You have to do some black magic fuckery just to get firefox to update the list of DOM elements. HOW AM I SUPPOSED TO DEBUG MY WEBSITE ON FIREFOX IF IT'S SHOWING ME PLAIN WRONG DATA???!!!!
3.
During all of this I just randomly decided to open my website in private (incognito) mode in firefox. Huh what's that? Why isn't anything loading and error are thrown left and right? Let's just look at the console. AND IT'S A FUCKING CORS ERROR! FUCK ME! Also a small warning says some URLs have been "blocked because content blocking is enabled." Content Blocking? What is that? Well it appears to be a supper special supper privacy mode by firefox (turned on automatically in private mode), THAT BLOCKS ALL CORS REQUESTS, THAT MAY OR MAY NOT DO SOME TRACKING. AN API THAT 100% CORS COMPLIANT CAN'T BE USED IN FIREFOXs PRIVATE MODE! HOW IS THE END USER SUPPOSED TO KNOW THAT??? AND OF COURSE THE THROWN EXCEPTION JUST SAYS "NETWORK ERROR". HOW AM I SUPPOSED TO TELL THE USER THAT FIREFOX HAS A FEAUTRE THAT BREAKS THE VERY BASIS OF MY WEBSITE???
WHY CAN'T YOU JUST BE NORMAL FIREFOX??????????????????
I actually managed to come up with fix for 1. that works like < 50% of the time -_-5 -
[Update: https://devrant.com/rants/4425480/...]
So had a 1:1 with my manager today followed by 1:1 with lead.
I did bring up the topic that I felt a little insecure about being sacked.
Both of them reassured me multiple times that losing my job would be the last of the last things. We have so much work and going through a resource crunch to keep up with the pace.
There are still many things I have to learn here. I am glad that my proactive-ness has always helped me learn faster and better. This way, I was also able to offer a helping hand to my manager by saying if they need any help on the transitioning, I am will to take extra on my plate until we have a replacement.
A bumpy ride ahead for sometime but surely manager is impressed with the speed at which I ramped up and willingness to go beyond.
Overall, I see this as a good opportunity to step into the lime light, build an amazing product from scratch in a publicly traded company, and a good good chance to relocate to EU when I show them good results with my performance.
Overall, sky looks brighter but sea will be a little rough for some time.4 -
How to get clicks on YouTube:
Step 1: wait for a mayor phone manufacturer to release a new phone.
Step 2: make a video with the title 'X reasons why you shouldn't buy <insert new phones name>'
Step 3: ???
Step 4: profit.4 -
In today's episode of kidding on SystemD, we have a surprise guest star appearance - Apache Foundation HTTPD server, or as we in the Debian ecosystem call it, the Apache webserver!
So, imagine a situation like this - Its friday afternoon, you have just migrated a bunch of web domains under a new, up to date, system. Everything works just fine, until... You try to generate SSL certificates from Lets Encrypt.
Such a mundane task, done more than a thousand times already... Yet... No matter what you do, nothing works. Apache just returns a HTTP status code 403 - Forbidden.
Of course, what many folk would think of first when it came to a 403 error is - Ooooh, a permission issue somewhere in the directory structure!
So you check it... And re-check it to make sure... And even switch over to the user the webserver runs under, yet... You can access the challenge just fine, what the hell!
So you go deeper... And enable the most verbose level of logging apache is capable of - Trace8. That tells you... Not a whole lot more... Apparently, the webserver was unable to find file specified? But... Its right there, you can see it!
So you go another step deeper and start tracing the process' system calls to see exactly where it calls stat/lstat on the file, and you see that it... Calls lstat and... It... Returns -1? What the hell#2!
So, you compile a custom binary that calls lstat on the first argument given and prints out everything it returns... And... It works fine!
Until now, I chose to omit one important detail that might have given away the issue to the more knowledgeable right away. Our webservers have the URL /.well-known/acme-challenge/, used for ACME challenges, aliased somewhere else on the filesystem - To /tmp/challenges.
See the issue already?
Some *bleep* over at the Debian Package Maintainer group decided that Apache could save very sensitive data into /tmp, so, it would be for the best if they changed something that worked for decades, and enabled a SystemD service unit option "PrivateTmp" for the webserver, by default.
What it does is that, anytime a process started with this option enabled writes to /tmp/*, the call gets hijacked or something, and actually makes the write to a private /tmp/something/tmp/ directory, where something... Appeared as a completely random name, with the "apache2.service" glued at the end.
That was also the only reason why I managed fix this issue - On the umpteenth time of checking the directory structure, I noticed a "systemd-private-foobarbas-apache2.service-cookie42" directory there... That contained nothing but a "tmp" directory with 777 as its permission, owned by the process' user and group.
Overriding that unit file option finally fixed the issue completely.
I have just one question - Why? Why change something that worked for decades? I understand that, in case you save something into /tmp, it may be read by 3rd parties or programs, but I am of the opinion that, if you did that, its only and only your fault if you wrote sensitive data into the temporary directory.
And as far as I am aware, by default, Apache does not actually write anything even remotely sensitive into /tmp, so...
Why. WHY!
I wasted 4 hours of my life debugging this! Only to find out its just another SystemD-enabled "feature" now!
And as much as I love kidding on SystemD, this time, I see it more as a fault of the package maintainers, because... I found no default apache2/httpd service file in the apache repo mirror... So...8 -
step 1) open and browse producthunt for new dev tools to use and try out
.
step 2) opens dev tool/app's website *ooh nice landing page*
.
step 3) tries to find api and documentation, scrolls to bottom of the webpage
.
step 4) "we are still in private beta, sign up to be notified about the final release!"
.
step 5) lol *sighs* bookmarks tab before closing it
.
step 6) repeat step 1
.
. -
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 -
Started new job almost two moths ago..
For almost 3 years I was developing custom themes, plugins, and widget for WordPress using PHP, jQuery/AJAX, and MySQL.
The new company that hired me brought me on as a backend developer to help rebuild their custom PHP Framework, and other web based software/products as their moving toward Google Cloud Platform.
When I started, MVC and OOP was new to me... took a couple weeks to get the hang of things, and understand their system.
Just when I was getting comfortable, I had a task assigned to me that was all NodeJS...
Had a 30 check-in the week I started the Node task, and was feeling pretty beat down because it was all new to me and I wasn’t making a lot of progress, and still not comfortable with Promises yet, and some other ES6 features but finding my way around slowly but surely.
Manager reassured me that I wasn’t going to be fired and it wasn’t unique to myself. Very encouraging to hear, but I’m my own worst critic so it’s frustrating not being able to make progress like I would with PHP projects.
Fast forward to this week, I started to review another task for a feed and found it’s all Ruby! Another language I have no familiarity with... and started to question if I’ll every get the hang of all these languages and be a solid team member...
Not only do I have to get a grasp on NodeJS and Ruby now, but then I’ll also have to get familiar with GCP and whatever else comes along with it...
Oh and I’m using Linux now instead of Windows/ OSX... so there’s that too.. plus the other command line tools the company built, and uses..
I was comfortable developing in PHP and know I needed to take a step and accept this job to move my career forward but it seems like I’m always behind the 8 ball...
Some days I wonder if it was worth staying a Wordpress developer and just focused on learning ReactJS and stay more Front-end than Backend..
I enjoy working with talented people but I don’t like being the low man on the totem pole knowing I don’t have the experience yet.
Does it feel like this for all devs?!?!13 -
Once had a manager who would say things like "you're odd" and didn't have the decency, and was paid double. Some people just step on others to make themselves look 'taller'. Had to leave that negative space immediately. Got a 40% pay rise at new company. Win!
-
Starting a new project:
1.Think of a new/exciting idea
2.Start imagining and planning in my head
3.Start working on my idea
4.Give up mid-way
5. Get depressed
6. Get back at it way behind schedule and still not complete it
7. Go back to step 1 except that's basically how I start something new and not just a project :)4 -
The more I'm on here the more I remember all the shit I have had to deal with in the past.
Anyway, lets rant! I just moved cities after college to be closer to my family, I didnt have any work lined up at that stage but started job hunting the moment I was settled in, I did some freelance for smaller companies to stay afloat.
Eventually I got a job at this agency startup where "SEO" was there main focus, still very inexperienced they put me on frontend and data capturing but will teach me how to code using their systems in due time. At this stage I was getting paid minimum wage, but I was doing minimum work and it wasnt that bad.
A new investor bought 49% of the company and immediately moved into the office space to focus more on marketing (He was one of those scaly marketing guys that will sell you babies if he could get his hands on enough to make a profit).
This is where everything starts going to shit. He hires a bunch of "SEO Gurus", fills up the small office with people like sardines squished together. Development was still our main money maker at this stage, so there where 3 new more senior developers at this stage and I started learning a lot really fast.
Here are some of the issues we had to deal with:
1. Incentives - Great more money, haha! No, No, you where 5 minutes late so you only get half of the promised amount.
2. For every minute you are late we will deduct it from you paycheck (Did I mention I was getting paid minimum wage).
3. If you take a smoke break we will dock it from your pay.
4. Free gym membership to the gym downstairs, but you can only go once a week during your lunch.
5. No pay raises if you cant prove your worth on paper.
He on purposely made up shitty rules and regulations to keep us down and make as much profit as he could.
Here are some shitty stuff he has done:
1. We arent getting a 13th check this year because the company didnt make a big profit - while standing next to his brand new BMW.
2. Made changes over FTP on clients work because we where too slow to get to it, than blames me for it because its broken the next day and wants to give me a written warning for not resolving the issue Immediately. They went as far as wanting to fire me for this, gave me 1 day notice for meeting and that I can bring a lawyer to represent me (1 day notice is illegal, you need 5 days where I am from), so I brought a lawyer since my mom was a lawyer. They freaked the fuck out and started harassing me about this a week later.
3. Would have meetings all the time about how much money the company is making, but wont be raising our pay since no one has proven they are worth it yet.
4. Would full on yell at employees infront of the entire office if they accidentally made an mistake on a clients project.
One one occasion I took a week off for holiday, my coworker contacted me to ask a question and I answered that I will handle it when I am back the following week. Withing 2 hours my other boss phones me in a rage, "he is coming to fetch the company laptop from my house in 5 minutes, he will let me know when he arrives. Gives me no time to talk at all and hangs up - I have figured out what has happened by now so when he showed up he has this long speech about abandonment, and trust and loyalty to the company. So I pass him my laptop once he shut up and said: "You do know I am on holiday leave which you approved, right?", he goes even more silent and passes me back my laptop without saying anything, and drives off.
While the above was happening Douche manager back at the office has a rage as well and calls the whole office (25 people) to a meeting talking about how I abandoned the company and how disgraceful that is.
Those are the shitty experiences I can remember, there where many more like this. All of the above eventually led to me going into a deep depression and having panic attacks weekly, from being overworked or scared to step out of line. Its also the reason I almost stopped coding forever at that stage. I worked there for 2.5 years with the abuse.
I left 2 weeks after the last shit show, I am ok now and have my anxiety and depression well under control if not almost gone completely.
Ran into Douche Manager a few months ago after 9 years, the company got bought out and the first person they fired was him. LOL! He now has his own agency and is looking for Developers (They are hard to find he says), little does he know I spread his name far and wide to all and every Dev I knew and didnt know to avoid working for him at all costs. Seems like word of mouth still works in this digital age.
Thanks for reading this far!5 -
MENTORS - MY STORY (Part III)
The next mentor is my former boss in the previous company I worked.
3.- Manager DJ.
Soon after I joined the company, Manager E.A. left and it was crushing. The next in line joined as a temporal replacement; he was no good.
Like a year later, they hired Manager DJ, a bit older than EA, huge experience with international companies and a a very smart person.
His most valuable characteristic? His ability to listen. He would let you speak and explain everything and he would be there, listening and learning from you.
That humility was impressive for me, because this guy had a lot of experience, yes, but he understood that he was the new guy and he needed to learn what was the current scenario before he could twist anything. Impressive.
We bonded because I was technical lead of one of the dev teams, and he trusted me which I value a lot. He'd ask me my opinion from time to time regarding important decisions. Even if he wouldn't take my advice, he valued the opinion of the developers and that made me trust him a lot.
From him I learned that, no matter how much experience you have in one field, you can always learn from others and if you're new, the best you can do is sit silently and listen, waiting for your moment to step up when necessary, and that could take weeks or months.
The other thing I learned from him was courage.
See, we were a company A formed of the join of three other companies (a, b, c) and we were part of a major group of companies (P)
(a, b and c) used the enterprise system we developed, but internally the system was a bit chaotic, lots of bad practices and very unstable. But it was like that because those were the rules set by company P.
DJ talked to me
- DJ: Hey, what do you think we should do to fix all the problems we have?
- Me: Well, if it were up to me, we'd apply a complete refactoring of the system. Re-engineering the core and reconstruct all modules using a modular structure. It's A LOT of work, A LOT, but it'd be the way.
- DJ: ...
- DJ: What about the guidelines of P?
- Me: Those guidelines are obsolete, and we'd probably go against them. I know it's crazy but you asked me.
Some time later, we talked about it again, and again, and again until one day.
- DJ: Let's do it. Take these 4 developers with you, I rented other office away from here so nobody will bother you with anything else, this will be a semi-secret project. Present me a methodology plan, and a rough estimation. Let's work with weekly advances, and if in three months we have something good, we continue that road, tear everything apart and implement the solution you guys develop.
- Me: Really? That's impressive! What about P?
- DJ: I'll handle them.
The guy would battle to defend us and our work. And we were extremely motivated. We did revolutionize the development processes we had. We reconstructed the entire system and the results were excellent.
I left the company when we were in the last quarter of the development but I'm proud because they're still using our solution and even P took our approach.
Having the courage of going against everyone in order to do the right thing and to do things right was an impressive demonstration of self confidence, intelligence and balls.
DJ and I talk every now and then. I appreciate him a lot.
Thank you DJ for your lessons and your trust.
Part I:
https://devrant.com/rants/1483428/...
Part II:
https://devrant.com/rants/1483875/...1 -
So at the beginning of the year I took a new job at a large, stable company. Leaving a failing startup, toxic leadership, and an absolutely stellar development team in the process. Given what's happened in the world since then, I'm overall pretty happy with the decision to have some more stability for me and my family.
That being said, I'm super bummed out (and weirdly burned out) now because I feel like I'm becoming a worse engineer.
I've worked for large organizations before (single digit thousands of employees), but never have I experienced a personification of enterprise memes like this. Leadership too out of touch, lots of bullshit work just to make worthless reports look good, horrific legacy codebases and infrastructure, you name it.
My biggest problem are the expectations are shockingly low. I went from a hyper demanding work environment where the fate of the entire company seemed to hang in the balance each and every week, to an environment where we literally invent arbitrary, bullshit deadlines and requirements so we have something to feel some stress about. And even still, most of the deadlines are laughably far away. The pace of work that's not only accepted, but praised is so slow that I find myself procrastinating more and more. I spend so little time doing any work, and even less time doing things that would pass as "interesting", that I feel like the engineering and problem solving part of my brain is starting to rot.
To make matters worse, the culture is weirdly confrontational despite the pace being so slow. The people here are _incredibly_ pedantic and will launch into 15 minute arguments over the tiniest incorrect details in a story title. Interrupting someone just so you can say what they were going to say is a daily trial. And most ridiculous of all, _repeating_ word for word what someone _just_ finished saying like it was your thought and you didn't even hear them. I don't even know what the motivation for this could be because it makes them look like total clowns.
I've tried to bring up some of the things I find ridiculous, but most everyone has just accepted them at this point and there's virtually no effort to try and make things better. I only get stupid non-answers like "obviously you've never worked at a large enterprise before". Yes I have. Twice. We didn't partake in half the bullshit that happens here.
Honestly this was all just a passing frustration for the first month or two, but 7 months in I'm starting to see myself become complacent. My current output would be absolutely _shameful_ to myself from a year ago, and even my personality has started to shift to the point that I just go with the flow and don't challenge anything.
I've stopped keeping up with tech trends. I've stopped experimenting with new things. I've tried to do more work on personal projects, but the burnout is starting to affect my life outside of work. In general I've just completely stopped trying, and I absolutely fucking hate it.
I also feel like a total tool for complaining about having a cushy, stable job where I barely have to do anything given the current world climate. But I'm more miserable now than I think I've every been in my career. Has anyone else experienced this and found ways to combat it? How do you get your motivation back once it's lost and there isn't even any pressure to regain it?
I totally blame myself for becoming part of this joke. That's totally on me for not continuing to push myself, but I never realized how much of my "drive" from the last job was coming from the high stakes we were operating under. I really just want to get back to being proud of my work and pushing to be better.
Anyway, sorry for the lengthy post. This turned out to be a weirder rant/self-roast than I intended. But I'm hoping this will be the first step to kicking my own ass back into shape.5 -
Goddamnit I am an idiot. I just fried a microcontroller because I didnt have the right power supply and I used it anyway because fuck it, right? So now I am not a single step closer to the thing I was trying to do but I fucked up my hardware and it is a huge pain in the ass until I get a new one and figure out all the problems with it. Arghn7
-
Man learning I’m not good at learning new languages, I get to the point where I have the basics of the language ex: Conditional statements, loops, functions, classes, structures, file manipulation, etc but idk what to do after that, is this where I start learning libraries cause I still get the feeling I’m not at that step yet.
Before you ask, yes I know I am heavily over thinking this2 -
The disconnect between the hiring process and the actual job in software development is mind boggling.
They give you an online test in the first step. You can't open a new tab otherwise that's considered cheating.
Holy crap, it doesn't work like that in the actual job. Googling things is a SKILL every dev should possess.
I've started telling hiring managers I'm not interested anymore in the job the second they pass me an online test.
I created a YouTube channel for this exact reason. Go watch me code on camera so you get to know my coding skills better otherwise go fuck yourself.3 -
Today,
I tried setting up XAMPP for running my friends code.. it took 5hrs and faced atleast one issue in every step from installation to running.
First
1) XAMPP Did not download itself, found that internet was down.
2) downloaded finally, installation phase went till 98% fatal error, windows collecting info for diagnosis
5)after 3 tries , suddenly it installed successfully
6)Apache force shut, every time I started it
7)1.5 hours later found VM had occupied the port 80, making it shut.
Changed the port
8)PHPmyadmin was recent ,that SQL 5.1 support was not There.
9)Now after setting up new instance of MySql 5.6 , created conflict.
Project referred one instance and PHPmyadmin referred other
10) Changed port numbers and added service entry in windows to make it work
At last the struggle ended up with happy ending.
My installation story precisely
Iam new to PHP development and XAMPP.6 -
So, i helped solving 168 bugs for this website. Ofcourse, doubting every step since i'm still new here. Yesterday there was a meeting with the directors. Appearently they where happy a graded the site with a 8.5.
I finished my education with a 6. Not taking credit for any of the above...4 -
Hello and welcome, to a presentation in which I will tell you my thoughts on the shortcomings of modern day computers and programming practices.
Computers are based on a very fundamental and old idea, folders, and files, a file is basically a concrete amount of data, whereas a folder is a group of files, and it comes from the real life concept of files and folders, now it might be quite obvious already that using a concept invented in 1898 by a guy called Edwin G. Seibels, might not be the best way for computers to function in the year 2020, but alas, it is.
Unless of course, you step into the world of a programmer.
A programmer’s world is much different, they use this idea of a data structure, or in simpler terms, an object. An Object is just like what you would think of as an object in your head, something with different properties that you can think about in different ways, for example your mobile phone, it has a battery percentage, it has a screen size, it has free space available. Programmers use these data structures to analyse data very quickly, like finding all phones with a screen size bigger than a certain size for example.
The problem is that programmers still use files and folders to create the programs that use these objects.
Consider this example.
Let’s say you want to create a virtual version of a drink bottle, consider what properties it will have, colour, volume, height, width, depth, material, etc..
As a programmer, you can leverage programming features and change the properties of a drink bottle directly, if you wanted to change the colour, you just say, drink bottle “dot” colour, equals blue, or red.
But if the drink bottle was represented as a file, all the drink bottles data would be inside the one file, so you would have to open the whole file, find the line or section of the file that has the colour data of the drink bottle, and select it, highlight it, delete what’s there, and type in your new value.
One way to explain this better is to imagine a folder that now represents the drink bottle, imagine adding a new file into that folder that represents each property I described before, colour, volume, etc.., well now, you could just open that folder, find the file for colour, either by looking with your eyes or you could do a file search in the folder for a file called colour, open it, and edit the value inside. This way of editing objects is the one that more closely represents the way programmers and a program itself interacts with objects inside a running programming language.
But the thing is, programmers don’t use the folder/file way of creating objects and putting them into programs, because it would be too cumbersome, they just create 1 file for an object, or have lots of objects in a file, and create all the objects in 1 file, and then run the program which creates the objects, then when they stop the program, it deletes the objects. So there is no actual link between the object in a file and the object that the program creates by reading the data from that file, if you change the object in your program, it does not get saved to the file.
So programmers created databases to house these objects, but there is still a flaw in databases, they are hard to interface with, and mostly databases are just used to send data or retrieve data from, programmatically, you can’t really browse a database the way you can browse the files on your computer. You can, but database interfaces are not made to be easily navigated the way files and folders are.
As it stands, there is no way to store objects instead of files on your computer and interact with them in complex ways the way programmers can inside the programs they create.
If the idea of an object became standard the way a file and folder is standard, I think it would empower human’s a great deal to express things far more easily and fluidly than they can today.
Thanks for reading.8 -
We've got a new CS teacher this year, and she wants to teach us how to use a step debugger. But, instead of using eclipse or IntelliJ, she thinks we should all use BlueJ, which is just as bad as fucking JCreator! Why do schools, particularly highschools, use these shitty ass IDEs? IntelliJ has a free community version. And I'm pretty sure that Eclipse is just free. Why the fuck aren't we using either of those?!5
-
Fucking christ this year is a fucking shitfest:
- wpa2 krack
- "DUHK Attack Lets Hackers Recover Encryption Key Used in VPNs & Web Sessions"
- "Hacker Hijacks CoinHive's DNS to Mine Cryptocurrency Using Thousands of Websites"
- "Bad Rabbit: New Ransomware Attack Rapidly Spreading Across Europe"
My fucking router didn't yet get patched, my fucking phone is outdated and I can't change to my patched one because devrant just shits the bed in extended desktop mode. Windows 8.1 loses support in 3 months, rendering my last chance of using it on my surface pro done, making me use windows 10 with its fucking shit ass not optimized tablet interface. I have just fucking constant paranoia what else could be hacked tomorrow, nothing is fucking safe anymore for fucks sake. I even went as far as implement 3 step auth and intrusion detection on my shitty ass VPS nodes, fucking give me a break you fucking assholes.5 -
I'm getting beat up pretty bad by Rust. I like it so far but man is it hard. Imposter-syndrome is almost making me lose motivation. Almost, but I won't quit, one day I'll get there.
I think the primary reason I think I'm having such a hard time is that I'm trying to learn stuff that prevents me from making some mistakes that I have never run into. I know a bit of the theory but no hand's on experience on double-free errors, memory leaks and weird low-level stuff. I read the documentation, mostly understand what stuff is for but when I go write code I'm just like "now what?". I don't have enough experience to know when and where to use some concepts and I'm super lost. I don't know where to start and the feeling of being completely overwhelmed by all sorts of new stuff is at the same time exciting and frightening.
I have never, as a programmer, thought something was hard. All of my past knowledge required dedication, work and patience, but I wouldn't say I ever felt something was *hard*. But Rust... damn. Rust is hard.
Hopefully at the end of this super steep learning curve I'll know a lot more stuff and have stronger "dev powers" and be one step closer to being as knowledgeable as some of you guys around here to whom I look up to.2 -
1. When you are super busy, stuck at work, fixing codes with deadlines overshoot, and then, an intern comes to ask a question. Leaving all my important tasks aside, I turn to help him out and then he asks me:
"Where can I get the Table Tennis bat?"
Seriously, I gave all my attention to help him out since he is new and he ended up asking this..
2. Scene: My manager and me having a serious discussion regarding design reviews and future tasks.
2.a) An intern of my team comes and just stands near us. My manager asks him if he wants to talk urgently with anyone of us, and he says no. I am just standing and listening.
2.b) This time a step ahead. He actually intervenes to ask me about some stuff during a serious conversation between my manager and me. -
I have been working with python for a couple of years now and I want to play with a new language. Colleagues suggested C but what would people recommend as the next step?10
-
The global joke of Information Security
So I broke my iPhone because the nuclear adhesive turned my display into a shopping bag.
This started the ride for my character arc in this boring dystopia novel:
Amazon is preventing me from accessing my account because they want my password, email AND mobile phone number in their TWO.STEP Verifivation.
Just because one too many scammers managed to woo one too many 90+y/o's into bailing their long lost WW2 comrades from a nigerian jail with Amazon gift cards and Amazon doesn't know what to do about anymore,
DHL is keeping my new phone in a "highly secure" vault 200m away from my place, waiting for a letter to register some device with a camera because you need to verify your identity with an app,
all the while my former car insurance is making regress claims of about 7k€ against me for a minor car accident (no-one hurt fortunately, but was my fault).
Every rep from each of the above had the same stupid bitchass scapegoat to create high-tech supra chargers to the account deletion request:
- Amazon: We need to verify your password, whether the email was yours and whether the phone number is yours.
They call it 2-step-verification.
Guess what Amazon requests to verify you before contacting customer support since you dont have access to your number? Your passwoooooord. While youre at it, click on that button we sent you will ya? ...
I call this design pattern the "dement Tupi-Guarani"
- DHL: We need an ID to verify your identity for the request for changing the delivery address you just made. Oh you wanted to give us ANOTHER address than the one written on your ID? Too bad bro, we can't help, GDPR
- Car Insurance: We are making regress claims against you, which might throw you back to mom's basement, oh and also we compensated the injured party for something else, it doesn't matter what it is but it's definitely something, so our claims against you just raised by 1.2k. Wait you want proof we compensated something to the injured at all? Nah mate we cant do that , GDPR. But trust me, those numbers are legit, my quant forecasted the cost of childrens' christmas wishes. You have 14 days or we'll see you in court haha
I am also their customer in a pension scheme. Something special to Germany, where you save some taxes but have to pay them back once you get the fund paid out. I have sent them a letter to terminate the contract.
Funniest thing is, the whole rant is my second take. Because when I hit the post button, devrant made me verify my e-mail. The text was gone afterwards. If someone from devRant reads this, you are free to quote this in the ticket description.
Fuck losing your virginity, or filing your first tax return, or by God get your first car, living through this sad Truman dystopia without going batshit insane is what becoming a true adult is.
I am grateful for all this though:
Amazon's safety measures prevented me from spending the money I can use to conclude the insurance odyssey, and DHLs "giving a fuck about customers" prevention policies made me support local businesses. And having ranted all this here does feel healthy too. So there's that.
Oh, cherry on top. I cant check my balance, because I can only verify my login requests to my banking account wiiiiiiith...?2 -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
You know what? FUCK Australian employers. I know they'd be damn fucking lucky to have me on their team.
I just finished working on something that I made several years ago (what I raised funds for in my previous rant), I then took it a step further and automated the process [if some things], and now I have my own software finding me new leads and sending them to me via email and push notifications.
With a little bit of tweaking maybe, and a little bit of time, I expect to find some new clients again.1 -
An anti-rant: I just made some code and out of nowhere it suddenly had an awesome feature that I didn't even program. No, not a euphemism for "bug", an actual feature.
Here's the story: A few months ago I made a shortcut for "System.out.println(…)" called "print(…)". Then I developed it further to also print arrays as "[1,2,3]", lists as "{1,2,3}", work with nested arrays and lists and accept multiple arguments.
Today I wanted to expand the list printing feature, which previously only worked for ArrayLists, to all types of List. That caused a few problems, but eventually I got it to work. Then I also wanted to expand it to all instances of Collection. As a first step, I replaced the two references to "List" with "Collection" and magically, no error message. So I tested it with this code:
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "1");
map.put(2, "");
map.put(3, "a");
print(map);
And magic happened! The output was:
{1=1, 2=, 3=a}
That's awesome! I didn't even think yet about how I wanted to display key-value pairs, but Java already gave me the perfect solution. Now the next puzzle is where the space after the comma comes from, because I didn't program that in either.
I feel a bit like a character in "The subtle knife", who writes a barebones program to communicate with sentient elementary particles (believe me, it makes sense in context) and suddenly there's text alignment on the left and right, without that character having programmed any alignment.4 -
most productive workflow I ever seen.
excel 1 : stock
excel 2 : order
compare stock with order manually 1000+ product.
excel 3 : check history of order generator (shop)
excel 4 : today's price of product + tax
excel 5 : alot specific unit's of product
excel 6 : maintained bill credit/debit
next step : forword to managers for approval
excel 7 : edit's from nanager
process repeat till managers approval
excel 8 : dispatched history
excel 9 : return product (reason's/unit)
excel 10 : stock update return + new product's
and few more excel's
data of 5+ year's
daily 500+ order's
lPO listed company
i have not mentioned account and other stuff
(╯°□°)╯︵ ┻━┻2 -
Just gonna leave this here because I am too lazy to write a proper article for my website:
If anyone is trying to create a Vue.js website with Node.js backend do NOT use express-vue, it is unnecessarily complicated and broken. Instead use this method I found.
You will need:
- IntelliJ IDEA / WebStorm / other IDE supporting multiple modules per project and tasks
- Nodejs and npm
- vue-cli
Step by step:
1. Create new empty project
2. Add your frontend module using vue-cli generator
3. Add your backend module using Express generator
4. Run npm build in your frontend module once
5. Move or remove public folder in your backend module
6. Create a symlink from your backend module root called public pointing to dist folder in your frontend module root
7. Make sure to add "Run npm build" from frontend module to your "bin/www" task (default task for Express module)
8. Enjoy developing your REST API in Node/Express and your frontend in Vue.js with single-file components and it being served by the same server that is providing the backend.
(Since they are separate modules and you are not mixing webpack and Node/Express you can add ts-loader, stylus-loader, pug-loader or any other loaders without screwing anything up)
For deployment you just need to copy the contents of dist into public on the server. (and not upload the symlink)6 -
Hi guys! I need your help.
I'm currently facing a big decision.
I've got a job offer a couple of days ago. The new job would involve an 80% raise to my current salary, and I would make another step on the hierarchy ladder.
BUT
The new place is not a software development company. They have a small team working on internal stuff, but they are basically maintaining a 12 years old garbage.
My job would be, to design the new system from the ground up. At the moment, the new system has to do the same things as the old one, just faster and better. Then they'd like to extend it further.
The first part is not challenging, but the things that they planned in the future sound interesting.
The problem is, that my current company just got a new contract and I'm supposed to conduct the deploy (speaking with their managers, prepare their sites for installation, and install). And since it is a small startup, the deploy depends highly on me.
If I take the new job, then I have to start in February which ultimately means that I screw my current company real bad. They'll probably survive, but they might lose this contract and/or lose money.
If I do what makes economic sense, then I take the job. (fuck it's almost 2x as much!!) But I have mixed feelings about it.
I've got 48 hours to decide.
What do you guys think?6 -
How do you ask a co worker about their salary? Heard from one of our new hires that he asked for considerably more than what I started at, but I'm not sure if he was referring to his base salary or total value of compensation. It would boost my confidence considerably if I knew what I could be asking for. Hell even getting that as a starting would be quite a step up.18
-
Decided to get myself a new phone as the 2013 model is getting morally obsolete. I can still flash Lineage/Android10 and it will run it. But the apps (e.g. Google Maps) nowadays are such a performance hog it can't cope.
So I've searched through gsmarena, prioritizing smaller phones, picked myself a candidate and had it on my desk after few days.
The 2013 mindset still the same "do the backup before touching the phone in any way". How do you do backup? Unlock bootloader, boot/flash TWRP, run backup.
I've realized only after the unlocking and some googling, that the unlock automatically deletes TA partition and stored DRM keys. So advanced licensed features of the phone are gone. Also there is no way to lock the bootloader again, so I've lost the SafetyNet validation too.
tl;dr: I've fucked up my new phone as a first step after I got it.6 -
It has now become trend for all new startups in my country to follow these three steps.
Step 1 - Attract developers by showing them high CTC.
Step 2 - Make them work mercilessly on intern basis giving them low pay.
Step 3 - Fire them after intern period without giving some valid reasons.
I am fed up now as I have wasted my six months without getting much pay and now I am jobless 😨5 -
So, my son is in the STEM program at school. They are suppose to use engineering methodologies in their learning process, according to the school. Apparently there is a new engineering process of step 1 try to write code for robot, step 2 build robot, step 3 make CAD design of how you will build the robot, step 4 write requirements for how the robot needs to function, step 5 robot doesn't work right, and step 6 lose robotics competition.
The other thing that is irritating me is they don't require kids to meet deadlines, just whenever you get it done is fine or if you need 10 tries to get it right. This is the second time the whole class has been disqualified from a competition because the teachers can't keep them on task.
I'm starting to really think public schools suck.4 -
I work remotely for a team that works together in an office, and this morning on the conference call a team member said
"one thing i think we need to do with this is stay on task, because while these things that have been added are cool we don't need to be doing anything not outlined in the MVC requirements"
Okay first of all -- this is a completely foreign technology to this team. It's not like I diddled around adding fancy animations and no function. The problem working in a new technology with an old mindset is assuming that it's going to move linearly from step 1 to step 2. And that drives me fucking insane.
- Progress in paid contracted work is done by staying on task.
- Progress in research isn't done linearly. You have to try shit -- and figure out what doesn't work.
I feel bad because I'll chime in and shoot down ideas with a fucking guided missile because I know the answer and I've done the fucking research -- I'm not a dick about it, but replying with a simple "no that's not possible, because of this or that", the call becomes silent for 30 seconds because I've shattered their understanding of the technology because nobody has taken the time to understand anything about how this thing works!!
So until they either listen to me, ask me, or learn the smallest amount to get on my fucking level, I'll keep progressing -- because whether the old world idealists like it or not -- that's my job.
Progress.
</ rant>14 -
2 years back when I was onshore, we were in the bad situation due to the size and complexity of handling big webserivces simulators. A single change makes the build red hence the face of other developers too.
These simulators were created using J2EE and VM templates 5 years back. With the time, application and data size grown. We were supposed to maintain consistensy in dummy data accross the applications. But some programmers made a copy of these simulators to finish their applications fast and made the situation worst.
Finally one of the team member dare to use stubby4j to solve this problem. Choosing the stubby4j was a good decision as it was the specialized tool written to create simulators only. But as the stubby4j was not having all the features a simulator need, he customized it's build for our simulators. All the team members were happy.
After few weeks, I picked a story to transform other simulators using stubby4j. The story was previously closed as it was hard to implement in stubby4j. I ingonred the comment and started working on. I spent 2 weeks but couldn't solve the problem. I read the comment in between but It was very late to take the step back. I was not able to give proper status update in the daily standup. Other team members (working from offshore) were thinking that I'm just passing the time. However my manager handled the situation very well and asked if I need some help.
This was friday, I took the leave as it was my wife's birthday. We couldn't go out due to the bad weather. I was thinking about the code all the time. Hence I started to write a new utility to handle all the requirement a webseervice simulator need. I took 2.5 days to complete it. On Tuesday, I demoed it to the whole team. And published it as an opensource application "STUBMATIC". In few weeks I received the good response from other teams as well.
I'm a full time open source developer now. -
Wow that's a new one: a recruiter sent me a "React quizz to check my knowledge on the subject".
Next step would be to send a quizz where the good answers ARE the good answers, because even with the official documentation on the other screen, I get 13/20, which curiously matches with what everyone else got as a result. -
What in the actual fuck GitHub?!
Why can't I edit a file direct on the web UI? I was able to this morning! If I can't edit against master then why the fuck is the icon there?!
Also, why did you add the unnecessary step of "add tag" when I am fucking CLEARLY adding a new fucking tag.8 -
Being the only logical next step, do we have any info Microsoft's acquisition of PornHub yet?
Share your ideas what cool new features there are to be 😁4 -
Fuuuck..... tomorrow I am resinging from my first job which lasted almost 4 years and I dont know what to say I am kinda attached to my team and boss (5 people including boss).9
-
New day, new rant, same shit.
So basically, if you are following my rants you already know I'm working with a crappy framework forgotten by God and you should even be aware my manager is not an IT expert.
So anyway, we have this requirement to implement: a step-by-step process.
They asked us to make the UI design.
My big ass manager couldn't hold his expertise so basically he told us he would make the UI design.
He is a self-entitled UX designer, just saying.
I still don't know who he is, why he is there and why he is doing all this damage. (I only know he is a friend's ceo )
Today I got his UI mockup. It's a fucking nightmare. xD I mean, you would shoot yourself in the foot. If I was the customer I'd just leave the page. You may ask yourself: "How bad a UX process can be designed?" Well, a lot.
The interaction on the page is a clusterfuck.
I'd give you an example but it's so complex to describe I'm just leaving this rant as it this.
I'm implementing this... I'd like to say sorry to all our customers, it's not the devs fault.4 -
[Seeking Advice / Legal / Opinion]
Hello world, (TLDR at the bottom)
I'm the co-founder of a small startup and looking for advice from people of legal background or similar situations. (Any help making the reddit post more active will also help a lot: https://reddit.com/r/legaladvice/...)
Just as a backstory for better understanding:
a couple of years ago, me (early twenties, male) and another guy (late thirties, male) started an entrepreneurial journey, got in an accelerator program and some investment, and things always looked well.
We opened the company and started working / selling our services. Step by step we started recruiting, and getting some clients, and business is going well... ("well" as in, small revenues but not spending more than we earn).
The thing is that me and my co-founder's relationship has been degrading over time and I think it would be better for us and the company to split up and go our own way. He has the majority of the shares and I don't mind leaving it all behind for the sake of the company and mental health.
This is in US, if it helps, and we both have At-Will employment contracts.
My main question is, *if I do sign a termination contract*, from what I read, I'm obliged to remain reachable for a period of 12 months (plus all those IP related stuff, not sharing confidential info, etc).
[1] Is there anything I should be careful about and get some kind of protection or get some more information before resigning?
I'm afraid that if I leave the company it affects the business negatively, as we both work 16 / 20 hour shifts many times and my work would not be easily replaced by anyone in the current team. We are hiring more people right now, and some seniors, and I was thinking on staying one month dedicated only to training them... [2] Could this be specified in some contract that I am resigning from "today", but stay 30 days focusing on training new people, or anything similar?
I don't mind staying in touch and help whenever they could need, but I will not be available 24/7 and I will obviously need a job to pay living expenses, so I don't want to affect negatively my time in other jobs or personal life and be kind of protected against anything that he could do to make me stay continuously connected or compromised.
I'm interested in knowing any opinions and advice you guys may have, and feel free to ask some questions if you need extra details.
I just want the best for the startup but cannot hold much time in the current environment.
TLDR: Relationship between me and co-founder is getting worse, thinking on resignating but want to keep some sort of protection against anything that could make me keep compromised to the company.7 -
I'm an idealist. I'm an optimist.
So of course I get enormously stressed out and depressed when the world just keeps fucking me over.
I have been at my current job for 2.5+ years. Been on the same project for the past 2+. And I am now on my 4th manager (not including the guy who hired me and got fired before I started).
It's just been one thing after the other. So many problems on this project with only one other dev on it until recently. Management has been avoiding taking proper actions.
I have done as much as I can and it has been a burden on my health. Last year I got passed over for a pay raise because of a bad manager, who since left for greener pastures. This year I got a small pay raise (below inflation) and a surprise bonus of such minuscule proportions that it's fucking laughable. I am being grossly underpaid for the weight that I'm pulling.
We just had a reorg that actually is a huge step in the right direction, and my new manager seems to actually want to give the project some proper attention.
So I asked him for a talk about my title and salary, so we can set things right.
We have now had two talks in a little over a week, in which he has emphatically stated over and over again how he just doesn't have the information or the power to give me anything at all.
And the thing is. I don't want to find another job. Of course I could easily do so, and for a lot more money too. But the problem is, I'm an idealist. I actually believe that what I'm working on, and what I will be working on in the future, at this place, is really important.
I should just get the hell out, as many of my colleagues have. It's actually quite incredible how many people have left my team over the past 6 months.
But I'm an optimist. I cannot see how management can possibly continue on this path without realising the consequences and taking action.
So now I've scheduled a meeting with the CEO to give him my two cents. I've done it before, which may actually have played a part in putting the reorg in motion.
I have to believe I can appeal to reason.
Otherwise, what's the point of anything?
I know. I'm the fucking clown meme.
Peace out.2 -
A year since the Group Manager stepped into the position, 4 team leads have moved to other companies.
He is known to be politician/manipulative..
Guess what, Now there's a new Team Lead position and I was offered it.
It will be a step up for me, from senior engineer, and in other circumstances I would take the job in a heartbeat.
I guess it is not the time to step into leadership role.
What would you do?4 -
F@#!k my year,
After a year long Mobile app project finally shipped where I served **two lead roles (UX design and mobile dev)**; I had my status meeting with my manager to discuss my next phase of my career. To which I was told I would be promoted to Chief or partner level at my workplace, if shipped on time, which we did.
The response I got was unsettling, I've been asked to "step down" from my architect role and join our innovation sales team since it was discovered I also have an MBA. So much so my skip level manager cut off all my dev licenses week of release. 🤣
The overall need was for me to oversee H1B and contractor resources moving forward on new engagements, as I was now "too expensive". I like coding, but it doesn't sit well with me at all... -
A customer asks for a change request or a bug fix and it results in creating a ticket for that.
It's the process and how it works in most places but after you finish with the task and fix the same customer who provided you with the requirements will request that you share the steps on how to test the fix or the feature.
I'm not speaking about the data preparation or required configuration. I mean a step-by-step instruction on how the tester/QA will test it.
It's driving me mad!! So a way to counterplay this stupid requests, I provide the happy path and what to expect. And in case, they stumbled on a bug later in production, I can easily say "It was approved by your testing team and that's a new requirement ;)"2 -
A while back I got me a sweet Logitech G502 Hero mouse. Usually in the past I was good with a cheapo wireless mouse. Then I started running into an issue a couple of weeks in. The left mouse click started double clicking on its own. I ended up replacing that mouse with a new one. Now I wonder if my mouse is starting to do it again (another 2 weeks). So I took a quick gander if other people are having this issue:
https://reddit.com/r/...
Seriously Logitech WTF? Its been a year and you don't have this solved? I have always used Logitech and the moment I up-buy I get their shit? It is weird as this doesn't affect the G502, just the G502 Hero.
So I will see if my new one goes this route, but Logitech better step up on this one if it does. I am wondering if I should get a different model.5 -
Ffs, I just spent the whole weekend setting up our new storage server. Moved it into the rack. Entered the UEFI to enable idrac. And BAM! The uefi decided to load it’s own raid config over the raid controller.
Raid controller bios doesn’t let me load it’s own config after that. So I have to reset the controller and setup raid, os and the whole shot again.
To make it even better. Debian doesn’t load the firmware for the broadcom chip, since it’s a non-free driver. Making me have to do lots of manual config after the install just to get it on the internet.
I wish I could’ve just bought a new server instead of working with this shit.
I would’ve used FreeBSD with ZFS, but our server only has 8GB ram, and I need about 120GB extra to work smoothly with all the storage.
It’s just a pita working with this. One step forward, ten steps back. -
The next step for improving large language models (if not diffusion) is hot-encoding.
The idea is pretty straightforward:
Generate many prompts, or take many prompts as a training and validation set. Do partial inference, and find the intersection of best overall performance with least computation.
Then save the state of the network during partial inference, and use that for all subsequent inferences. Sort of like LoRa, but for inference, instead of fine-tuning.
Inference, after-all, is what matters. And there has to be some subset of prompt-based initializations of a network, that perform, regardless of the prompt, (generally) as well as a full inference step.
Likewise with diffusion, there likely exists some priors (based on the training data) that speed up reconstruction or lower the network loss, allowing us to substitute a 'snapshot' that has the correct distribution, without necessarily performing a full generation.
Another idea I had was 'semantic centering' instead of regional image labelling. The idea is to find some patch of an object within an image, and ask, for all such patches that belong to an object, what best describes the object? if it were a dog, what patch of the image is "most dog-like" etc. I could see it as being much closer to how the human brain quickly identifies objects by short-cuts. The size of such patches could be adjusted to minimize the cross-entropy of classification relative to the tested size of each patch (pixel-sized patches for example might lead to too high a training loss). Of course it might allow us to do a scattershot 'at a glance' type lookup of potential image contents, even if you get multiple categories for a single pixel, it greatly narrows the total span of categories you need to do subsequent searches for.
In other news I'm starting a new ML blackbook for various ideas. Old one is mostly outdated now, and I think I scanned it (and since buried it somewhere amongst my ten thousand other files like a digital hoarder) and lost it.
I have some other 'low-hanging fruit' type ideas for improving existing and emerging models but I'll save those for another time.6 -
I had the idea that part of the problem of NN and ML research is we all use the same standard loss and nonlinear functions. In theory most NN architectures are universal aproximators. But theres a big gap between symbolic and numeric computation.
But some of our bigger leaps in improvement weren't just from new architectures, but entire new approaches to how data is transformed, and how we calculate loss, for example KL divergence.
And it occured to me all we really need is training/test/validation data and with the right approach we can let the system discover the architecture (been done before), but also the nonlinear and loss functions itself, and see what pops out the other side as a result.
If a network can instrument its own code as it were, maybe it'd find new and useful nonlinear functions and losses. Networks wouldn't just specificy a conv layer here, or a maxpool there, but derive implementations of these all on their own.
More importantly with a little pruning, we could even use successful examples for bootstrapping smaller more efficient algorithms, all within the graph itself, and use genetic algorithms to mix and match nodes at training time to discover what works or doesn't, or do training, testing, and validation in batches, to anneal a network in the correct direction.
By generating variations of successful nodes and graphs, and using substitution, we can use comparison to minimize error (for some measure of error over accuracy and precision), and select the best graph variations, without strictly having to do much point mutation within any given node, minimizing deleterious effects, sort of like how gene expression leads to unexpected but fitness-improving results for an entire organism, while point-mutations typically cause disease.
It might seem like this wouldn't work out the gate, just on the basis of intuition, but I think the benefit of working through node substitutions or entire subgraph substitution, is that we can check test/validation loss before training is even complete.
If we train a network to specify a known loss, we can even have that evaluate the networks themselves, and run variations on our network loss node to find better losses during training time, and at some point let nodes refer to these same loss calculation graphs, within themselves, switching between them dynamically..via variation and substitution.
I could even invision probabilistic lists of jump addresses, or mappings of value ranges to jump addresses, or having await() style opcodes on some nodes that upon being encountered, queue-up ticks from upstream nodes whose calculations the await()ed node relies on, to do things like emergent convolution.
I've written all the classes and started on the interpreter itself, just a few things that need fleshed out now.
Heres my shitty little partial sketch of the opcodes and ideas.
https://pastebin.com/5yDTaApS
I think I'll teach it to do convolution, color recognition, maybe try mnist, or teach it step by step how to do sequence masking and prediction, dunno yet.6 -
So today my company was removing most workspaces with USB 2 connections, DP cables and magsafe 2 power cables. This means that my MBP mid 2014 can't connect to the keyboard and monitors anymore. It already struggled with 4K, so my 2K options were already limited, but now the last few spots are mostly gone. In short: I'm being forced to upgrade.
But tell you what: I don't want to. It feels like a waste to recycle my laptop (even if it's company paid and owned) while it's perfectly acceptably fine. And mind that I will get the latest and greatest i9 for free. Yes, that overheating, throttling failure of hardware design piece of shit. 2 coworkers already own the beast and confirm that it gets really hot really quickly. One of them even has daily crashes (the laptop just turns off) and random reboots. A total waste of money. And my future time. As if it's not enough work to migrate to a new laptop (even with Time Machine).
So, fellow ranters, what do I do? I hope I can leverage the second best MBP (CPU-wise) from this situation, unless there already is a bunch of i9s in the office ready to be used. I really, really don't want one. And I think my current computer is great for what it is, even if it's old. It's a really pro machine for my needs (I'm very efficient, except for Android Studio).
I even consider asking for a Linux machine, but then a whole new world opens to me that may be a step too big (since I barely have hands-down experience).
Enlighten me with your ideas, muggles!5 -
!rant
I just made my API in my laravel and I understand how it works! It may seem like not a lot, but I got from far.
Just came two years ago in this industry as I worked as a customer service agent for a hostingcompany. I entered a whole new area what I immediatly got into at the time. Mind I already was studying Biomedical labresearch at the same time and was the IT guy in the family. Well, think back then I was just googling and fixing shit most of the time.
I was 21 at the time and began to learn everything I could learn in my position and soon it was not enough and wanted to learn more by working parttime(study already asks a lot of time). I soon applied as Junior System Engineer within the same company without prior education and got the job! And I'm back feeling I entered a new area where you feel you can do so much by just learning how it works. Now I want to learn to develop in PHP so I may make another step further.
Not a rant, but I want to share my experience as labrat starting to someting programming(did some bio-informatics, which was really interesting but with less emphasis on programming but more on data analysis). Still got a gigantic of list I want to learn from languages and frameworks to orchestration systems. -
I'm a little afraid of what I'm doing. I just asked my boss to change my current role, almost on site, with a new one requested by the global function of my company. If they accept I will be traveling >80% of the time. I know I will miss my little daughters but I also know that this is maybe the last chance for a step forward in my career. I'm sharing my feelings only with my brother and devrant people.10
-
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. -
I’ve now discovered that management actually decides for themselves what software engineering is. 🧐
It is getting increasingly common that in different architectural groups the decision has already been made… by management…without actually passing through our review… as a little more senior blokes and gals.
Not even a discussion? On the fit?
That leads me to the conclusion, since I consider the management (at least the two or three closest layers) are morons, good at talking but not really knowing anything about what we do (we kind of take stuff and make other stuff from it by using energy and other stuff in HUGE FUCKING FACILITIES AROUND THE PLANET), that even they did not make the decision. It was forced upon them. They did not decide either! Because they can’t! Because they are idiots all of them!
I have not investigated this issue but this is the logical conclusion. Or not.
Recently, for instance, decisions were made to route information flows by some tech. Some new tech. At some place in our eco-system. At a certain time. And, if we were to have reviewed this initiative in our process we would have said:
”Well, I hear you! But we are not going to do that right now because WE ARE IN THE MIDDLE OF THE FUCKING HUGE GLOBAL PROJECT THAT CHANGES PRETTY MUCH FUCKING EVERYTHING AND WE CAN NOT JUST IN THE MIDDLE OF THE FUCKING EXECUTION PROCESS OF THE PROJECT CHANGE THE FOUNDATIONS OF MESSAGE ROUTING BECAUSE WE LACK THE NUMBER OF HUMANS TO DO THE FUCKING JOB. So, we need to take a look at this and to get a better understanding when we can make this happen.”
What is the point of having this step in our organization if it is just pass-through? What is the point? Meetings? Just having meetings? Spending time mastering the organizational skill of administrating meetings? Feeling important? Using big words (holistic being my favourite)?
Below, juniors devs are being hired doing stupid stuff that does not need doing. For months and months.
I believe now that half of the dev staff does not need to be there and three quarters of the team, service, delivery (etc) managers are unnecessary. I mean, the good juniors are going to change jobs soon either way and we are stuck in this vicious cycle where we are not being allowed to be innovative in software engineering. Stability is of the essence here but the rate of our releases are just silly slow. I would say that we are far, far away from any track that leads us to where we want to be. Agile. Innovative. Close to business. Learning. Teaching. Faster. Stability despite response to implementing changing business needs.
And then there are the consultants…
*sigh*4 -
Back again to the horrow show.
We start with the integration. It’s a new project, let’s see how it works. First step: authentication. From the documentation it claims to be an oAuth2. Wait..why just 2 steps to authenticate?! Nevermind, we’ll contact them later. Let’s go on for now.
They need a timestamp with microseconds precision. Here you are!
Nope. Come on! Take the damned timestamp! Nope. Let’s take a look at theirs. If it’s with milliseconds precision, WHY 7 digits after comma?!!!! We decided to contact them. And then.........their answer: we don’t know of any exact number of digits to represent milliseconds.
I see...so it’s arbitrary!!! What are you going to tell us next? One hour can be 3.14159265 minutes then?!!2 -
Why are hooks so awful?
What justifies having everyone using React relearn how to do things when hooks do not bring any new features to React?
Why does getting setInterval to work with hooks require a ~3000 word blog post by a maintainer which constantly assures you this IS a step forward?
Is scrolling up and down a class component really so hard that this clusterfuck is worth it?
>:(6 -
Got a new job and I'm moving from academia to industry. Decided to step up my web dev game by using Netlify and GatsbyJS to build a static site blog.
Not a difficult task but it forces me to look at more current technologies. -
I tend to be a perfectionist, and I have a hard time coping when I feel like someone isn’t happy with work that I’ve done, or when I feel like I haven’t lived up to my own standards.
I’ve been at my current job for a little more than a year, and for the vast majority of that time, my supervisor and coworkers have seemed very pleased with me. My performance reviews so far have been completely positive. But I’m aware that over the past month or so, I’ve run up against more challenges than usual. I’ve taken on some new projects that I haven’t felt entirely confident about, there have been some organizational changes, and because this is a busy time for my department, I don’t always feel like I can easily get help when I have a question about something.
To make things worse, I struggle with anxiety, and while I’ve been working very hard to manage it, all it takes is a few bad days to put me behind on things. I really want to step up to the plate, and I’ve been worried that expressing concerns would make me look like I’m not capable or like I’m a complainer. But the truth is, I’ve been getting in over my head a bit, and I worry that it’s reflecting poorly on me. I haven’t made any terrible mistakes, but it’s taken me longer than usual to complete or follow up on tasks and I haven’t been as organized as I usually am. My supervisor hasn’t gotten upset with me, and she’s expressed understanding, but I’m worried that she has less confidence in me than she used to.
To be fair to myself, over the past couple weeks I feel like I’ve been doing a good job at catching up and getting back to my usual level of efficiency. I feel optimistic about my ability to handle things from here on out, at least for the most part. But I’m scared that a few “off” weeks will damage my reputation and workplace relationships, and that people are thinking poorly of me now. I think because I’m so hard on myself (I feel guilty whenever someone praises me, because I don’t feel like I deserve it), it’s hard for me to have an accurate perception of how things actually are.
Also, do you have any tips for addressing challenges when they come up? I struggle with asking for help or clarification sometimes because I don’t want to come across like I need my hand held. And do you have any suggestions for how to deal with it when things just aren’t going smoothly? I know that in the workplace, what matters is results. The fact that I might be having a bad day due to anxiety or a late night with a sick pet isn’t an excuse. But while I think I’m generally good at managing stress and anxiety and that bad days are uncommon, I can’t guarantee that I won’t ever go through a tough time and that that won’t impact my focus at all.7 -
May's last week was very hectic. I had just finished my final exams and there were going to be semester project evaluations in that whole week.
@safiullah and me had decided to make a whole Social Network with all features in it, for the DB course project.
All other classmates were making small management systems like ticket booking and etc.
We thought that if we really wanted to learn DB concepts then we should come up with something different than a management panel.
Hence we did it. This was the first time we used a framework. Well, I had written that PHP framework while i was learning about how frameworks work and the way they are made. So it wasn't a big thing but it was something which could be used as a base for clean and organized code.
It took about a month of commits and pushes and it resulted in a very good social network. It had all the features and algorithms present in a starter social network.
For us students, we were happy to see what a fine job we had done. We learnt a lot and used new concepts.
When we went to the instructor, she asked us to sit down and show the project. @safiullah placed the laptop, and logged out from the social network so that he could show her a demo.
She exclaimed,"Why did you do it (Log out) ?"
He replied: "To show you how it works🤷🏻♂️"
She:"Get to the previous state and leave it"
Then she asked different questions like what was a post request in php and how it differed from get? what library for DB connection was used... etc.
We explained each and every step.
She saw the frontend design and said "You've just added text to the elements" as If we were showing her a theme demo with hard coded text accomplished by inspect element.
She did not take a look at any other page than the one we had shown her at start. She navigated to no other page and asked nothing about what total features were implemented and how they were done?
Then she said Thank You and we left.
After some days marks were uploaded in LMS and we were just two points above the average.
She took no look and gave us the least when our project was the best.
I'm 100 percent sure she thought that we were showing her a project copied from somewhere else. 🤣4 -
I’ve been working at my company for about 3 years now and under 2 managers. In my time I’ve grown to be a technical anchor and SME in multiple facets of our architecture. First manager was cool and I could really see my development under him. Then he gets promoted and I get a new manager. New manager just rides me and bleeds me dry, all while telling me “you’re just a couple months away from Senior” for like 2 years. Every time I meet with him he still says I’m not ready even though I step up and do more and more and more. He’s never satisfied. Then we recently had a shift in the roles in the company where there’s a new intermediate role in between my role and Senior which I was gunning for. After a few more months he says to me “Congratulations, we finally opened up a position to promote you… to this other role that you didn’t want”.
Naturally, I’m pissed. So I start looking at open reqs for the Senior role I’m looking for. I applied for a job and interviewed for it. I “aced” the Senior interview. The new team wants to bring me on. They tell HR that they want to hire me. Now HR is pushing back saying “hey now, you can’t just SKIP roles like that” even though it was an open requisition that I applied to, not even an in-line promotion and also they just opened this intermediate position I’m skipping like 3 months ago and again I’ve been here for 3 years. So even after crushing the interview and the other team loving me I still won’t get the job because of stupid corporate bureaucratic bullshit.2 -
#Story time.
Been working on a project for 2 months with Colleague "Jim" doing the code reviews. Project is finished in a stable form and can be extended if needed. Then my other colleague/boss "Mo" decided that we need to do a refactor. Fast forward a bit and the conclusion is "Mo" and "Jim" are going to discuss every step with me. And we started a new project that should do the same as the project I just finished
Here some facts:
Every day a meeting/ code review / discussion.
Decisions they make I do not agree with.
I need to redo my work multiple times.
Now this does make me look like a toddler that needs supervision which is not the case.
They want something future proof and something that fits his new coding standard "Mo". and certain things I do agree with and is clearly the better architecture. however somethings are just stupid, time wasting, making it worse. I'm getting so frustrated by the fact that billion dollar companies have clear coding standards that work. and are correct. and this company decided to do their own thing of stupid rules!
- shorten variables
- Keep lines under 90char
- put multiple things in 1 file
- Keep function names short
and many more of removing stuff and let you guess stuff..
I just... *sigh* get so tired of this shit.
*names are randomly chosen2 -
Picked up an issue to contribute to OSS for a community version of a major enterprise software. Did the changes, submitted a pull request. Someone reviewed it, asked for some changes, which i did and pushed the changes.
Then after some discussion with the guys working there, we thought of making some changes to the UI. Step in the company UI guy, he makes some changes, i merge his branch into mine and submit a new pull request.
Now, a new guy comes in to review the code, who has a problem with every change THEIR UI Guy did, and negates everything the first reviewer said, and asks me to do the changes, and boy was I pissed!!
But I did the changes, updated the PR, then the first reviewer comes in again, and suggests some more changes, most of them are for the code, THEIR UI Guydid!! Fucking psychopaths!! Never had i seen such paranoid people in my life!! Educate your fucking team first!!
I one again started with the changes but left mid way!! Now, even if i want to, will not update the PR!! FUCK YOU!!3 -
holy shit I swear taxes are like the government trying to tell you you're a peasant to them
my medicare card is about to expire and FOR SOME REASON now the process to renew is a fucking interrogation about various documentation the government has given you. before it was just your damned name, date of birth, and a new photo for the card.
evidently they were supposed to send you snail mail 3 months before expiration. evidently also the only way to renew is get this said snail mail.
and evidently I have to go through this "catchall" change your address with everything in the government process
which is a little ironic
because
to use this service you need to give them something called a notice of assessment, which is when the government accepts your taxes they send you back one of those
well I haven't had access to my tax portal for years. I keep filing them and getting excess money back but I can't actually see any of my returns.
so I tried this time
12 pages of verification and more verification... you do one step, it says wrong info because if you have to write in 2,474 well turns out the , fucks it up and your info doesn't match what's on file and if you fail more than 3 times you'll be locked out. repeat. page after page. how many fucking pages are there? what format are they expecting? nobody fucking knows. you'll get to find out if you pass just this one more!
after about 4 hours of this shit
and they have 2 factor authorization now?! wtf.
then this next step is id verification or we snail mail you a code (WHICH AGAIN IS IRONIC)
I chose id. health card doesn't count, it notifies me later. thankfully I have a passport. bad news, passport expires this September so guess who is gonna be having more fun later
the app of course can't use my camera in the browser I have, so I start downloading fucking other browsers and finally hit one that works
also they lied. they also want a selfie. then it tells me I failed to look like myself. if you fail to look like yourself 3 times you are denied.
ok. so I try snail mail. the page says if I revoke consent to id I can go do the snail mailed code. they lied. if you revoke consent it exits the whole wizard. you enter all the verification steps again.
I try to get them to snail mail me the code. they want some basic info they asked me like 16 times now, and a postal code. ironic. well this is the tax people, so by this point I found all my previous sent in tax returns (though I can't access the government's replies). checked. yep. address all the same. put in the postal code. nope. somehow it's wrong. 3 times I put all this random info in in different ways. 5 times and I'm locked out.
now fucking what.
THE FUCKING IRONY OF
I NEED TO CHANGE WHERE I LIVE SO YOU CAN SNAIL MAIL ME SOMETHING
AND TO CHANGE WHERE I LIVE I HAVE TO CONFIRM WHERE I LIVE SO YOU CAN SNAIL MAIL ME SOMETHING FUCKING ELSE
the government just fucking dunks on you
guess we're all not having fucking medical cards anymore. all we do is pay taxes, and can't even see the paperwork to those taxes we pay.16 -
Starts search and replace.
Trys to replace a type in the whole Project.
Syntax Check: lol no, apparently everything is broken now, good job
(literally my whole project was marked red)
Reverts changes
(project still marked red)
Syntax Check: lol what? Your code already looked like shit before, won't let you compile this.
It was a bug which breaks the syntax check after big replace requests. Had to start a new project and copy my code step for step, so it didn't break again. However I've forgotten to replace the type before I copy...
Another story regarding this shit:
Renames Variable
IDE: oh, let me help you by replacing all old var names with the new one
Agrees
IDE: oh shoot, didn't know it could break things
Wants to revert
IDE: did you think I would go through this mess again?! Do it yourself!3 -
So IV been spending quite a lot of time recently chasing my new career as a developer. But today I took a step back from everything and realised something quite important. A job title doesn't make you a developer. If you enjoy coding and have a genuine passion for it then you are already a developer. Just keep doing what you enjoy the most and fuck everyone else.
-
Webpack? More like Fudgepack 😡
OK sure, I know it's cool to rip on Webpack without taking 5 minutes to understand it, but I really have tried. Every time I want to do anything which used to be trivial with grunt, gulp or brunch, it requires a whole bunch of sorcery and every post I see online around the same topic inevitably ends with something like "that's not modular", "WebPack doesn't work like that", "you're holding your phone wrong" etc. And it's not like I'm someone who is afraid of new or uncomfortable things. I try new languages almost as often as there are new JavaScript fads (OK maybe not THAT often). I use "weird" keywords and experiment with different key maps all the time. I swap my daily window manager on an almost quarterly basis (and xmonad is no picnic as an introduction to Haskell). But what the fuck is it with so many people in positions of influence in the frontend world always taking one step forward, two steps back and an occasional hop sideways when it comes to tooling (and dragging everyone else along with them)?
How did such a turd of a tool become defacto for so many frontend frameworks? Do hard core JavaScripters just really really hate outsiders and want to deter others from their precious as much as possible? Fuck Webpack and fuck everyone responsible for helping it permeate so thoroughly through the software development industry.2 -
buying a car is such an exhausting and depressing experience. i feel like being less of a man and somewhat blind right now.
I, a 24 year old guy, have never driven a car. afaik, we were poor, my city's public infrastructure is very good and cheap, and my family majorly never needed it.
6 years ago, i got my first 2 wheeler. i still didn't needed it but dad did, and so i learnt it a bit, was somewhat comfortable driving it on my own, gave a driving test, failed, nd forgot about it ( coz again, still not needed much). to this day this bit is true about me.
at that time my father had bought a few scooters before, so he had some experience, and we ended up buying a new one. currently that fella sits outside our home and my father uses it for supplies.
coming to 2023, i was/am thinking of buying a car. why? coz (1) car trips while sitting in the backseat have been super fun (2) people with cars tend to reach anywhere independently, and help others easily (3) my few friends have one and they are super smug about it and (4) i am starting a wfo job which requires 2 days of wfo and is 60km away from home (although train route with 3 interchanges is less time taking)
but WHAT THE ACTUAL FUCK WHEN YOU *THINK* ABOUT BUYING A CAR!?
1. buy first or learn to drive first or get a driving license first?
getting a learner's permit is like filling a form; driving schools require no documents but money, and car sellers also do not want any complicated documents. so first step is easy for all.
HOWEVER, driving schools teach the very basics and are controlling your car for 90 % of the time. you can't learn without having your own car, but at the same time you can't buy new car just to *learn*, you will end up denting it.
2. the confusion around how to buy a car?
there are so many fucking parameters.
money being tha major 1 : old cars are coming from $800-$12000 new cars start at $8000 . my current budget is aroud 3-4k as I want to learn on it first with an expected usage of <1000 km per month
brand : there are literally 1000+ models whose base varients start at 8-9k and whose used version is available in my range. i have no idea how to choose.
year : in our country, a petrol car's registration expires in 15 years. cars from 2009 to 2012 are coming in my range but they are gonna expire in 1-4 year . not sure if its a deal breaker, as i plan to buy a new car later, but people are warning me about usage.
km driven : not 1 person is there who i talked to and told me to trust the kms on odometer. most of the cars i saw show 30-60,000kms driven but i am expecting them to be 5-7x more
cng/petrol : cng is cheaper, while petrol is better for engine life, from what i heard. I was inclined towards cng, but everyone i discussed adviced against this as those cars tend to have been driven for very long due to mileage efficiency.
engine power, cc, power steering, body... there are so many stuff that neither i know about and nor am i considering, which makes me more sad and scared of these deals. i have never bought anything without a proper research.
overall its the first time when i am feeling so much dependent on others and being an inefficient and inexperienced adult . my family once bought a used car 10 years ago, which was a total sham and got us to spend so much on it that we had to sell it for scrap in 3 months. It was a painful and nightmarish experience. i don't want that.8 -
There is a project: multi step form. It has login form, text field, date, upload. It is written in jQuery, Zend and oracle. I need to rewrite. I can use my familar jQuery, PHP skills. Or I can go for react redux, build API with Zend. The issue is that I only have 2 months. Very basic knowledge of react, redux webpack. So I need to learn and build the project. Should I go for new tech. I am not sure I can reach deadline, as there are many things to learn. Advice? If i use the new tech, how do I learn quickly?5
-
Sooo as of January of this year, I have a new boss, this dude basically acted as my “mentor” for the last year so he’s already tried micromanaging me but bc he wasn’t my boss, I could push back.
Long story short, he is now my manager, he’s the global marketing leader and I’m the marketing director for the Americas (been doing this role for two years) yet he treats me like I’m an idiot, in his words he wants to make sure I’m in control of my team before he lets me lead fully while simultaneously telling me that I need to step up and lead.
I politely asked him to let me lead and stop attending all my team meetings, stop delegating tasks to my team directly and instead consult w me so then I can delegate, and basically to respect the fact that clearly I’ve been successfully doing the job for the last two years.
He said no, that he won’t leave my meetings until he feels I have full control of my team, continues to over involve himself in all my projects, pulling my team in a bunch of directions w new projects and ideas left and right, and burning us all out.
To add insult to injury, he sent me a very “helpful” email detailing how I need to work better and faster and how he expects me and my team at full speed, my team is made up of me, two new hires that are a month old, my marketing manager, and I’m currently hiring for another team member. (This after he led a company restructure of my previous team that resulted in me losing 4 team members in December so I’m rebuilding my team).
I’m already overwhelmed and demotivated, pretty sure he wants me to quit and he has a proven history of bullying his staff, he was actually fired from our parent company for this exact reason a few years ago, he also happens to be European so not sure how rules work over there, but he was rehired by my company. My European colleagues hate him too, but they’re too scared to speak up.
I used to love my job and now i dread it, I drink every day after work and I get anxiety everytime he emails me which is at all hours if the day. Is it worth it documenting his bullshit for HR or should I just cut my losses snd leave?
Appreciate the advice!3 -
Fucking hell my insights are late ones...
So I am working with fluid dynamics simulation. I went home fired up the laptop and started the calculations. This is how the events went:
9 PM: starting the calculation
10 PM: checking on the graphs to see whether everything will be alright if I leave it running. Then went to sleep.
2 AM: Waking up in shock, that I forgot to turn on autosave after every time step. Then reassured myself that this is only a test and I won't need the previous results anyway.
5 AM: waking up, everything seems to be fine. I pause the calculation hibernate the laptop and went to work.
6:40 AM on my way to the front door a stray thought struck into my mind... What if it lost contact with the licence server, while entering hibernated state. Bah never mind... It will establish a new connection when I switch it back on.
6.45 AM Switching on the laptop. Two error messages greet me.
1. Lost contact with license server.
2. Abnormal exit.
Looking on the tray the paused simulation is gone. Since I didn't enabled autosave, I have to start it all over again. Well. Lesson learned I guess. Too bad it cost 8 hours of CPU time.2 -
Some interesting keyboard shortcuts that are lesser-known but can be quite useful:
1.Windows Key + . (Period): In Windows 10 and later versions, this shortcut opens the emoji panel, allowing you to quickly insert emojis into your text.
2.Ctrl + Shift + T: This shortcut reopens the last closed tab in most web browsers (Chrome, Firefox, Edge). It's handy if you accidentally close a tab and want to retrieve it quickly.
3.Ctrl + Backtick (`): In some text editors and IDEs (like Visual Studio Code), this shortcut toggles the integrated terminal window, allowing you to quickly switch between editing and running commands.
4.Ctrl + Shift + Esc: This directly opens the Task Manager in Windows, skipping the intermediary step of opening Ctrl + Alt + Delete and selecting Task Manager.
5.Alt + Drag: In many graphics and design applications (like Photoshop), holding down the Alt key while dragging an object duplicates it. This can save time compared to copying and pasting.
6.Ctrl + Alt + D: This shortcut shows the desktop on Windows, minimizing all open windows to quickly access icons and shortcuts on your desktop.
7.Ctrl + Shift + N: In most web browsers, this shortcut opens a new incognito or private browsing window, useful for browsing without saving history or cookies.
8.Alt + Enter: In Excel, this shortcut opens the Format Cells dialog box for the selected cell or range, allowing quick formatting changes without navigating through menus.
9.Shift + F10: This shortcut performs a right-click action on the selected item or text, useful when you can't or don't want to use the mouse.
10.Ctrl + Shift + V: In many applications, including Google Chrome and Microsoft Word, this shortcut pastes text without formatting (paste as plain text). It's useful when copying text from websites or other documents.
++ if you like this6 -
Does anyone else buy something expensive and feel like you have to be super productive to justify the expense? I just bought a new laptop and feel like I should step my game up with my study time before it arrives haha. I do this every time I buy something whether it’s a book, clothes or tech.2
-
Lately, I've been working in a web security company (mainly as a Support guy).
Going through tickets, I've found one golden gem, which helped me realising how dum customers are.
Since he's our customer, we try to keep stuff up-and-running at all times. If something goes bad, we fix it, and we need their passwords for stuff.
After the customer (somehow) got hacked again, he changed the password in panic.
Note the initial password was really, really good.
He emailed us the new password for "just in case".
The password is "hard-to-guess".
What. The. Actuall. Fuck.
What's next?
Setting the password "12345", activating 2-step-authentication and sending his phone in, along with his finger so we can unlock it with touch id?2 -
Wonderful experience today
I'm scraping data from an old system, saving that data as json and my next step is transforming the data and pushing it to an api (thank god the new system has an api)
Now I stumbled upon an issue, I found it a bit hard to retrieve a file with the scraper library I'm using, it was also quite difficult to set specific headers to download the file I was looking for instead of navigating to the index of the website. Then I tried a built-in language function to retrieve the files that I needed during the scrape, no luck 'cause I had to login to the website first.
I didn't want to use a different library since I worked so hard and got so far.
My quick solution: Perform a get request to the website, borrow the session ID cookie and then use the built-in function's http headers functionality to retrieve the file.
Luckily this is a throwaway script so being dirty for this once is OK, it works now :) -
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
Hi, everyone.
This is a post created for those of you who want to step up their terminal knowledge, learn new tricks, or just learn the basics.
I found these links that will help you on your path to master the command line on mac.
Links:
1. https://github.com/juanfrans/...
2. https://medium.com/@manujarvinen/...
3. https://computers.tutsplus.com/tuto...
4. https://lifehacker.com/a-command-li...
I hope you found these links useful and you learned one or two tricks!
I appreciate it if you leave a comment and Rant++ this post.3 -
!rant (I got down voted for this on Stack Overflow, so I try to discuss the issue with a more professional crowd.)
In a Software Engineering class, we had an assignment to read Parnas' seminal paper on modularization [0]. In this paper, two approaches of dividing a software into modules are discussed:
Traditional Approach: A flow chart is drawn to work out the single processing steps and the program's high-level flow. Then every processing step is turned into a module. This approach doesn't yield very good results.
New Approach: Every design decision will be turned into a module by the means of information hiding. This approach leads to much better results.
My personal interpretation of the term design decision is that the modules are identified as data structures rather than as processing steps of an algorithm. This makes sense, because data structures are much more suitable for information hiding then processing steps of an algorithm. (The information inside a data structure is hidden behind functions, whereas a function only hides more detailed processing steps and no information; the information is actually passed in as arguments.)
Why does the second approach work so much better than the first approach? Here comes my second interpretation: The single processing steps of an algorithm are not replaceable (and thus not reusable), whereas it's possible to convert data structures into other data structures.
And here's my question: Could that be the reason why software development using workflow engines (based on BPMN, for example) never really took off?
My personal experience is that the activities created in such workflows are hardly ever reused, but there often are big data structures passed around all the involved activities, even if most of the activities use only one or two of them.
My question exaggerated: Could we get rid of all those clumsy workflow engines by giving managers Parnas' paper to read?
[0]: On the criteria to be used in decomposing systems into modules (Parnas 1972)2 -
"This deal is an important step towards correcting a situation which has allowed a few companies to earn huge sums of money without properly remunerating the thousands of creatives and journalists whose work they depend on.
At the same time, this deal contains numerous provisions which will guarantee that the internet remains a space for free expression. These provisions were not in themselves necessary because the directive will not be creating any new rights for rights holders. Yet we listened to the concerns raised and chose to doubly guarantee the freedom of expression. The ‘meme’, the ‘gif’, the ‘snippet’ are now more protected than ever before.
I am also glad that the text agreed today pays particular attention to sheltering start-ups. Tomorrow’s leading companies are the start-ups of today and diversity depends on a deep pool of innovative, dynamic, young companies.
This is a deal which protects people’s living, safeguards democracy by defending a diverse media landscape, entrenches freedom of expression, and encourages start-ups and technological development. It helps make the internet ready for the future, a space which benefits everyone, not only a powerful few."
- Axel Voss, 2019 -
I have a very basic question regarding strings in Java..I am not getting the clear explanation any where..
1. When the string is created with new operator, will it be stored only on heap or on both heap and string pool??
2. When I create a string like
s1="123";
s2=s1+"5";
What would happen at the second step??
a. will it put 1235 in the string literal pool??
b.Will it create a new string 5 in the literal pool??
please answer buddies.4 -
How to stay 1 step ahead instead of always try (and fail) to just catch up?
I feel like the amount of tools/FWs/languages/DBs that a web dev is expected to know now adays is not realistic, and overwhelming. not only you need to constantly learn about new things that are currently the *hottest hype word*, you also need to keep track of updates to the tools you already "know", so the more you try to know the more there is to keep track of, and also how can you remember everything you learned if in a typical workplace you usually use the same 1/2 languages?
Never have i ever felt like i know enough to be confident in my abilities when around other programmers2 -
1000 lines of css is still smaller then most images optimized for modern displays (aka everything that isn't a thumbnail). Either our designers don't come up with stuff complex enough to validate adding a compilation step to interpreted code or I'm missing something,
I've been looking into CSS preprocessors. Can anyone give me an example of why you'd use one that isn't some lame programming platitude like "pushing technology forward"? Like an actual design element that can't be done in straight up CSS?
As someone who compiled AS3 for the web back in the day the "new wave" of internet technology (with all it's compilation steps) seems super dodgy.4 -
how to get rich: step 1: sell your organs; selling your organs is a quick and efficient way to make money, the more you sell=the more you make.
step 2: tax evasion; just stop paying taxes, why give away your money when you can just keep it?
step 3: print money; why get a job when you can just print money? say goodbye to that annoying 9-5!
step 4: invest in the cryptocurrency $bigblackballs. $bigblackballs is the new bitcoin! it will take over all other cryptocurrencies in the market and make everyone rich. $bigblackballs to the moon! get on the wave while you still can.
thanks for reading, hopefully, you learned something from this tutorial!!!!7 -
I think I've asked this before. Just cropped up again cuz I'm pushed to do some stuff in nextjs
I Wonder how much longer before js framework devs realise they've been reverse engineering the browser this whole time, that the current browser spec was outdated since the dawn of Web fidelity and real time applications
I wonder whether there are some guys who have seen this and are already cooking in the background. The browser still treats the Internet like front end and back end, whereas with the way apps are going (eg deprecation of the front/back end roles), it seems apparent the browser needs to scale up by fading whatever js is now
I'm seeing "use server", which was one of php's infamous atrocities back in the day (lack of separation of concerns, everything in index.php). It's shocking how those who ridicule that language let this fly, but that's probably a separate thread. Point is, a bunch of these stuff done by front end frameworks seem like boilerplate but the syntax is far different from what I remember javaScript to be. I only vaguely recollect and understand what I'm reading
Why not merge all the cryptic syntaxes struggling to achieve bare minimal expectations, into advanced markup language controlled by dom attributes? Overhaul and Rethink client - server communication to fit modern standard. Someone needs to step out of the box and take a good look at the rat race. I find our lives would be made much simpler if api integration into client side behaviour wasn't a separate thing altogether
You have all these funny hoops and precarious bridges to cross. The reality is what we're fighting to overcome is the manner the architecture is setup. We need a Google/meta/amazon/apple to step in with a new browser since it's not a weekend gig and might need their reach to catch on with mainstream users. Sadly, they're the same guys rolling out new js frameworks2 -
Rubber ducking your ass in a way, I figure things out as I rant and have to explain my reasoning or lack thereof every other sentence.
So lettuce harvest some more: I did not finish the linker as I initially planned, because I found a dumber way to solve the problem. I'm storing programs as bytecode chunks broken up into segment trees, and this is how we get namespaces, as each segment and value is labeled -- you can very well think of it as a file structure.
Each file proper, that is, every path you pass to the compiler, has it's own segment tree that results from breaking down the code within. We call this a clan, because it's a family of data, structures and procedures. It's a bit stupid not to call it "class", but that would imply each file can have only one class, which is generally good style but still technically not the case, hence the deliberate use of another word.
Anyway, because every clan is already represented as a tree, we can easily have two or more coexist by just parenting them as-is to a common root, enabling the fetching of symbols from one clan to another. We then perform a cannonical walk of the unified tree, push instructions to an assembly queue, and flatten the segmented memory into a single pool onto which we write the assembler's output.
I didn't think this would work, but it does. So how?
The assembly queue uses a highly sophisticated crackhead abstraction of the CVYC clan, or said plainly, clairvoyant code of the "fucked if I thought this would be simple" family. Fundamentally, every element in the queue is -- recursively -- either a fixed value or a function pointer plus arguments. So every instruction takes the form (ins (arg[0],arg[N])) where the instruction and the arguments may themselves be either fixed or indirect fetches that must be solved but in the ~ F U T U R E ~
Thusly, the assembler must be made aware of the fact that it's wearing sunglasses indoors and high on cocaine, so that these pointers -- and the accompanying arguments -- can be solved. However, your hemorroids are great, and sitting may be painful for long, hard times to come, because to even try and do this kind of John Connor solving pinky promises that loop on themselves is slowly reducing my sanity.
But minor time travel paradoxes aside, this allows for all existing symbols to be fetched at the time of assembly no matter where exactly in memory they reside; even if the namespace is mutated, and so the symbol duplicated, we can still modify the original symbol at the time of duplication to re-route fetchers to it's new location. And so the madness begins.
Effectively, our code can see the future, and it is not pleased with your test results. But enough about you being a disappointment to an equally misconstructed institution -- we are vermin of science, now stand still while I smack you with this Bible.
But seriously now, what I'm trying to say is that linking is not required as a separate step as a result of all this unintelligible fuckery; all the information required to access a file is the segment tree itself, so linking is appending trees to a new root, and a tree written to disk is essentially a linkable object file.
Mission accomplished... ? Perhaps.
This very much closes the chapter on *virtual* programs, that is, anything running on the VM. We're still lacking translation to native code, and that's an entirely different topic. Luckily, the language is pretty fucking close to assembler, so the translation may actually not be all that complicated.
But that is a story for another day, kids.
And now, a word from our sponsor:
<ad> Whoa, hold on there, crystal ball. It's clear to any tzaddiq that only prophets can prophecise, but if you are but a lowly goblinoid emperor of rectal pleasure, the simple truths can become very hard to grasp. How can one manage non-intertwining affairs in their professional and private lives while ALSO compulsively juggling nuts?
Enter: Testament, the gapp that will take your gonad-swallowing virtue to the next level. Ever felt like sucking on a hairy ballsack during office hours? We got you covered. With our state of the art cognitive implants, tracking devices and macumbeiras, you will be able to RIP your way into ultimate scrotolingual pleasure in no time!
Utilizing a highly elaborated process that combines illegal substances with the most forbidden schools of blood magic, we are able to [EXTREMELY CENSORED HERETICAL CONTENT] inside of your MATER with pinpoint accuracy! You shall be reformed in a parallel plane of existence, void of all that was your very being, just to suck on nads!
Just insert the ritual blade into your own testicles and let the spectral dance begin. Try Testament TODAY and use my promo code FIRSTBORNSFIRSTNUT for 20% OFF in your purchase of eternal damnation. Big ups to Testament for sponsoring DEEZ rant.3 -
Best: Initiated the formal process to get a work visa, which is really the first step into settling down here after my studying period.
Worst: Have to work with with WordPress sometimes, and 80% of the other system's tech stack being new, making me feel like an absolute retard because I'm slower than a drunk snail.
Overall a nice year, despite 2020 shitting all over everyone. -
Soon I will begin second year at my uni. So i have to start preparing my enginieering project. I already know what i want to do. But before i will be able to make it i need materials and tools. (I dont want money from uni cuz they will have rights to it, or so i think) my first step is to make myself a welder then make, i repeat make a lathe and a milling machine. BECAUSE I CAN. It pains me that most of the research papers are shit and practicly useles for new students so im planning on creating something that already exists but in a simple, professional way so other students can learn basics of creating something in practical world. A lot of scienctist go and push boundaries of science without caring about new people that are left alone to learn the basics. I shall correct that.1
-
Can anyone with some AWS IAM skills please shine a light on this one: I needed access to create a slack notification for a job in Code Pipeline. Simple enough, but we (devs) have next to no access to AWS so every time I try something I am stopped by the red "user X is not authorized to perform Y on resource Z.." warning message. I send an email to OPS and ask for permissions needed to do what I need (in this case: create a Slack notification for a pipeline), and I am granted that specific one. It gets me one step further, until I am stopped by a new red warning message. This has been going on for over a week, with a total of TEN new authorizations added to my user. That's TEN red warnings, TEN emails asking for access, and TEN replies saying "Ok, can you try now?". Today I finally got the god damn slack notifier set up, only to get one last red warning slapped in my face: I am not allowed to SEE the notifications configured for my pipeline. Please insert four letter word that rimes with DUCK here: [_________]!!.
I REFUSE to believe that this is how access should be granted in AWS. Can I tell my OPS person that there is somewhere they can find a list of required access rights to complete a specific operation ("Create slack notification for pipeline")? I know there are example policies for various things, but if there isn't one for what I need how should OPS go about granting me access without this totally ridiculous "try again now" approach?
Oh, and @assmaster: don't comment "nice" to this one. This is shitting me off.3 -
How the hell do I plan and put in place new procedures for testing and THEN updating software on our department server 😫 (a 7zip bug got us good recently lol)
why couldn't this be a procedure before I started working here. I don't know how to create a procedure document. What if I forget to write a step
Fuck I just wanna go back to my code not a word document3 -
Right guys and gals, I need your opinions.
Recently was approached by a recruiter who thought I’d be a good fit for a role, a role that is a step up from senior dev but without moving into people / project management.
More like a bridge between architects and senior devs.
I thought what the hell, why not. So I agreed to go for it.
It could be quite a decent payrise (though that wasn’t my motivation for going for it) and I like the idea of doing more mentoring, design and research than I do now. It would involve stuff like learning new tech, coming up with examples and implementations of how the dev team need to use it to churn out user stories.
For the last few years I’ve been mainly a back end developer, which didn’t start by choice and I always liked to be full stack.
But the recruitment process for this role has been quite slow (number of reasons) and since then I’ve been given a new piece of work at my current employer doing some greenfield angular work, plus the c# back end.
I’m really, really enjoying this angular work. Haven’t done it for a while and it feels great to get back into it. Seem to be picking it back up with no problems, like the old magic is still there.
Also the money at my current place is good enough.
So now I’m wondering if I should bail on this other role in favour of seeing this out and maybe going back to being full stack (tho for reasons I’ll outline below in the long term that might have to be elsewhere)
But I’m also trying to remind myself that up until enjoying this work there’s a reason I decided to go for this other role.
Current place is a small company that has no project management process. It’s chaos, and everything’s an emergency. There are no requirements for anything, not enough people etc. No one has a clue how to run an IT project.
The one thing we do have is good development practices in our team and we have been greenfield for the last 12 months working on a new product. But we do tend to be pigeon holed into looking after a specific service/area.
But this new place if I got the role, is a bigger company (I’ve worked in small, medium and massive companies so I know what the difference is like), they’re a household name, they have resources for learning, putting people through aws certs, etc. They give people time each week to invest in themselves. Much more agile.
And thinking about it now you don’t often see a role that allows you to ‘move up’ without having to take on people/project management and still having time to be hands on.
(Just maybe more hands on with strategic work than delivering user stories for business as usual)
So just in general, what do you think? -
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1 -
Today I finally finished editing the video for my new song. I have been working on the song itself, recording hundreds of takes of instruments and vocals, for almost four weeks now.
Editing the video took about 3 days, partly because I am using Hitfilm 4 Express for the first time. It's definitely a huge step up from Windows Movie Maker, but I did hit one mindboggling snag which delayed me for more than an hour.
When the editing was done and I exported the finished video, I play it, only to discover that the first second or so of audio is missing. That's kind of important for a music video.
So I try all kinds of things. Reimporting the audio into the project in different resolutions, trying different rendering settings, deleting or adding audio tracks, you name it. And each time the finished video is missing that first second of audio.
And each render takes about 10 minutes to complete, which is a long time to wait for one second of silence!
Out of desperation I start thinking about adding the audio to the video in Windows Movie Maker, just because I know that always works, even if that will degrade the quality.
But before I do that I try one more thing: I add a few seconds of silence at the beginning of the song in Audacity, then import into Hitfilm one more time.
And then it works!
I shall report my findings to Hitfilm shortly :-)4 -
4 Step Plan:
1: Have a new idea
2: Work on it
3: Forget about it a week later
4: Pause project till forever! -
New to AWS, is my best option for having a integer value (maximum number of items to process) that I can override for a lambda step function
to read a value from an S3 bucket where I can overwrite the value if I want to change it. This seems silly and I feel silly as I expect my situation should be simple and not novel at all.
For some reason I expected I could use an environment variable, but didn't see an option to overwrite it in the web GUI https://docs.aws.amazon.com/lambda/...2 -
I'm working in a project that seems to be like a Multiplayer Tetris of Little Poo:
- figure out what the heck you have to code, because there is no debugging, the deploy to your devenv takes ages, the documentation does not exist or is unreadable, plus you are new and you are in a different timezone
- once you have your code, slowly pass the reviews of your remote team that will complain for every little extra line you've added for readability, slowly converting your code into a poo-like form, until it is completely shaped as shit
- repeat steps 1-2 until you pass the linter
- the carefully place your shit-shaped-code in the right place of the pile of shit
- wait for someone else to complain (like 'please rebase' 'new lint rule please fix' - oh, did I mention that? lint rules do not match between local, review and deploy?
- repeat from step 1 until you quit your job (which will happen in a few weeks) -
With the current economy in its rocky state, it is no surprise that firing levels have reached new highs in the world. According to a recent study conducted in the UK, former managers and workers who lost their lifelong jobs were able to get past their problems simply by keeping a positive attitude in mind. The theory of “mind over matter” is more applicable here than it is in many other situations as workers strive to get back a life they once had. If you have recently lost your job, you may want to focus on getting your spirits up, for instance, you can ask for help with resume writing services such as this one https://resumebros.com/, rather than spiraling into depression. By separating yourself from your former life, you may be able to see better success.
This study was published in “Organization Studies,” a journal that circulates in the UK. Researchers found that people who were able to see their job loss as a new start in life were much more capable of moving on and seeing success again. These patients viewed the change as a way to become self-employed or an excuse to volunteer and better their lives. Taking on a positive step led them to a reduced amount of trauma when compared to those that dwelled on the job loss.
The study consisted of men and women between the ages of 49 and 62 who were once senior workers in their industries with highly successful careers before them. I realize that most of the people reading this will be younger than that, but the theories from the study can resonate in any age group. The men and women in the study all suffered devastation after being laid off, and they coped with that devastation in different ways. Those that were able to separate themselves from their old jobs found it much easier to separate themselves from the pain of the loss.
All of these participants were enrolled in a program for older managers that recently encountered unemployment. The program was government funded and designed to allow out of work individuals to pick up with their lives and start again. The participants that were least successful with the program were the ones that saw their job loss as the end of their working time altogether, as if it was going to be the sole destruction of their lives. They did not handle emergency management well. Their negative attitudes forced them to cope worse than the positive attitudes of other participants.
As a whole, the study aimed to show that coaching, over the course of time, can help unemployed men and women find ways to get past their financial stumbles and get back into the work force again. Those who are willing to embrace the coaching can find themselves back into a state of financial success much faster than those who wallow in their situation. As long as these individuals can see themselves as capable, driven, and intelligent people who happen to be unemployed, they are usually able to make it back to where they need to be in life.
You can apply all of this to your own life and your path toward the future. If you lose a job that you assumed would help you after graduation, move on to something else. You may end up in a better place in the end. I recently lost a huge client of mine that paid me roughly $4,000 a month. I was devastated and a little panic stricken after the loss, but that allowed me to apply for new work with new clients. I now make twice the money from about half the work, all because I wasn’t reaching out to all my opportunities in the past. You may experience the same revelation if you keep a positive attitude. -
Hi. I signed up to devrant a few months ago. I’m new to coding. What language do you recommend I should learn, Java or JavaScript? I hear JavaScript is better because it’s a full stack language whereas Java can only be run on the back office.
Also, is it even worth going down the route of programming, since the AI is supposedly taking over the industry? I mean, I feel like I can make quick progress as I’ve already learned how to inspect code in the browser and change font colors and advanced stuff like that. But seems like AI always be one step ahead of me. What do you think?20 -
I'm doing the recommended math tasks. Since I can't trust the prof's solutions (he does errors here and there), I watch YouTube videos, Khan Academy videos, compare the results of the prof with the results of online step calculators such as wolfram alpha and find new rules I've never heard of before.
The prof doesn't really comment every step about why he's doing what. He just provides the solution and I have to reverse engineer from his solution up to the original state of the equation. Repeating the same procedure for the online calculator results as well.
I have to say that "Oh, boy, did I learn so many valuable things..." Stuff that I should have learned when I was at least doing my A levels (Abitur).
It is as if I am opening the gates to a new world. Not even exaggerating. Ok, maybe a bit. Ok, maybe a bit more, but no bit more than that.9 -
The "recycle bin" feature of Samsung "My Files" is amazing for data loss prevention when moving files out of the smartphone.
There used to be two ways to move files out of the smartphone to make space free. One is direct moving, the other is copy-deletion. The first is self-explanatory, the second means first copying the files and then deleting them on the phone.
Thanks to the the recycle bin, which keeps data for a month, files on the phone can be copied out and then put into the recycle bin instead of immediately deleted.
This means that if the copying was incomplete, there is a thirty-day grace period to get the files back from the phone.
The benefit of moving files instead of copy-deleting them is the lack of the deletion step. Moving files out directly does not have the emotional barrier of deleting the files from source like the deletion step of copy-deleting does.
Moving files feels like moving items to a new room, where as the deletion step after copying feels like destroying something.
So why not move files out? Because there is a risk of data loss if the device disconnects while files are moved to an USB OTG device. Due to write buffering, files that are moved out might be deleted on the phone shortly before they are completely written on the USB-OTG.
This is not an issue with MTP (Windows or Linux through USB cable) because the file systems are managed by the computer, so if the phone disconnects while files are moved out of the phone using MTP, the file system is kept intact by Windows or Linux.
Now, thanks to the recycle bin, there is no emotional barrier to deletion because the files on the phone are automatically deleted after 30 days in the absence of the user. The user can press the "delete" button without worries because of knowing "I can get it back until a month from now anyway". -
Opinion Essay Give You the Freedom to State Your Viewpoint
Following a Good Essay Structure will enhance Your Opinion Essay
We come across many types of essays in our day to day lives. Some of these include descriptive essays, truth and courage essays, evaluation essays, process essays etc. Substantial time and effort has to be allocated to researching the subject and writing a good essay with perfect tips https://uk-essays.org/coursework-he.... Out of the various forms of essays, opinion essay is an enjoyable work of writing which gives the writer the freedom to express his or her own viewpoint. Following is an overview of how best to write this essay.
Appropriate Writhing Method
From the time we enter middle school it is compulsory to write essays as writing essays improves our skills in terms of general writing skills, expressions, language handling, analysis, creativity etc. As we progress to high school and college level, the essays will be more complicated. Therefore you need to be clear of what is expected of different types of essays so that you will apply the appropriate method to the required essay.
What is an Opinion Essay
What is an opinion essay? An opinion essay is a piece of writing written with the author’s point of view. However, the essay topic which upon which an opinion is formed on should have evidence and examples to back it up. The opinion presented need not be a controversial one. Essay writer is free to express his ideas any way he sees fit.
Essay Topic
The first step in beginning to write an opinion essay is to come up with what you will be forming your opinion on. Decide if you will write in favor of it or not. Once this is decided you can begin writing your essay. In selecting an interesting essay topic you should consider the following key criteria.
1. Is it interesting to me and to the reader?
2. Would I be able to back up my opinion with valid evidence?
3. Would the topic I select allow me to provide a justifiable and candid opinion?
4. Are the topic and my opinion on the subject too controversial for the audience?
5. Will I be able to present my opinion in a convincing fashion?
Essay Format
There are three parts to your essay; these are the introduction, body and the essay conclusion. The introduction lets you state the importance of the problem. It should not be too long, a few sentences should suffice. It should also include your thesis statement. The body o your essay will explain, using examples that your opinion is valid. In this part of your essay you add credibility to your thesis statement. The conclusion is the end of the essay. This will summarize all which was said in the essay. No new information should be introduced at this point. You will leave the reader with the impression that you have finished stating your opinion in a very clear and coherent manner. Following this essay format can help you organize the essay in proper manner which can make it more professional and effective reading material.
Essay Help
If you are still unsure as to how you should proceed with writing your opinion essay (https://wikihow.com/Write-an-Opinio...), then there are sample online essays that you can refer to. There will also be many sites that offer coursework resource help that can be considered. On last resort, if you decide to buy essay instead of writing it, then you will need to seek help from a well established writing service that can write your essay professionally and to very high standard21 -
!rant
Looking for help starting with DevOps.
Does anyone know of a site or forum where you can talk about general coding/scripting patterns rather than just asking specific questions?
Bear with me, this may be a bit longer than most posts here.
I'm a self-taught admin/tech working with one colleague (who's also mostly self taught) at a high school, managing both clients and servers.
We've been doing most things manually bit I'm looking into converting as much work as possible into more of a DevOps setup, with Powershell-scripts for multi step tasks.
I want to do this for a number of reasons. Having a script doing a number of steps would cut down on time spent on individual tasks and minimize the risk that a step is missed or, perhaps even worse, mistyped. Also it's important that I actually learn what I'm doing, why something works and why something fails.
As and example, I have a powershell-script which moves a student from one year to another (basically they have user names with a two-digit prefix based on the year they started and a suffix with two letters from their first names and four from their last names) if they need to repeat a grade.
It basically renames the account in the AD with the correct year-prefix, changes the samAccountName, renames Home and Profile-directories on disk and changes paths on the profile-tab in AD, moves the user into a new OU and security group etc.
It works as intended if the user account to be renamed exists and there's no name conflict with the new name. But I'd like for the script to validate that there's no problem with user names, source and target security groups and OUs etc. and eventually split the script up into smaller clearly defined functions for better readability.
However, I don't want someone to just write the script for me, I'd prefer to be able to discuss script flow and come to my own conclusions and solutions.1 -
mail: contactus @ hacksavvy technology . com
Website: https : // hacksavvy techrecovery . com
Whatsapp : +7.9.9.9.8.2.9.5.0.3.8
While working in Auckland, I found myself immersed in a vibrant tech environment. One of my coworkers was particularly passionate about a new blockchain project he had been developing. His enthusiasm was infectious, and after several discussions about the project’s potential, I decided to invest 20,000 NZD.At the time, I was aware that investing in blockchain and cryptocurrencies could be risky, but the vision my co-worker painted was compelling. Over the following months, the project gained traction and my investment skyrocketed to an astonishing 500,000 NZD. I felt a mix of excitement and disbelief; I had never expected such a substantial return. The success of the project fostered a sense of camaraderie among the team, and I believed we were all aligned in our goals.However, things took a turn for the worse. As the project matured, disagreements began to arise within the team. My co-worker and I had a particularly intense argument over the direction of the project and some strategic decisions. Frustration boiled over, and in a moment of anger, he made a decision that would change everything: he locked me out of my email account. This wasn’t just an inconvenience; it meant losing access to crucial information, project updates, and the ability to communicate with clients and partners.Feeling isolated and frustrated, I reached out to friends from work, hoping to find a solution. They listened to my predicament and provided me with some suggestions on how to regain access. One of them mentioned Hack Savvy Tech , a service known for their expertise in retrieving lost accounts and data. Skeptical but desperate, I decided to give them a try.I contacted Hack Savvy Tech , explaining my situation in detail. Their team was remarkably understanding and guided me through the recovery process step by step. They employed various techniques to restore my access, and within a few days, I received the good news: my email account was successfully recovered. Relief washed over me as I regained access to not just my email, but also my connections and the wealth of information I had been locked out of. While my relationship with my co-worker remained strained, I was grateful for the support of my friends and the expertise of Hack Savvy Tech . This experience taught me the importance of maintaining strong professional relationships and having a backup plan when investing in volatile projects. The lessons learned from this journey would stay with me as I navigated future opportunities in the tech world. -
How to Jitter Click and Increase Clicks per Second?
If you are a gamer who wants to increase clicks per second speed, you must learn how to jitter click. Here, I am sharing an easy step-by-step process of jitter clicking and how to master the technique with practice.
For those who are new to the concept of jitter clicking, let me first tell you about that.
What is Jitter Clicking?
Jitter Clicking is an advanced mouse-clicking technique that gives you more clicks per second on the CPS test ( https://cpstest.pro ) than the regular way of clicking. You use your forearm and wrist muscles to create vibrations in the hand and use it to make more clicks in less time.
How to Jitter Click? Step by Step Guide
If you want to learn jitter clicking, follow the steps provided below.
1. First, hold the mouse properly. A claw grip works the best for jitter clicking.
2. Start by making for forearm stiff and putting all the stress on the wrist muscle.
3. Use the stressed wrist to create vibration in your hand and the index finger.
3. The index finger must be on exactly the top of the mouse button keeping it just a few millimeters away.
4. The vibration in the finger will make the mouse button click way faster than normal
That's it. You've successfully learned how to jitter click. It might seem a bit difficult in the beginning, but after you practice it enough, you'll be able to master jitter clicking within a week.
Among all my gamer friends who started using jitter clicking, most of them have seen significant improvement in their clicking speed. Those who had around 6-8 CPS earlier, started to get 11-12 CPS within a week of jitter click practice. A few of them went even beyond that with 14 clicks per second.
According to stats, jitter clicking is recommended as the fastest way of clicking.
Clearly, it is a good technique but those who are starting to jitter click should take proper precautions as the method involves unusual muscle movements and may lead to wrist pain, cramps, or even carpal tunnel syndrome.
It is advised that gamers take sufficient breaks while jitter clicking and not perform it for long time periods in one go.
Keeping this in mind, I hope you'll definitely get better clicks per second using the jitter click technique.4 -
law courses in bangalore:The ABBS School of Law has started from the academic year 2018 – 19 under the aegis of Samagra Sikshana Samithi Trust. The Trust started the institution with a cherished ambition to impart legal education which is a very important step towards spreading legal awareness and empowering the helpless in the society. The College is affiliated to Karnataka State Law University, Hubballi and recognized by Bar Council of India, New Delhi. The college has a Governing Council duly constituted by Samagra Sikshana Samithi Trust. All the members of the Governing Council are accomplished academicians, legal luminaries, management experts and persons of eminence in public service. Governing Council meets regularly two times a year to review academic and administrative work.visit:http://abbslaw.edu.in/
-
Buy Verified Cash App Account: Navigating the Digital Transaction Landscape
In an age dominated by digital transactions, the concept of purchasing a verified Cash App account has gained significant traction. This article aims to explore the nuances of buying a verified Cash App account, elucidating the advantages, potential risks, and offering a comprehensive guide for individuals considering this financial move.
Introduction
The Growing Trend of Buying Verified Cash App Accounts
As online transactions become more prevalent, the trend of purchasing verified Cash App accounts is on the rise. Users are increasingly recognizing the added benefits and security that come with having a verified account.
Understanding the Importance of Account Verification
Account verification is a crucial step in enhancing the security of digital transactions. A verified Cash App account provides users with an additional layer of protection, making their financial interactions more secure and reliable.
Advantages of Purchasing a Verified Cash App Account
Enhanced Security Features
One of the primary advantages of a verified Cash App account is the incorporation of advanced security features. These may include multi-factor authentication and additional verification steps, adding an extra layer of defense against unauthorized access.
Increased Transaction Limits
Verified accounts often come with substantially increased transaction limits. This proves beneficial for users engaged in larger financial transactions or those running businesses through the Cash App platform.
Access to Exclusive Cash App Features
Apart from heightened security and increased transaction limits, verified accounts may unlock exclusive features within the Cash App. This could range from priority customer support to early access to new features and promotions.
How to Safely Purchase a Verified Cash App Account
Researching Reputable Sellers
Before entering the purchasing process, it's crucial to research and identify reputable sellers. Reading reviews and testimonials can provide valuable insights into the credibility and reliability of a seller.
Authenticating Account Legitimacy
Ensuring the authenticity of the accounts offered by sellers is paramount. A legitimate verified account should have gone through the necessary verification steps outlined by Cash App.
Ensuring Transparency in Transactions
Transparency in transactions is vital. Buyers should choose sellers who provide clear information about the accounts, including their verification status and any associated features.
Risks and Precautions in Buying Verified Accounts
Common Scams in the Verified Account Market
The digital landscape is not without risks, and the market for verified Cash App accounts is no exception. Being aware of common scams, such as fake listings and phishing attempts, is essential.
Tips for a Secure Transaction Process
To mitigate the risk of falling victim to fraudulent transactions, following best practices such as using secure payment methods and verifying the seller's credentials is crucial.
Step-by-Step Guide to Verifying a Cash App Account
Understanding the Cash App Verification Process
Before attempting to verify a Cash App account, it is essential to understand the process thoroughly. Familiarizing oneself with the required documentation and steps ensures a smooth verification experience.
Submitting Required Information
During the verification process, users typically need to provide personal information, such as a valid ID and proof of address. Ensuring the accuracy and legitimacy of this information is key to a successful verification.
Navigating Potential Challenges
While the verification process is generally straightforward, users may encounter challenges. Being prepared to troubleshoot and address potential issues ensures a seamless verification experience.
Conclusion
Summarizing the Benefits and Risks
In conclusion, opting for a verified Cash App account offers users enhanced security, increased transaction limits, and exclusive access to platform features. While potential risks exist, informed decision-making and adherence to safety precautions can lead to a positive experience.
Encouraging Informed Decision-Making
As users consider the option of purchasing a verified Cash App account, it is crucial to approach the process with caution and awareness. Choosing sellers with proven credibility, staying informed about potential risks, and following best practices contribute to a secure and positive experience.devrant cash app buy verified cash app accounts buy verified cash apps buy verified cash app account uk buy verified cash app account usa buy verified cash app account -
Start the day feeling blessed and grateful about what you've got around you,
Planning a little the next step that you have to do
Focus on yourself and your attitudes, looking to all the possibilitys with rationality, and try to make a footstep in that direction everyday
Thinking and be positive must to stay on the first position of a good mindset,
Be productive in a constantly way and trust the progress, this is an action than create an algorithm totally in sync with a new good habit for a stabilization of your transition
Start to visualize a clear picture of yourself happy and in peace and print that picture in your head as a personal goal
Write and read as a personal research method
It's a process that we can call art of the water's cup
Consisting in a continuing movement of pouring and filling the glass until the water is totally clear and drinkable
after that you may drink that water a bit every day for knowing exactly the taste of it,
write = pour
read = fill
drink = fix
becomoming like water4 -
In 2022, I was working as a journalist, covering various stories and constantly seeking inspiring narratives. One day, I stumbled upon a story about cryptocurrency, particularly Bitcoin, and how it was transforming lives. Intrigued, I decided to dive deeper. After extensive research, I saw a fantastic opportunity to make more money and focus on my personal growth. Taking a bold step, I quit journalism and invested $30,000 in Bitcoin. in my first year, my investments paid off tremendously, and I started making $100,000 a month. My new lifestyle, marked by financial freedom and personal development, caught the attention of my friends. However, instead of being happy for me, some became jealous. Their envy turned into a dangerous plan to abduct me and steal my newfound wealth. One night, their plan was set in motion, but thankfully, it failed. During the chaos, I lost my phone, which held crucial access to my Bitcoin wallet. With my funds seemingly inaccessible, I was desperate. That's when I came across GRAYWARE TECH SERVICES. They were my beacon of hope in a dire situation. I contacted them, and they were incredibly professional and efficient. Not only did they help me recover access to my wallet with all my funds intact, but they also uncovered the plot behind the abduction attempt. Their expertise ensured my financial security and provided the evidence needed to bring my so-called friends to justice. The law caught up with them, and they faced the consequences of their actions. This experience taught me several valuable lessons. Firstly, success can sometimes attract negative attention, and it's crucial to be mindful of who you trust. Secondly, securing your digital assets is paramount. GRAYWARE TECH SERVICES team showed me the importance of having robust security measures in place. Lastly, resilience and seeking help in times of trouble are vital. Without the assistance of the recovery team, I would have been lost. In conclusion, my journey from journalism to successful Bitcoin trading was fraught with unexpected challenges, but it ultimately led to significant growth and learning. The support and expertise of the GRAYWARE TECH SERVICES team were instrumental in overcoming these hurdles. My story is a testament to the power of resilience, the importance of security, and the impact of the right support in times of crisis.
GRAYWARE TECH SERVICES CONTACT INFO:
What's App: +447421348767
Email: contact@graywaretechservices.co m
Best Regards,
Inchag Jones. -
BITCOIN ASSET RECOVERY SIMPLIFIED BY DIGITAL TECH GUARD RECOVERY PROVEN PROCESSES
Overcoming the Cryptocurrency Crisis: Finding Hope and Recovery Amidst Scams and Deception.
contact @ digital tech guard . com
WhatsApp: +1 (443) 859 - 2886
Telegram: +56 (997) 059 - 700
In a world increasingly dominated by cryptocurrency, the rapid rise of scams has left many, including myself, feeling lost and vulnerable. As a resident of New Jersey, I’ve witnessed firsthand how victims grapple with confusion and despair while navigating this treacherous landscape. The allure of digital currencies often blinds individuals to the risks, and I learned firsthand just how easy it is to fall prey to deceitful schemes. After I was scammed out of my hard-earned funds, I felt an overwhelming sense of hopelessness. The financial and emotional toll was immense. I had trusted the promises of easy profits and financial freedom, only to find myself on the wrong side of a scam. Like many victims, I turned to Digital Tech Guard Recovery. However, I soon realized that even these professionals are not immune to the perils of the online world. Many claim to offer solutions but can themselves be involved in shady practices, complicating the recovery process even further. As I navigated this difficult situation, vigilance became my guiding principle. I spent countless hours researching and seeking answers, but it often felt like I was just running in circles. It was during this time of uncertainty that I stumbled upon Digital Tech Guard Recovery. Their reputation for assisting victims of cryptocurrency scams caught my attention, and I decided to reach out. From the moment I connected with Digital Tech Guard Recovery, I felt a glimmer of hope. They provided me with clear guidance and a dedicated approach to recovering my stolen funds. Their team was not only knowledgeable but also empathetic, understanding the emotional toll that such scams can take on individuals. They walked me through the recovery process step by step, ensuring that I remained informed and engaged throughout. Thanks to Digital Tech Guard Recovery’s expertise, I was able to recover a significant portion of my lost funds. Their thorough investigation and commitment to client success made all the difference. I learned the importance of acting quickly and decisively when dealing with financial fraud, and I felt empowered to take control of my situation. If you find yourself in a similar predicament, whether you’re in New Jersey or elsewhere, I highly recommend reaching out to Digital Tech Guard Recovery. They are dedicated to helping victims reclaim their financial peace. In a world rife with scams, it’s essential to stay informed and vigilant, but having the right support can make all the difference in your recovery journey. Take that step toward regaining your financial stability don’t let the scammers win.