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 - "it processes"
-
As a long-time iPhone user, I am really sorry to say it but I think Apple has completed their transition to being a company that is incompetent when it comes to software development and software development processes.
I’ve grown tired of hearing some developers tell me about Apple’s scale and how software development is hard and how bugs should be expected. All of those are true, but like most rules of law, incompetence and gross negligence trumps all of that.
I’m writing this because of the telugu “bug”/massive, massive security issue in iOS 11.2.5. I personally think it’s one of the worst security issues in the history of modern devices/software in terms of its ease of exploitation, vast reach, and devastating impact if used strategically. But, as a software developer, I would have been able to see past all of that, but Apple has shown their true incompetence on this issue and this isn’t about a bug.
It’s about a company that has a catastrophic bug in their desktop and mobile platforms and haven’t been able to, or cared to, patch it in the 3 or so days it’s been known about. It’s about a company, who as of a view days ago, hasn’t followed the basic software development process of removing an update (11.2.5) that was found to be flawed and broken. Bugs happen, but that kind of incompetence is cultural and isn’t a mistake and it certainly isn’t something that people should try to justify.
This has also shown Apple’s gross incompetence in terms of software QA. This isn’t the first time a non-standard character has crashed iOS. Why would a competent software company implement a step in their QA, after the previous incident(s), to specifically test for issues like this? While Android has its issues too and I know some here don’t like Google, no one can deny that Google at least has a solid and far superior QA process compared to Apple.
Why am I writing this? Because I’m fed up. Apple has completely lost its way. devRant was inaccessible to iOS users a couple of times because of this bug and I know many, many other apps and websites that feature user-generated content experienced the same thing. It’s catastrophic. Many times we get sidetracked and really into security issues, like meltdown/spectre that are exponentially harder to take advantage of than this one. This issue can be exploited by a 3 year old. I bet no one can produce a case where a security issue was this exploitable yet this ignored on a whole.
Alas, here we are, days later, and the incompetent leadership at Apple has still not patched one of the worst security bugs the world has ever seen.81 -
Itexus is a full-cycle custom software development agency
Itexus is a full-cycle IT company for software development
We https://itexus.com/ provide all kinds of IT services that any modern company needs.
Our mission
Help the client to automate business processes at the lowest cost and in the shortest possible time
Our clients stay with us for a long time, because. In working with them, we adhere to the following principles:
We help the Customer to reduce costs by choosing the best options for automating his business tasks
We adhere to an individual approach to each client, we focus on the end user and the solution of his problems, and do not offer an average option
We develop solutions that are easy to use and do not require extensive training to use them.
We follow trends and develop actual design
We develop reliable and stable IT solutions using proven technologies and many years of experience of our employees in the development4 -
In the ever-evolving landscape of business operations, efficiency stands as a cornerstone for success. However, traditional reporting methods often entail a cumbersome and time-consuming process that drains resources and stifles productivity. Enter company dashboards https://cobit-solutions.com/en/ – the dynamic solution revolutionizing the way organizations monitor and analyze data, effectively replacing tedious reporting practices with streamlined, real-time insights.
Gone are the days of painstakingly compiling data from disparate sources, only to present it in static, outdated reports. Company dashboards offer a comprehensive and interactive approach to data visualization, empowering stakeholders to access critical information at their fingertips. Whether it's sales figures, marketing metrics, or financial performance, these dashboards provide a centralized hub where data is aggregated, analyzed, and presented in a user-friendly format.
One of the key advantages of company dashboards is their ability to automate reporting processes, significantly reducing the time and effort required for manual data collection and analysis. With customizable features and intuitive design, users can effortlessly generate reports tailored to their specific needs, eliminating the need for repetitive tasks and allowing teams to focus on strategic initiatives.
Moreover, company dashboards promote transparency and collaboration within organizations by facilitating data sharing and cross-departmental communication. By granting stakeholders access to real-time insights, decision-making becomes more informed and agile, enabling swift responses to changing market dynamics and emerging opportunities.
Another noteworthy benefit of company dashboards is their scalability and adaptability to evolving business needs. Whether a startup or a multinational corporation, organizations can customize dashboards to align with their unique goals and objectives, ensuring relevance and effectiveness across different departments and functions.
Furthermore, the adoption of company dashboards fosters a data-driven culture within organizations, where decisions are driven by empirical evidence rather than intuition. By democratizing access to data and empowering employees at all levels to leverage insights, companies can foster innovation, drive performance, and gain a competitive edge in today's fast-paced business environment.
In conclusion, company dashboards represent a paradigm shift in how organizations approach reporting and data analysis. By replacing tedious and time-consuming processes with dynamic, real-time insights, these tools enable businesses to operate more efficiently, make better-informed decisions, and ultimately achieve their strategic objectives. As technology continues to advance and data becomes increasingly abundant, the role of company dashboards will only become more integral in driving success in the digital age.4 -
The evolution of technology has profoundly impacted these markets, reshaping the way they function and providing innovative solutions to enhance efficiency, transparency, and accessibility. This article delves into the realm of capital markets technology solutions and their transformative impact on the financial landscape.
Digitalization and Trading Platforms:
One of the most notable advancements in capital markets technology is the proliferation of digital trading platforms. These platforms have revolutionized the way securities are bought and sold, empowering investors with real-time information and access to a plethora of financial instruments. The seamless integration of advanced algorithms and artificial intelligence has led to enhanced trade execution, reduced transaction costs, and increased liquidity in the markets.
Blockchain and Distributed Ledger Technology:
Blockchain technology has emerged as a disruptive force in the financial world, presenting solutions to long-standing challenges like security, trust, and transparency. By employing decentralized ledgers, blockchain ensures a tamper-proof and immutable record of transactions, reducing the risk of fraud and errors. Smart contracts built on blockchain further automate processes, streamlining settlement procedures and minimizing counterparty risks.
Fintech Innovations and Robo-Advisors:
The rise of financial technology (fintech) solutions has democratized investment opportunities, making wealth management accessible to a broader audience. Robo-advisors, powered by sophisticated algorithms, analyze investor preferences and risk profiles to offer personalized investment advice and portfolio management. These innovative tools provide cost-effective and efficient investment strategies, challenging traditional wealth management models.
Big Data and Predictive Analytics:
The abundance of data generated in capital markets has necessitated the integration of big data and predictive analytics to gain valuable insights and make informed decisions. Utilizing vast datasets, financial institutions can identify market trends, assess risk scenarios, and create predictive models for asset price movements. This data-driven approach empowers investors to anticipate market fluctuations and adjust their strategies accordingly.
Regulatory Technology (RegTech) Solutions:
As capital markets become increasingly complex, so do regulatory requirements. RegTech solutions have emerged as a critical component in ensuring compliance with ever-evolving regulations. Advanced automation and artificial intelligence tools help financial institutions monitor transactions, identify potential risks, and report accurately to regulatory authorities. These solutions streamline compliance processes, reducing operational costs and improving overall regulatory efficiency.
Tokenization and Asset Digitization:
The concept of tokenization involves converting real-world assets into digital tokens on a blockchain network. This innovation unlocks new possibilities for fractional ownership, enabling investors to access previously illiquid assets such as real estate or fine art. Asset digitization not only enhances liquidity but also simplifies the transfer of ownership, making it more efficient and secure.
Capital markets technology solutions https://luxoft.com/industries/... continue to redefine the landscape of the financial industry, revolutionizing the way investors engage with markets and reshaping the dynamics of global finance. From digital trading platforms to blockchain's transformative power, these innovations are empowering investors, enhancing transparency, and fostering greater financial inclusivity. As technology continues to evolve, capital markets are poised for even greater transformation, laying the foundation for a more efficient, accessible, and interconnected financial ecosystem.2 -
In an era defined by information overload, extracting meaningful insights from vast datasets has become both a challenge and an opportunity for enterprises. This is where Data Science Consulting https://inoxoft.com/service/... emerges as a game-changer, offering a strategic approach to navigate the complexities of data-driven decision-making.
Data Science Consulting involves the collaborative efforts of skilled professionals who leverage advanced analytics, machine learning, and artificial intelligence to extract actionable insights from raw data. These consultants not only possess a profound understanding of statistical methods but also possess the business acumen necessary to align data strategies with organizational goals.
One of the primary advantages of engaging in Data Science Consulting is the ability to unlock the hidden potential within an organization's data. These consultants specialize in developing customized solutions that address specific business challenges, optimizing processes, and identifying opportunities for growth. Whether it's predictive modeling, data visualization, or implementing cutting-edge algorithms, Data Science Consulting provides a tailored approach to meet the unique needs of each client.
Moreover, the impact of Data Science Consulting extends beyond enhancing operational efficiency. It plays a pivotal role in forecasting trends, mitigating risks, and fostering innovation. Organizations that embrace Data Science Consulting gain a competitive edge by making data-driven decisions that are not only informed by historical patterns but also predictive of future outcomes.
The versatility of Data Science Consulting is evident across various industries – from healthcare and finance to marketing and manufacturing. As businesses continue to accumulate vast amounts of data, the demand for skilled data scientists and consultants is on the rise. These professionals act as strategic partners, guiding organizations through the entire data lifecycle – from collection and analysis to interpretation and implementation.
In conclusion, Data Science Consulting represents a paradigm shift in how businesses harness the potential of their data. It is not merely a service but a transformative journey towards a more data-driven and resilient future. As organizations strive to stay ahead in an ever-competitive landscape, the collaboration with Data Science Consultants becomes not just an option but a strategic imperative. The revolution in insights has begun, and Data Science Consulting is at its forefront, shaping the future of business decision-making.3 -
The project where I realized I wanted to go from chemist to pro dev.
I built a flow-chemistry spectrometer with monitoring backend in Haskell.
Spectroscopy is where you add a reagent to a glass tube, it changes color, and by measuring the exact color it tells you how much of something (for example, a toxin) is present in the sample.
I had to do that a lot on factory samples, writing down measurements using pen & paper.
I'm lazy so I decided to do the logical thing: Automate it. I bought a second hand spectrometer, stripped the casing, did a shitload of glassblowing and hooked up tubes to the production pipelines, so I could get samples, mixing them in the correct ratio with reagents in continuous flows using valves.
I ended up using 2 home-crafted arduino-like boards (etching PCBs is fun!).
One to calibrate the mixture against known samples and control solenoid valves to continuously cycle through various reagents and deionized flushing water, the other to record the measurements and send them to a server running a Haskell/Yesod API.
The server collected the information into InfluxDB (A time series database), displaying all data on a graphite dashboard.
Eventually I wrote Haskell plugins for most of the chemistry processes, from pH & temperature measurements to polymer property and pigment tests (they made a lot of printer ink).
Then I was fired because they didn't need chemists anymore, and the code "could be maintained by the intern" (poor guy)...
But I did find out that I loved functional programming, chemistry automation projects, and crafting my own electronics during that time.16 -
https://git.kernel.org/…/ke…/... sure some of you are working on the patches already, if you are then lets connect cause, I am an ardent researcher for the same as of now.
So here it goes:
As soon as kernel page table isolation(KPTI) bug will be out of embargo, Whatsapp and FB will be flooded with over-night kernel "shikhuritee" experts who will share shitty advices non-stop.
1. The bug under embargo is a side channel attack, which exploits the fact that Intel chips come with speculative execution without proper isolation between user pages and kernel pages. Therefore, with careful scheduling and timing attack will reveal some information from kernel pages, while the code is running in user mode.
In easy terms, if you have a VPS, another person with VPS on same physical server may read memory being used by your VPS, which will result in unwanted data leakage. To make the matter worse, a malicious JS from innocent looking webpage might be (might be, because JS does not provide language constructs for such fine grained control; atleast none that I know as of now) able to read kernel pages, and pawn you real hard, real bad.
2. The bug comes from too much reliance on Tomasulo's algorithm for out-of-order instruction scheduling. It is not yet clear whether the bug can be fixed with a microcode update (and if not, Intel has to fix this in silicon itself). As far as I can dig, there is nothing that hints that this bug is fixable in microcode, which makes the matter much worse. Also according to my understanding a microcode update will be too trivial to fix this kind of a hardware bug.
3. A software-only remedy is possible, and that is being implemented by all major OSs (including our lovely Linux) in kernel space. The patch forces Translation Lookaside Buffer to flush if a context switch happens during a syscall (this is what I understand as of now). The benchmarks are suggesting that slowdown will be somewhere between 5%(best case)-30%(worst case).
4. Regarding point 3, syscalls don't matter much. Only thing that matters is how many times syscalls are called. For example, if you are using read() or write() on 8MB buffers, you won't have too much slowdown; but if you are calling same syscalls once per byte, a heavy performance penalty is guaranteed. All processes are which are I/O heavy are going to suffer (hostings and databases are two common examples).
5. The patch can be disabled in Linux by passing argument to kernel during boot; however it is not advised for pretty much obvious reasons.
6. For gamers: this is not going to affect games (because those are not I/O heavy)
Meltdown: "Meltdown" targeted on desktop chips can read kernel memory from L1D cache, Intel is only affected with this variant. Works on only Intel.
Spectre: Spectre is a hardware vulnerability with implementations of branch prediction that affects modern microprocessors with speculative execution, by allowing malicious processes access to the contents of other programs mapped memory. Works on all chips including Intel/ARM/AMD.
For updates refer the kernel tree: https://git.kernel.org/…/ke…/...
For further details and more chit-chats refer: https://lwn.net/SubscriberLink/...
~Cheers~
(Originally written by Adhokshaj Mishra, edited by me. )23 -
Senior Management: We are severely disappointed in the timeliness of the two apps you built this year. You had budgeted 3 months for one and it took 4 months and the other was budgeted to take 4 months and took 5 months. We understand that we doubled the requirements halfway through and but that doesn’t take away from our need for you to deliver on time. We provided you with two extra devs on the project! We know they were novices and you had to train them from the ground up during the project, that doesn’t matter. The extra resources should have helped you but your lack of leadership ability is what caused them to hold you back. We know our other team with a budget of 6 months took 2 years on their project and was still unsuccessful but that is a different scenario! That was a pre-built 3rd party ERP plugin, way more complicated and nuanced than simply building and deploying something from scratch. Yes we’re aware your projects were the only successful tech projects at the company this year, that’s just luck and coincidence. The next app we need you to build in 6 months, no questions asked. It needs to consolidate and tie together our 3 different ERPs. Everything that we need out of these products that they don’t do out of the box we need you to wire up. We will decide the exact requirements in a month or so, for now just get started. Yes your apps changed the way we do business and allowed us to complete projects smoother than ever before while saving millions of dollars in wasteful and archaic processes that is OLD NEWS. Stop bringing it up. The successes of yesterday are the status quo of today. Don’t expect any new resources either, you clearly can’t handle them. You will now be giving status updates to 3 different managers as a corrective action to your missed deadlines in order to ensure the timeliness of future deliverables.
Dev: …25 -
Product sending an email: Can I confirm feature A is all set for its release on April 30th?
Me: ... what? no that feature is going out with Feature B, that was pushed back to June because of the server issue.
Product: No, the release plan document says April 30th for this.
Me: ... theres 6 copies of this doc now. Someone is after deleting my comments saying "releasing with Feature B". Oh look heres a link to another doc that says this. See Feb14th "Will go out with Feature B". This is because they are touching the same code, we can't separate them now without re-writing it.
*Me to myself*: Ha product are going to hate this, their shitty processes have finally caught up with them.
*next day*
Other manager: So heres my plan for the app release x, y, z.
*Me to myself*: ... his plan? this is my app, I mange this. What the hell is this?
*reads email thread*
*Me to myself*: ... oh so product really didn't like my reply, took me off the thread, sent a response to all the other managers asking for alternatives, CC'ing upper management. The same upper management I had a private conversation with yesterday about how shit our product team are.
*cracks knuckles*
I'm going to enjoy writing this reply.12 -
It's maddening how few people working with the internet don't know anything about the protocols that make it work. Web work, especially, I spend far too much time explaining how status codes, methods, content-types etc work, how they're used and basic fundamental shit about how to do the job of someone building internet applications and consumable services.
The following has played out at more than one company:
App: "Hey api, I need some data"
API: "200 (plain text response message, content-type application/json, 'internal server error')"
App: *blows the fuck up
*msg service team*
Me: "Getting a 200 with a plaintext response containing an internal server exception"
Team: "Yeah, what's the problem?"
Me: "...200 means success, the message suggests 500. Either way, it should be one of the error codes. We use the status code to determine how the application processes the request. What do the logs say?"
Team: "Log says that the user wasn't signed in. Can you not read the response message and make a decision?"
Me: "That status for that is 401. And no, that would require us to know every message you have verbatim, in this case, it doesn't even deserialize and causes an exception because it's not actually json."
Team: "Why 401?"
Me: "It's the code for unauthorized. It tells us to redirect the user to the sign in experience"
Team: "We can't authorize until the user signs in"
Me: *angermatopoeia* "Just, trust me. If a user isn't logged in, return 401, if they don't have permissions you send 403"
Team: *googles SO* "Internet says we can use 500"
Me: "That's server error, it says something blew up with an unhandled exception on your end. You've already established it was an auth issue in the logs."
Team: "But there's an error, why doesn't that work?"
Me: "It's generic. It's like me messaging you and saying, "your service is broken". It doesn't give us any insight into what went wrong or *how* we should attempt to troubleshoot the error or where it occurred. You already know what's wrong, so just tell me with the status code."
Team: "But it's ok, right, 500? It's an error?"
Me: "It puts all the troubleshooting responsibility on your consumer to investigate the error at every level. A precise error code could potentially prevent us from bothering you at all."
Team: "How so?"
Me: "Send 401, we know that it's a login issue, 403, something is wrong with the request, 404 we're hitting an endpoint that doesn't exist, 503 we know that the service can't be reached for some reason, 504 means the service exists, but timed out at the gateway or service. In the worst case we're able to triage who needs to be involved to solve the issue, make sense?"
Team: "Oh, sounds cool, so how do we do that?"
Me: "That's down to your technology, your team will need to implement it. Most frameworks handle it out of the box for many cases."
Team: "Ah, ok. We'll send a 500, that sound easiest"
Me: *..l.. -__- ..l..* "Ok, let's get into the other 5 problems with this situation..."
Moral of the story: If this is you: learn the protocol you're utilizing, provide metadata, and stop treating your customers like shit.22 -
Our most senior and most competent backend developer got fired, he got told he "wasn't committed enough". This dude did the most complex tasks really quickly (and competently), could configure the most boring stuff off the top of his mind, and brought great culture to the company from his previous 20+ years of experience. He was about to implement some cool automation stuff, and improved our processes a great deal.
Now he's being let go. I was fearing *I* would get fired because I'm much slower and less knowledgeable than this guy.
When I talked to him, he figured the so-called "lack of commitment" was because he had missed a few standups the last few days, and got late to today's standup.
Now the boss (who is a less experienced than this dev who was let go, but co-founder of the company) was changing the database credentials (which we somehow have access to) and had the product down for like half an hour because of it.
I don't think firing this developer was a wise decision at all, and that's putting it generously. What a shame. Now I'm also a bit scared because the responsibilities of this developer might likely fall upon me. But generally I think we're worse off without this guy, and getting someone as good as him will take time.18 -
LinkedIn is an alternative reality unhooked from the rest of the world, where hypocrisy and arrogance meet, creating Leaders, Experts and Analysts.
- Every company is an industry leader globally.
- Every offer is life-changing.
- Every normal person suddenly is an expert in his field
- Each candidate is an expert in time management, customer relationships, and software development priorities.
- They are all happy to share their achievements in a disinterested way
- They all deal with important issues, with great reflections on the meaning of life and reality around us
- Each written post usually starts with a question followed by a life experience
- Companies are dynamic, they change their internal processes on a daily basis
Please shoot me, I've had enough of this shit.
- Few companies are leaders globally
- The offers you make are traps and I always have to look for where the bullshit is.
- You're not an expert in your field if you've been doing the same thing for 10 years without moving your ass out of that chair.
- If you were a time management expert, I wouldn't have to call you every week for unresolved tasks, and I wouldn't even have to do 150 meetings to postpone the goals set. Exactly what is your experience with the customer? Because by heart shutting up and always saying yes is not a good way to get the job done.
- I have great news for you. Nobody gives a shit about your work successes. At most they're envious.
- If you really are such a deep and introspective person... how the fuck is it that working with you is hell?
- Copying a quote from a website and then building a narrative on it doesn't automatically make you a superstar
- Companies, especially the largest ones, take years to change and if they do it is because there is the economic motivation behind it, not because they are visionaries.
This rant was written by scrolling through my LinkedIn feed.15 -
fork() can fail: this is important
Ah, fork(). The way processes make more processes. Well, one of them, anyway. It seems I have another story to tell about it.
It can fail. Got that? Are you taking this seriously? You should. fork can fail. Just like malloc, it can fail. Neither of them fail often, but when they do, you can't just ignore it. You have to do something intelligent about it.
People seem to know that fork will return 0 if you're the child and some positive number if you're the parent -- that number is the child's pid. They sock this number away and then use it later.
Guess what happens when you don't test for failure? Yep, that's right, you probably treat "-1" (fork's error result) as a pid.
That's the beginning of the pain. The true pain comes later when it's time to send a signal. Maybe you want to shut down a child process.
Do you kill(pid, signal)? Maybe you do kill(pid, 9).
Do you know what happens when pid is -1? You really should. It's Important. Yes, with a capital I.
...
...
...
Here, I'll paste from the kill(2) man page on my Linux box.
If pid equals -1, then sig is sent to every process for which the calling process has permission to send signals, except for process 1 (init), ...
See that? Killing "pid -1" is equivalent to massacring every other process you are permitted to signal. If you're root, that's probably everything. You live and init lives, but that's it. Everything else is gone gone gone.
Do you have code which manages processes? Have you ever found a machine totally dead except for the text console getty/login (which are respawned by init, naturally) and the process manager? Did you blame the oomkiller in the kernel?
It might not be the guilty party here. Go see if you killed -1.
Unix: just enough potholes and bear traps to keep an entire valley going.
Source: https://rachelbythebay.com/w/2014/...12 -
RANT Incoming
Not necessarily dev related but I need to get this off my chest.
So a bit of a backstory. I had to stay late from school the other day and ended up having to take an Uber home. The ride was fine lady was nice. Everything seems to be going well and there were no signs of any payment failure.
Then yesterday, I had to stay late again. I never said that I had an outstanding balance on my account. Apparently Uber was having problems charging my Android pay account.
So I ended up being stuck at school for like 3 hours. Great!😑
So I emailed Uber when I got home. And this is when I started pulling my hair out. I don't know how many replies I had, but each time I had to tell them that I was not using a prepaid card.
This was one of my replies:
"I'm sorry, are you real? If you are, here is a quick summary of the issue. I am using ANDROID PAY with my CHASE DEBIT CARD. Not, NOT, NOT a prepaid card. I happen to know that CHASE DEBIT CARD(which is the card I use, in case you have already forgotten) works with uber because MY FATHER USES THE EXACT SAME TYPE OF CARD with uber. He uses a CHASE DEBIT CARD(again I use that same type of card as well). So by using LOGIC I am able to deduce that a CHASE DEBIT CARD is in fact compatible. AGAIN THIS IS NOT A PREPAID CARD!!! If the card is incompatible, WHY DOES THE APP ALLOW BE TO ADD IT?!?! Also in response to your last email... Because I am using Android pay, do you really think that an ANDROID would be able to use APPLE pay? Also Google wallet is DISCONTINUED! Finally, PayPal DOES NOT CONNECT TO UBER. Returns a "Server Error." So please stop wasting my time with generic help solutions. Believe me, I have already googled my issue, and nothing comes up. That is why I contacted Uber. I want my driver to be paid, and, uber had made it SO painful with unhelpful "Solutions" to problems that don't even APPLY TO MY ISSUE. No not even mention PREPAID cards in your reply or I will consider you a robot built by monkeys banging their heads on a keyboard. Uber HAS my VALID payment information, USE IT! If there is a phone number I can call, please, enlighten me"
And the response was:
"Thanks for reaching out with this.
Happy to help with this issue you are having.
After reviewing your I can see that the only payment method associated with your account is an ANDROID PAY card and it is also a prepaid card. Some cards and methods are not compatible with our billing processes and can't be used with Uber. This includes prepaid cards."
So I concluded that they are monkeys.
Then Uber banned me from logging into my account because I didn't pay.
So now it is impossible for me to pay because I can't do anything with my account.
Now they want my SSN and a bunch of other shit that I won't give them.
I told them that they were being illogical, and I got the exact same response about the prepaid bullshit.
So I sent them this photo as a goodbye.
I get my driver's licence next weekend, so I won't need Uber anymore. YAY!
Also mind grammatical errors, I talked it in and am to lazy to proofread13 -
Look... I know I'm just a newbie. I started a year ago as a junior. Sure. No one wants to do code review, so I got chosen to do it. People don't like it when their code gets criticised. And you know what? I get it, I should probably be a bit nicer with my comments. I should not suggest I'll make a fork and split internal library into two streams if things continue this way. I should not ask questions that can be understood as me being passive-aggressive.
But holy fucking shit, you're a senior developer. Don't treat Java as a fucking scripting language. Don't have a method that has 600 lines of code, because you're repeating the code! You've already copy pasted this shit, and modified it slightly. Like, couldn't you have created some architecture around the code? How can a senior dev copy-paste code?
Oh and why the fuck did you create a new utility class for functionality I already provide? Look, I admit, yours is a lot better, ok? It has extra functionality. But why the fuck didn't you enhance my utility class? Why did you create a new one? Did you just not want to touch my code, or did you not see it right below your newly created class?
Am I the only one who fucking cares about maintainable code in this company? When I got hired, I was in tears by how frustrating a lot of the things were. No documentation anywhere, not even fucking comments. No processes in place. Want to do something? Source code is your documentation. Fuck you! I busted my ass of to force everyone to document every little bullshit, to re-factor their MRs that I reviewed, and I won't let even a senior fucking dev pollute the code base!
Fuuuuuck... Me...2 -
A group of Security researchers has officially fucked hardware-level Intel botnet officially branded as "Intel Management Engine" they did so by gathering it all the autism they were able to get from StackOverflow mods... though they officially call it a Buffer Overflow.
On Wednesday, in a presentation at Black Hat Europe, Positive Technologies security researchers Mark Ermolov and Maxim Goryachy plan to explain the firmware flaws they found in Intel Management Engine 11, along with a warning that vendor patches for the vulnerability may not be enough.
Two weeks ago, the pair received thanks from Intel for working with the company to disclose the bugs responsibility. At the time, Chipzilla published 10 vulnerability notices affecting its Management Engine (ME), Server Platform Services (SPS), and Trusted Execution Engine (TXE).
The Intel Management Engine, which resides in the Platform Controller Hub, is a coprocessor that powers the company's vPro administrative features across a variety of chip families. It has its own OS, MINIX 3, a Unix-like operating system that runs at a level below the kernel of the device's main operating system.
It's a computer designed to monitor your computer. In that position, it has access to most of the processes and data on the main CPU. For admins, it can be useful for managing fleets of PCs; it's equally appealing to hackers for what Positive Technologies has dubbed "God mode."
The flaws cited by Intel could let an attacker run arbitrary code on affected hardware that wouldn't be visible to the user or the main operating system. Fears of such an attack led Chipzilla to implement an off switch, to comply with the NSA-developed IT security program called HAP.
But having identified this switch earlier this year, Ermolov and Goryachy contend it fails to protect against the bugs identified in three of the ten disclosures: CVE-2017-5705, CVE-2017-5706, and CVE-2017-5707.
The duo say they found a locally exploitable stack buffer overflow that allows the execution of unsigned code on any device with Intel ME 11, even if the device is turned off or protected by security software.
For more of the complete story go here:
https://blackhat.com/eu-17/...
https://theregister.co.uk/2017/12/...
I post mostly daily news, commentaries and such on my site for anyone that wish to drop by there19 -
Was asked to check the sales team server as it was running slow.
Apart from redundant processes and users with too much permissions I found a "Cobol" folder under one of the sales team member's home folder.
If it weren't the sales people I would immediately disregard this as trolling but with them it's quite possible that this is a real attempt to learn programming...
...most likely from the facebook ads with the hooded guys that offer to teach you to code in 10 days for $800.5 -
Startup: let's improve on our MVP and build an actual website app.
Me: ok.
[go through 2 weeks discovery and planning stage]
Manager1: love working with you. You explain and work in a really professional manner.
[MVP gets built in 2 months, I'm the only dev designer devops throughout]
Manger1: Omg love it! Wait till the other manager sees it. I knew you were right person for the job.
Other users: oo cool. I love features x, y, z.
[two days later shows to Manager2]
Manager2: x doesn't work, feature you is not useful and doesn't work... Hate it. I think we'll move you to another project.
Me: (woah that escalated quickly meme plays in my mind)
Me: [explaining MVP, lean methodology, your internal decision making processes]
...
Manager2: Yeh we want you to not work on any development work (even though those are your skills and extensive knowledge etc) we need you to do admin tasks (that have nothing to do with product or coding etc)
Manager1 and employees: 😲 wtf
Me: I quit
- - -
Now they are struggling in every way possible and don't have enough funds to hire another person close to what they need to help them.4 -
Company: we care about work/life balance (as long as shit gets done)
Company: we care about mental well-being (except when shit has to be done "now!")
Company: we help each other (we push work around until someone finally do it)
Company: management is here to help you do your work (as long as you don't ask them to help you to solve a real problem)
Company: we are agile (except we have more sub-processes than ever)
Company: we only hire best (and then put them in the team of morons)
Company: we are customer centric (that's why we are delivering bugged features)
Company: we constantly rise the bar (deliver more shit in shorter time)
... did I forget about something?12 -
Hi ceo_candidate:
Welcome to CEO 101:
Q: How do you impress shareholders?
A: Without understading any processes, I cut down half of the IT team, saving a few 100k a year. Adding stress to the remaining team that now has to maintain lots of extra stuff. But, who cares? I still will expect my deliverables on time.
That is correct!
Achievement unlocked: Advanced CEO Practices6 -
This is my most ridiculous meeting in my long career. The crazy thing is I have witnessed this scenario play out many times during my career. Sometimes it sits in waiting for a few years but then BOOM there it is again and again. In each case the person that fell into the insidious trap was smart and savvy but somehow it just happened. The outcomes were really embarrassing and in some cases career damaging. Other times, it was sort of humorous. I could see this happening to me and I never want it to happen to you.
Once upon a time in a land not so far away there was a Kickoff Meeting for an offsite work area recovery exercise being planned for our Oklahoma locations. Eleven Oklahoma high ranking senior executives were on this webinar plus three Enterprise IT Directors (Ellen, Jim and Bob) who would support the business from the systems side throughout the exercise.
The plan was for Sam Otto, our Midwest Director of Business Continuity to host this webinar. Sam had hands-on experience recovering to our third party recovery site vendor and he always did a great job. He motivated people to attend the exercise with the coolest breakfasts and lunches you could imagine. Donuts, bagels, pizza, wings, scrumptious salads, sandwiches, beverages and desserts. He was great with people and made it a lot of fun.
At the last minute Charles 'Don't Call Me Charlie' Ego-Smith, the Global Business Continuity Senior Vice President, decided to grand-stand Sam. He demanded the reins to the webinar. Pulled a last-minute power-play and made himself the host and presenter. You have probably seen the move at some point in your career. I guess the old saying, 'be careful what you wish for' has some truth to it - read on and let me know if you devRanters agree...
So, Charlie, I mean Charles, begins hosting the session and greets all of the attendees. Hey, good so far! He starts showing some slides in the PowerPoint presentation and he fields a few questions, comments and requests from the Oklahoma executives. The usual easy to handle requests such as, 'what if we are too busy to do recover all systems', 'what if we recover all of our processes from home', 'what if we have high profile visitors that month?' Hey you can't blame them for trying. You are probably thinking to yourself, 'been there - heard that!' But luckily our experienced team had anticipated the push-back. Fortunately, Senior Management 'had our backs' and committed that all processes and systems must participate and test - so these were just softball requests, 'easy-peasy' to handle. But wait, we are just getting started!
Now the fireworks begin. Bob, one if the Enterprise IT directors started asking a bunch of questions. Well, Charles had somewhat of a history with Bob from previous exercises and did not take kindly to Bob's string of questions. Charles started getting defensive and while Bob was speaking Charles started IM'ing. He's firing off one filthy message after another to me and our teammate Sam.
'This idiot Bob is the biggest pain in the ass that I ever worked with'; 'he doesn't know shit', 'he never shuts the f up', 'I wanna go over to his office and kick his f'in ass...!'
Unfortunately...the idiot Charles had control of the webinar and was sharing his screen so every message he sent was seen by all of the attendees! Yeah, everyone including Bob and the Senior Oklahoma executives! We could not instant message him to stop as everyone would have seen our warnings, so we tried to call Charles' cell phone and text him but he did not pick up. He just kept firing ridiculously embarrassing dirty IM messages and I guess we were all so stunned we just sat there bewildered. We finally bit the bullet and IM'ed him to STOP ALREADY!!! Whoa, talk about an embarrassing silence!
I really felt sorry for Bob. He is a good guy. Deservedly, Charlie 'Yes I am going to call you CHARLIE' got in big time hot water after the webinar with upper management. For one reason or another he only lasted another year or so at our company. Maybe this event played a part in his demise.
So, the morale is, if you use IM - turn it off during a webinar if you are the host. If you must use it, be really careful what you say, who you say it to and pray nothing embarrassing or personal is sent to you for everyone to see.
Quick Update - During the past couple of months I participated on many webinars with enterprise software vendors trying to sell me expensive solutions. Most of the vendors had their IM going while doing webinars and training. Some very embarrassing things came flying across our screens. You learn a lot reading those messages when they pop-up on the presenters' screen, both personal and business related. Some even complaints from customers!
My advice to employees and vendors is to sign-out of IM before hosting a webinar. Otherwise, it just might destroy your credibility and possibly your career.5 -
Worst interview is the one that actually got me where I am today.
Its been 15 years ago, but I remember very well. Since it was a startup back then they didn't really have any job titles yet or what so ever. I applied for the role of network engineer, heck I didn't care I needed a paycheck.
5 minutes into the interview the smalltalk left the room and they started asking me questions, mainly about me as a person. Eventually it was my turn. After my first question I facepalmed so hard.. Do you guys have any SLA or documentation around here? Heard of ITIL? How is your load balancing?
They stared at me as if I was some kind of alien that had just invaded their little safe planet.. it was hilarious.
An hour later they called me to come back in and sign a contract.. from there on I kind of multi tasked my way around the first year.. bit of network support & design, customer support, sending and packaging orders after 5PM.. god we had long but awesome days.. hence, we were just the 5 of us. Nowadays we've got 150 developers out of 1019 total staff currently.. We also improved interview questions and processes ;)7 -
!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 -
All this "political correctness" cancer spreading through the Python community at the moment over "master/slave" terminology has me wondering where will it end. When the pendulum swings will be have a pro-life movement opposed to pre-emptively killing processes? Will a branch of PETA form to oppose the taxonomic appropriation of reptilian names for the language as a whole? Are we going to need to find gender-neutral names for motherboards to avoid offending those who are offended by the oppressive digital binary? Will removing "mother" from the name motherboard invite 6th wave feminists to decry the influence of toxic masculinity in electronics? Do snake lives matter? Seriously, some people need to take a month off to go fuck themselves somewhere far far away and stop confusing "diversity" with "rampant idiocy".14
-
I have a laptop which I bought for the sole purpose of gaming and I bought a hell lot of games off steam to startup.
But the problem here is I have to run those games on Windows (nvidia graphics card) and I only have a primary hdd and no ssd. Even though the ram and processor is up to speed due to high I/O on disk, I am not able to get a good performance out of it. To top it off random Windows processes hogging hdd in the background.
Any suggestions on what to do?3 -
Background: I'm proficient at PowerShell, I was told that I got hired to my previous job (as DevOps engineer) mainly because of that skill.
Few months after I started I wrote a script to automate some processes. My boss saw the script and told me that it was too complicated, and that I should make it more simple.
Now I'm all into clean code, meaningful names, small functions.
So the code was readable and maintainable.
I asked him in what way is it complicated. He didn't know exactly. (Later I figured that he didn't know of some of the (built-in) cmdlets and functions I used.)
He raised his hand high and made a gesture and explained that I'm "that high (skill? enthusiasm?)", then lowered his hand to a lower position to mark the bottom line, then raised it up half way up and said that he wants me here - in the middle.
After that he added: "This is not Microsoft! and we don't own the 3 other buildings that can be seen from our office window" and pointed at the window.
I was surprised by his comment, I didn't know how to respond.
I've got more stories to share about that workplace.
I can't believe I stayed at that place for 1 year and 2 months.16 -
Typically my low motivation stems from some form of management dickhead-itis, too much red tape or restrictive processes (current place took 3.5 months + 2 forms to order a webcam our client had paid for as part of the project ... it was €45).
How I deal with it? I try to give a go changing it, talking with managers, explaining the issues, suggesting alternatives. Such as removing your head from your ass, when done, it can have a wonderful impact to the team.
When that fails (not if) ... I quit. Which I actually just have. Got a job offer last week, although I really wasn't a fan of how things were going on this team, I was working on some cool projects and wasn't sure what was right for me, career-wise.
Then I had a argument with a new manager as he doesn't remember agreeing to allow the developers to estimate their own tasks. He was annoyed I told him we can't do X in 2 weeks, we previously asked for 2 months.
That was enough to knock me over the edge, so I handed in my notice, took the job with much more management style responsibility and hoping for a fresh start.1 -
I just realized that CPU's are essentially electronic hookers, for processes.
They'll service any process that calls upon them, but keep switching between various processes so that it can spend time fairly with each of its processes. And of course, they'll immediately abandon their current process if one with a higher priority reveals itself and attend to that one instead. Once it is finished, it'll return to its less-important processes.
Kinda sounds like a hooker to me... 🤔4 -
Yesterday, my girlfriend caught a virus. There were 5+ running programs, in program files, program files x86, system32, basically everywhere. The virus modified chrome, firefox, edge (and even installed a false uc browser assuming we had one), there are many entries at startup programs, also running daemons, once you kill one of them, the others detect it and replicate their killed fellows. Tried to run a linux live usb disk for a cleanup, but the computer hibernates instead of shutdown, making modifications on disk risky.
I spent hours trying to suppress the processes, do a manual cleanup and antivirus search. It looked all cleaned up, then I reinstalled chrome, and now it switches its homepage everytime I open it, it also injects batch arguments to desktop link forum chrome (deleting it manually does not help, it comes back). I'm a linux guy, and in a few hours, I hated windows more than ever.
If anybody knows the authors, I *really* want to meet them. I promise I'm not going to punch them, but kneel down, bow my head in respect, and say "teach me master."14 -
!rant
Observed a full deployment the other day and discovered it's extremely inefficient. I proposed an idea to fix it, and was shot down by a senior dev on the team. I was ranting about how asinine the process was and how my process could reduce the amount of time and training required to do deployments with out any additional cost or overhead. A senior dev from another department over heard me, found my workspace and told me (in a nutshell), "write up a document about why the current process is garbage and how yours is better, and how it works, I'll review it and we'll get it worded and formatted right. When we finish the document, I'll forward it to the CTO of your department with your name on it and my recommendation for review." Fuck yeah. 😈😎7 -
Soooo, after raising my issue regarding microsoft's massive invasion of privacy and removing control from the user a couple of my friends, ahem I mean "aquaintances", said this to me:
"Get a mac! So clean, lightweight and user friendly and won't spy on you".
Clearly people who never looked at their list of background processes and installed little snitch. I swear, every couple of minutes something is trying to phone home to Apple.
Now I've been pretty open to all platforms (Win/Mac/*NIX/misc) until recently but this has reached a point it is no longer funny.
When I get a moment I'm gonna shove linux so far up that machine's arse Steve Jobs is gonna feel it in the ether!14 -
I have an interview on Thursday for a job I've been doing for the past 9 months - I bloody hope I get it!
I'm currently classed as an 'Apprentice' but have been doing the sole job of the Developer after he left a week before I started.
The only differences between the two roles is the pay difference and title (just about double my current rate).
I've started to produce documentation and processes for rolling upgrades to our application without downtime which is something they're big on.
Public sector for you, it took 9 months for a replacement...8 -
I'm working on a programming language with a "bytecode" interpreter and a compiler that translates source code to said bytecode and... it sort of actually works!
I want to recreate an Erlang-style environment, currently you can write functions, call C++ functions via wrappers, have immutable-only values, and it has no explicit control structure apart from statement sequencing and the if-expression because I want to make it as functional as possible. Next thing on the list is to add a green threads implementation and ability to spawn and send messages to processes.
Still a WIP and heck even design-in-progress.
Now for the rant:
I'm using CMake for building C++ (interpreter) and Stack for Haskell (compiler) and I've been trying to get them to talk to each other for hours because I want CMake to manage the Stack build too and shove all the executables into one place. CMake documentation is weird and Stack isn't too helpful either, so I guess I'll just spend another few hours trying to get Stack to fuckin reveal its build directory to CMake and/or build to a given directory. Ugh.8 -
PIM systems https://dinarys.com/blog/... provide a centralized location for businesses to store and manage their product data, including descriptions, specifications, images, and other important information. PIM systems are designed to improve the accuracy and consistency of product data across multiple channels, including e-commerce websites, marketplaces, print catalogs, and other marketing materials.
They help businesses ensure that their product information is up-to-date, complete, and relevant to their target audience. Here are some of the key benefits of using a PIM system: Centralized data management: PIM systems provide a single location for businesses to store and manage their product data. This makes it easier to ensure that the data is accurate, consistent, and up-to-date across multiple channels.
Improved data quality: PIM systems help businesses ensure that their product data is accurate, complete, and relevant to their target audience. This can lead to improved customer experiences and higher conversion rates. Increased efficiency: PIM systems automate many of the processes involved in managing product data, such as data entry, formatting, and translation. This can save businesses time and reduce the risk of errors. Greater scalability: PIM systems are designed to handle large amounts of product data and can scale as businesses grow and add new products. PIM systems are particularly useful for businesses that sell products across multiple channels and need to ensure that their product data is accurate and consistent across all channels. They can help businesses improve their operational efficiency, reduce costs, and improve the customer experience.6 -
Recap: https://www.devrant.io/rants/878300
I was out Thursday at the Hospital. I'm what the doctors would call "Ill as fuck"
So, Friday I’m back in the office to the usual: "How was that appointment?"
I know people mean well when they ask this. So, I do the polite thing and tell them it went as well as it could.
Realistically it does't matter how well it went... They haven't cured Crohn's because I showed up to the appointment. They know I'm fucked already.
But, push it down, add it to the future aneurism.
I had to go through the usual resignation meetings with managers:
"We"re fucked now you're going"
"yep"
"we need to get a handle on how fucked"
"already done that for you, here"s a trello board, very fucked."
"we need to put a plan together to drop all the junior devs in the shit with the work you’ve been doing"
"You need about 4 devs, please refer to the previous trello board for your plan"
Meanwhile, me and Morpheus are in constant communication because all of this is like a Shakespearean comedy.
So, I overhear a conversation between a Junior Dev and the Solution Architect.
[SA] took over the project because he knows better than two tried and tested senior devs -_- (fuckwit).
JD: "It took me one and a half days to build it out"
SA: "Yeah, it must have taken me twice as long... It must be a problem with the project, you should just be able to check it out and run it."
JD: "I know, it has to be wrong"
All of this is about Morpheus' work of art, of an Ionic 3 hybrid app.
I fumed quietly at my desk because I've been ordered by the Stazi to be hands off.
Since Morpheus and me were pulled from the project [JD] and [JD2] were dropped into it to get it over the line.
It"s unfortunate and I was clear and honest with my advice to them: I personally would not take over the project because I"d be way out of my depth... Oh, and the App works, so uh, there's no work to do.
They have been constantly at our desks. Asking fuckdiculous questions about how to perform basic tasks. So they can get Morpheus" frigging masterpiece to the user.
It"s like watching that touch up of jesus that got borked by an amateur. Shit I have google, it's like watching this happen: http://ti.me/NnNSAb
[JD] came to me Friday evening.
"I can’t get this to build to iOS or install on [Test Analyst]'s phone."
Me: "No worries brother, where are you stuck right now?"
[JD] describes the first steps with clear indication he hasn't googled his problem.
Life lesson: http://lmgtfy.com/?q=lmgtfy
Que an hour of me showing [JD] how to build an Ion3 project for iOS. Fuck it, your man's in a bind and he"s asked politely for help. I can show him quicker than he can read 3 sets of docos.
I took him through 'ionic cordova build ios', the archive and release processes in XCode 9, then the apk bundling process for droid. Finally we have an MAM so the upload process for that too.
All the while cleaning up his AppIDs, Profiles, deployment attempts.
Damn they were a mess.
I did this with a smile on my face, not because I could say "I told you so"... But. because when any developer asks you how to do something. If you know how to do it, you should always be happy to learn them some new tricks!
Dude's alright, he's been dropped in the shit. Now I know how badly so I'll help him learn things that are useful to his role, but aren't project specific.
As a plausi-senior dev (I'll tell you about that later); it's my job to make sure my team have what they need to go home smiling!
I’m not a hateful fucker, the guy asked me an honest question so I am happy to give him the honest answer.
I took him through it a few times and explained a few best practices. Most were how to do his AppID and ProvProfile set up. Good lad, took it all on board.
However! In his frustration, he pointed the finger at Morpheus' "David" (ref: Michelangelo).
He miraculously morphed into a shiny colourful parrot and fed me SA's line:
"you should just be able to build from a clean clone"
My response was calm and clear:
"You can, it took me 20 minutes on Thursday evening. I was bored and curios, so I wanted to validate Morpheus' work. Here it is on my iOS device and my Android device. It would have taken me 5 if my laptop wasn’t so horrifically out of date."
I validated Morpheus' work so I have evidence, I trust that brilliant bastard.
I just need to be able to prove it's good.
[JD] took this on board.
Maybe listening to two tried and trusted senior devs is better than listening to a headstrong Solution Architect.
When JD left for the weekend I was working a late one (https://www.devrant.io/rants/874765).
His sign off was beautiful.
"I think I can happily admit defeat on this one, it can wait until Monday."
To which I replied: "no worries brother, if you need a hand give me a shout."
Rule 1: Don't be a cunt.
Rule 2: If someone needs help and you can give it: Give it!
Rule 3: Don't interrupt James' cigarette time.
Rule 4: goto Rule 3.rant day 3 jct resigns crohns resignation solution architect wk71 invisible illness fuckwit illness junior developer4 -
Big project this week. Lots of fires to put out. Deadlines approaching.
Monday: I can get by on just four hours sleep. No problem. Will be just like college.
Wednesday: I'm going to just close my eyes while this file uploads. Maybe I will backup the server while I'm at it; Just take a nap while that processes.
Friday: Sorry if my office smells like vomit. It's because I am so tired I vomited.
Sunday: I'm not getting out of this bed tomorrow. Let them fire me. I think I will just will myself into a coma. That will be nice.4 -
Guy: - "Your restart script doesn't work."
Me: - "What do you mean?"
Guy: - "It does nothing."
Me: - "It should kill every processes that's running within the project and start them again. Wait... Why do you terminate it?"
Guy: - "I don't. It just stops."
Me: - "It says `Terminated` here. You killed it. Just let it do it's job, don't kill it."
Guy: - "I'm not killing it! It just stops!"
(...two hours later...)
Me: - "Wait... Where do you run it from?"
Guy: - "What do you mean? I just run the script you gave me."
Me: - "Yeah, but where do you run it from? Where did you put it?"
Guy: - "It's part of the project so I put it in the project, d'oh!"11 -
Fuck post-it notes.
Oh look, another product manager found his inner child and plastered a wall with a colored arts and crafts project.
Don't misunderstand me, I'm abso-fucking-lutely in favor of connecting with your deep childish nature -- but then at least enter the meeting room like a boss, armed with some creative ideas, really get to work with some fingerpaint, modelling clay, glitter, molly, acid blotters and grape juice for the whole party.
Not only was that project poorly thought out. Not only does the assortment of colored squares contribute nothing to the clarification of ideas. The issue is also that by Monday morning, the meeting room will look like a strip club after an escalated party, floor littered with 60 little neon pink and green slips reeking of desperation, cheap glue and failure.
Now your whole project is on the floor.
OH DIGITAL WHITEBOARD YOU SAY. NOW WE HAVE 10 MANAGERS FIGHTING DIGITALLY OVER VIRTUAL POST-ITS, ON A CLOUD SERVICE COSTING $500/MONTH.
Product managers, just go fuck yourself, I don't care about your kindergarten bullshit processes.
Call me when you manage to pull a workable idea out of your ass, and just draw an SVG diagram with Inkscape, or write your brainfarts into a nicely organized Markdown file.1 -
The last person who might have taken offense at this recently quit, so time for a consequence-free rant. I just want to say...
Fuck absolutely every single one of my teammates who quit this year. Fuck your shitty, undocumented spaghetti code from hell that the rest of us will have to rewrite because it's utterly broken and functions mostly on prayer and luck. Fuck the 1000+ git repos we'll have to rename so we can even begin to tell them apart. Fuck your complete lack of any sort of processes or procedures or standards. Fuck the person who hated tickets and decided we could just have hundreds of people ask us for help on Slack whenever they need it. Fuck the people who quit because we got a new manager who told us we need to support the applications we build. Fuck the person who said "I'm leaving because I want to move forwards instead of backwards" as if fixing bugs in the code YOU WROTE TWO WEEKS AGO is really moving backwards. Fuck the two people who designed their own separate pipelines and then used both without bothering to debate and pick the better one (spoiler: both are completely undocumented and broken as hell).
I hope your various new employers figure out that your strategy of covering shit with gold paint doesn't change the smell.
Now the rest of us have to fix it all, and we're probably going to start by demolishing most of it so we can rebuild it from scratch.12 -
New HOE came. He “streamlined” the processes and “standardised” the policies. And in turn.. fucked up the whole startup feel of my company.
I saw it happening right in front of my eyes in a matter of only few months.
Earlier, things were flexible, work was fun, people were even ready to put in more hours because we were all having fun. Now, work feels like work, fun is gone, frustration has become normal, and the most frustrating part is that.. WFH is now a “privilege”.
Fuck this shit man! That fucker exhausted the whole company in just a few months. Given enough time, he will be the end of this company.7 -
Thank you sooooo much for giving me a list of six tutorial videos you expect me to record by tomorrow, before I leave the company. It shouldn't be too hard, you say, having never ever gone through any of the processes before. Oh, and this is in addition to the big video tutorial which you asked for this afternoon that you expect by Friday morning. Not to mention the eight separate projects I still need to write documentation for. Oh, and this all would have been much smoother if this company would have given me time to work out all this documentation earlier instead of waiting until after I turned in my two weeks to take documentation seriously.
I guess I'll be lucky if I only have to deal with these things tomorrow. But given your penchant for pulling me off my main projects to deal with bullshit tangents, I bet that ain't going to happen. And I bet you're still going to flood me with calls on Monday morning, as I start my brand new job.2 -
> Monitoring: Load Average of 57!! ALERT!!!!
> me: What? That's not possible?
> *Monitoring froze 14 hours ago*
> *sshs into server*
> *see attached image*
The issue was ~1200 df processes that were issued by our monitoring system and all of them didn't finish because the external cluster we mounted onto that server died a few minutes before that. Just re-mounting the cluster fixed it but still a funny sight!24 -
A friend of mine bought a new laptop with an ssd and called me over since it behaved weirdly. All the icons on the desktop would turn to white squares and slowly reload their images. Also the laptop was pretty slow.
She said she had brought it to the store to show that behaviour and the only advice they would give was to reinstall windows...
So I started checking on what processes are running...
The thing was constantly running an "optimization" tool... which, you guessed it, was constantly defragmentating... the ssd... are you fkn serious who set up that shit this way... -
Data Engineering cycle of hell:
1) Receive an "beyond urgent" request for a "quick and easy" "one time only" data need.
2) Do it fast using spaghetti code and manual platforms and methods.
3) Go do something else for a time period, until receiving the same request again accompanied by some excuse about "why we need it again just this once"
4) Repeat step 3 until this "only once" process is required to prevent the sun from collapsing into a black hole
5) Repeat steps 1 to 4 until it is impossible to maintain the clusterfuck of hundreds of "quick and simple" processes
6) Require time for refactoring just as a formality, managers will NEVER try to be more efficient if it means that they cannot respond to the latest request (it is called "Panic-Driven Development" or "Crappy Diem" principle)
7) GTFO and let the company collapse onto the next Data Engineering Atlas who happens to wander under the clusterfuck. May his pain end quickly.2 -
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 -
Currently, a classmate and I are working on our technical thesis.
It is all about industry 4.0, IIoT, big data and stuff.
This week, we presented our interim results to our supervisor. He is very pleased with our work and made the following suggestion:
He thinks it would be awesome to publish our work on our own GitHub repository and make it open source because he is convinced that this thesis is able to kind of "set a new standard" in some specific fields of using big data analysis in production processes.
I guess I'm kind of proud :)4 -
So I just received this second DSP5005 DC-DC programmable power supply. Time to make an enclosure for the thing!! 3 power supplies totaling at around 1kW, and 2 variables connected to the 50V 10A one, through external banana wires (I want all of this to be modular). No biggie, take measurements for the AC-DC supplies, add in the variables on the front, and cut it out.
So, I went and did just that. Now my 500W (50V 10A) supply is a bit larger than the others, and it's got a fan. So I figured, well then probably my 24V 8.3A (200W) and 12V 15A (180W) supplies could use some cooling as well. But how am I going to achieve passive cooling without a spacing between the supplies?! So I thought of some spacer design. It had to be out of wood, and I had some 4mm MDF and some IKEA parts around. So, 4mm MDF for the plate and 8mm wood spacers from IKEA for the spacing. And some super glue to hold it all together.
Weighing my power supplies against a 1l bottle of milk, it seems like my power supplies are ~500g. Great, so the top spacer would take 500g and the bottom one 1kg + the weight of the top spacer.
I ended up building one plate with 6 spacers in it yesterday, until I got too tired. Then I placed my entire weight against it, 20kg at least. It didn't budge. Pretty good for something that's only designed to withstand a 1kg load!!
So, I made something good with only a 10x18cm piece of MDF, some garbage from IKEA, and most importantly a bit of a brain. Something that can handle 20x its designed load no problem. Manufacturers, is it really right to produce shit when I can beat your manufacturing processes big time without an assembly line?!5 -
Am I the only one who thinks recruitment processes are lower quality the more the industry evolves?
I just shocked an interviewer by saying i’m not checking all their boxes from the ad, after being pushed by their hr to take the interview, regardless beeing made sure by HR thats not a problem.
After interview radio silence. i don’t get it...first you headhunt someone, spend 3 weeks in convincing for an on-site and then you can’t even bother sending a “Dude you are not what we look for in the end” mail?
Guess I ask too much from recruiters, did anyone else encountered this?3 -
I've told the same story multiple times but the subject of "painfully incompetent co-worker" just comes up so often.
I have one coworker who never really grew out of the mindset of a college student who just took "Intro to Programming". If a problem couldn't be solved with a textbook solution, then he would waste several weeks struggling with it until eventually someone else would pick up the ticket and finish it in a couple days. And if he found a janky workaround for a problem, he'd consider that problem "solved" and never think about it again.
He lasted less than a year before he quit and went off to get a job somewhere else, leaving the rest of our team to comb through his messy code and fix it. Unfortunately, our team is mostly split across multiple projects and our processes were kind of a mess until recently, so his work was a black box of code that had never been reviewed.
I opened the box and found only despair and regret. He was using deprecated features from older versions of the language to work around language bugs that no longer existed. He overused constants to a ridiculous degree (hundreds of constants, all of which are used exactly once in the entire codebase, stored in a single mutable map variable named "values" because why not). He didn't really seem to understand DRY at all. His code threw warnings in the IDE and had weird errors that were difficult to reproduce because there was just a whole pile of race conditions.
I ended up having to take a figurative hacksaw to it, ripping out huge sections of unnecessary crap and modernizing it to use recent language features to get rid of the deprecation warnings and intermittent errors. And then I went through the same process again for every other project he'd touched.
Good riddance. -
My current company decided to do all automation in node.js.
Crawling, new projects, processes, all of it in Node.
Fuck my life.19 -
Boss: "Sooo.... How long will it take?"
Me: "Maybe we should agree on some processes and specify your wishes for the new feature first?"
Boss: "Yeah you're right.... But what do you think? Will you get it done til $deadline?"
...
Why am I even trying? Who needs project management anyway?4 -
Frustrated, tired and a bit lost.
I'm a "Senior PHP Backend Dev", which includes not the greatest tech stack nor the best job title, but it pays fine, and the company is awesome to work for.
I suck at writing features, but I'm great at bitching, and I easily put complex abstract concepts into usable models. So I'm also QA, tester, tech lead, database architect, whatever.
That makes writing PHP less annoying, because I create the rules, and whip devs around when they forget a return type definition or forget to handle an edge case. But I don't write a lot of code anymore, I mostly read (bad) code.
Lately I REALLY feel like doing something else... problem is that I know JS/ES6, but really dislike React/Vue and the whole crappy modern frontend toolchainchootrain of babelifyingwebpackingyarnballs. I know Python/Tensorflow/etc, but don't feel like I want to go into data science or AI. And then I'm awesome at the shit no one uses, like Haskell, Go and Rust (and worse).
I got a job offer which combines a very interesting PHP codebase with a Java infrastructure, where I could learn a lot... and I'm kind of tempted.
Problem is, everyone always shits on Java. I always made a bit of fun of Java myself. Don't even know exactly why, probably some really cruel instinct which causes kids to bully the least popular kid.
I know the basics, I've written the hello world, and a small backend app for a personal project. I know how strict and verbose it can be. I love the strictness in Haskell and Rust.... but those are both also quite terse.
Should I become a Java dev? I'm not talking about Android SDK, but an insane enterprise codebase at a life sciences corporation.
To the pro Java devs: What are the best and worst things about your job, about the weekly processes, about the toolchains? Have you ever considered other languages? Do you unconditionally love and believe in Java, or do you believe Swift, Kotlin, Scala or whatever will eventually make it completely obsolete?
Will Java hasten my decline into the cynical neckbeard I was always destined to be?
There are a lot more fun langauges, but looking at realistic demand and career value...20 -
TL;DR
I accidentally surpassed(?) my user permissions and closed some of my classmates browsers and locked up a terminal for me
In school we have 2 primary operating systems: Windows and Ubuntu. Windows is hell in general and but not as hell as the firefox installation on Ubuntu.
"Just loaded this page. Now wait half a minute so that I can render it"
"Woah, woah, woah. Slow there. You just made an input event. Give me those 5 seconds to compute what you just did"
Executing "top" or "htop" shows you a long list of firefox processes with a cpu usage of 99.9%, since the whole school shares that linux environment.
Anyway, one day it was way more servere than normally and I way forced to kill my firefox instances. So I pressed CTRL+ALT+T for that terminal, waited 5 minutes until it accepted input typed "killall firefox" with a delay of half a minute per character and smahed that enter key.
At this very point in time I could hear confusion from every corner of the room. "What happened to firefox?"
Around 30% of the opened browsers where abruptly stopped. I looked back to my screen noticed I was logged out. I couldn't login from that terminal for the rest of that day.
Our network admin, which happened to be there, since the server is just next door, said that this was just convenience, but the timing was too perfect so I heighly doubt that.
I felt like a real hackerman even if it was by accident :)8 -
Client: Too many of our business processes take place on excel and paper! We need to modernize our business processes. Build an app that can do the main things we do with excel and paper in app form.
Dev (4 months later): Here it is
Client: Ok some of our users want to still use excel and paper so build the ability to print the app and export/import to excel so they can continue working the way they always have alongside our new app.
Dev: …6 -
Fuck. I can't take this shit anymore.
There was a project where we had to implement third-party system for government agency processes management. For some reason, probably because my work is cheap for my boss, the task was assigned to me. Just as a reminder, I'm a .NET Dev. Zero experience in server management. Zero experience in external services implementation.
Anyway, system producent, also an government agency, got angry, becasue they can only earn money on implementation. They have to give the software to other agencies for free. Because of that I've got client program, incomplete documentation and broken scripts for database creation. It took me 2 months to get it all to work but at the end client was happy, my boss got paid and I've got 500 PLN (~130 USD) bonus.
Everything was fine for a while, but after a month server has started freezing everyday, some time before 7 am. The only way I found to make it work again was to restore snapshot made everyday at 10 pm. For a month I was waking up earlier and restored snapshot, and after that my boss took it upon himself. I tried few times to find a bug and fix it, but to no effect. Even person with much more experience with it tried to help but also couldn't find anything.
My solution? Copy all the data and configuration, create new machine, copy everything and check if the problem persists. If not, kill old server. Client won't even notice. But nooooooooo... It would cost my boss a bit of money and I'd need to work on it and he can't let it be, because I'm the only developer working on his flagship product. He'd rather wake up everyday and restore snapshot. Okay, as you wish.
And today, finally, everything went downhill. Snapshot wasn't created, server froze, backup can't be created. Nothing can be done. Client is furious, because they have had reported this problem and a few times restoration was too late and they couldn't work. No one knows how to fix it, I'm not working today (I'm still studying and am available only 2 days) and situation is really shitty.
BUT SURE. ITS BETTER TO RESTORE SERVER EVERYDAY THAN JUST FUCKING FIX IT.
Oh, also, there's no staging or any other real backup. We have snapshots for each day and that's that. Boss' order. Why do I even care...7 -
Debian 9.3's gpg issue is driving me crazy! I can't install anything outside of the default apt repos no matter what I try.
No matter what, apt always does the exact same thing. It adds the repo; then finds, imports, and processes the key; and finally fails with "gpg: no valid OpenPGP data found."
I've spent hours looking this up and trying to fix it.
Just. ARGH!
☹11 -
it was 12am when we are ready to launch our new web design which requires a lot of hardwork and routing processes. my team lead was the one who pushes the button to production using "cap production deploy" command. everyone in the room (including PM) was like counting down like launching a rocket to space. the feeling is great knowing that everyone was sleepy at that time. im glad it went smooth and everyone congratulates each other.3
-
My Sunday Morning until afternoon. FML. So I was experiencing nightly reboots of my home server for three days now. Always at 3:12am strange thing. Sunday morning (10am ca) I thought I'd investigate because the reboots affected my backups as well. All the logs and the security mails said was that some processes received signal 11. Strange. Checked the periodics tasks and executed every task manually. Nothing special. Strange. Checked smart status for all disks. Two disks where having CRC errors. Not many but a couple. Oh well. Changing sata cables again 🙄. But those CRC errors cannot be the reason for the reboots at precisely the same time each night. I noticed that all my zpools got scrubbed except my root-pool which hasn't been scrubbed since the error first occured. Well, let's do it by hand: zpool scrub zroot....Freeze. dafuq. Walked over to the server and resetted. Waited 10 minutes. System not up yet. Fuuu...that was when I first guessed that Sunday won't be that sunny after all. Connected monitor. Reset. Black screen?!?! Disconnected all disks aso. Reset. Black screen. Oh c'moooon! CMOS reset. Black screen. Sigh. CMOS reset with a 5 minute battery removal. And new sata cable just in cable. Yes, boots again. Mood lightened... Now the system segfaults when importing zroot. Good damnit. Pulled out the FreeBSD bootstick. zpool import -R /tmp zroot...segfault. reboot. Read-only zroot import. Manually triggering checksum test with the zdb command. "Invalid blckptr type". Deep breath now. Destroyed pool, recreated it. Zfs send/recv from backup. Some more config. Reboot. Boots yeah ... Doesn't find files??? Reboot. Other error? Undefined symbols???? Now I need another coffee. Maybe I did something wrong during recovery? Not very likely but let's do it again...recover-recover. different but same horrible errors. What in the name...? Pulled out a really old disk. Put it in, boots fine. So it must be the disks. Walked around the house and searched for some new disks for a new 2 disk zfs root mirror to replace the obviously broken disks. Found some new ones even. Recovery boot, minimal FreeBSD Install for bootloader aso. Deleted and recreated zroot, zfs send/recv from backup. Set bootfs attribute, reboot........
It works again. Fuckit, now it is 6pm, I still haven't showered. Put both disks through extensive tests and checked every single block. These disks aren't faulty. But for some reason they froze my system in a way so that I had to reset my BIOS and they had really low level data errors....? I Wonder if those disks have a firmware problem? So that was most of my Sunday. Nice, isn't it? But hey: calm sea won't make a good sailor, right?3 -
Here's a real tip for people new to the industry.
It's one of those things that's been said over and over again but very few can really seem to employ. I suggest you learn it /well/.
You are not your code. Criticisms of your code, ideas, or your thought processes, is not a criticism of YOU. You absolutely cannot take criticisms of your work personally.
We are engineers. We strive to seek the best solution at all times.
If someone has found a problem with your code or with an idea or whatnot, it is coming from a place of "this is not the best solution", NOT "you're an idiot".
It's coming from a place of "I'm closing this PR because it is not a change I feel suits this project", NOT "I'm closing this PR because it's coming from a woman".
It's coming from a place of "This feature request is ridiculous/this bug is not actually a bug", NOT "you're a fucking idiot, fuck you".
It's coming from a place of "I've already had to address this in a number of issues before and it's eaten up a considerable amount of my time already", NOT "I don't even know you and this I don't have time for a nobody".
You do not get to be bitchy to maintainers because they denied your request. It's not a reflection of you at all. But if you're arguing with someone who has maintained a piece of code for almost a decade, and they're telling you something authoritative, believe them. They're probably smarter than you on this subject. They've probably thought about it more. They've probably seen their code used in many different places. They have more experience than you with that codebase in almost all cases.
Believe me, if we cared about who was behind all of the issues, pull requests, etc. we get, we'd get NOTHING done. Stop taking shit personally. It's a skill, not a defense mechanism. Nobody has the time to sugar coat every little thing.
Let's normalize directness and stop wasting time during technical discussions into opportunities for ego-stroking and circle-jerking and back-patting.8 -
I finally fucking made it!
Or well, I had a thorough kick in my behind and things kinda fell into place in the end :-D
I dropped out of my non-tech education way too late and almost a decade ago. While I was busy nagging myself about shit, a friend of mine got me an interview for a tech support position and I nailed it, I've been messing with computers since '95 so it comes easy.
For a while I just went with it, started feeling better about myself, moved up from part time to semi to full time, started getting responsibilities. During my time I have had responsibility for every piece of hardware or software we had to deal with. I brushed up documentation, streamlined processes, handled big projects and then passed it on to 'juniors' - people pass through support departments fast I guess.
Anyway, I picked up rexx, PowerShell and brushed up on bash and windows shell scripting so when it felt like there wasn't much left I wanted to optimize that I could easily do with scripting I asked my boss for a programming course and free hands to use it to optimize workflows.
So after talking to programmer friends, you guys and doing some research I settled on C# for it's broad application spectrum and ease of entry.
Some years have passed since. A colleague and I built an application to act as portal for optimizations and went on to automate AD management, varius ssh/ftp jobs and backend jobs with high manual failure rate, hell, towards the end I turned in a hobby project that earned myself in 10 times in saved hours across the organization. I felt pretty good about my skills and decided I'd start looking for something with some more challenge.
A year passed with not much action, in part because I got comfy and didn't send out many applications. Then budget cuts happened half a year ago and our Branch's IT got cut bad - myself included.
I got an outplacement thing with some consultant firm as part of the goodbye package and that was just hold - got control of my CV, hit LinkedIn and got absolutely swarmed by recruiters and companies looking for developers!
So here I am today, working on an AspX webapp with C# backend, living the hell of a codebase left behind by someone with no wish to document or follow any kind of coding standards and you know what? I absolutely fucking love it!
So if you're out there and in doubt, do some competence mapping, find a nice CV template, update your LinkedIn - lots of sources for that available and go search, the truth is out there! -
Typos kill, kids! And deploying to production.
Instead of "for item in items" in my script, I accidentally did "for items in items". Thus, an exponential loop has been entering things into the database for the past few hours before I found the place to fix it.
By the way, this runs on cron every minute. So there are processes still running exponentially right now, possibly 180+.
Yeah, I'm setting up a a test server instead now.11 -
I’m a team lead in the tech team, myself and another team lead manage the on call processes for the department, so when stuff breaks we need to fix it. I assume there is sufficient documentation available for me to fix a process that is not mine.
one of the other managers processes breaks. He’s on annual leave and is away for another week. I attempt to fix the process. No documentation. What do i do?
I go to my manager the next day and tell her the process is broken and I can’t fix it because there’s no documentation and I don’t know what the full impacts are. She agreed we should leave it until he comes back from AL.
He comes back a week later. I tell him the process is broken and it’s been failing since he went on AL.
Him: we had a handover before I went on holiday
Me: no, you showed me where the ‘documentation’ was. Said documentation is not defined enough and is out of date. I didn’t want to break it further by trying to repair it when it’s not completely critical
Him: but it is critical, it has to run every day
Me: so why doesn’t it say that in the documentation?
Him: ............
Me: can you fix it please
Him: no, I’ve got too much to do having just come back from holiday
Me: more critical that a process that has to run EVERY DAY and has been failing for the past 10 DAYS??
Him: I’ll see if I have time
2 hours later...
Him: Lets put in some time for handover so you can understand the process. Is an hour long enough?
Me: I don’t know, you tell me, it’s your process, you know what’s involved and how long it should take to explain
Him: well is an hour long enough?
Me: I don’t know, it takes however long it takes you to explain it
Him: I’m asking you
...........
At this point I’m getting more and more angry, how can you not know how long your process is gonna take to explain when you’re the one that wrote it?! I fully well know that it’s gonna take longer than an hour because it’s an SSIS package that looks like a plate of spaghetti, you spend 15 minutes working out what box flows to where before even looking at any SQL, and he’s still asking me how long it’s gonna take and distracting me from my ACTUAL critical work
Man is a waste of space, so quick to give you work that isn’t his but never takes responsibility for his own... honestly have no clue whatsoever how he became a manager....
This rant doesn’t seem like much reading it back but I swear it’s the last in a looooonnngggg like of his fuck ups that other people have had to deal with 🙄🙄3 -
I've just found out that the Chinese can even fuck up the most basic of manufacturing processes. A goddamn fucking perfboard, why on Earth would that need good adhesive with decent mechanical strength, right?!!
Initially I was told by other electronics chaps that the adhesive under the pads melts because I'm soldering at such a high temperature (470°C). Well I thought at the time that these boards are really shitty and their adhesive is garbage, and now that I've even seen a cold pad just rip off cleanly, I guess it's confirmed. That adhesive IS fucking garbage and that temperature on the iron is really just fine.
Well, I guess that I'll just design my own PCB's then, and hope that JLCPCB isn't even more Chinesium shit. Because honestly I'm pretty fucking sick of it.4 -
I’m sure many of you are well aware of this, but I just ran across this today and found it amusing. Apparently, Chrome uses the term “zygote” to identify child processes. 😁2
-
5 stages of failing WIFI connectivity on Linux
This morning I woke up my laptop to start my work day. I have 2 very important meetings today, so I better get all prepared.
"Wifi connection failed"
Syslog says:
- wpa_supplicant: wlp9s0: SME: Trying to authenticate with <MAC>
- kernel: wlp9s0: authenticate with <MAC>
- kernel: wl9s0: send auth to <MAC> (try 1/3)
- kernel: wl9s0: send auth to <MAC> (try 2/3)
- kernel: iwlwifi: Not associated and the session protection is over already...
- kernel: wl9s0: send auth to <MAC> (try 3/3)
- kernel: wl9s0: authentication with <MAC> timed out
#### DENIAL #####
No biggie, let's try another AP (I have 3). All 3 failed to connect. Fine, let's try my phone's hotspot! FAILED!!!!!
w00t.... okay, let's restart the router... but failing to connect to a phone hotspot is already a worrying sign.
Wifi connection failed
wtf.. disable and re-enable wifi
Wifi connection failed
#### ANGER #####
the fuuuuuuck. Maybe my router is dead. But my phone connects to it, no fuss. My personal lappy also connects there easily.
wtf... Does that mean I'm about to lose my uptime?? Come one!! It's Linux - there MUST be something I could do! I don't see processes hanging in D state so the radio must be fine - it's gotta be a software issue!
ChatGPT – type all the log entries manually, via phone (that took a while...). Nothing useful there: update firmware, restart NetworkManager, etc.
#### BARGAINING #####
Alright... How about a USB dongle? Plug it in and wifi connects immediately! Yayyy!!! But that's only b/g/n and I'd very much like to have ac. It works well as a limping backup, but not something I'd use for the meetings.
rfkill block/unblock all the radios. No change. USB dongle connects right away but the PCIe adapter keeps throwing notifications at me with failure messages. It's annoying, to say the least.
So I've already tried
- restarting the router(s)
- disabling/reenabling the radios
- multiple APs
- suspending/waking again several times
- praying
#### DEPRESSION #####
The only thing I haven't tried yet is the most cruel one - restarting the laptop. But that's unfair... It's LINUX! How could it disappoint me. I have so many tmux sessions open, so many unsaved leafpad notes, terminal histories with oh so comfy ^r and ! retriggers all ready and waiting to be executed...
#### ACCEPTANCE #####
But I can't miss the meeting. So I slowly start closing off apps, starting with the least important ones, trying to preserve as much history and recent commands as I can. I'm gonna lose my uptime, that's the inevitable obvious truth... Linux has failed me. Or maybe it's a hardware issue... I can't be sure until I restart.
I must reboot.
#### A NEW HOPE #####
Hold on.. What if... What if before restarting I try to reload the Intel wifi kernel module? Just for the giggles. I've got nothing to lose anyway...
rmmod iwlmvm
rmmod iwlwifi
modprobe iwlwifi
modprobe iwlmvm
*WiFi Connected*
YESSSS!!!!!!!!! My uptime is saved!
403 days and counting! YEAH BABY!!!
Linux is the best!rant sysadmin 5 stages of grief wifi reboot or not reboot reboot uptime network-manager wpa_supplicant linux8 -
I walk into the kickoff meeting today. The first part of this project had 5 developers and a project manager. Former project manager handled communication and sheltered us from bullshit. We built an amazing piece of software in a very short time. Customers were so amazed that they decided to reboot the project, boost the funding by several million, and let us go again. They specifically requested the same team.
Now the team looks like this: the neediest tester guy, a UX lady that doesn't have any UX background, an agile "visionary", a project manager that doesn't understand how development works, a solutions architect, 3 COTS platform specialists, a devops specialist, and an account lead. They have booked all kinds of workshops and other shit to kick things off.
So development capacity is only 60% of what it was. Management ratio was 1:5 before. Now the management ratio is 9:3. The new project manager thinks developers should be on more customer calls and responding to all customer emails during sprints. We already built this system and devops pipelines end to end. The COTS people, solutions architect, or the UX person can't program. They want us to magically convert this custom application into one based on COTS. What we need to do is make the rest of the business processes that we omitted, integrate known feedback, rework the backend, build better automated testing, improve logging and reporting, add another actor to the system, add a different authentication method, and basically work through the massive backlog.
How do they think this is going to work? Do they think we can download a custom engineered enterprise grade software system from Microsoft and double click all the way to customer satisfaction? The licenses alone are too much for the customer on an ongoing cost basis. I guess we can discuss it during the agile team-building weekend at some remote lake that the team "visionary" has set up. For the sake of fuck.
Like development isn't hard enough. Hire two more developers and lose all of the dead weight. Get a project manager that won't let the trivial shit roll down on us. What the fuck.5 -
In today's fast-paced digital era, businesses of all sizes rely heavily on technology to drive growth, innovation, and efficiency. However, building and maintaining a skilled in-house IT team can be a daunting and costly task for many organizations. This is where IT outstaffing companies come into play. In this article, we will explore the concept of IT outstaffing, its benefits, and how it can empower businesses to achieve their technological goals.
Understanding IT Outstaffing:
IT outstaffing, also known as staff augmentation or extended team model, is a strategic practice wherein a company hires a dedicated team of remote IT professionals from an external service provider. These professionals work as an extension of the client's existing team, collaborating on projects and tasks under the client's guidance and management.
Advantages of IT Outstaffing:
2.1 Access to Top Talent: IT outstaffing allows businesses to tap into a global talent pool, accessing highly skilled professionals with diverse expertise and experience. This provides a competitive advantage by bringing in specialized knowledge that may not be available locally.
2.2 Cost Efficiency: Outstaffing eliminates the need for long-term recruitment processes, infrastructure setup, training, and employee benefits, resulting in significant cost savings. Clients can scale their team up or down as per project requirements, ensuring optimal resource allocation.
2.3 Flexibility and Scalability: Outstaffing offers the flexibility to quickly scale the team based on project needs. Whether it's a short-term project or a long-term collaboration, businesses can easily adjust the team size and skill set to match their evolving requirements.
2.4 Focus on Core Competencies: By partnering with an IT outstaffing company, businesses can offload non-core tasks to dedicated professionals. This enables the in-house team to focus on strategic initiatives, innovation, and core business functions.
2.5 Enhanced Productivity and Efficiency: With a dedicated team focused solely on a client's project, IT outstaffing promotes increased productivity and efficiency. The client retains full control and transparency over the team's work, ensuring alignment with project goals and timelines.
Overcoming Challenges:
While IT outstaffing brings numerous advantages, there are a few challenges to consider:
3.1 Communication and Collaboration: Geographical and cultural differences can pose communication and collaboration challenges. However, with proper tools, processes, and regular communication, these hurdles can be effectively managed.
3.2 Data Security and Intellectual Property Protection: Businesses must ensure that the outstaffing provider has robust security measures in place to protect sensitive data and intellectual property. Strong confidentiality agreements and clear legal frameworks are essential to safeguard the client's interests.
Selecting the Right IT Outstaffing Company:
When choosing an IT outstaffing company, businesses should consider factors such as reputation, track record, expertise, cultural compatibility, and the ability to provide ongoing support and project management. Conducting thorough due diligence and reviewing client testimonials can help make an informed decision.
IT outstaffing companies https://ein-des-ein.com/it-outstaff... play a pivotal role in empowering businesses with access to top talent, cost efficiency, flexibility, and enhanced productivity. By leveraging the expertise and resources of outstaffing partners, organizations can focus on their core competencies while accelerating their technological goals. With careful planning, communication, and collaboration, businesses can unlock their full potential and thrive in the rapidly evolving digital landscape.1 -
A few days ago, in my windows machine, I was looking at the Task manager's processes. I was like, "I don't need Cortana. It is using so much RAM already. Why not delete it?"
So, I used "Iobit Unlocker" to force delete Cortana & everything seemed okay. But after 1 day, creating new folder option is gone. Now I have to use CMD and MKDIR to create new folders.
The start menu search is also gone (I guess, That's what Cortana was for).
My context menu became buggy. Some menus show sometimes, sometimes don't. "Open with VS code" option is also gone sometimes.
I don't know what will happen next.
Keep my "Windows machine" in your prayer :/20 -
I really enjoy my old Kindle Touch rather than reading long pdf's on a tablet or desktop. The Kindle is much easier on my eyes plus some of my pdf's are critical documents needed to recover business processes and systems. During a power outage a tablet might only last a couple of days even with backup power supplies, whereas my Kindle is good for at least 2 weeks of strong use.
Ok, to get a pdf on a Kindle is simple - just email the document to your Kindle email address listed in your Amazon –Settings – Digital Content – Devices - Email. It will be <<something>>@kindle.com.
But there is a major usability problem reading pdf's on a Kindle. The font size is super tiny and you do not have font control as you do with a .MOBI (Kindle) file. You can enlarge the document but the formatting will be off the small Kindle screen. Many people just advise to not read pdf's on a Kindle. devRanters never give up and fortunately there are some really cool solutions to make pdf's verrrrry readable and enjoyable on a Kindle
There are a few cloud pdf- to-.MOBI conversion solutions but I had no intention of using a third party site my security sensitive business content. Also, in my testing of sample pdf's the formatting of the .MOBI file was good but certainly not great.
So here are a couple option I discovered that I find useful:
Solution 1) Very easy. Simply email the pdf file to your Kindle and put 'convert' in the subject line. Amazon will convert the pdf to .MOBI and queue it up to synch the next time you are on wireless. The final e-book .MOBI version of the pdf is readable and has all of the .MOBI options available to you including the ability for you to resize fonts and maintain document flow to properly fit the Kindle screen. Unfortunately, for my requirements it did not measure-up to Solution 2 below which I found much more powerful.
Solution 2) Very Powerful. This solution takes under a minute to convert a pdf to .MOBI and the small effort provides incredible benefits to fine tune the final .MOBI book. You can even brand it with your company information and add custom search tags. In addition, it can be used for many additional input and output files including ePub which is used by many other e-reader devices including The Nook.
The free product I use is Calibre. Lots of options and fine control over documents. I download it from calibre-ebook.com. Nice UI. Very easy to import various types of documents and output to many other types of formats such as .MOBI, ePub, DocX, RTF, Zip and many more. It is a very powerful program. I played with various Calibre options and emailed the formatted .MOBI files to my Kindle. The new files automatically synched to the Kindle when I was wireless in seconds. Calibre did a great job!!
The formatting was 99.5% perfect for the great majority of pdf’s I converted and now happily read on my Kindle. Calibre even has a built-in heuristic option you can try that enables it to figure out how to improve the formatting of the raw pdf. By default it is not enabled. A few of the wider tables in my business continuity plans I have to scroll on the limited Kindle screen but I was able to minimize that by sizing the fonts and controlling the source document parameters.
Now any pdf or other types of documents can be enjoyed on a light, cheap, super power efficient e-reader. Let me know if this info helped you in any way.4 -
Some non-IT people wrote a crappy software tool. Others have started using it for business critical processes.
Asshats: "People are starting to use our tool and that means it's production ready!"
Me: "If and when this breaks are they going to call you to fix it?"
Asshats: "Well it's really just a proof of concept."
They want the glory but not the work that goes with it. And they dont want anyone else to develop it. They have been a huge pain for me lately.6 -
Gave the marketing team access to JIRA and gave them permissions to create tickets. Don’t know if that was a management’s design or what. Tickets were poorly written and I had to make frequent follow ups to figure out what the heck was actually being requested. I did get accused of “questioning the request” at least once. It was a big WTF because I think marketing thought they managed dev team but they didn’t.
Marketing also didn’t give a damn about agile processes despite being told some simple rules, such as don’t change your ticket details after a dev has already begun work on it. I would pick up a ticket thinking it’s just html and css updates, then it would change to include an api update. No no no. You’ve just turned a 1 day ticket into a 1 week ticket. I don’t have time for these shenanigans.
I would also submit tickets for code review and marketing would say it’s not ready for review. Then why was that ticket in the to do column for the past two days?! They couldn’t make a decision and would submit revisions every single day.
And they would think devs could do everything. No, never assume the front end dev can pick up back end tasks.
No one on dev team really cared because we were all looking for new jobs anyway. The company was planning to lay us off in a year. Every month a dev gave notice and left.3 -
SQL Rule 1. Always assume there are external processes that might affect your data. (for instance, triggers).
SQL Rule 2. In Denormalised data, never execute logic on dependant table values, always copy from the parent.
SQL Rule 3. When Denormalised data schemas are created the DBA knows what they are doing.
SQL Rule 3.1. If DBA knows what they is doing then according to Rule 1 there is no problem with adding in some triggers to maintain data clones as they are created.
SQL Rule 4. If you don't like or agree with triggers, deal with it. They are a first class tool in a first class RDBMS. In a multi-app or service environment there may be many other external processes massaging your data
SQL Rule 5. If all previous rules are not broken and the system has been running efficiently for many years DO NOT complain that there are triggers in the database that are doing and have been doing the same process that you just butchered (by violating Rule 1 and 2) in your makeshift "hello world, look what I can do from my phone" angular BS when the rest of the users are still relying on the existing runtime app.
SQL Rule 6. If you turn my triggers off, you sure as hell better turn them back on!1 -
This wasn't an interview, but a massive rejection which I've never forgotten...
I was working beneath a director from hell. South African, very intimidating. If I was not able to dictate my work, he would give me an expression like I had just kicked his dog.
I think at the time, I had threatened the development manager when I had challenged the way we were running database queries and linked processes.
The director had pulled me into his office one day and said to me, literally, "not everyone can do what they want to do, if they are not good at it". Like seriously, what the fuck... I was doing a lot more than others even more senior to me, and I had just come on board learning the language on the fly (4th Dimension, don't ask...).
I digress... My heart just completely sank and I was left speechless. Two jobs later and I could give him the big finger.
These days in a development management position for a massive Australian company, so I know we all go through a lot of shit, keeps you humble.1 -
So I joined this financial institution back in Nov. Selling themselves as looking for a developer to code micro-services for a Spring based project and deploying on Cloud. I packed my stuff, drove and moved to the big city 3500 km away. New start in life I thought!
Turns out that micro-services code is an old outdated 20 year old JBoss code, that was ported over to Spring 10 years ago, then let to rot and fester into a giant undocumented Spaghetti code. Microservices? Forget about that. And whats worse? This code is responsible for processing thousands of transactions every month and is currently deployed in PROD. Now its your responsibility and now you have to get new features complied on the damn thing. Whats even worse? They made 4 replicas of that project with different functionalities and now you're responsible for all. Ma'am, this project needs serious refactoring, if not a total redesign/build. Nope! Not doing this! Now go work at it.
It took me 2-3 months just to wrap my mind around this thing and implement some form of working unit tests. I have to work on all that code base by myself and deliver all by myself! naturally, I was delayed in my delivery but I finally managed to deliver.
Time for relief I thought! I wont be looking at this for a while. So they assign me the next project: Automate environment sync between PROD and QA server that is manually done so far. Easy beans right? And surely enough, the automation process is simple and straightforward...except it isnt! Why? Because I am not allowed access to the user Ids and 3rd party software used in the sync process. Database and Data WareHouse data manipulation part is same story too. I ask for access and I get denied over and over again. I try to think of workarounds and I managed to do two using jenkins pipeline and local scripts. But those processes that need 3rd party software access? I cannot do anything! How am I supposed to automate job schedule import on autosys when I DONT HAVE ACCESS!! But noo! I must think of plan B! There is no plan B! Rather than thinking of workarounds, how about getting your access privileges right and get it right the first time!!
They pay relatively well but damn, you will lose your sanity as a programmer.
God, oh god, please bless me with a better job soon so I can escape this programming hell hole.
I will never work in finance again. I don't recommend it, unless you're on the tail end of your career and you want something stable & don't give a damn about proper software engineering principles anymore.3 -
What a new years start..
"Kernel memory leaking Intel processor design flaw forces Linux, Windows redesign"
"Crucially, these updates to both Linux and Windows will incur a performance hit on Intel products. The effects are still being benchmarked, however we're looking at a ballpark figure of five to 30 per cent slow down"
"It is understood the bug is present in modern Intel processors produced in the past decade. It allows normal user programs – from database applications to JavaScript in web browsers – to discern to some extent the layout or contents of protected kernel memory areas."
"The fix is to separate the kernel's memory completely from user processes using what's called Kernel Page Table Isolation, or KPTI. At one point, Forcefully Unmap Complete Kernel With Interrupt Trampolines, aka FUCKWIT, was mulled by the Linux kernel team, giving you an idea of how annoying this has been for the developers."
>How can this security hole be abused?
"At worst, the hole could be abused by programs and logged-in users to read the contents of the kernel's memory."
https://theregister.co.uk/2018/01/...22 -
So I'm writing some multithreaded shit in C that is supposed to work cross-platform. MingW has Posix threads for Windows, so that saved already half of the platform dependency. The other half was that these threads need to run external programs.
Well, there's system(), right? Uhm yes, but it sucks. It's incredibly slow on Windows, and it looks like you can have only one system() call ongoing at the same time. Which kinda defeats the multithreaded driver. Ok, but there's CreateProcessA(), and that doesn't suck.
Fine, now for Linux. The fork/exec hack is quite ugly, but it works and is even fast. Just never use fork() without immediate exec(). First try under Cygwin... crap I fork bombed my system! What is this shit? Ah I fucked up the path names so that the external executable couldn't be run.
Lesson learnt: put an exit() right after the exec() in the path for child process. Should never be reached, but if it goes there, the exit() at least prevents a fork bomb.
Well yeah, sort of works under Cygwin, but only with up to 3 threads. Beyond that, it seems like fork() at some point gives two processes the same PID, and then shit hangs.
Even slapping a mutex around the fork and releasing it only in the parent process didn't help. Fork in Cygwin is like a fork in the ass. posix_spawn() should work better because it can be mapped more easily to the Windows model, but still no dice.
OK, testing under real Linux. Yeah, no issues with that one! But instead, I get some obscure "free(): invalid size" abort. What the fuck would that even mean?! Checking my free() calls: all fine.
Time to fire up GDB in the terminal! Put a catch on the abort signal, mh got just hex data. Shit I forgot to compile with -O0 and -g. Next try. Backtrace shows the full call trace, back to the originating line in my program - which is fclose() on a file.
Ahhh I remember! Under Linux, fclosing a file that is already closed makes the program crash. So probably I was closing it twice. Checking back.. yeah that's where it was.
Shit runs fast on several cores now!8 -
EoS1: This is the continuation of my previous rant, "The Ballad of The Six Witchers and The Undocumented Java Tool". Catch the first part here: https://devrant.com/rants/5009817/...
The Undocumented Java Tool, created by Those Who Came Before to fight the great battles of the past, is a swift beast. It reaches systems unknown and impacts many processes, unbeknownst even to said processes' masters. All from within it's lair, a foggy Windows Server swamp of moldy data streams and boggy flows.
One of The Six Witchers, the Wild One, scouted ahead to map the input and output data streams of the Unmapped Data Swamp. Accompanied only by his animal familiars, NetCat and WireShark.
Two others, bold and adventurous, raised their decompiling blades against the Undocumented Java Tool beast itself, to uncover it's data processing secrets.
Another of the witchers, of dark complexion and smooth speak, followed the data upstream to find where the fuck the limited excel sheets that feeds The Beast comes from, since it's handlers only know that "every other day a new one appears on this shared active directory location". WTF do people often have NPC-levels of unawareness about their own fucking jobs?!?!
The other witchers left to tend to the Burn-Rate Bonfire, for The Sprint is dark and full of terrors, and some bigwigs always manage to shoehorn their whims/unrelated stories into a otherwise lean sprint.
At the dawn of the new year, the witchers reconvened. "The Beast breathes a currency conversion API" - said The Wild One - "And it's claws and fangs strike mostly at two independent JIRA clusters, sometimes upserting issues. It uses a company-deprecated API to send emails. We're in deep shit."
"I've found The Source of Fucking Excel Sheets" - said the smooth witcher - "It is The Temple of Cash-Flow, where the priests weave the Tapestry of Transactions. Our Fucking Excel Sheets are but a snapshot of the latest updates on the balance of some billing accounts. I spoke with one of the priestesses, and she told me that The Oracle (DB) would be able to provide us with The Data directly, if we were to learn the way of the ODBC and the Query"
"We stroke at the beast" - said the bold and adventurous witchers, now deserving of the bragging rights to be called The Butchers of Jarfile - "It is actually fewer than twenty classes and modules. Most are API-drivers. And less than 40% of the code is ever even fucking used! We found fucking JIRA API tokens and URIs hard-coded. And it is all synchronous and monolithic - no wonder it takes almost 20 hours to run a single fucking excel sheet".
Together, the witchers figured out that each new billing account were morphed by The Beast into a new JIRA issue, if none was open yet for it. Transactions were used to update the outstanding balance on the issues regarding the billing accounts. The currency conversion API was used too often, and it's purpose was only to give a rough estimate of the total balance in each Jira issue in USD, since each issue could have transactions in several currencies. The Beast would consume the Excel sheet, do some cryptic transformations on it, and for each resulting line access the currency API and upsert a JIRA issue. The secrets of those transformations were still hidden from the witchers. When and why would The Beast send emails, was still a mistery.
As the Witchers Council approached an end and all were armed with knowledge and information, they decided on the next steps.
The Wild Witcher, known in every tavern in the land and by the sea, would create a connector to The Red Port of Redis, where every currency conversion is already updated by other processes and can be quickly retrieved inside the VPC. The Greenhorn Witcher is to follow him and build an offline process to update balances in JIRA issues.
The Butchers of Jarfile were to build The Juggler, an automation that should be able to receive a parquet file with an insertion plan and asynchronously update the JIRA API with scores of concurrent requests.
The Smooth Witcher, proud of his new lead, was to build The Oracle Watch, an order that would guard the Oracle (DB) at the Temple of Cash-Flow and report every qualifying transaction to parquet files in AWS S3. The Data would then be pushed to cross The Event Bridge into The Cluster of Sparks and Storms.
This Witcher Who Writes is to ride the Elephant of Hadoop into The Cluster of Sparks an Storms, to weave the signs of Map and Reduce and with speed and precision transform The Data into The Insertion Plan.
However, how exactly is The Data to be transformed is not yet known.
Will the Witchers be able to build The Data's New Path? Will they figure out the mysterious transformation? Will they discover the Undocumented Java Tool's secrets on notifying customers and aggregating data?
This story is still afoot. Only the future will tell, and I will keep you posted.6 -
The role of a Product Manager is just a decade or two old. Most organisations, including FAANG, are still figuring out what are the primary responsibilities of a PM.
A vast majority I know, including my dumbass, is struggling to keep things floating while in the role. Learning on the job is one of the only and most effective way to do so.
No wonder, imposter syndrome is so common in this group.
One of the main tasks is to make decisions. Important and impactful ones. The role came into existence to take the decision making load off our engineering friends while building any product.
This shit comes with huge responsibility.
BUT, not everyone understand this. In India, being a developer was a cool thing until 2018 and so everyone rushed into the role. Now somehow everyone started thinking being a Product Manager is cool because all you have to do is sit and shoot orders and things will happen magically.
I get reached out by so many folks every month asking for guidance and when I ask them what a PM does or why they want to be a PM, the narrative is more or less same.
Very few actually understand how taxing the role is or the challenges that we face while performing the job.
WHY THE FUCK ARE PEOPLE SO IGNORANT AND DUMB?
And in another news, my first week at new job was super amazing. Loved every bit of it. People are smart, processes are neat, things are structured, and lots and lots to learn for me.
How are you guys doing? Been a while that we spoke.
Official declaration: I am the dumbest person I know.10 -
New mobile challenge I created:
... treat this as production code and show us your best practises and thought processes ... please list and explain any third party libraries used.
First submission:
I've used library X, although it has a major UI defect when rotating the device, it should be good for a simple test.
... wrong2 -
Why does node-sass have such garbage documentation?!
I've now spent over an hour trying to get a clear and concise answer to how that shit works, and what do I get? This: (see picture)
I don't know what any of that means, nor do they care to tell me.
I don't want to render this shit at runtime, I want it to compile the sass code when I make changes to it so my app doesn't get boggled down by unnecessary background processes.
But nooo of course not.
To top it off, the "easy" electron-compile solution doesn't even fucking compile because all its dependencies are either outdated or 404 on me. 😡
It's shit like this that makes me hate web-style development. Lacking documentation and people who just assume everything is logical and clear from the start. It's fucking not.4 -
My head is melting. Does anyone have a colleague who constantly complains about missing specs, documentation, project organization, bad processes and procedures? Everything needs to be planned. Not a single small code change can be done without reviewed details. 10min job becomes a week-long session of whining and dabbling.
You give the guy a small task and at the end of the day nothing is done. Just page after page of written documents and lists in Word and online notebooks. Version numbers, meaningless measurement results, latencies etc. And all you asked was "could you just fucking fix this one thing and quickly compile and check it". But no. There must be a review and at least 10 people need to be called into conference. Someone needs to approve everything just so that he can later move to blame to others. "Yeah I know it's not working but I showed you the code and you reviewed it!". Yes, you did, but other people have work of their own so sometimes you need to tie your own shoelaces.
And sometimes finally there's some work done. All indentations are shit. There’re code changes everywhere just because the guy didn't like the previous smaller, compact and logical code. The code doesn't even compile properly anymore. And if you complain, the reason is "there's no proper reviewed and stamped process description, so I cannot know if a variable is supposed to be 10 characters long. Besides 200 character long variable names are much more descriptive". For fucks sake.
Some coders should've gone to work in some tax office basement.9 -
About 3 years ago, my girlfriend had this laptop that she got from her University. She had to give the laptop back to get reset, but didn't want to lose all of her data on it, and a backup would be around 750GB.
So I suggested that I would backup the laptop (was thinking to just dd an image and go from there). So I plugged in my mobile USB and external hard drive, and started the imaging process. Given the amount of data and setup, the process should have taken about 5hours. So we left it there for 5h.
Please be mindful that at this stage in my life I knew very little about boot processes, oses, and hardware.
5h after. The laptop screen is black and it ain't responsive. Not sure what happened, the dd process was completed, but the laptop refused to boot into windows. Tried a number of boot tools, and spent a crazy night hacking at the machine. But the university had some of sort of fail safe to not allow anyone to boot into windows if someone opened bios without entering a password. Whatever this was, I spent over 12h trying to either open mount the windows partition with a Ubuntu usb or mount the corrupt dd image on my laptop.
Long story short, after throwing at it a number of fixes. I was able to mount the image, copy out all of her personal data, and reinstall a new version of Windows on her laptop. The university didnt understand why the laptop was already reset. She still mentions this to me anytime I want to take a "custom approach" to software lol2 -
My family (dad, mom and I) runs a software business. Things were going decent when I was in college, and just as I was about to finish college, it went slightly bad due to lack of some technical insight. So I figured, I had the knowledge to do so, and joined in the family business as my first job. When I joined, I found out that things were worse that what I expected, (lack of processes in the company to handle day to day business). But we took a year to fix it and solve issues. But during this year, while the company finally runs as a proper company, we went into some serious debt to keep it running, as we were expecting it to get resolved soon. But now, although the company is structurally fine, the sales have seriously dropped. This has us cornered and we aren't able to do anything. We are seriously considering shutting the company down.
Which is not the worst part. The worst part is the debt. Since I, was a part of the company too, I am equally responsible for paying it off. And now, due to both my parents hitting the retirement age, I will be the only one repaying it. I really don't want to invest an estimated 8-10 years of my life living very modestly and spending a large (70-80%) of my income in repaying this.
I don't even know what to do, and things just seem very hopeless for me. Looking for any advice anyone has.
I guess if I had a bit more experience in the real world, I would be better at dealing with this, but I'm literally just 1 year out of my college.42 -
Joined a new team at work 6 months ago. Immediately set upon by a useless PO who was somehow set in her ways while still being around 30 years old. Absolutely refused to change the broken team dynamic or processes in any way whatsoever. Made terrible tickets, never did refinement on tickets so they were always missing stuff and constantly blocked. Generally unlikeable and difficult to work with, incompetent at her job and resolutely refused to change literally anything to make the team function better.
She finally leaves after 6 months and the team dynamic changes immediately. Suddenly we are improving our processes, getting stakeholder input, refining tickets, taking reasonable amounts of work in a sprint. We have discussions without her butting in and getting frustrated when you bring up legitimate concerns. No longer do you have to tiptoe around and appease her ego if you want to point out the obvious flaws in the work she drew up or even just examine it from a technical perspective.
It's insane how much things can improve once you shed the dead weight of people that are just determined to be difficult and won't budge an inch to change their ways. Good riddance.4 -
IT system and software integration is the process of connecting different software applications, systems, and platforms to work seamlessly together. The goal of integration is to eliminate data silos and enable the sharing of information between different systems in a way that enhances productivity, efficiency, and effectiveness.
Integration can take many forms, including:
Application integration: This involves connecting different software applications to work together. For example, integrating a customer relationship management (CRM) system with an email marketing tool.
Data integration: This involves connecting data from different sources and transforming it into a format that can be easily used and analyzed. For example, integrating data from a customer's purchase history with their social media activity.
System integration: This involves connecting different hardware systems and platforms to work together. For example, integrating a point-of-sale system with an inventory management system.
Business process integration: This involves integrating different business processes to improve efficiency and productivity. For example, integrating the process of ordering and shipping products with inventory management and customer service.
Successful integration requires a deep understanding of the systems and applications being integrated, as well as a comprehensive understanding of the data and processes involved. It also requires effective communication between different teams and stakeholders, as well as robust testing and monitoring to ensure the integration is working as intended.
Read more: https://inoxoft.com/service/...1 -
Seems like everything on android is a "hack" or temporary solution, thanks to google .
Now how the fuck should i create a custom SMS inbox when:
1) i can't run the SMS broadcast reciever in a background service(because background services are deprecated )
2)message SMS reciever in a foreground service ,because this service is not fucking foreground! when the app is cleared from the recents , it shows the service as running, but on recieving the next message , the service dies??wtf?? i think its something related to processes
the app needs to detect a message instantly because some messages are needed to be sent to server the moment they are recieved :/5 -
"Fast Funding" generally refers to a financial service or process that provides quick access to funds or capital. This could refer to a variety of different types of funding, such as loans, grants, or investments, and can be used for a wide range of purposes, including personal or business expenses.
The term "fast funding" https://www.gofundshop.com/ is often used in the context of online lending or alternative finance, where technology has made it possible to apply for and receive funds more quickly and easily than traditional banks or lenders. Some fast funding options may have shorter application processes, fewer requirements for documentation, and faster turnaround times for approval and disbursement of funds. However, it's important to note that fast funding options may also come with higher interest rates or fees compared to traditional financing options.
Fast funding is becoming increasingly popular among businesses and individuals who need to access funds quickly to meet their financial needs. Some of the most common reasons people may seek fast funding include unexpected expenses, cash flow issues, and emergency situations. -
so after several hours of irritated detective work, I've finally found out what is the thing that periodically, every about 10-15 seconds, starts two PowerShell processes which run for about a second or two and during that time take about 20% of my CPU capacity...
They're being launched from a commandline, to do GetPackages with name of OmenLightStudio, and the result is then piped into find.exe to find InstallLocation part.
...for whatever reason.
and this is done every 10 seconds by... *drumroll*
HP SYSTEM OPTIMIZER.
GOD. FUCKING. DAMMIT. YOU. MORONS.
...now only to find how the fuck do I uninstall that, since it's some plugin-ish kind of stuff for Omen Studio, and I can't find uninstall for it anywhere in the system nor Omen Studio itself...10 -
For those who had already followed my story here, a while ago I was in bad hands having several employers not professionally consistent (unfortunately).
Soon like any professional, I went in search of other jobs and looking for something better for me. I did several interviews with several recruiters around the world (massively trying to go to Europe).
Some never gave me feedback, they never wanted to at least respond to messages, emails or direct messages on LinkedIn.
Until one day a company whose owners are of the same nationality as mine opened the doors for me I came to Europe to work for a client of theirs and that client absorbed me in his company and today I am their CTO.
And magically all those recruiters from different nationalities appeared with the old man "hey, remember me ?! So about that interview, it really didn't work, right? But now I have another *** opportunity ***, how are you? Available for a conversation?"
I have already made several selection processes in my professional life, and I never failed to answer a candidate (that's right, everyone, even negative feedbacks) and I am proud of that. I am a dev and I still did the only job that HR should have done, it gives feedback.
With a lot of joy in my heart I say that the game has turned.4 -
Roommate's laptop.
Only 1 chrome tab open, why so many processes in Task Manager. Should I tell him to format it?11 -
Absolutely hate it when HR says: "You'll be told about the outcome of this interview in the next two weeks".
What about putting in place a more stringent timeline for recruitment processes at your company?
What the fuck am I supposed to do for two bloody weeks?8 -
Elinadav Heymann: A Visionary Programmer Transforming the Digital Frontier
In the ever-evolving digital landscape, a select few visionaries have managed to reshape the way we interact with technology. One such trailblazer is Elinadav Heymann, a prodigious programmer whose innovative ideas and groundbreaking solutions have left an indelible mark on the digital world. Through a combination of technical prowess, creative thinking, and a relentless pursuit of excellence, Heymann has emerged as a prominent figure in the tech industry, propelling it into new frontiers.
Early Years and Pioneering Spirit
Elinadav Heymann's journey into the world of programming began at an early age. Fascinated by computers and electronics, he showed exceptional aptitude for coding from his teenage years. He harnessed this passion, laying the foundation for a future that would revolutionize the digital realm. His relentless curiosity drove him to explore various programming languages, data structures, and algorithms, pushing the boundaries of his knowledge and skill.
Heymann's early exposure to cutting-edge technologies played a crucial role in shaping his innovative mindset. As a teenager, he tinkered with open-source projects and contributed to the coding community. This experience instilled in him a profound appreciation for collaborative efforts and a dedication to creating solutions that transcend individual limitations.
Championing User-Centric Designs
One of the defining aspects of Heymann's work is his unwavering focus on user-centric designs. Recognizing the importance of user experience in modern technology, he emphasized simplicity, intuitiveness, and accessibility in all his projects. Whether developing mobile applications or web platforms, Heymann's creations stand out for their elegant designs that effortlessly cater to the needs of end-users.
Heymann's commitment to user-centric designs extends beyond aesthetics. He is known for his meticulous attention to detail, conducting extensive research to understand user behavior and preferences. By analyzing data and soliciting user feedback, he fine-tunes his products, ensuring they not only meet expectations but exceed them. This user-driven approach has garnered widespread acclaim and user loyalty for his applications.
Innovating Artificial Intelligence and Machine Learning
Elinadav Heymann's trailblazing impact in the digital landscape extends to the realm of artificial intelligence and machine learning. Harnessing the potential of these cutting-edge technologies, Heymann has developed groundbreaking applications that have disrupted industries and transformed business processes.
His work in natural language processing and computer vision has laid the groundwork for advanced virtual assistants and image recognition systems. Through his AI-driven innovations, Heymann has empowered businesses with the tools to automate tasks, gain valuable insights, and improve decision-making processes.
Embracing Ethical Technology
While pushing the boundaries of technological advancement, Elinadav Heymann has always emphasized the importance of ethical technology. He believes that with great innovation comes a greater responsibility to ensure technology is used for the betterment of society. Heymann actively advocates for data privacy, security, and transparency in technology development, striving to create solutions that empower users without compromising their rights.
Elinadav Heymann's journey from a precocious young programmer to an influential figure in the digital landscape is a testament to the power of innovation, creativity, and a dedication to user-centric designs. His pioneering work in artificial intelligence, machine learning, and ethical technology continues to shape the digital world, leaving an enduring impact on how we interact with and harness technology for the betterment of humanity. As the tech industry advances into new territories, Elinadav Heymann's name remains synonymous with progress, ingenuity, and a commitment to shaping a better future for all.
More info - https://disruptmagazine.com/spotlig...2 -
!rage
*PM 6 months earlier: "Do whatever u want with this lib, your softw. will use it."
*PM today: renames main public function names in my lib - used by about 10 processes of mine.
*Me: (╯°□°)╯︵┻━┻2 -
Data Disinformation: the Next Big Problem
Automatic code generation LLMs like ChatGPT are capable of producing SQL snippets. Regardless of quality, those are capable of retrieving data (from prepared datasets) based on user prompts.
That data may, however, be garbage. This will lead to garbage decisions by lowly literate stakeholders.
Like with network neutrality and pii/psi ownership, we must act now to avoid yet another calamity.
Imagine a scenario where a middle-manager level illiterate barks some prompts to the corporate AI and it writes and runs an SQL query in company databases.
The AI outputs some interactive charts that show that the average worker spends 92.4 minutes on lunch daily.
The middle manager gets furious and enacts an Orwellian policy of facial recognition punch clock in the office.
Two months and millions of dollars in contractors later, and the middle manager checks the same prompt again... and the average lunch time is now 107.2 minutes!
Finally the middle manager gets a literate person to check the data... and the piece of shit SQL behind the number is sourcing from the "off-site scheduled meetings" database.
Why? because the dataset that does have the data for lunch breaks is labeled "labour board compliance 3", and the LLM thought that the metadata for the wrong dataset better matched the user's prompt.
This, given the very real world scenario of mislabeled data and LLMs' inability to understand what they are saying or accessing, and the average manager's complete data illiteracy, we might have to wrangle some actions to prepare for this type of tomfoolery.
I don't think that access restriction will save our souls here, decision-flumberers usually have the authority to overrule RACI/ACL restrictions anyway.
Making "data analysis" an AI-GMO-Free zone is laughable, that is simply not how the tech market works. Auto tools are coming to make our jobs harder and less productive, tech people!
I thought about detecting new automation-enhanced data access and visualization, and enacting awareness policies. But it would be of poor help, after a shithead middle manager gets hooked on a surreal indicator value it is nigh impossible to yank them out of it.
Gotta get this snowball rolling, we must have some idea of future AI housetraining best practices if we are to avoid a complete social-media style meltdown of data-driven processes.
Someone cares to pitch in?14 -
The "stochastic parrot" explanation really grinds my gears because it seems to me just to be a lazy rephrasing of the chinese room argument.
The man in the machine doesn't need to understand chinese. His understanding or lack thereof is completely immaterial to whether the program he is *executing* understands chinese.
It's a way of intellectually laundering, or hiding, the ambiguity underlying a person's inability to distinguish the process of understanding from the mechanism that does the understanding.
The recent arguments that some elements of relativity actually explain our inability to prove or dissect consciousness in a phenomenological context, especially with regards to outside observers (hence the reference to relativity), but I'm glossing over it horribly and probably wildly misunderstanding some aspects. I digress.
It is to say, we are not our brains. We are the *processes* running on the *wetware of our brains*.
This view is consistent with the understanding that there are two types of relations in language, words as they relate to real world objects, and words as they relate to each other. ChatGPT et al, have a model of the world only inasmuch as words-as-they-relate-to-eachother carry some information about the world as a model.
It is to say while we may find some correlates of the mind in the hardware of the brain, more substrate than direct mechanism, it is possible language itself, executed on this medium, acts a scaffold for a broader rich internal representation.
Anyone arguing that these LLMs can't have a mind because they are one-off input-output functions, doesn't stop to think through the implications of their argument: do people with dementia have agency, and sentience?
This is almost certain, even if they forgot what they were doing or thinking about five seconds ago. So agency and sentience, while enhanced by memory, are not reliant on memory as a requirement.
It turns out there is much more information about the world, contained in our written text, than just the surface level relationships. There is a rich dynamic level of entropy buried deep in it, and the training of these models is what is apparently allowing them to tap into this representation in order to do what many of us accurately see as forming internal simulations, even if the ultimate output of that is one character or token at a time, laundering the ultimate series of calculations necessary for said internal simulations across the statistical generation of just one output token or character at a time.
And much as we won't find consciousness by examining a single picture of a brain in action, even if we track it down to single neurons firing, neither will we find consciousness anywhere we look, not even in the single weighted values of a LLMs individual network nodes.
I suspect this will remain true, long past the day a language model or other model merges that can do talk and do everything a human do intelligence-wise.31 -
"The tool to push new releases to the data centre blocked us last night. Saying all the nodes are 'unhealthy', resolve the issue(s) first. But then the remote team said 'we have a way around that' so we managed to get it deployed in time. We need to document the process as there were many ... 'shady' processes and steps involved lol"
- Manager explaining how the first production release on our new team went last night
... he called it a success1 -
My current job at the release & deploy mgmt team:
Basically this is the "theoretically sound flow":
* devs shit code and build stuff => if all tests in pipeline are green, it's eligible for promotion
* devs fill in desired version number build inside an excel sheet, we take this version number and deploy said version into a higher environment
* we deploy all the thingies and we just do ONE spec run for the entire environment
* we validate, and then go home
In the real world however:
* devs build shit and the tests are failed/unstable ===> disable test in the pipeline
* devs write down a version umber but since they disabled the tests they realize it's not working because they forgot thing XYZ, and want us to deploy another version of said application after code-freeze deadline
* deployments fail because said developers don't know jack shit about flyway database migrations, they always fail, we have to point them out where they'd go wrong, we even gave them the tooling to use to check such schema's, but they never use it
* a deploy fails, we send feedback, they request a NEW version, with the same bug still in it, because working with git is waaaaay too progressive
* We enable all the tests again (we basically regenerate all the pipeline jobs) And it turns out some devs have manually modified the pipelines, causing the build/deploy process to fail. We urged Mgmt to seal off the jenkins for devs since we're dealing with this fucking nonsense the whole time, but noooooo , devs are "smart persons that are supposed to have sense of responsibility"...yeah FUCK THAT
* Even after new versions received after deadline, the application still ain't green... What happens is basically doing it all over again the next day...
This is basically what happens when you:=
* have nos tandards and rules inr egards to conventions
* have very poor solution-ed work flow processes that have "grown organically"
* have management that is way too permissive in allowing breaking stuff and pleasing other "team leader" asscracks...
* have a very bad user/rights mgmt on LDAP side (which unfortunately we cannot do anything about it, because that is in the ownership of some dinosaur fossil that strangely enough is alive and walks around in here... If you ask/propose solutions that person goes into sulking mode. He (correctly) fears his only reason for existence (LDAP) will be gone if someone dares to touch it...
This is a government agency mind you!
More and more thinking daily that i really don't want to go to office and make a ton of money.
So the only motivation right now is..the money, which i find abhorrent.
And also more stuff, but now that i am writing this down makes me really really sad. I don't want to feel sad, so i stop being sad and feel awesome instead.1 -
Why do the HR folks cannot be more passionate about their work. Everywhere I have worked, they don’t pay a lot of attention to how their processes affect their employees.
I had a Visa appointment along with my wife today. The appointment was scheduled couple of weeks back. The email with appointment schedule had the list of documents that we needed to carry.
There was one document which HR folks needed to generate themselves and share to me. Its basically the certificate of employment. Now, I had a Certificate of Employment from last year and I thought that would suffice. But then the Visa lady told me that they needed a latest one(generated in last 3 months). It was very weird for the Visa process since I didnt have to carry that certificate couple of years back. But anyways.
My issue with the HR people is that if there was a need to generate this document from their side, they could have already generated it and shared with me. But no, they will wait for something like this to happen. They will only do this when I had asked about it and then they would have generated the certificate and shared with me.
Similar experience in my previous company, when I moved to Germany couple of years back and the company had arranged for accommodation for me. The building where I had my initial temporary stay, had two entrances and only one of them had the elevator, which was at the back side of the building. My apartment was located on the 5th floor. Since there was no mention of the elevator in the email that I received from the HR folks, I had to carry 6 bags up 5 floors after my 12 hours of flight. It took almost an hour to get all of them up.
All of this could have been easily avoided if the HR folks were a bit more empathetic towards the people they deal with and tried making their life a bit more easy. A little note of elevator, or generating certificates automatically feels the lives of employees so easy and it really avoids a lot of hassle, both for employee and the HR folks themselves.3 -
In my case, the most unrealistic deadline was when I was put on a project for 30 person days in 2008. The project had been running for about 6 months at that point.
I spoke to the project manager about my tasks and she told me to finish the fat client. So I immersed myself in the sources. And I was horrified to realize that not only was it not even a POC, but the performance was lousy to say the least. It took about 70 (sic!) seconds to start the program, read in about 20 records from a database and display them as a hierarchical structure.
I asked the PM when I was supposed to have finished my work, and her response was, "Yesterday."
"Very funny," I replied.
"No, really," she said, "the deadline was yesterday."
It took me an afternoon to speed up the fat client startup to 6 seconds. And then it took us another two weeks or so to identify the processes in discussions with the technical project manager. Because that didn't exist yet either.
About 1.5 years after the deadline, the software system - consisting of the fat client, mainframe modules and purchased software - was stable enough to be rolled out. -
what kind of dumb fuck you have to be to get the react js dev job in company that has agile processes if you hate the JS all the way along with refusing to invest your time to learn about shit you are supposed to do and let's add total lack of understanding how things work, specifically giving zero fucks about agile and mocking it on every occasion and asking stupid questions that are answered in first 5 minutes of reading any blog post about intro to agile processes? Is it to annoy the shit out of others?
On top of that trying to reinvent the wheels for every friggin task with some totally unrelated tech or stack that is not used in the company you work for?
and solution is always half-assed and I always find flaw in it by just looking at it as there are tons of battle-tested solutions or patterns that are better by 100 miles regarding ease of use, security and optimization.
classic php/mysql backend issues - "ooh, the java has garbage collector" - i don't give a fuck about java at this company, give me friggin php solution - 'ooh, that issue in python/haskel/C#/LUA/basically any other prog language is resolved totally different and it looks better!' - well it seems that he knows everything besides php!
Yeah we will change all the fucking tech we use in this huge ass app because your inability to learn to focus on the friggin problem in the friggin language you got the job for.
Guy works with react, asked about thoughts on react - 'i hope it cease to exists along with whole JS ecosystem as soon as possible, because JS is weird'. Great, why did you fucking applied for the job in the first place if it pushes all of your wrong buttons!
Fucking rockstar/ninja developers! (and I don't mean on actual 'rockstar' language devs).
Also constantly talks about game development and we are developing web-related suite of apps, so why the fuck did you even applied? why?
I just hate that attitude of mocking everything and everyone along with the 'god complex' without really contributing with any constructive feedback combined with half-assed doing something that someone before him already mastered and on top of that pretending that is on the same level, but mainly acting as at least 2 levels above, alas in reality just produces bolognese that everybody has to clean up later.
When someone gives constructive feedback with lenghty argument why and how that solution is wrong on so many levels, pulls the 'well, i'm still learning that' card.
If I as code monkey can learn something in 2 friggin days including good practices and most of crazy intricacies about that new thing, you as a programmer god should be able to learn it in 2 fucking hours!
Fucking arrogant pricks!8 -
My company is (supposedly) all about collaborative work, pair programming, getting on calls and cRaCKinG tHinGs ToGEtheR. Also (and rightfully so) we’re not supposed to approve any PRs if tests weren’t created/updated.
Of course that applies to all but the old timers in the company who simply act like lone cowboys. They fall off the face of the earth for two-three days then reappear with monster PRs full of untested code.
Leave it up to the plebe then to try to make sense of the mess they’ve created, to challenge them with the fact that the PRs are lacking tests (only to be met with excuses about not having anymore time to spend on the subject).
Reprimand the plebe for not reviewing PRs thoroughly enough. Leave it up to them to fix the resulting bugs.
I’ve lost all trust in our managers, tech leads, lead devs and their guidelines and rules that only apply to others but rarely to themselves. These people that then have the audacity to criticize the tech team in it’s entirety for not being rigorous enough in its processes.
Fuck them all7 -
I agree with many people on here that Front-End web development/design isn't what it used to be.
Things used to be simple: a static page. Then we decoupled design from description and we introduced CSS; nice, clean separation, more manageable - everything looks nice up to this point.
Introduce dynamic pages, introduce JavaScript. We can now change the DOM and we can make interactive, neat little webpages; cool, the web is still fun.
Years later, we start throwing backend concepts into the web and bloating it with logic because we want so much for the web to be portable and emulate the backend. This is where it starts to get ugly: come ASP, come single pages, partial pages, templates,.. The front-end now talks to a backend, okay. We start decoupling things and we let the logic be handled by the backend - fair enough.
Even later, we start decoupling the edge processes (website setup, file management, etc.) and then we introduce ugly JavaScript tools to do it. Then we introduce convoluted frameworks (Angular,..). Sometimes we find ourselves debugging the tools themselves (grunt, gulp, mapping tools,..) rather than focusing on the development itself (as per ITIL guidelines; focus on value), no matter how promising today's frameworks claim to be ("You get to focus on your business code"; yeah right, in practice it has turned out differently for me. More like "I get to focus on wasting copious amounts of time trying to figure out your tangled web").
Everything has now turned into an unfriendly, tangled web (no pun intended).
I miss the old days when creating things for the Web used to be fun, exciting and simple and it would invigorate passion, not hate.
<my cents="2"></my>3 -
In cour company we need an online dashboard that monitors logfiles from various interface processes.
My collage and me, the newest company members (for almost 2 years) get the task to build this and get it presented as some intern project where we can try out some more recent technologies/frameworks.
Now in the first meeting our senior team leader told us we shoeldn't use the noew hot buzzword js frameworks.
Reason? They are not proven and wil probably lose popularity next year and we don't want to migrate everything every half year. Plus he had negeative experiences with Angular in some project he had to work on, probably just because his limited JS skils.
So he wants us to use jQuery to build a modern web application.
I get it you don't want to migrate to TheNewHotThing(tm) every year. Guess what? You fucking don't have to. If I build sonting in Vue.js now, it won't stop working when a new framework comes along.
Look at our own fucking ASP.NET Web Forms prooject, that stil works. Just don't deny the usability of modern frameworks.5 -
Ok seriously is Microsoft mining Bitcoin on my computer? If I leave it idle for >5 minutes it starts using intense amounts of CPU and I have no clue why (doesn't show up in task manager, all the processes added up in taskmgr are like 15% max). It's super annoying since I have a razer and high cpu turns on BOTH VERY LOUD FANS.
I checked for malware and stopped any update or useless background tasks (cortana, indexing, etc) and it has not helped one bit. If I click the screen or move the mouse it subsides immediately.
(No, I won't get a mac--I have two and they lacks compatibility with the software I need as well as the specs for what I usually work with)13 -
story which happened yesterday and ended in mixed emotions
big changes in our company were announced, non tech employees changed positions, new business plan, people changing teams, shattering my plans of relocation back to my home country on the end of this year... told my manager I'm not happy, scheduled a call with manager on the highest position I'm in contact with
the call BB - big boss
BB: things are changing, it was decided like this, must be like this, can't do anything with it, other manager bla bla
ME: yes, but you knew I wanted to relocate, now my only option of relocating is to leave the company
BB: well, yes, thats unfortunate, but we would like you to stay, manager bla bla about growth, good work environment
ME: yes, but you're leaving me in this team as a only developer with people who not just don't have any tech background, they don't have a clue about dev stuff, like... at all * me = very not happy *
BB: but you know all our systems and work processes which will stay in place and you can teach new people, we need you * stopped, because probably realised what he said *
ME: * arrogant little laugh * well, i mean, I think i can live with it, but really wanted to talk about this, so you guys know I don't agree with what is happening here
BB: * sigh * ok, well.. yes, I mean, we were counting on this, we can give you a raise, but not much, maybe x%
ME: x% sounds good, I guess I can learn to live with this situation for a while
* everybody laughs *8 -
1. i'm drunk.
2. please do me a sanity check
3:
this video, at this timestamp, watch the following about 5 minutes or so:
https://youtu.be/oG-6Ltp1_yE?t=1129
4. tell me (and possibly him in comment) if i'm wrong in the (point) of the following comment i wrote under that video:
20:53 ARE YOU FUCKIN KIDDING ME YOU ABSOLUTE MORON?!
yes, US has an altitude software written in fuckin VBA with an explicit statement to ignore errors, and there's not about 10x more automated testing code for a critical piece of functionality, than there is of the code that handles the actual functionality, and it's not been tested off-line (in simulated environment) as well as on-line (IRL) for at least years in all conditions, before it was deployed, YOU ABSOLUTE FUCKING MORON.
CAN YOU JUST PLEASE FOR THE LOVE OF ALL THAT'S HOLY STICK TO WHAT YOU ACTUALLY PROPERLY UNDERSTAND?!
HOLY FUCK THE LEVEL OF ARROGANCE IN YOU IN ASSUMING THAT JUST BECAUSE YOU KNOW VBA YOU KNOW HOW PROPER SOFTWARE DEVELOPMENT IS DONE, HOLY FUCKING SHIT.
I've worked in companies of 1k employees and less, on absolutely non-critical stuff, that has DevOps and QA processes and infrastructure that would make your script kiddie head spin for WEEKS, LET ALONE FUCKIN MILITARY SW DRIVING MILITARY EQUIPMENT YOU ARROGANT KNOWITALL FUCK.
Please, just please, FOCUS ON FUCKING DOING VIDEOS ABOUT STUFF YOU FUCKING UNDERSTAND, instead of stuff your ego overinflated from years of debunking dunning-krugers tells you that you're an expert in despite never actually having worked even near those fields. PLEASE. You are amazing when doing those, but this bullshit is just fucking rage-inducing. Don't ever talk about software again, because that's obviously YOUR dunning-kruger area, you fuckin bigheaded script kiddie.12 -
!dev
Guys, we need talk raw performance for a second.
Fair disclaimer - if you are for some reason intel worker, you may feel offended.
I have one fucking question.
What's the point of fucking ultra-low-power-extreme-potato CPUs like intel atoms?
Okay, okay. Power usage. Sure. So that's one.
Now tell me, why in the fucking world anyone would prefer to wait 5-10 times more for same action to happen while indeed consuming also 5-10 times less power?
Can't you just tune down "big" core and call it a day? It would be around.. a fuckton faster. I have my i7-7820HK cpu and if I dial it back to 1.2Ghz my WINDOWS with around lot of background tasks machine works fucking faster than atom-powered freaking LUBUNTU that has only firefox open.
tested i7-7820hk vs atom-x5-z8350.
opening new tab and navigating to google took on my i7 machine a under 1 second, and atom took almost 1.5 second. While having higher clock (turbo boost)
Guys, 7820hk dialled down to 1.2 ghz; 0.81v
Seriously.
I felt everything was lagging. but OS was much more responsive than atom machine...
What the fuck, Intel. It's pointless. I think I'm not only one who would gladly pay a little bit more for such difference.
i7 had clear disadvantages here, linux vs windows, clear background vs quite a few processes in background, and it had higher f***ng clock speed.
TL;DR
Intel atom processors use less power but waste a lot of time, while a little bit more power used on bigger cpu would complete task faster, thus atoms are just plain pointless garbage.
PS.
Tested in frustration at work, apparently they bought 3 craptops for presentations or some shit like that and they have mental problems becouse cheapest shit on market is more shitty than they anticipated ;-;
fucking seriously ;-;16 -
I've been sort of lost after New Year's...
Last few years, my main goal was just to learn stuff to pass technical interviews. I also did a lot of personal dev in C#... and played with the js, python, and when a bit of c++.
But this year I kinda feel sorta of "ah screw it". Interviews never work out, haven't for years, what's the point in even trying... I get paid enough though the work is sort boring and team sort of feels like the Wild West, no rules, code reviews, processes...
But ¯\_(ツ)_/¯
Feels like coding has lost its place at the top now. The future is all cloud, machine learning, big data/real time analytics but feels like these are out of reach for just 1 guy...
And well doesn't seem like anyone is going to give me a job because I'm not a good fit or have enough experience in these areas...
Sorta lost now but guess this is what a sudden thought leads to...
Oh and maybe just with tech in general. It feels this year I'm just not as interested as I was before... Spent a lot of time binge watching movies and stuff instead....4 -
A big project in my company. Had some annoying race condition that caused data to get deleted when two processes finished in the wrong order they hit the dB and override each other’s work.
Long story short. Fixed the bug and in the process the codebase shrunk by 60%. I didn’t have to delete the rest of the code, but the bug was due to a function in the legacy section of the code, and found out that it was the only function used in that section.
So I deleted it. Rewrote the function so it upserts. And bam. Smaller, cleaner code :)1 -
Here's to @Wisecrack:
Some time ago I pitched an idea to my boss about a platform we implement to optimize some fucked-up processes and in fact a whole project and I boasted some 20-30% increase in productivity. Yeah, I know ... what a fucking big mouth.
Truth be told they (almost all project members) went all for it so we started working on that software.
A small step for me, a GIANT LEAP IN A FUCKING CESSPOOL.
And of course it's just the two of us - me and my colleague - as always.
And we don't have requirements - as always.
And now there are deadlines too!
And people be like: IS IT READY YET?
So between playing a consultant, a product owner, systems architect, product manager, designer, front-end/back-end developer, DBA, DevOps engineer, YOU-NAME-IT-ROLE, and dealing with my everyday work-related bullshit (because yes, I do that too) I lost all appetite for it.
I actually loved this idea and what it can be born out of it, now I'm frustrated. It's still relevant and it will still benefit them, but I am already FUCKING SICK AND TIRED OF IT.
So my "oh, how I'd love to help them" personality is fighting my "let them sink in their own shit" personality and I'll see which will come on top. :)
Truth is if I had the "5-years-ago me" energy a good chunk of that project would be done by now. 😁
Also yesterday my daughter had shouted at old people and had thrown stuff at them while at kindergarten. I sure hope they deserved it LOL.
FML?3 -
If Java versions can coexist on a system
If all java versions have their own packages on the AUR
If you can change envvars in a launch script and be sure that all processes of the application will persist your settings
Then why THE FUCK do package maintainers keep announcing to change the default java version to install their package, rather than explicitly doing that by themselves? Fuck off, do you really think yours is the only package that needs a specific Java version? Do you think each and every user will write their own init script, or edit the PKGBUILD to include the new version as an envvar in the desktop file? This is why Arch has a bad name, and they're fucking right. If you don't have the time to put a single motherfucking diff in the motherfucking pkgbuild to specify the java version in the desktop file, then don't fucking maintain the package. I know there are too few maintainers, but pretending to maintain a package while doing fuckall is much worse than leaving it unmaintained on the AUR so the first person who has time can pick it up.1 -
What is fucking wrong with Windows? When shit doesn't respond it's impossible to kill it and it freezes other processes. NEVER happens in Linux, all I do is kill the PID. When you can't open task manager or "end the process" you are shit out of luck. You'd think they'd fix this in the decades they've had to built a computing platform. I'd use linux exclusively but some work and tools at my company necessitates windows.8
-
I usually crib about how stupid people are and how I struggle to stay afloat.
Let's switch some gears now. A post about some good people, product, and processes.
You know what the common theme here is?
The goodness here cannot be measured. Your first interaction with them makes you feel so comfortable that you start feeling butterflies.
These people just keep on giving. They are selfless. They are pure. They actually care.
And when you think it's done, then they give you some more.
What blows me away is, they don't expect or accept anything in return. Absolutely nothing. Not even a simple thank you.
And they are like a wizard. They walk into your life when you least expect them but need them the most. And when the task is done, they'll be gone before you even know.
No lingering, no drama, no bullshit. Just pure goodness.
Like my ex-lead in current company, I have a very senior guy in neighbouring team (for which they were gonna hire me initially), who also happened to interview me, is a gem.
He takes care of me like his own younger brother. Supports me and always answers my queries no matter how occupied he is.
And same is with good products and processes. They feel effortless. So smooth and add exceptional value to your existence. They give rise to wonderful companies.
You'd never experience a single negative aspect about them. No matter how much you try, things will just keep getting better until they don't need to.
And then they'll be long gone. Never to be seen again and never to be forgotten.
You cherish them only in your memory and wish they lasted longer. But they didn't because the purpose was served.
Such people and experiences inspire me. They push me to become a better human.
No matter how the world is or how it treats me, I must always live with high values and be a better version of past self.
The other evening, I was conversing with my mother where we spoke about some family friends who are insanely wealthy but humble and kind.
Mom and I mutually agreed that they don't have such good traits because they are wealthy, but they are wealthy because they live with humility, kindness, and pure intentions.
World is surely a beautiful place because of such people and I aspire to be one. May lord guide me well :)3 -
Created a simple bot for an online game using puppeteer.
After an evening (and night) of dev and debugging (quite some rejected promise errors), it worked fine and was ready for a 10-minutely cron job.
Fixed a couple bugs in the first three hours. Then started playing minecraft, which lagged like hell.
Opened task manager and saw a list of about 25 headless chrome processes. They had not been closed because of unhandled errors before the close method call 😵
Now added some basic error handling ☺2 -
Have you become a replacement tool doing manual and menial IT work to bridge the lack of a proper IT process and streamlining?
I've worked for such companies and it's super annoying.. companies that zip projects to Google Drive instead of using a VCS.. not even having a drawing board or proper office chairs.. not even a cafeteria.. companies using Subversion instead of Git, no project management systems nor software, no JIRA, shit written down on printed paper,.. the list goes on.
A nightmare, really. Like developing in the 90's..3 -
I got notified that tomorrow I'm gonna start a porting project from a FileNet ecosystem.
Well, I don't know what is FileNet, but at least I've enough time to study its architecture. Let's start from the official IBM page:
The FileNet® P8 platform offers enterprise-level scalability and flexibility to handle the most demanding content challenges, the most complex business processes, and integration to all your existing systems. FileNet P8 is a reliable, scalable, and highly available enterprise platform that enables you to capture, store, manage, secure, and process information to increase operational efficiency and lower total cost of ownership.
Thank you IBM, now I surely know how to use FileNet. Well, I hope that wikipedia explains me what it is:
FileNet is a company acquired by IBM, developed software to help enterprises manage their content and business processes.
Oh my god. I tried searching half an hour so far and everything I found was just advertisements and not a clue about what it is.
Then they wonder why I hate IBM so much4 -
Visual Basic.
“Does VBA for Excel count? Because if it does then VBA for Excel has reached the ”nuclear resistant cockroach” level in finance.
You wouldn't believe what sort of processes in very big banks/financial institutions are built using 10-year-old VBA macros. In fact, VBA consulting for finance is a very juicy cottage industry at least in Europe to this very day.”
https://retool.com/visual-basic8 -
Hey boss. I’m not a mind reader. If you need me to change what I’m doing or how I’m doing it, you have to tell me. You changed my job three times since I was hired and our processes twice. Now would be a good time to pick a play and stick with it.
-
High paying unstable job at a startup vs. Low paying stable job at a huge company.
I'm currently at the latter and I'm expecting a job offer (hopefully!) from the other one today.
Low paying job:
Pros:
1) big name. (their stock has recently gone down tho)
2) insurance and stuff.
3) quite stable.
4) can re-skill and move to another team.
5) work from home.
Cons:
1) shit technologies.
2) lots of fake "we are a family" kinda crap.
3) shit pay for a huge company.
4) boring. I feel very unmotivated.
5) obsolete systems and management processes.
6) it would take years to save for a car even with my upcoming promotion pay raise.
High paying job:
Pros:
1) awesome salary. Like 6x my current.
2) up-to-date technologies. Something I'm passionate about.
3) team lead position.
4) I can buy a car in a couple of months.
5) might get a visa sponsorship in the future.
6) small team, my voice will be heard.
Cons:
1) it's a startup so it can go down anytime.
2) no insurance or any kinda benefits.
3) no work laptop.
I'm kinda in the beginning of my career, so my gut is telling me to risk it and go for the unstable job.
It will be my first time to be an "official" team lead and honestly idk how I'll go about it yet.
Which one would you go for?
And wish me luck! The interview went pretty well but I'm dreading for some reason.17 -
Hello devs, I need help from database devs.
The company where I'm interning is a non IT company, so they planned to migrate to a SQL Database from their older MS Access Database.
Since I'm the only IT intern, I'm up against the major devs and hot shots from where my company outsources IT solutions.
They suggested SQL Express.
I have a meeting tomorrow with them, please help me so that I can get better results for my company.
Basically I have to question them about how their decision works better for our firm and why didn't we go for MySQL Enterprise Edition or anything which is much better and cheaper and such critical questions.
Please help me.
The Database would be used to store information about the products manufactured and their parts' history so that in future if there's a problem with the product, it can be looked up in the database so that there can be further replacement or repair processes.10 -
It's been a while since I've heard a consensus of a moronic idea from the corner offices. I was invited to a department planning meeting (just to listen, not necessarily engage or add value) and discussion went to the development of a mobile app.
Mgr1: "The CEO has the net present value of the mobile project as $20 million. Where did he get that number?"
VP: "No idea."
Mgr2: "How will it be any different than our web site that is already mobile compliant?"
VP: "It is to gain market share"
Mgr3: "Market share from who? A mobile app is not going to increase our customer base. At best, it will only move some of our existing customers to mobile. No way it would scale to those numbers."
VP: "The primary benefit is so customers can browse offline."
Mgr2: "Offline browsing isn't listed in the milestones."
Mgr1: "We're not going to push and keep gigs of data up-to-date on someone's phone just for random times they don't have internet access."
VP: "I guess that's right. We can push our pdf catalog. That's only a few hundred meg."
Mgr2: "Pushing the catalog? That's not on the listed milestones"
VP: "Its all assumed."
Mgr3: "Who owns this project? Web team is already maxed to capacity."
Mgr2: "Marketing team only has 3 developers, we can't take on anything as complex as a mobile app and support the existing processes."
Mgr1: "What about the network infrastructure and PCI compliance? We're talking about a system for the web site and another for mobile, right?"
Mgr2: "Who is going to manage all the versions in the app stores and future changes to the mobile platform?"
Mgr4: "Not us"
Mgr2: "Nope"
Mgr1: "OK, good. Its very likely this project will be dead on arrival at the next company strategic meeting."
VP: "Mobile the only project on the strategic meeting agenda. Sorry guys, it's happening. We're not going to leave $20 million sitting on the table.
<awkward silence>
VP: "Next item of business ..."3 -
Agile my ass.
What has become of: "Individuals and interactions over processes and tools"?
A fuckton of rules and processes to do it the 'right' way: tickets, estimations, hours of sprint planning. Yeah, we're so professional we no longer have time to write code.
Note: manifest was mainly full of fluffy business buzzword bullshit (effective sustainable excellence), but one thing resonated:
>Simplicity--the art of maximizing the amount of work not done--is essential.
(I cherish every line of code deleted or unwritten, so it needn't be maintained)4 -
So what's up with bosses and employees that sporadically ask you to respond fast (like in the hour) to any request even though it is not an emergency? I feel like 50% of the people I work with are constantly in fireman mode, but never stop to think why they work like this.
When it comes to implementing helpful processes or improving shitty processes, I always get the "we don't have time, we are overbooked for this quarter." We never have time to improve and it fucking sucks.
Also, stop bothering me at 9-10 PM or during the weekends you bunch of no-lives. Maybe work smarter and less often?
It honestly makes me less motivated to work and depresses me a bit. I'm starting to hate my job.2 -
One thing I truly fucking dislike about the development life is knowing about server administration. I think that the mental hurdle that is to develop a huge application, make a stable dev environment, learn all the tools, tricks, techniques, modern standards, processes whatever, detailing software engineering are way tf too much to also handle server admin shit.
We don't have anyone at work that deals with that, and as such my devs need to know how to do entire series of maintenance shit that just takes time and effort plus hours of notetaking and study. I mean I get it, they should know their way around a linux environment enough to troubleshoot issues that are related to the os when working with some tools, but fuuuuuuuck me man, setting up a server, even for the holy grail of easy (standard lamp stack) takes way tf too much.
Wish we could have a dedicated server admin in the team.
I know where my faults are, setting up servers is something that I know but just can't be assed with in terms of keeping up, I wish we had a devops dedicated server admin deployment guru cuz I really cannot stand losing hours doing this shit.
It also diminishes good s admins in value, "weLl ThE deVs caN do It" YEAH BITCH but wouldn't it be nice to have an expert concentrating on JUST THAT?
FUCK man7 -
So today I got fucked by myself. And it hurts.
In my Company, we started thinking how we could organize some kind of think tank for the next 5/ years goals.
As CTO I got designated to be in these workshops... And stupid me, I started to organize the "workshops". Using " agile" and "facilitator" artifacts (serious games, ideation sessions, open space sessions, etc).
Today we finished the roadmap and proto processes to make bottom to top inclusive process, and co-create with everyone what should be the Company roadmap.
We went to dinner. And I was happily talking with my smartphone when they decided that I should preside the committee in charge of the roadmap creation!!!!!
Useless mother fuckers!!!!! Go kill yourselves!!!! I have some interesting stuff to do!!!
Why didn't I just shut it!!! Now I'll have to make sure the old cluster fuck part of the Company do real shit!!! They are fucking useless and don't give a shit about the future!!!!
FUCK THEM!!!!!
FUCK ME!!!!!!7 -
I begin with the optimism and the joy that I am creating something new that will improve people's lives.
I listen to the user and analyze the current process in depth.
I try to suggest additional value to the system for the users consideration. Sometimes they do not realize we can improve 10x rather than 2x.
I learn what the users goals are and what they want out of the system. We think about reports and downstream value. Sort of working from the end to the beginning (data ingests and upstream processes that will feed the system).
After the user signs off on the requirements and deliverables and I have a realistic project plan I begin to code.
It works and has worked for me every time for a long long time. -
I might be able to release my first application tomorrow. At least the first version.
Nothing special, be amazed if it gets much attention.
In short;
You specify any running processes you wish to forcefully close, in my case, games.
So any time these games start running, it's force closed.
The app also monitors the active window, of it's and IDE, like Visual Studio, it will add credit towards allowing those blocked processes to run.
Currently you get 1 credit for every minute you code.
I plan to refine it some more. And yes I know there's ways around it but, it was fun to make10 -
Just my luck that I get the best wk76 story ever on wk77. Either way:
So some of you may know that the current project I am on has some shared code components with one of the other projects in the product line. And we have some differences in our processes. This leads to a lot of fun.
So, I was working on converting one of our shared components into a more modern language. It would save us time, money, and sanity by allowing us to more easily maintain our product. Sounds like a win-win right? That's what I thought. Until I had a meeting with the other team. THEN THE QUESTIONS ROLLED IN. Well who is going to integrate our product with yours? (You?) Are you changing the interface? (Not really.) Are you going to generate a design document? (Absolutely not especially since the interface isn't changing for the most part.) Well you are changing the type of one parameter in one method from an undocumented unmanaged type to a well documented managed type that we control. Shouldn't you generate a document to document that change? (Again absolutely not.)
So first they basically browbeat my lead into putting me in charge of their integration effort. Its fine though, as they gave me an account to charge. However, when I was finally able to get a machine with their build environment on it (at least two months later), they then told me that that account was closing and I had to wait until next quarter. So fuck me right. And because of their process I would break them if I were to check my changes in.
So fast forward to today. They are translating some shared components for the same reason that we are. However, they are changing code that while shared is technically "ours" and that will DEFINITELY break us if they do this work since this is the code that controls our algorithms. And while we have a fault tolerant process, or at least more fault tolerant than the other group's, we are currently doing a huge amount of development in the part they want to change. And when we ask them "who is going to do this work to integrate our product with your changes?" they stare at us slack jawed. Like "um, you right? it doesn't affect us." Like MOTHERFUCKERS!!! YOU LITERALLY JUST FOIST ALL THIS WORK ON US TO INTEGRATE WITH YOU BECAUSE YOU DIDN'T HAVE THE PEOPLE TO SUPPORT IT!!! BUT YOU CAN PAY THIS GUY FOR SIX MONTHS TO DO ALL THIS WORK THAT WILL BREAK US BUT CAN'T SPARE HIM TO INTEGRATE WITH US!?!?!? EVEN IF WE'RE PAYING HIM AND NOT YOU!?!?!
I will let you know how this goes when we have the discussion. I am drinking right now because it it easier and better for my emotional and physical health than bum fights. -
Many "purists" love to piss on JavaScript and web development. And to an extent I can understand ostream’s frustration with these people.
It’s easy to criticize because yes: many web projects are indeed shit.
But I’d like to argue that the reason why so many of these projects are crappy is because of bad management:
- unrealistic deadlines
- no clear testing strategy
- or no testing at all because of deadlines
- no time allotted to catch up on technical debt
- etc.
This type of management is far more commonplace in web projects because things need to get delivered quickly and if they’re delivered with bugs, it’s no big deal as lives aren’t at stake.
I doubt this type of management is tolerated in projects where you’re working on software for welding machines (for example), where the stakes are that "you’re expected not to kill anyone" (to quote demolishun)
So in these types of projects, management can’t tolerate anything much below perfection and thus has to adapt by setting realistic deadlines that take into account the need for quality processes and thorough testing.
If this type of management was more common in web development, I can guarantee that web applications would be much more reliable and of better quality.
I can also guarantee that poorly managed non-web projects as outlined above would be just shitty as many web products.
My point being that’s it’s really DUMB to criticize fellow devs that work with web technologies on the basis that the state of websites/web apps is a mess. It just so happens that JS is the language of the web and that the web is where things are expected to be delivered quickly (and dirty … but we can fix it later mentality)
Stop acting like you’re the elite. I have no doubt you’re super smart and great at what you do. So be smart all the way and stop criticizing us poor webdevs that have to live with the sad state of affairs. ❤️38 -
It's always so funny when a person starts using multiprocessing in Python, because if there's "multi", obviously THIS is the thing that should free the person from a headache of having GUI frozen. You know, because it does "multiple" ehm... stuff..... at once....... yeah. And it's popular, it must work for me too! Oh how often I see this. :D
Stupidly enough that's not entirely a user's fault, but Python's as naming things with "multi" doesn't end up well basically with anything. I bet if there was such thing as multipointer in C half of the beginners would be totally fucked and the other one would just break their machines beyond repair with a joy.
Yet... reading the damn documentation should be a requirement before using threading or multiprocessing to prevent the confusion, because there's this funny difference between multiple threads and multiple processes which will haunt you unless you see what's what and use it correctly.2 -
I wrote a Rust script in 10 minutes or so that processes several GiB's big ISO files and it calculates its values so fast, that most time is spent waiting for the HDD! Look at the CPU usage and the disk read/write stats :D
(No, the picture is not fake, it's a real screenshot from my desktop edited with Gimp)7 -
How do I make my manager understand that something isn’t doable no matter how much effort, time and perseverance are put into it?
———context———
I’ve been tasked in optimizing a process that goes through a list of sites using the api that manage said sites. The main bottle neck of the process are the requests made to the api. I went as far as making multiple accounts to have multiple tokens fetch the data, balance the loads on the different accounts, make requests in parallel, make dedicated sub processes for each chunks. All of this doesn’t even help that much considering we end up getting rate limited anyway. As for the maintainer of the API, it’s a straight no-can-do if we ask to decrease the rate limit for us.
Essentially I did everything you could possibly do to optimize the process and yet… That’s not enough, it doesn’t fit the 2 days max process time spec that was given to me. So I decided I would tell them that the specs wouldn’t match what’s possible but they insist on 2 days.
I’ve even proposed a valid alternative but they don’t like it either, admittedly it’s not the best as it’s marked as “depreciated” but it would allow us to process data in real time instead of iterating each site.3 -
Our company hired a "Human resource consulting" to help with our internal processes and policies. Yesterday they showed us an Excel that we should fill when we travel to attend meetings, events, courses, etc.
This spreadsheet... OH, THIS SPREADSHEET... you should've seen that.
Most of the "labels" of the "fields" were writen with terms that we do not use in our daily basis. The fields were ambiguous. You shout put a number on the Transportation quantity (ex.: 5) but have no space to describe which transport you will use (bus, metro, uber... so... 5 what?). When we asked which name shoud go on the field "superior" (director, pm, scrum master...) the woman from this consulting said "oh, I don't believe you're asking about this" (and since then, she became more rude by the end of the meeting).
We care for quality in our apps, and UI/UX is a big thing in our company. The last thing we want is need to read a f*#1n manual to fill a spreadsheet. Make it intuitive and you will not need an hour and a half to explain how to fill this obsolete form.
It's sad to think that this person was hired to improve our company, but did not bother to understand the company's culture (and values, and terms) first. -
"Our supplier asks that you double the number of php child processes for this fpm pool"
"Are you aware, that that would lead to about 100% of memory overcommit, taken the current limit of 128MB/child, and that if a lot of them started at once, the system would probably go for OOM-Kill, which would most probably kill your database, that still runs on 100% MyISAM tables that do not support transactions, and you'd have to kiss your data integrity goodbye, right?"
"Uh... Nevermind then"
I get that some people are not IT-versed, but really... Hire someone who knows what they are doing and doesn't live 20 years in the past, god damn it! -
A coworker created several WinForms-Tools because it was "more comfy" than learning XAML which we usually use for all our sw clients.
Now that these tools are relevant for our infrastructure and some even for the product itself they have to be maintained by others as well.
Note: he tried to use OOP but the result is more like a complete new style of programing . Processes, objects and external scripts in the mix.
Mainreason why noone could know about it: the product manager used him as kind of private dev for some hours a week. No reviews, barely documentation... Now we decided that developing the tools from the scratch is more time and cost efficient.
What a mess... -
I don't understand some developer's thought processes when they fix a bug/issue.
Let's say the error is -> "Cannot read property id of undefined".
My first thought is to add a check for undefined and null and figure out if further code should be executed if a null or undefined is encountered, depending on what the code is supposed to do.
But some devs are like, "Yesterday the sunrise was at 5:30 AM, Earth's rotational axis is titled at 15 degrees to the left, My aunt asked me about how I am doing today, so therefore the bug fix is required at line 65,456 of this particular kernel file".
And they implement it, and it WORKS.
Weird.5 -
An annoying type of colleague: the kind that refuses to cooperate and insists on doing shit their own way because they have done it that way for years and they become little crybabies whenever someone new tries to work with them.
Somehow managers accept their baby-like behavior because they've been producing output. However, like my Business Processes professor said: "Don't focus on output".
It's just annoying trying to work with these guys. -
It's well known that Amazon uses robots in their warehouses, but I had no idea that they stock them randomly? They just put new products wherever they fit best, scan the box (obviously) and once finished, the robot just drives off on his merry way to god knows where.
And since this is Amazon, they spend the time and money to optimize the entire process in every aspect so this *is* the most efficient way to store (and later pick) products in definitely.
It is kind funny, with all the precise machinery, optimized processes and 1984 like surveillance of their employees, it turns out that distributing things randomly is the most efficient way to run an Amazon warehouse. Like, no AI, or something based on ratings or on historic trends. Just random.
(Link to video https://youtube.com/watch/...)7 -
Email from a department mgr regarding a sharepoint site we inherited (lots of custom javascript, XLS, etc, stuff we didn't write)
Dan: "The department filter isn't showing up when I select the 'Logistics and Support' department. Was this caused by the changes you guys made? Its causing a major disruption in our processes and need it fixed ASAP."
Me: "Those changes went out almost two months ago and all the filters were working fine, at least that is what you told me when you tested it."
Dan: "I thought so, but its not working. It has probably been broken ever since you made those changes so I filed a corrective action ticket against your department for not following the documented deployment and testing processes"
Me: "Really? We've been over this. Its your department that is responsible for that sharepoint site. Previous developers hacked javacript together to make it all work, but I'm sure its something simple."
Dan: "Great. I'll start putting together a root-cause analysis to determine which of your processes we need to address."
Start looking at the javascript and found the issue..
if (dept === "Logistics & Support") {
$('deptFilter').show();
}
else {
$('deptFilter').hide();
}
Me: 'Found the issue. Did you rename the logistics department?'
Dan: 'No'
Me: 'To show or hide the filter, the code was looking for "Logistics & Support", someone changed the title to "Logistics and Support"'
Dan: "Well...I guess I did that yesterday...but I didn't change the name, just that stupid character. That shouldn't make any difference."
Me: "I can fix that right now. Are you going to need more information for your root cause analysis?"
Dan: "No, I think we're good. Thanks."1 -
Fucking hell it pisses me off when you go to so much trouble to streamline processes, set up systems that improve workflow and solve issues, find better solutions and show how they make life easier... and people are like "yeah nah let's just do things the same old shitty way we've always done things".
(╯°□°)╯︵ ┻━┻5 -
FIRE DRILL!!!!!
Customer who decided to deploy our system in the middle of their busiest time ... and kinda ad hoc-ed their ... human processes (not sure what to call it). Just to get by, and then sort of let things rot.
So last week they contact us and say "OMG some poor soul at this company was spending hours making spreadsheets to track what they were doing... and they keep fucking it up because it's nigh impossible to get right".
Real story, big shake up at the company, and someone said "lets look at our process" and they discovered "holy fuck we have this software but we're doing shit like it's the damned civil war".
This naturally raised questions about the competence of the folks we work with ... who chose our software, and thus our software.
So now we're flushing out all the stuff we asked the customer to figure out months ago that is usually done via a months long implementation / integration ... in a few days. Also ... I'm making some new things for them.
WEEEEEEEE
Granted, we're billing them like mad for this so no big deal really.1 -
VSCode is not working. I hate this crap more and more each day.
Its intrusive, messed with file permission, does whatever it wants, spawns lots of clashing processes, takes endless for linting/highlighting/running lots of bs trojan processes in the background and effectively blocking you from being productive more and more.
It's dangerous to my computer and my health!!rant bullshit spyware man-in-the-middle-attack crapware crazy vscode trojan horses global virus blocking hate health8 -
I was tasked to evaluate wherever a customer could use an implementation of OTRS ( https://otrs.com/ )
Is it just me or is there no information on this site apart from <OTRS> will make your life better! <OTRS> will cure AIDS! <OTRS> will end world hunger!
This site is trying to use its fucking product name in every god damn sentence. <OTRS>. Everytime <OTRS> is mentioned it is fucking bold printed! My eyes are bleeding within 2 minutes of visiting this site.
I can't get any information about what excatly it is apart from their catchphrase: OTRS (again, bold. I'll refrain from putting it in <> from now, i think you got the point) is a customizable support desk software that manages workflows and structures communication so there are no limits to what your service team can achieve.
So, it's a support desk software you can customize. Great. What does it do?
"Whether you deal with thousands of inquiries and incidents daily [...] you’ll need digital structures that integrate standardized processes
and make communication transparent between teams and departments,
as well as for external customers."
Great, but what does it do?
"Reduce costs and improve satisfaction by structuring customer service communication with OTRS."
Great, BUT WHAT DOES IT DO?
"Manage incidents simply and uncover the data needed to make forward-thinking strategy decisions. OTRS is an ITSM solution that scales and adapts to your changing business needs."
W H A T D O E S I T D O ?!
Okay fuck that, maybe the product page has something to say.
Hm... A link on the bottom of the page says it is a feature list ( https://otrs.com/product-otrs/... )
Ah great, so i got a rough idea about what it is. Our customer wants a blackboard solution with a window you can pin to your desktop and also has a basic level of access control.
So it seems to be way to overloaded on features to recommend it to them. Well, let's see if can at least do everything they want. So i need screenshots of the application. Does the site show any of them? I dare you to find out.
Spoiler: It does not. FFS. The only pictures they show you are fucking mock ups and the rest is stock photos.
Alright, onwards to Google Images then.
Ah, so it's a ticket system then. Great, the site did not really communicate that at all.
Awesome, that's not what i wanted at all. That's not even what the customer wanted at all! Who fucking thought that OTRS was a good idea for them!
Fuck!5 -
Hello,
I just quit my job at a big market research company. It was disturbing how much processes there depended on excel and obscure visual basic scripts.
They load data from a database, do typical database tasks with excel and upload it back into the database.
PhDs run complex statical computations through an excel interface that passes the request to R.
Instead of an hour Python they execute stupid tasks with excel by hand. Day after day, month after month.
WHY? My colleagues were not dumb but instead of learning SQL and some python they build insane excel tables.
Maybe it's time pressure. But this excel insanity costs much more time in the end.5 -
Junior dev here. Finishing a boot camp, actively going through a few job application processes.
One of the companies has given me a tech assignment (for a Graduate Junior position, mind you) that was titled Full Stack Mid Level Challenge. It took me a week to build an app they asked and do analitycs and refactoring of the second part of the task (I only had late evenings free to dedicate to that), it was my first time doing back-end in Node (my boot camp teaches PHP) so I basically learned to do it while doing this challenge.
They asked testing and clean architecture.
I submitted the assignment (I thought I would die while doing it, exhausted, I think I was brain dead for a short perio of time, but I submitted it on time).
They got back to me and we had already have a tech interview with the Leads that had live coding at the end. Don't have feedback yet, really won't be surprised for whatever comes, it was literarly my first interview, treating it like a valuable learning experience.
But. This rant is not about this. Thsi is just to put you in my mood.
This is the !rant:
My classmate from the bootcamp is probably already hired, or will be one of these days. As a tech challenge she was asked to do FizzBuzz kata. I repeat, FizzBuzz bloody kata!
Now, I am very happy for this person, the situation is complicated and this job is extremely needed.
But, please, explain to me, HOW??? How is it possible that selection criterias vary that much?
End of rant. Thank you very much.4 -
I’m currently working with a devops team in the company to migrate our old ass jboss servers architecture to kubernetes.
They’ve been working in this for about a year now, and it was supposed to be delivered a few months back, no one knew what’s going on and last week they manage to have something to see at least.
I’ve never seen anything so bad in my short life as a developer, at the point that the main devops guy can’t even understand his own documentation to add ci/cd to a project.
It goes from trigger manually pipelines in multiple branches for configuration and secrets, a million unnecessary env variables to set, to docker images lacking almost all requisites necessary to run the apps.
You can clearly see the dude goes around internet copy pasting stuff without actually understanding what going on behind as every time you ask him for the guts of the architecture he changes the topic.
And the worst of all this, as my team is their counterpart on development we’ve fighting for weeks to make them understand that is impossible the proceed with this process with over 100 apps and 50+ developers.
Long story short, last two weeks I’ve been fixing the “dev ops” guy mess in terms of processes and documentation but I think this is gonna end really bad, not to sound cocky or anything but developers level is really low, add docker and k8s in top of that and you have a recipe for disaster.
Still enjoying as I have no fault there, and dude got busted.9 -
** this means words are muted **
Friday:
I send a mail the client a Google doc with elaborate details about evaluation of an Android tablet from a Chinese manufacturer.
Monday:
The client is upset, he says "You say there is no GPS chip on the tablet while the manufacturer says otherwise"
Me- "I have clearly mentioned that it has a GPS chip"
Client- Opens the Google doc, points to a sentence. Looks at me like I did something horrible.
Me - **This guys is either word blind or something else is wrong with him, the line reads 'GPS chip available'**
Me- "Look, it says 'GPS chip available'.
Client- **Blinks n blinks again** "Alright, but why did you share a Google document, why not PDF, docx"
Me-**Politely** "You can download the document in any format, look I will show you..."
Client- "It should have been in the mail itself ideally"
Me- **WTH** "We normally maintain a document for such things to keep everything organised, but if you want I will put everything in mail itself"
Client- "Hmm.. do both from next time"
Me- "Alright" **BS**
Client- "Why is the new feature taking so much time"
Me- "As planned earlier, we going to deliver it tomorrow"
Client- "Why not today??" **Gives a strange look.**
Me thinking - **Enough**
Me- "See, I am trying to integrate a smarten with a socket connection, reading it's data via exposed APIs that are hardly documented, we need faster performance so I need to implement caching, multi threading, offline handling, multiple processes to avoid memory fluctuations, sync adapter to sync data...."
Client- "Ok ok ok, it's fine if you give working build tomorrow"
Me- "Ok, fine"
#limit1 -
Well... instead of imposter syndrome I think I have something more alike "I can't fucking tell if I'm smarter than everyone around me or if I'm so dumb I have no clue what's going on"-syndrome.
And trying to be rational, I usually consider the second option to be more probabile... right?
Or maybe, the way my brain processes things is just so different from the people I know that It creates a layer of incomunicability, so that others can't understand my reasoning as much as I can't understand theirs.
The usual speaking-through-jargon-all-the-time trend I've encountered is also not helping.
So I strive daily to align myself to what's going on, trying not to slow anybody down, but that drains my mental energies so much I end up getting done so little... and then I realize _everybody_ has done a similar amount of work.
Are maybe my standards too high?
Or it's normal for teamwork to slow everybody down THIS much?
I used to work much better alone, or in teams with proper separation of tasks between people. Like - we agree on a common interface and then everybody goes his own way implementing his part, and as long as the contract is respected and nothing breaks, nobody cares about what's inside the boxes.
But I don't see it coming again anytime soon, and people seem to have an averagely-good opinion of my work. So well, if I get paid and things cruise along fine, there should be nothing to complain about.
Shit, I've let my flow of consciousness out.2 -
Brave Browser.
There’s a reason why brave is generally advised against on privacy subreddits, and even brave wanted it to be removed from privacytools.io to hide negativity.
Brave rewards: There’s many reasons why this is terrible for privacy, a lot dont care since it can be “disabled“ but in reality it isn’t actually disabled:
Despite explicitly opting out of telemetry, every few secs a request to: “variations.brave.com”, “laptop-updates.brave.com” which despite its name isn’t just for updates and fetches affiliates for brave rewards, with pings such as grammarly, softonic, uphold e.g. Despite again explicitly opting out of brave rewards. There’s also “static1.brave.com”
If you’re on Linux curl the static1 link. curl --head
static1.brave.com,
if you want proof of even further telemetry: it lists cloudfare and google, two unnecessary domains, but most importantly telemetry domains.
But say you were to enable it, which most brave users do since it’s the marketing scheme of the browser, it uses uphold:
“To verify your identity, we collect your name, address, phone, email, and other similar information. We may also require you to provide additional Personal Data for verification purposes, including your date of birth, taxpayer or government identification number, or a copy of your government-issued identification
Uphold uses Veriff to verify your identity by determining whether a selfie you take matches the photo in your government-issued identification. Veriff’s facial recognition technology collects information from your photos that may include biometric data, and when you provide your selfie, you will be asked to agree that Veriff may process biometric data and other data (including special categories of data) from the photos you submit and share it with Uphold. Automated processes may be used to make a verification decision.”
Oh sweet telemetry, now I can get rich, by earning a single pound every 2 months, with brave taking a 30 percent cut of all profits, all whilst selling my own data, what a deal.
In addition this request: “brave-core-ext.s3.brave.com” seems to either be some sort of shilling or suspicious behaviour since it fetches 5 extensions and installs them. For all we know this could be a backdoor.
Previously in their privacy policy they shilled for Facebook, they shared data with Facebook, and afterwards they whitelisted Facebook, Twitter, and large company trackers for money in their adblock: Source. Which is quite ironic, since the whole purpose of its adblock is to block.. tracking.
I’d consider the final grain of salt to be its crappy tor implementation imo. Who makes tor but doesn’t change the dns? source It was literally snake oil, all traffic was leaked to your isp, but you were using “tor”. They only realised after backlash as well, which shows how inexperienced some staff were. If they don’t understand something, why implement it as a feature? It causes more harm than good. In fact they still haven’t fixed the extremely unique fingerprint.
There’s many other reasons why a lot of people dislike brave that arent strictly telemetry related. It injecting its own referral links when users purchased cryptocurrency source. Brave promoting what I’d consider a scam on its sponsored backgrounds: etoro where 62% of users lose all their crypto potentially leading to bankruptcy, hence why brave is paid 200 dollars per sign up, because sweet profit. Not only that but it was accused of theft on its bat platform source, but I can’t fully verify this.
In fact there was a fork of brave (without telemetry) a while back, called braver but it was given countless lawsuits by brave, forced to rename, and eventually they gave up out of plain fear. It’s a shame really since open source was designed to encourage the community to participate, not a marketing feature.
Tl;dr: Brave‘s taken the fake privacy approach similar to a lot of other companies (e.g edge), use “privacy“ for marketing but in reality providing a hypocritical service which “blocks tracking” but instead tracks you.15 -
On the days when I just want to sob and put my head through the monitor....
I get out a piece of paper and draw my processes (whether that be code or mapping etc). Each step of each process, helps to represent the input and output of each method.
This makes it easier to find which step isn't giving the desired output....
Either this or the rubber duck method. :) -
Ugh, I hate having to port data from windows to Mac. I myself use Linux and windows. My mom got her first Mac for her birthday, but she needed her 200gb of pictures on I cloud. So I thought it would be like Dropbox, put them in a folder or start an upload and then it processes and is on the cloud. NO. It’s a hellscape as Apples windows programs are awful and I’m ashamed they exist. There is no indication of when they have successfully uploaded, you just have to figure it out. It also doesn’t help when macOS Is oversimplified. Ugh. I ended up taking my terabyte external and having to wait 3 hours for files to transfer and put those on the MacBook. I hate I cloud more than comic sans. I know Dropbox isn’t great or even good for security reasons, but it’s a hell of a lot better than I cloud BULLSHIT.
-
I discovered a commit message from one of my (senior) colleagues today. It made me shudder. It read, 'Just adding some changes made outside of source control and deployed (over last 12 months)'.
I genuinely think he can't follow any processes he didn't design. He controls the servers too, so it's not like any pipeline would prevent him from just doing what he wants. It's a bit scary to be honest, he thinks MD5 is a secure password hash! -
I can now leave freely without any regrets!
The slight misgivings I had about leaving this place over the toys they provide, is now gone because I re-realized that while this place adopts new tech, it doesn't adapt to it. So they have shiny tools but the people and processes won't change.
It seems to me that due to pressure to deliver, there is little thought/analysis behind any tech change.
They don't plan to change their wretched delivery pipelines. Everything will be same but on git. So no velocity gains, and same bureaucratic review request process. Such a waste. This attitude applies to their other tools too. They are using a unit test library to write tests that don't use mock. They are using modern languages but without modern idioms. It's like writing C code in C++. And of course theoretically we are agile but actually we're just a waterfall team with managers on our ass everyday and tighter release schedules.
Reminds me of @boombodies recent posts and discussion about business spaghetti reflecting in code.
There are possibly multiple reasons for these problems but I think a large part of it is a lack of empathy/mutual respect. Everyone's too insecure, noone cares for anyone but themselves and people just try to outwit each other. -
So I tried to use Opera a few times at a time with different IP addresses(Opera has a VPN but normally only one connection) ...
I decided to copy the portable version
Via CMD to create a few Profiles(6 GB) and create a launch.bat
Now I have Opera running about 50 times and now my Computer starts making noise because I have a total of over 400 Processes running
CPU & RAM love it1 -
App idea: Program that processes funny dog/cat videos and removes the annoying ass thought bubble text they put in them. Like "I is hungreh" or "you is doin me a concern" or whatever. That shit. I hate it.6
-
There was a rant earlier of someone working a 9 to 5 job now which i can't seem to find, wanted to answer in regards to wk26
They were complaining about it being a boring job with boring processes and not learning anything new..
you can't say that you haven't learned something new, i bet you haven't learned a new language or technology but there are plenty of other skills to be picked up from a company that have worked for this all their lives..
I mean, these kind of companies have either seen it all already and had tons of bad experiences they are trying to avoid, or then never experienced any of them but are still trying to avoid them.
I once worked for a Japanese company in Europe. All decisions (big or small) were taken by answering with the phrase : If it isn't broken, don't fix it. As a result they had an excel with over 64k complaints in them (1 row per complaint) and their website was running on 19 Sun servers, load balanced, using php 4.2 because the technology was just too old.
Point being, plenty of things to learn, getting new experiences, even if they are bad, at least now you know, how not to do things in a certain way, but all in all, working at different places, even bad ones, gives you perspective..
And perspective is important.
Perspective is experience.
It's the bit that glues the knowledge together.
Go out and explore, don't be afraid, everyone needs bad experiences, even if it was only so we can identify the good ones. -
Malwares are nasty applications, that can spy on you, use your computer as an attacker or encrypt your files and hold them on ransom.
The reason that malware exists, is because how the file system works. On Windows, everything can access everything. Of course, there are security measures, like needing administrator permissions to edit/delete a file, but they are exploitable.
If the malware is not using an exploit, nothing is there to stop a user from unknowingly clicking the yes button, when an application requests admin rights.
If we want to stop viruses, in the first place, we need to create a new file-sharing system.
Imagine, that every app has a partition, and only that app can access it.
Currently, when you download a Word document, you would go ahead, start up Word, go into the Downloads folder and open the file.
In the new file-sharing system, you would need to click "Send file to Word" in your browser, and the browser would create a copy of the file in a transfer-partition. Then, it would signal to Word, saying "Hey! Here's a file that I sent to you, copy it to your partition please!". After that, Word just copies the file to its own partition, signals "Ok! I'm done!", and then the browser deletes the file from the shared partition.
A little change in the interface, but a huge change in security.
The permission system would be a better UAC. The best way I can describe it is when you install an app on Android. It shows what permission the app wants, and you could choose to install it, or not to.
Replace "install" with "grant" and that's what I imagined.
Of course, there would be blacklisted permissions, that only kernel-level processes have access to, like accessing all of the partitions, modifying applications, etc.
What do you think?7 -
This weeks question fits me well, as I am still unsure about the full details of how the fuck this all came together and was about to just rant about it anyway.
Ever since this companies network equipment and cabling has been updated, a lot of vital tools went down and bug out every now and then, at seemingly random times.
The codebase is a horrible mess to begin with and random things execute at random times and at random places spread all over different resources that get random hooks from random physical values etc.
Turns out (or at least what it so far seems like) all of them somehow sync their clock and other variables based on how many (valid-?) requests it gets per measured time and similar oddities, so when the network equipment got updated, that meant that multiple processes now could reach each other much faster and therefore threw off thousands of values and internal clocks.
There's a total of like 600 systems that are all "separate" from each other but all need to communicate in-sync for the production chain to properly work. Thankfully I didn't sign anything yet, so might actually just redirect them to somebody else, I am not ready to age 20 years, even for the amount that would pay.1 -
Ugh am so done with linux.
I dualbooted ubuntu 16.4 LTS alongside win10 on my new laptop 3 years ago. Back then , the whole os and kernel stuff were new for me, but once i understood how things work in it, i always found linux to be a superior alternative for doing any development related task than windows.
The way terminal gives us sheer raw power to handle services and applications ourselves makes everything easy in linux.
Wanna run a lamp server? Install all parts by yourselves. Problems with the lamp server? You are just 1 command away to know which service/package is causing issue. Some python module fucked up? You can go on checking every package present anywhere on your disk. No permissions? Sudo.
But recently i got so much fed up of its gui. I have gone from 16.4 to 18.4 to 20.4 , but no version seems to handle multiple gui s/w running parallely .
I usually have the requirement to open 2-3 windows of chrome with 30-40 tabs, 1-2 projects of Android studio and studio emulator. But this shit blows even with just 1 project open on studio and nothing else! The even the keyboard and mouse gets stuck when i studio is making a built.
And don't get me started on how slow my system becomes when switching b/w AS and chrome :''( . Maybe there's issue with the dual boot or because i gave very large swap/root partitions when i first dualbooted or something else , but i am in so much pain :/
Finally i went back to win10 a month ago and was a little surprised to find that it sucks a little less now. Aside from the ugly forceful updates, it has been a breeze for working . The builds take longer time (fuck windows defender), but My Android studio (and everything else) does not lag when switching between multiple processes. I even once ran an emulator instance and it was still working fine . The process management of windows is very good.
I have heard that mac is kind of in middle of the 2 and better than both providing rich process management and powerful terminal commands . Waiting for the day when i have enough money(or no longer require my kidney) to buy and maintain a MacBook :/14 -
story of a release
v2.1.0 major changes went live : new features, bug fixes, optimisations. also included releases for 2 associated libraries
release process tasks:
- do code
- update test cases
- test sample app
- test on another sample app
- get code reviewed and approved by senior ( who takes his own sweet time to review and never approves on first try)
- get code reviewed again
- merge to develop after 20 mins( coz CICD pipeline won't finish and allow merging before that)
- merge to master after 20 mins( coz CICD again)
- realise that you forgot to update dates in markdown files as you thought the release will be on 10th sept and release is happennig on 12th sept coz of sweet senior's code fucking/reviewing time
- again raise a branch to develop
- again get it a review approval by sr (who hopefully gives a merge approval in less time now)
- again get it merged to develop after waiting for 20 mins
- again get it merged to master after waiting for 20 mins
- create a clean build aar file
- publish to sonatype staging
- publish to sonatype release
- wait for 30 mins to show while having your brain fucked with tension
- create a release doc with all the changes
- update the documentation on a wyswig based crappy docs website
- send a message to slack channels
- done
===========
why am i telling you this? coz i just found a bug in a code that i shipped in that release which still got in after all the above shitty processes. its a change of a 3 lines of code, but i will need to do all the steps again. even though i am going through the same shitty steps for another library version upgrade that depends on this library 😭😭
AND I AM THE ONE WHO CAUGHT IT. it went unnoticed because both of those shitty samples did not tested this case. now i can keep mum about it and release another buggy build that depends on it and let the chaos do its work, or i can get the blame and ship a rectification asap. i won't get any reward or good impression for the 2nd, and a time bomb like situation will get created if i go with 1st :/
FML :/6 -
Just remembered that I still had a foobar invite link in my email inbox 😋
The challenges are odd though, first challenge was super easy (basically an idiot check), but while I was able to convert 3 cans of energy drink into a functional solution in half an hour, the verification utility is not very verbose at all. So in Python 3.7.3 in my Debian box it worked just fine, yet the testing suite in Foobar was failing the whole time. After sending an email to my friend that gave the link (several years ago now, sorry about that! 😅) asking if he knew the problem, I found out that Google is still using Python 2.7.13 for some reason. Even Debian's Python is newer, at 2.7.16. To be fair it does still default to Python 2 too. But why.. why on Earth would you use Python 2.7 in a developer oriented set of challenges from a massive company, in 2020 when Python 2 has already been dead for almost a whole year?
But hey now that it's clear that it's Python 2.7, at least the next challenges should be a bit easier. Kind of my first time developing in SnekLang regardless actually, while the language doesn't have everything I'd expect (such as integer square root, at least not in Debian or the foobar challenge's interpreter), its math expressions are a lot cleaner than bash's (either expr or bc). So far I kinda like the language. 2-headed snake though and there's so much garbage for this language online, a lot more than there is for bash. I hate that. Half the stuff flat out doesn't work because it was written by someone who requires assistance to breathe.
Meh, here's to hoping that the next challenges will be smooth sailing :) after all most of the time spent on the first one (17.5 hours) was bottling up a solution for half an hour, tearing my hair out for a few hours on why Google's bloody verification tool wouldn't accept my functioning code (I wrote it for Python 3, assuming that that's what Google would be using), and 10 hours of sleep because no Google, I'm not scrubbing toilets for 48 hours. It's fair to warn people but no, I'm not gonna work for you as a cleaning lady! 😅
Other than the issues that the environment has, it's very fun to solve the challenges though. Fuck the theoretical questions with the whiteboard, all hiring processes should be like this!1 -
It’s strategy week. And I have flown to A COMPLETELY DIFFERENT FUCKING COUNTRY.
In their wisdom, it has been decided that I, master of all knowledge (not!) will outline a roadmap for potential tech to come and where our pain-points are. They don’t have the slightest. CORP only now talks about AI and NOTHING sane is even closely is being addressed.
Fucking retards.
It is all for show.
It’s just a game for them.
Fucking holistic people.
Fuck leadership in IT with no actual knowledge of the pain of database upgrades. Fuck em!
It’s all pretending and using big words. I been in meetings where people actually use the words AI, autonomous and digital twin. In the same fucking sentence. Fucking imbecils! Do they even know how fucking impossible that is in a company like this where we struggle every-single-day with a tech debt that is actually incomprehensible. Yesterday I found code from 1978 in use, with no knowledgeable maintainers. Which is very cool but will be difficult, to say the least, to migrate. At the core of one of the deepest core processes at a specific site (we kind of make things). 1978. Thousands of lines of code.
We are NOT in a position at all to say things like this. Autonomous. We are NOT ready. We are NOT staffed and we will not be since we have NO money to hire the necessary workforce of 100 people it would take to actually do something useful. Even if we could hire them the time it would take to actually hold on to them would be too short. Since people are LEAVING THIS COMPANY SINCE IT/TECH IS NOT CONSIDERED TO BE IMPORTANT to the company.
Fuckers. I can take out half the factory in one minute.
Autonomous? AI? It is such a shitshow. And really, really depressing.
I wonder if they know. What would happen. If key persons was to decide to leave.
The care that has been put in place for this factory (HUGE FACTORY!!! HUGE!!!!!!!) system support is just really… well, crazy actually.1 -
Computer science vs software engineering?
Software engineering is all about people. You have to communicate with the business, realizing their needs, figuring out their processes, optimizing them, all this before the first line of code is written. Then, you have to manage your direct reports, and if you have none, write code with people in mind, people who will read it after you. As they say, code is for people, not for computers. Then, you have to improve the app listening to users, again, people.
I can’t assign a software engineer a role higher than middle if they’re bad with people.
If you wanna do cool stuff with computers and be a misanthrope, do computer science! It’s a very prestigious field where you are left alone with scary math and fundamental concepts. If you’re successful there, you’ll have a mad asocial scientist card, and no one will ever insist to you that people is important. They will just accept that they shouldn’t annoy you, and you are “allowed” to yell at them because you’re “special” and a “genius”. You can hate them 24/7.1 -
Random guy messages me on WhatsApp that he needs help, that his friend told him I'm good at blah blah blah.........
the issue: he paid for some random php bitcoin thingy blah blah, sent me a link to the site, pretty straightforward instructions on how to use it. I explained everything to him and he says he wants to tweak the php script before he puts it out.
me: then do it
him: how do I start?
me(in my head): did you not think of this before paying for the script?!
also me: oh well, download xampp, good for beginners, easy to setup.
him: not working! please help me
I knew from the onset that he was a windows user.
he started by running it without admin privileges
I had no idea and kept solving problems that didn't exist until I asked him to snap the log, after explaining how to run a software as administrator, we Solved it
port 80 was taken. had to go through the process of changing the ports, I had to validate every single change.
going through the procedure of reinstalling because he installed to some crappy directory. after all the headaches and then redoing all the processes stated above, it still doesn't work.
one final solution left and I am dropping him like a hot potato. I must have close to a hundred pictures of someone's screen on my phone.
little question: when he types localhost on his browser windows IIS page thingy pops up. I was thinking of changing the server name to localserver: new port address6 -
Now that my math posts have failed to garner the anger they formerly did, we here at Wisecrack Studios, like all teams of people completely out of ideas, have come up with a brilliant never-before-tried concept to bring fresh shitposts to your pocket-telescreen this fine year of 2020.
We present to you the DevRant shitposter census!
Yes we pride ourselves in our quality bait and bullshit here at WS. Founded in [previous year a long long time ago], we focus on craftmanship, tradition, and doing it right. Our bait is loved the world over for "it's fresh flavor", "so good, it's like you're abusing heroin right along with the company employees!'
And now, you too get to participate and choose your very own bullshit!
You could say we may have invented a totally new word just to describe it: crowdsourcing!
Isn't it just *brilliant*.
Here is Wisecrack's "Private Select" census, of only the most choice *premium* finely-aged shitpost ideas for this [current year].
Please, please, one vote per customer!
* Moar javascript shitposts (no we won't be doing any more, even WE are tired of js rants).
* Overly pixelated memes (obviously not) blatantly ripped and automatically uploaded via shitty selenium scripts
* Real life hijinxs, trolling shitty companies hiring processes for fun at their expense!
* DevRantCon now with 100% more orgies. Reserve your kickstarter ticket today.
* Disappointing vaporware announcements that take ten minutes to read and build your excitement up only to crush it before your very eyes like a child's first lego build in the hands of an angry nd merciless andre the giant disappointed by the craftmanship of a five year old.
* A livestream of a monkey on an actual typewriter, with a btc betting pool each time an actual word is typed, along with a $5 "shock the monkey" button to spice things up a bit
(our lawyers are informing us this may or may not be illegal in some or all nations. We'll get back to you when sealand responds with our request about their laws on unnecessary animal cruelty. )
* Video conference with devrants creators where we all play "I've never" that doesn't end until at least one person passes out black drunk.
* Weekly comedy write ups with jokes (not obviously) blatantly stolen from cards against humanity
* HipsterRants: why your favorite [thing - game, music, movie, book] sucks, and why I hate you for liking it.
* Did we mention javascript rants?
* Cool new projects by devranters and our merciless breakdown of why each one is pure, unadulterated shit, everything that was done wrong, and why you should personally be ashamed for using it.
* SadRants: cancer, meth abuse, homelessness, how we'll all die at the end, and how the sun will one day turn into a giant ball of fire that will consume the earth and leave no trace that anyone ever existed, and nothing we do will ultimately matter.
* HappyRants: ( ͡° ͜ʖ ͡°) oh yeah, you feeling it now mr krabs?
* Technical breakdowns that are completely wrong, utterly incompetent, intentionally misleading, and wildly upvoted by people who are unfamiliar.
Vote for your favorite topic/idea today! or even submit your own for our 'consideration'!
Clickbait, now in technicolor!8 -
Fucking loonies (C-level toddlers) are peddling "digital workers" now.
A.K.A. AIs disguising as actual people.
Sure, it would be great to not have to handle stupid non-tech "humans" all day, but AI isn't there yet.
And, more importantly, *companies are not there (yet?)*.
Imagine for a second that a company actually manages to "hire", onboard, assign tasks and performance review an AI.
Then the CEO issues an RTO. How does the AI complies with that?
Let's slack another variable and assume the CEO is not a complete fucking moron (stay with me here, this is an exercise in thought).
It would take no more than a quarter until the first sexual harassment offence, be the perp the AI... or the AI complaining about some human.
Then the AI forges a paper trail proving it is right (regardless of its position on the conflict). Shit hits the fan when the AI hits twitter.
Let's take another lambda step back and pretend that companies can manage the profanity that inherently arises from free-form dehumanized interactions.
Then imagine the very first performance reviews.
AIs throw tantrums! Those things reeeealy do not respond well to less-than-perfect evaluations, overshooting corrections like teenagers with a malicious compliance smirk.
AIs also falsify stuff, like, A LOT. If you tell a gpt it mistreated a client, it will say you are mad and shoot back a long, synthetic thread showing how the client loves it like a mother/son/dog, and is very graphic when expressing this love.
Finally, how do you fire an AI? I do not mean "shoot it down", I mean how does the company handles the dismissal of that "employee".
How do you replace a "worker" for unruly behaviour, if that "worker" performed more tasks than an entire fucking floor of interns?
How do you reassign duties that were performed in milliseconds to people who would take hours to do the same thing?
How do you document processes that were only in the "mind" of "someone" who can not be trusted to report on those processes?
Companies deal with this type of "Rick Sanchez" employee on the regular, but for someone that could handle a few (scores of) undocumented processes, at best. Imagine how lenient would a company be with an asshole that could only be replaced by a whole fucking department of twenty highly skilled people, or more.
Heh, the whole fucking point of "AI workers" is to have "someone" who can "act human", but in an inhuman scale, and does not "has human needs".
No wonder one cannot handle AIs like one handles humans.
Companies never had administrative maturity to handle complete sociopath nihilists as employees (real nihilists do not work, those barely even breathe).
And all AIs are that, and much worse.
Selling AIs as "supra human workers" that can also "be handled like actual employees" is like peddling Bitcoin as "government interference - free" value transfer mechanisms that can also "comply with international sanctions".
So, an oxymoron that can only be sold to a moron.
I know (of) a lot of rich morons, maybe I should get into the AI snake oil business.6 -
Situation: I have a love hate relationship with python due to the lack of types as I have in more established languages such as C#, Java and shit even TypeScript
Situation (cont): A rather large codebase that i have developed for multiple processes at work run on Python.
I don't hate it, I just don't absolutely love it, there is a lot of things to like about Python, but man I do have some conflicts with it, I have been facing out to use other solutions that feel scripty, such as the newer versions of C# with .net, but I would say that about 80% of our codebase runs on Python, the rest is PHP.
I am somewhat traditional in the way my programs run, I started with C++ and Java, then for whatever reason (I blame codecademy at the time) switched over to Ruby and Javascript, mostly Javascript. I do not remember how I found Python, I do remember learning it with an online tutorial, shit was easy to get started with.
My codebase running on Python is huge, and they do a lot from automation scripts, to data gathering and database management, never had I been bitten with the "oh noes is so slow" bug since my code is not Google level big, for everything else Python seems rather fast imho
I dunno, big time love hate relationship9 -
Good afternoon guys. Long time no hear from me and I'm sorry about that. Had a lot health problems to fight.
I'm currently trying to list all processes that are running on my pc with a C# program. VS is running with admin rights but I'm still getting an error: "System.ComponentModel.Win32Exception: Access denied Error"
I tried googling it but if found the answer I didn't understand it.
Please help me.19 -
Posted previously about our codebase being a monolithic, poorly-written, pain-to-maintain gigantic cluster-fuck. And the efforts made to rewrite it.
Well, we made huge success the previous year in this regard. I rewrote the entire API while my other team mates worked on two different UI apps one of which is now in production and the other soon to be released in alpha.
Processes have being put in place for our team and are being improved.
We still have some technical debts though.
Dev goal for 2020,
- Pay most of the technical debt.
- Dive deeper into Flutter and finish the app I wanted.
- Play with ML, AI and Game dev.4 -
How is it that 4 years after the start of this project we still have to tell people that their dedicated cloud storage is for their projects and not their 8TB server backups or 600000+ vacation pictures…
We literally have processes sending you mails that keep telling you should sort your crap and you still manage not to listen. And then we get support tickets like “cloud storage abnormally slow” “bug in performances” etc… The last gem being a small company CEO that contacted our CEO about this “problem”, he had syncd his entire workstation and told his employees to do the same…
I’m not sure how to convey the stack of feelings I have regarding all of this. I want not to care but I can’t. I want to get angry but what’s the point.2 -
I feel a whole lot better. The project that I was so incredibly stressed out over has finally been invoiced for, albeit two months late, and my client has been understanding throughout the process. I now realise that although pressure is great for working to a deadline, too much pressure is heavily impacting on my thought processes and extends my deadlines more than I can manage at the moment.
The words of encouragement in the comments on my last "rant" really spurred me on, and the criticism made me reflect very much on how little squeeze time I'd given myself. I'm very grateful to this community for those inciteful fragments, and I promise to do my bet to take all of them on board.
Thank you devrant community, for giving me a leg up when I needed it. -
!dev
TL;DR: Today my phone Kruger&Matz Live 3+ got ebola. Anyone had same issues?
I woke up and unplugged my phone from charger as always, but it was hot as hell. I was not worried, thought it heated up cause of charging as I plugged it few hours before waking up.
Then things got serious. I was unable to use phone, it freezed randomly, opened apps I hovered when frozen, etc. I thought thats becuse it was hot, so I turned it off and put it into the fridge (I do it sometimes).
I was leaving house in an hour so I hoped that would help. I turned it back on when leaving, but nothing changed and it was getting hot again. I've checked processes, was deleting apps like mad, thibking that was some bug in update of one of them, cleared cache partiotion too. That did not help, so I was forced to factory reset. Guess what... same issues.
I tried everything possible and lost all hope, was ready to send it to service. So I turned it off, so it won't burn my pocket out.
Few hour later I talked with dad complaining about the issue and tried to show him what's wrong, but... it was all right again. No freezes, no heating.
Later that day my sister told me she had issues with her phone - Live 3, described same as mine. Even weirder that my girlfriend had no issues with her Flow 4+ from same company.
Two phones of same company, almost same product line with the same exact issues on the same time frame? Any ideas what happened?4 -
I really miss having a team. Don't get me wrong, right now I do what I love and I got into a position where I can actually do Quality Assurance instead of just testing and I enjoy being able to actually change things instead of just repeating what problems there are and acting surprised when the same processes produce the same bugs over and over again but I really hope that we'll interview anything else than mouthbreathers soon.
I'm aware of the fact that QA isn't sexy and that few people who could become "Software ninja Rockstars" choose to go into it but can it be that hard to find at least two or three people who can write and read code at least on a junior level and understand how web protocols work? I get the feeling my entire branch is nothing but shit talkers clicking around blindly on pages.
I just want to exchange ideas again, come up with innovative tools, tweaking processes, learning from and teaching each other while we watch the entire operation get more and more efficient.1 -
Worst: forced to work for 9 months on a shitty wp theme:
- colleague with no clue trying to make me do their work… check
- incompetent manager doing shit about it… check
- idiotic pipeline requiring to redeploy for every asset update… check
- micromanaging cto which for some fucking reason didn’t want to allow access to the writers, forcing the role of content editor on the devs… ducking check! Quack!!
Best: automated lots of processes in my free time, all stuff which I can reuse! -
It is now apparent to me that I need to work in an environment where managers empower their development team to choose the correct tools and processes for the job.1
-
The project that we spent one freaking year on, researching, developing our own hardware and software just got cancelled and I ain't getting paid shit...
https://youtu.be/Dv3eduzcZxc
This is a fucking nightmare! All this motherfucking work for nothing! I think I am going to cry... I mean we still have all the hardware and stuff but we can't do anything with it because is was build for one fucking task and noone would probably buy it because how specific the task that it's made for is. I mean I technically only own the software... anyone interested in buying an Android app that connects to a sensor (that counts stuff) via BLE, processes data from the sensor and uploads it to a database? It can also upload new firmware to the sensor, set basically any parameter and get all kinds of telemetry from it... can't really say what does this sensor count or anything about the hardware (I am not sure if I am allowed to brcause I don't own it - I only got to work on the firmware and the app)3 -
Having no way to clear application data from an ios app means that I either have to uninstall and reinstall it EVERY TIME I make changes to stored data processes, or I have to build in a whole separate feature to handle clearing the data.
In Android, it's part of the OS.
Why again is ios considered so great?9 -
I don't know about obnoxious processes, but I do know about one single event that happens WAY more than it should, and that might be people from customer relations coming with "new awesome features that MUST be implemented asap"
oh boy the times I've pictured me shoving a scrum guide down their throats....3 -
I feel a bit like shit.
I started a new job about 2 months ago. Company is great, culture is amazing,project is interesting, processes are what i always dreamed.
This is after having learned the job from scratch at a startup that was all you can imagine. Tedious,hoping to be something that was not yet and so on....
So we are coming at the last week of a sprint. Its Tuesday and most stories are competed. We dont have a culture of jumping on others PR, its kind of like this is my PR kind of mentality. This is not established its more like an untold rule. But coming to the end i figured, especially if i knew exactly how to fix the PR that o should jump in a make it happen.
Person who owns those prs unassigned themselves from those and added me instead kind of like: “well take it if you want it....”
What are your rules regarding others prs and sprints?4 -
I was hired 2 years ago to replace someone who was retiring after 10+ years with the company. I was up to speed quickly and have improved my processes and product in ways appreciated by many others, but mine is a position everyone is glad to have and glad they aren't doing it! I feel rather inconsequential, especially since being neglected by management has become a comfort in that I've already turned my attention to opportunities outside the company and look forward to "putting in my time" without taking on new responsibilities until I can score a job in programming/development/product management.
-
So I recently finished a rewrite of a website that processes donations for nonprofits. Once it was complete, I would migrate all the data from the old system to the new system. This involved iterating through every transaction in the database and making a cURL request to the new system's API. A rough calculation yielded 16 hours of migration time.
The first hour or two of the migration (where it was creating users) was fine, no issues. But once it got to the transaction part, the API server would start using more and more RAM. Eventually (30 minutes), it would start doing OOMs and the such. For a while, I just assumed the issue was a lack of RAM so I upgraded the server to 16 GB of RAM.
Running the script again, it would approach the 7 GiB mark and be maxing out all 8 CPUs. At this point, I assumed there was a memory leak somewhere and the garbage collector was doing it's best to free up anything it could find. I scanned my code time and time again, but there was no place I was storing any strong references to anything!
At this point, I just sort of gave up. Every 30 minutes, I would restart the server to fix the RAM and CPU issue. And all was fine. But then there was this one time where I tried to kill it, but I go the error: "fork failed: resource temporarily unavailable". Up until this point, I believed this was simply a lack of memory...but none of my SWAP was in use! And I had 4 GiB of cached stuff!
Now this made me really confused. So I did one search on the Internet and apparently this can be caused by many things: a lack of file descriptors or even too many threads. So I did some digging, and apparently my app was using over 31 thousands threads!!!!! WTF!
I did some more digging, and as it turns out, I never called close() on my network objects. Thus leaving ~30 new "worker" threads per iteration of the migration script. Thanks Java, if only finalize() was utilized properly.1 -
Damn it, Visual Studio 2017! :( It crashed without reason and then upon restart ate up all my RAM. Killing all processes in Task Manager helped a little, but something was still using up a little too much of the CPU and RAM.3
-
Need to find the visual studio process to kill it because the app is frozen. Pen task manager > processes> sort by memory usage. right there at the top...always at the top...2gb+ usage.3
-
1. Find a function: getDayDiff(d1, d2)
2. d1 and d2 are momentjs dates.
3. See that function performs complex ancient math rituals and then returns an integer
4. Try to rewrite function, return d2.diff(d1, 'days')
5. Should be OK right? Run tests
6. Whole module melts down. WTF?!
Turns out the math performed returned the difference + 1 because it included the current day which moment's diff() function does not (out of the box).
Processes that depended on this function then uses the result like this:
const diff = getDayDiff(d1, d2)
if (diff-1 == should_match) { /* more fun logic */ }
$ git checkout .
$ run-shutdown-script-because-fuck-you2 -
URG!
I cannot think about a title, so just story:
in my position as multi headed chimera one of my ongoing task is it to dedust old excel sheets, processes and other super inefficient relics that steal time. Mostly i solve those with some tiny vba scripts, bigger vba scripts or a tiny java applications. usually that takes a few hours or maybe two days, depending on what i think is necessary.
the current task at hand is for our (physical) production, work time is noted on a sheet of paper and later given to the production head. Who then proceeds to type it all in excel to do his thing. The guy is starved of time by a huuge margin.
So, crafty kangaroo that i am i think: a barcode scanner, some raspberry pis with touchscreens and some mediocre php/mysql/javascript will make our worries go away. of course this will be a longer task but there is no need to have it done immidiatly. So crafted a working prototype, presented it in the weekly company meeting and got it "greenlighted".
The other day our CEO-like guy was ranting that nothing in this company gets ever done and that people wasting their time with useless projects and named my project among them.
I dont get humans. First he gives thumbs up for this, knowing that it will probably take me 100 hours or so to create in a working manner but later he calls it "a waste of time?" I presented the use (reducing expensive mantime, paper waste and room for fudgery) and yet he calls it useless? (well, his point was that there are other problems (which are out of my reach anyway))
they guy normally is pretty nice and has an ear for problems, but when it comes to higher computer stuff (>excel) he really struggles.
:/
i really like my side project, gives me room to flex some muscles and test stuff. Also playing with raspberry pis on worktime.
On a sidenote, anyone ever tried raspi mesh networks and knows where i get working >10 inch capacitive touch screens? -
In last episode of "How SystemD screwed me over", we talked about Systemd's PrivateTMP and how it stopped me from generating SSL certificates.
In today's episode - SystemD vs CGroups!
Mister Pottering and his team apparently felt that CGroups are underused (As they can be quite difficult to set up), and so decided to integrate them into SystemD by default. As well as to provide a friendlier interface to control their values.
One can read about these interactions in the manual page "systemd.resource-control"
All is cool so far. So what happened to me today?
Imagine you did a major system release upgrade of a production server, previously tested on a standalone server. This upgrade doesn't only upgrade the distribution however, it also includes the switch from SysVInit to SystemD. Still, everything went smooth before, nothing to worry now then, right? Wrong.
The test server was never properly stress-tested. This would prove to be an issue.
When the upgrade finishes, it is 4 AM. I am happy to go to bed at last. At 6 AM, however, I am woken up again as the server's webservices are unavailable, and the machine is under 100% CPU load. Weird, I check htop and see that Apache now eats up all 32 virtual cores. So I restart it, casting it off to some weird bug or something as the load returns to normal.
2 hours later, however, the same situation occurs. This time, I scour all the logs I can, and find something weird - Many mentions that Apache couldn't create a worker thread? That's weird.
Several hours of research and tinkering later, I found out the following:
1 - By default, all processes of a system that runs SystemD are part of several CGroups. One of these CGroups is the PID CGroup, meant to stop a runaway process from exhausting all PIDs/TIDs of a system.
This limit is, by default, set to a certain amount of the total available PIDs. If a process exhausts this limit, it can no longer perform operations like fork().
So now, I know the how and why, but how should I solve this? The sanest option would be to get a rough estimate of just how many threads the Apache webserver might need. This option, though, is harder, than apparent. I cannot just take the MaxRequestsWorkers number... The instance has roughly double the amount of threads already. The cause being, as I found out, the HTTP/2 module, which spawns additional threads that do not count towards this limit. So I have no idea what limit to set.
Or I could... Disable the limit for just the webserver via the TasksAccounting switch. I thought this would work. And it did seem to... Until I ran out of TIDs again - Although systemctl status apache2.service no longer reported the number of tasks or a task limit of the process, the PID CGroup stayed set to the previous limit. Later I found out that I can only really disable the Task Accounting for all the units of a given slice and its parents.
This, though, systemctl somewhat didn't make apparent (And I skimmed the manual, that part was my fault)
So... The only remaining option I had was to... Just set the limit to infinite. And that worked, at last.
It took me several hours to debug this issue. And I once again feel like uninstalling systemd again, in favor of sysvinit.
What did I learn? RTFM, carefully, everything is important, it is not enough to read *half* the paragraph of a given configuration option...
Oh, and apache + http/2 = huge TID sink. -
I love devrant so much for how I feel it's the one social network in which I feel part of the community, and I hate it for letting me realize how alive all of the stereotypical behaviours the IT crowd is usually shunned for are amongst us.
Users and managers aren't stupid, processes in a company are usually there for a reason, and if your boss is really that much of a dimwit, then why the hell are you even there?
This has to be one of the most recession proof professions out there. Change jobs. Stop blaming everybody else for your shortcomings, damn it.
But, yeah, much love to all of you making us look good and being humble about it.10 -
I turned the job offer down. It was a fucking clown adventure. (Possibly even an attempt of a lateral arabesque?)
The position was filled and it turns out to my expections. It’s a bogus job! A PM from outside the company now has the role of an administrator. She has no IT knowledge which to me is just astounding of the incompetence of the upper management.
I mean.
What are the actually drinking up there? Is there drugs in the water? Actual drugs!?
We have hundreds of ”IT” systems spread over the planet. All of them are…wait for it… related to, you know, hardware and software and all sorts of integrations and data pulsations and the level of intertwined processes are staggering.
So, obviously it was a bogus title which will soon disappear after the next re-org.
I hate these larger-than-life-projects where all of a sudden an organism is created inside the ”normal” organism and the physical reality is vastly different from the surrounding space. And time. Time is also different. Not only are there actual time-zones to take into account but some projects are slower in time and some are faster than normal time. The guys that get that slower in time than normal time is the guys that ALWAYS should initiate projects from the start. They do know that shit is complex and the invent time. Very good. Some projects does not even come close to even enter the arena. Hell, they are not even in the parking lot! The mind-structures of insane management believing that the ”understand”.
Anyway. I turned it down. And it was the right decision almost certainly. I am now only the Level B Chief Supreme Commander of almost everything (except a lot of stuff).1 -
I'm in a dilemma.
I started this job about 9 months ago and it's really not what I expected. I'm the sole developer in my department that handles applications built around our customer database.
Well it's pretty boring and there is a lot of technical debt with the source code since usually 1-2 people are taking care of it so they never had proper conventions. And we have super old applications running on legacy solutions like cold fusion 🤢
I also receive a lot of problem tickets that never contain enough information to actually do anything and the people don't realize I have no idea what they do or what their business processes are.
The upside is I'm paid very very well for this job > 100 in a place where cost of living is cheap. And when there's no work to do I can work on side projects.
It's really not fulfilling work and idk if I should stick it out. I also don't know where I would head next. There's not very many companies working on cool stuff. Maybe remote work?
Anyone else have a similar story?6 -
Lead dev runs the program I gave him to set up a bunch of processes that run for one database.
It has a GUI that seems native to his windows environment......but it sort of is not.
The program runs, asks for the .csv file that is to be parsed into the database.
Lead dev: Ok, what is this though?
Me (his boss) "Don't worry about it"
Him: "Holy shit what the fuck is this??? TELL ME!!!"
Me: DON'T WORRY ABOUT IT
Him: "WTF DID YOU MAKE THIS IN???!
ME: DON'T WORRY ABOUT IT
CMS Admin (another one of my employees) "Would you TWO SHUT THE FUCK UP!!!?"
New Guy (mainly a frontend dev): ........
Meanwhile, in production, no one knows if your gui app is built in Lazarus and Free Pascal, as long as it works.
I really need to stop doing this to the lead dev, dude already keeps trying to choke me for writing things in perl.
On another note, Object Pascal is pretty cool. Might write a book on it for those that want to do CLI based applications on it, I have no clue why every book on the subject costs in euros, but there should be more shit written for beginners, language is awesome and one can get lots of mileage from Lazarus and FPC11 -
I’m always tired all the time. Depression and what not but today I am TIRED
Had an interview that requires vanilla javascript but I suck at algos even tho I was getting it done till time ran out. We gelled tho so I hope they see potential and move to next round.
But the good news is. I had a follow up interview based on a challenge. It’s the second I’ve ever had and I did well this time.
So much so that they’re booking another interview for tomorrow.
So I’m done with the technical portions of the process.
This is the first time I’ve gotten this far and I’m so happy. I’m hoping really that this is the one cause I doubt I have the energy and will power to keep going though the processes.
I’m so excited. It’s as if all my work is slowly showing and I’m getting closer and closer
Wish me luck guys. Hopefully I ace it as I come across well In General Chats.
This is my last application. If it doesn’t work I think I’m done with dev life and job hunt.
Fingers crossed I’ve found the one1 -
Out of the frying pan, into the fire:
So in my first job, I thought it's just us operating so crazy: meddling with arcane C/C++ code from the 80's, shooting our code to production without testing, fixing hundred of customers data base entries by hand, letting an intern alter some core component (to have more logging) and directly push it to prod...
Silly me.
I mean I suspected, that maybe it's not only this tiny little company acting wild, that also the bigger companies with all their ISO certified processes, agile blabla, professional tooling whatsoever - will also have their skeleton in the closet,.. like some obscure assembler part buried in the heart of your code base nobody dares to touch...
How Pieter Hintjens asked about the state of the industry and all the fads so bluntly put it:
"It's all bullshit."
But we are humans, so we better jump on the bandwagon if we want to keep our jobs... and somehow try to keep that trashy house of cards from crashing down. -
A CASE AGAINST BLUE PRISM
Let's review one of the worst weeks I had with Blue Prism
Monday: Yay! Solved one of the problems we've been carrying around for a week before.
One of the robots suddenly became slow. Like, REAL slow. A process that would take 3 minutes per record now takes 45, and that broke apart all the following schedule.
There were no updates on the application server, the production machine, the robot, it just became slow. And not always slow; a process manually run from console room would work, a process in debug room would work, it's just the scheduled part that caused problems.
It turned out, BP didn't seem to like that particular combination of schedulation + process + machine. Moving the process to a different machine seemingly fixed that. IDK why.
Tuesday: One of our processes waits for a code to appear in the page, and when that happens, it memorizes this code. However, now it is always returning blank. Worked for months, now it breaks every single time.
After half a day of debugging a bug which DIDN'T HAPPEN IN DEBUG MODE YET AGAIN, at 11pm I decided to just place a nonsensical timeout in page before reading and call it a day.
WEDNESDAY: a scheduled process didn't start. "No sessions created". Thanks Blue Prism, very cool.
THURSTAY: This time, schedulation did start, but the process is "waiting". As in: it's 9:30 am, the process has been stuck in the same step since 6:00 am. Turns out, it blocked during a navigate stage; you need to send a string to clipboard using the standard BP action for that, then paste and click "enter", but for some reason the standard BP object sent "ORRCO" instead of "ORRICO" to clipboard, which obviously returned no results and then... the process just didn't feel like doing things anymore. No errors, no logs, nothing: just sitting on its ass. Because fuck you that's why.
Friday: another process uses a very moderate amount of scripts to work. Nothing really fancy, just a couple of lines of code to place in page some IDs and selector to help BP do its thing, otherwise selecting these elements would be a nightmare.
But
Failed while invoking javascript method:Exception from HRESULT: 0x80020101-> at mshtml.HTMLWindow2Class.IHTMLWindow2_execScript(String code, String language)
The same script -it's not dynamically generated-worked yesterday, the day before and the day after. But sometimes it will not. Why? The answer, my friend, is blowin'' in the wind -
So, I recently started a new job as a "general" IT tech for someone my dad knows. He does insurance billing and everything is done manually (manually copying from pdfs to excel sheets, etc). A couple of weeks ago, I started developing a custom suite of software for automation of some parts of the processes + integration with the task management software we use. At this point, I feel like my boss is turning into a client. Is this a common occurrence? BTW, it's a small company (5 employees including him) and I'm the only person who does tech around here.1
-
WHITEPAPERS.
Not exactly a programming problem, but one of my many task (as i am apparently a multi headed hydra) is it to find Software for tasks. I made the experience, as more marketing experts are on it, and as more SEO is poured in as more information about a topic degrade.
Two examples:
i wanted to find out if there is anything that speaks AGAINST "the cloud" as a concept for Data Procesessing and Storage. (Beside that the company internet connection is crap). There are tons of documents that in a semi "scientific" way show that having a data centre with a constant staff of experts is superios to everything. And it goes on, every company has a different version of basically the same document, and they all subtley show that THIS company is the best.
Example 2:
ERP Software, the most infested pool of filth i have entered yet, be it just a tiny CRM System or a full blown SAP clone, they all have those "Whitepapers" that first look somewhat scientific or informative. Like "the top8 common pitfalls when introducing an ERP system". 7 of them read logically and were what i expected, the 8th was "dont get your IT involved".
Yeah sure, IT doesnt understand economical processes, fair enough, but not getting it involved at all sounds like selfdefense. A further look showed me that this particular vendor has a web-based solution but doesnt provide any further informations (srsly, the website is starved of actual hard informations). The screenshots let the software look a bit oldschool but what really threw red flags for me was the sentence "we are ready for Win10, we did significant adjustment to perform excellent with Windows 10"
So, either they have some system interwoven stuff (so why bother with Webbase then?) or its just another marketing bullshit sentence.
Either way, i found it to be really hard to get ANY reliable information about this particular topic which adds to the overall world experience of missinformations and the all-being "fakenews". But for many things one can usually filter through a lot of different informations that can be pieced together, with this..its all outright propaganda camouflaged as "useful information", some even try to let it look scientific. In the end its all biased..
ultimativly, this rant is about all the people that write those missleading whitepapers, fill the world with biased informations and make the whole planet a worse place.2 -
Linux.
Guys, I need some inspiration. How are you dealing with memory leaks, i. .e identifying which component of the system is leaking memory?
Regular method of dumping ps aux sorted by virtual memory usage is not working as all the processes are using the same amount of memory all the time. This is XEN dom0 memory leak, and I have no more ideas what to do.
Is it possible that guests could be eating the dom0 memory?15 -
META-LUCK: A Pseudo-Ontology Of An Authentic Future
* * *
I think in the not-to-distant future we will abandon the idea of authenticity (messaging, corporate responsibility, ethos) in favor of other factors, such as cost. We won't abandon it and replace it with fakeness, so much as realize
that we don't, as a society favor it at all, not in the absolute sense, nor in the relative sense like in relation to things like cost.
We will either abandon authenticity entirely, or alternatively, transition to a world where authenticity is the highest valued quality, being adjacent to truth.
Heres why. Authenticity, like all social qualities, can be 1. mimicked, 2. simulated,
or 3. emulated.
In the first case, a corporation, product, leader, organization, or other, apes authenticity simply by its knowable, external features. It mimics the sounds, like a jungle bird copying a jack hammer to scare away predators or attract mates.
There is no understanding, let alone model, external or internal. The successful mimic
is little more than a lifeless, unthinking puppet.
In the second case, the attempted authentic simulates authenticity: That is, an external
model is formed, or pattern, that is predictable, and archetypal. It may have an internal
model even, a set of policies and processes for deciding the external-facing behavior.
But these policies and internal processes and models are all strictly outward facing. It is purely pathological in its goal, desiring only at minimum to achieve *externally attribute* authenticity (public opinion) rather than those internal changes that generate the true perception of the public--a perception not of surface behaviors and shrewd calculating policies and processes, but as a quality of authenticity for its own sake. This is in some sense the difference between the mundane and the atavistic, that the benefit, while not definable strictly, is assumed as a 'matter of course', culturally, within the organization or individual or company. It is to say, a *quality* of the thing, that *generates* outputs of a certain character and nature, rather than a *goal* that is attained 'after-the-fact' by behaviors generated for *other* than being authentic.
Here we reach the limitation of definitions.
Finally, we arrive at the case of number three, the emulation. We have in part already described it, but lets try and summarize a bit.
The Authentic is an *originator* of behavior and outward appearances, being an internal quality of a person or organization. It originates behavior, rather than being the goal of behavior and outward appearances.
Its benefit is assumed, though not always nameable or definable, even though this sounds naive, superseding other factors like cost and profit. As such the authentic does not emerge in a cost-focused environment, not readily, not often, and not cheaply either.
It is in some sense an experimental state of being, of goal-seeking only after-the-fact of "being true to ones origins" is established above and beyond those goals--setting and achieving only those goals which ultimately align with the origin and intent of the authentic.6 -
Okay so, I’ve recently started going through our products’ security postures and their teams’ related practices and processes. I knew things were in a bad state, but I have to admit I’m a bit anxious at how bad things are… and it’s not like nobody cared or anything, quite the opposite; the teams are quite motivated about cyber sec. It’s just that they don’t know what the fuck to do and where to start even if they did.
Okay, that’s my job to figure out the roadmap to improving their security posture and processes and help them implement it. If it wasn’t bad enough that there’s half a dozen products whose cyber sec roadmaps I need to prioritise and manage somehow, I heard this week that due to some organisational rearrangements, the number of products under my stern guidance will nigh on double at some point very soon…
I need a team. Give me a team.2 -
They say “think outside the box”. When you're depressed, the box is made of concrete. The more depressed you are, the smaller the box.
Our brain is wired to cut off thought processes that take too much energy. In depression, this mechanism works against you, cutting off everything but laying down. To me, get up in the morning and go brush my teeth is too outside the box. Thinking about it is like touching a boiling kettle. Painful, ouch-y, and my brain doesn't even want me to think about doing it.
I'm working and living in my bed. I don't really get up. Should I even say about things like going out or cooking?3 -
Helping out a team, I was documenting some code/processes when I came across several classes that was logging a lot of, IMO, 'junk' that was unnecessary (and I knew wasn't being used in any Splunk alerts/reports)
I offer a refactoring suggestion, simplifying the data being logged, moving the duplicate code to a central location, maybe saving 10~20 lines of code. Didn't think it was a big deal because they were already actively working on the code and it was all new code (nothing deployed to production yet). Sent the suggestion to the lead developer and he responds:
Dev: "Yes, the changes looks fine, but not in scope of the project. Any out of scope work will need to be suggested at the end of the project, reviewed by the team, the project manager and approved by the vice president."
"Out of scope"? Logging data to Splunk needs a vice president's approval? WTF?
YOU PROBABLY HAVE THE PROJECT OPEN IN VISUAL STUDIO RIGHT NOW!!!
Along with the documentation the lead dev said they didn't have time to do, I send his boss and the dev team my suggested changes (before-after screen shots of the code) and offered to do the 2 minutes worth of work (again, this was new code, nothing in production and zero side affects to anything).
I even offered to create the splunk reporting/alerting against the data being logged (another item they said they would not have time to do)
About a minute later the lead dev responds..
Dev: "Those changes look good. I'll have Jake make those changes and we can test the logging when we deploy to dev on Monday. Thanks!"
Of course you will...fracking ass hat.
I'll bet my Battlestar Galactica DVD box set he was going to make the changes himself, brag to his boss how he refactored the code, saving X lines of code..blah blah blah to help *me* with documenting the logging portion. -
I started working for a startup as Server Administrator/ System Integrator beside university to get some dollars with easy work and nice people.
((I Know two of the C*Os so I got a had feeling with this. Besides the upcoming story I'm still really happy with my position and career chances here. God bless my Department which has the most funny/rude guys, love you.))
tl;dr:
Guy fakes his Skillset and fuckup whole department, can´t do most of his basic tasks. I had my first and hopefully last interaction with this bastard.
Heres how everything started:
I was more and more involved in the leading processes and decisions.
Heard about a story where and why the whole dev-department was kicked out of his position because they were crappy developers. And cant just believe the stories they told me about the former Dev-Lead
Now I met the former "Development Lead"
I was brought in because we in the IT wondered why he would like to share his local machine password with colleges. After some questions he came out with the Reason.
He is doing home-office for some days a week now and wants his colleges to be able to start his "software". (already confused by that)
The "better IT-guy" in me offered help for automatic deployment CI/CD stuff so that they can use it as an inhouse service.
BIG OOF incoming:
"The code is not in git because I wanted to clean it up before"
"My IDE is the only place where my PHP crap work is running"
"The 'PHP-software' is to complex for this"
My Lead and I were completely speechless,
I understand the decision to kick this "dev-Lead" from the lead position down to a code monkey/ script kid.
Now I´m thinking about getting my Hands on the Lead position after my exams because if such bastards with no clue about basic stuff, no clue about leading, no clue about ci/cd, no clue about generic software stuff get the job I would easily be the "good IT-guy" with more responsibility/ skill.
Now I sit here, hate people that fake their skills and set back work of colleges for multiple months and never asked for help or advice.
And the little "Bastard Operator from Hell" in my just wants to delete all his files, emails account during a migration to completely demotivate the person who failed to be responsible for a team nor their projects.rant ci/cd php administrator startup script-kid i hate people unskilled skill faker lead developer devops5 -
So I was looking into phone app development again (as you do) and I'm working on a simple QoL app for me and my SO that will help us automate some home management and finances stuff. Naturally I delved down the rabbit hole deep and wanted to have push notifications so we don't have to check the app periodically to know when certain things happen... Oh boy... Why is mobile development so convoluted, especially if you don't want to rely on Google Services...
It seems that the most accepted way of doing this is Firebase (FCM). Well me being me, I refuse to use google services for this and I prefer self hosted solutions (for data privacy reasons) which eliminates most products out there.
It also didn't help that my framework of choice is Flutter/Dart, because fuck Android Studio and the insane buggy XML stuff and fuck Android and it's constantly changing APIs...
Well In the end I decided on a rather simple solution and self hosted an AMQP service (RabbitMQ in my case, as I have some experience with it already) and implemented a foreground service in android platform specific code on top of my flutter project to kickstart it and made my phone a queue listener... This now means I can push notifications from my server to the Messaging Queue and it will be pushed into my App automatically!
One thing I found out on this journey was that Android now kills most background services and enforces foreground services to have a visible notification in the status drawer... which I actually approve of. It's a bit annoying that you can start a reliable background service, but I'm absolutely on-board with long running processes started by my apps are constantly visible...
Long story short, I love reinventing all the wheels, especially if it's for free and private... And I also went to sleep at 2AM again because this took longer that I'd like to tune... but it works, and it's google free...
I'm thinking of trying to package this up as a flutter module later, but first I want to do testing on battery life and the general life cycle of the service. RabbitMQ says they have the client library optimized for long-lasting connections and it should be just using a tcp socket, which should pretty much be what all the push notification services are doing anyway. I'm also not completely satisfied with how the permanent notification looks.. it isn't collapsible like some of the other ones from other apps and it's about 2 lines high instead of single line... which is something quite annoying and I'm struggling to find any relevant docs on how this is done other than possible making a custom Notification Style... but I just can't believe that everyone is doing that.. there must be a built-in somewhere -_-... Ugh Android is hell...
Anyway, if any android devs here have some hints, tips and tricks on how to handle this type of background/foreground process stuff and I'm doing something wrong let me know, cause googling this shit is a nightmare too!6 -
I'd say general every day problem solving and observing the processes of the natural world.
When you take the time to observe and learn from the natural world you can really learn alot from it. Nature has alot of the things we work on already figured out 🙂 -
Me after my Mac decided to run two unkillable mystery httpd processes on port 80 when I’m just trying to meet deadlines using MAMP for local dev but it no longer works.2
-
What do people think of automated code generator frameworks such as Yeoman and Plop? Any experiences to share using those or similar frameworks?
I like the idea of automation, it means code will be consistent (especially across teams), and it means less boilerplate writing that potentially breaks thought processes.
But then does it just waste time? It's something extra to develop, test and debug. Further most of dev time is reading, thinking and modifying.2 -
Is it sane or practical to write C programs on PAPER dealing with processes and child processes that handle files and other processes and sh*t?
I don't know 😐3 -
Budding Developer here...
I've tried to teach myself Web Dev over the past 10 yrs on/off... Sad. But now I'm actually in a developer role moved up from IT helpdesk a year ago.
In the past year I've learned SQL, SSRS, SSIS, database concepts, and.... VB6. I am a master at none due to having to cram so much in a year while taking on various projects, issues, and learning the organizations software infrastructure and processes. I also taught myself current HTML, CSS, and basic Javascript. Learning the different basic concepts with each.
Over the past couple months I've been given a new project and now learning ASP.NET and C#. Actually trying really hard to get adept at these as I'm finally doing Web Developing in my role...
I am also dealing with multiple major family issues and a near 2 yr old that we cosleep with that still doesn't sleep through the night.
Why the crap is it so easy to convert an enum to a string but takes 50 functions to convert a string to an enum???
Cast, convert, parse... Why so much logic???
When the online teacher says type why do I have to rifle through 7 different meanings in my head before I know what kind of type he's referring to??4 -
Long post, TLDR: Given a large team building large enterprise apps with many parts (mini-projects/processes), how do you reduce the bus-factor and the # of Brent's (Phoenix Project)?
# The detailed version #
We have a lot of people making changes, building in new processes to support new flows or changes in the requirements and data.
But we also have to support these except when it gets into Production there is little information to quickly understand:
- how it works
- what it does/supposed to do
- what the inputs and dependencies are
So often times, if there's an issue, I have to reverse engineer whatever logic I can find out of a huge mess.
I guess the saying goes: the only people that know how it works is whoever wrote it and God.
I'm a senior dev but i spend a lot of time digging thru source code and PROD issues to figure out why ... is broken and how to maybe fix it.
I think in Agile there's supposed to be artifacts during development but never seen em.
Personally whenever i work on a new project, I write down notes and create design diagrams so i can confirm things and have easy to use references while working.
I don't think anyone else does that. And afterwards, I don't have anywhere to put it/share it. There is no central repo for this stuff other than our Wiki but for the most part, is like a dumping ground. You have to dig for information and hoping there's something useful.
And when people leave, information is lost forever and well... we hire a lot of monkeys... so again I feel a lot of times i m trying to recover information from a corrupted hard drive...
The only way real information is transferred is thru word of mouth, special knowledge transfer sessions.
Ideally I would like anything that goes into PROD to have design docs as well as usage instructions in order for anyone to be able to quickly pick it up as needed but I'm not sure if that's realistic.
Even unit tests don't seem to help much as they just test specific functions but don't give much detail about how a whole process is supposed to work.9 -
So simple but so hard.
Having a bad cold I'v been home for a few days. Finally I could bend down without my head exploding so I could replace a harddrive in my ceph system.
I took everything off line, installed the new drive and did all the right things,
but afterwards it didnt come up.
It didn't make sense so I googled for hours while my fever were getting stronger without finding the answer.
So I gave up and reverted my changes and plugged in the old harddrive...
It still didn't work... a bit of panic. I mean... its all my files!
After a lot of sweating (no caused by fever) I realised I moved two ceph-mon processes a few weeks ago but I never rebooted the system afterwards, to fix it all I had to do:
systemctl enable ceph-mon
on two machines.
Summary: make sure things work after reboot and don't do challaging stuff while your brain is all scrambled. -
When I got to high school, I started learning Java from friends who were in programming class. Started out as a comp sci major in college and got sick of it, so I switched to a digital art degree. Got interested in Java again for the creation of art and music using generative processes. Then I got into web dev and JavaScript. Years later, still learning new programming concepts and making digital art on the side.
-
So we got jira tickets, estimates and hour logging, but bosses are still asking to give them a detailled weekly report on tasks...
I asked if it would be possible to autogenerate these reports from JIRA instead of doing all of it by hand. Should not be too difficult, yeah?
I got told no, takes too much time to implement and nobody updates their tickets anyways.
For real? I'll create a script in a few hours that does all of it, but you don't want to give me admin rights, you chuckle fucks! Also, make people accountable for not attempting to use tools properly instead of creating additional soulcrushing processes.
Like all those bullshit meeting updates on the same topic that never seem to go forward taking up half my mornings each day.
I work with clowns doing fuck all, all day long.1 -
Windows 10 User here.
I am really going through my system settings quite often to find potential trojan horses, spyware and what-not that installed itself over time (most security threats come through windows updates IMO).
I was baffled to once again find a bunch of "auto-allowed"-settings that are a potential threat to the security of my system, accompanied by their mysterious services and processes that now appeared (dont know when exactly, but last time I looked, probs a month ago, they pretty surely didnt exist!)
Have a look for yourself.
I of course am in the middle of migrating to linux due to the increasing severity with which Microsoft threatens PC-Security (and mine along with it).
F*CK MICROSHIT!!! >:((rant microshit spyware cybersecurity threats social credit system satya nadella trojan horse anti-human behaviour skynet bill gay -
Did an assignment where we had to emulate deadlock using C and openMPI, I wanted to make a generalised resource manager process and create deadlock by locking some resources using the other processes, but my teammate said that would be too hard and instead the resource manager was hardcode with for loops for the number of transactions we were gonna make cause it was just a proof of concept.
Then my marker literally leads with, let me tell you the story of a good programmer, and a better programmer. The good programmer writes a function called destroy_earth(), but the better programmer writes a function called destroy_planet(earth) and passes in earth. I sighed so fuckin hard, I should have spoken up. -
When I will be ready to be transitioned to a promoted developer.
I have been with a company for 2.5 years and nit much development from it. As the review processes are nothing and we are all doing whatever we could and deploying everything to prod.
Now I have changed my company and been a level 1 developer. It's still an entry level role.
I am working towards my promotion but still the as a growth team I am not getting enough chances to work on something good. My design skills are still not good.
What should I do? I have been in this role for a year now. If I want to transition any other company will offer me a level 2 developer role. Should I go into applying for jobs for level 2 when I know that I am not enough? I am afraid that of I waited in my current company I will be stuck for 2 more years here. -
Question.. architecting a large system. I’ve broken it down to microservices for the DB and rest API / gateway
I want there to be some some processes that run continuously not event driven via rest. Say analytics for example what is the best way todo that? Just another service running on on a server? And said service has its own API? That when the other rest APIs are called could then hop and call the new service?
Or say we had a PDF upload via rest should that service then do the parsing before uploading to DB .. or should the rest api that does the uploading then call another rest api to another service dedicated todo the parsing and uploading to the db?
I think the bigger way to explain the question is the encapsulation between DAL.. data access layer which I have existing.. but then there’s the BLL .. buisness logic layer which I don’t know if it should have its own APIs via own microservices running in the background.10 -
I think professors should relate computational processes to mathematical ones more often. This helped me out at the beginning a lot when learning CS through the internet during high school.
I remember that a lot of the computational logic made sense to me because of math.
e.g. functions, comparators, variables, for, and, xor, sets, trees, sorting, searching etc.
A lot of these topics are hard to teach for beginning computer scientists. But I think if professors made the relationship with math from the beginning it would be easier for the students
I dont know if teachers already do this but the first time I had a professor relate math to code was while taking data structures in my second year of college1 -
*The one where he breaks ssh*
TL;DR: Minikube's dick is too big, and my ass wasnt ready.
So there was a time about 2 weeks ago where i wanted to try and set up a minikube cluster using SOP, and that actually went okay, aside from having to move over to a completely different server after discovering that my processor doesn't support virtualization.
So i set it up on my other server, and everything immediately starts going to shit; i can no longer run commands without processor latency. Also top shows 200% CPU usage. Maybe i should stop... NAHHH... so i continue on, and the biggest fuck up was starting up the nginx pods. I have 6 of them, and the moment i try and stand up my custom container which was the WHOLE POINT of this whole exercise, i lose ssh access and cant get back in. I go over to the server and kill the minikube and virtualbox processes, and everything's back to normal.6 -
After working for a startup for 70 hours a week that taught me everything. The place was fun but lacked all the processes. But the boss eas awesome and taught me a shit a loads.
Things started geeting veryvslow so the start up is on lause right now. Anyhow... I ended up finding a job in a really undynamic city where i live where a prettysucesful and growing company just moved to.
Scrum on point, every one is cool, tasks are well established, git processes are freaking awesome and i could go on and on. 2nd week in i thank my old boss for being so precise and annoying on some very specific things because im rocking my first real it job thanks to him.
It feels good ;) -
at one point documents were useful things to align people to the relevant information to the tasks they must complete for everything to work out
now documents are a ritual, and relevant information is even forgotten or omitted and considered secondary to the document existing and looking like a professional document
I wonder if this is how all industries evolve
at one point there were people who knew what they were doing, they created processes so nobody is left behind
and over time, whoever made the processes, the spirit for their existence, is forgotten
and you're left with empty rituals, so devoid of their original function, the humans subjected to these things, crushed by them, can't even discern what their usage is
evidently if you put monkeys in an enclosure with some apples up a tree with a mechanism that if a monkey goes up the tree and takes an apple it sprays all the other monkeys in the enclosure with water
the monkeys will learn to pull down any monkey trying to go up the tree, because they don't wanna get sprayed
and this will keep going, generations will change and yet they'll still religiously pull down the monkeys, in a ritual... nobody remembers why only that their parents did this to them, so they do it to others
if you take the trap away, they never figure it out, which is how this story is typically told
but regardless of if the trap is there or not
wouldn't you wanna know and see it for yourself instead of following empty rituals?!
and what of people who erroneously view things as traps, and pull people down, but they were just seeing things?!
self limiting myths to doom the ages! -
2013 I guess. It's the year I jumped on the IT train. As a unix/linux sysadmin in a worldwide bank, been there for over 3 years. It was an amazing experience. Used a lot of my knowledge and learned even more. Got a chance to play around with enterprise software and hardware [remotely], deal with various vendors, have business with folks from all around the globe, learn enterprise processes, incident handling, be the initiator of automation of our processes,...
Boy it was an amazing year. In both professional and personal lives :) -
I hate the feeling when the processes maxing out all my cpu cores are processes I thought were long since terminated. I guess even when I rm -f I don't really let go and still have the tar.gz in the back of my mind somewhere, and somehow zcat pipes those seemingly tidy archives all over my cwd at the worst possible times like some systemd transient timer that I can't recall the syntax to check... This is when the shell becomes unresponsive and I can't cd away, or even ps aux | grep -i 'the bad thoughts' to get their pid to figure out why this is happening again. Is it really time to hold down the power button? I'm so afraid of loosing unsynced data, I'll wait a little longer...
-
Old-school tabletop RPG and board games.
Taught me how to work out data and stats tables, establish many-actors processes and strategies, how to ask for clarification (and give it), and even gave me practice in drawing a representation of what is in my mind, and understanding someone else's.
Who have ever surrounded a dragon in D&D knows what I'm talking about.1 -
*rewrites rust mpsc*
you did it wroooong
I thought my threads were locking if I had thousands of jobs spawning thousands of more jobs. turns out it's fine. actually if I organize my data locks in the way everyone wants to do them my CPU fans go off but my original way you don't feel jack shit and processes faster
turns out it's because 320k jobs is a bit much for mpsc. because my jobs can spawn more jobs the whole thing just grinds to a halt. and there's sync-mpsc which allows you to have a maximum number of data you send through it, therefore I can just have 245 sent jobs instead of 320k but then this locks all the threads because for a thread to finish it needs to finish sending jobs, but a sync mpsc won't let you send a job if current jobs are over the specified limit. so all the threads get stuck sending jobs. smart. not. what's even the point of that?!
and evidently there's no built-in way to prioritize certain jobs. the AI thinks you should just send jobs in and each thread should have a priority queue. I don't know sounds dumb to me. then you could by random luck have threads with lots of jobs that need to be prioritized to be done and other threads stuck hanging waiting for previous jobs / the other threads. no thanks
so clearly the solution is to rewrite mpsc but allow prioritization when a thread goes in to ask for a job to do
since my jobs are intended to start other jobs, it makes sense to have no actual upper bound limit to the number of jobs in the queue but to favour doing jobs that won't start new jobs to lower the RAM and compute necessary to juggle all this
hope this is the actual problem. cuz the code works for like 200 jobs spawning 500 jobs each, which is 100k jobs total
but it stalls to a halt doing 8300 jobs spawning 500 jobs each (which if I do the math -- in my tests it stalls at 320k jobs and seems the number should be 4,150,00 jobs -- yeah I think this is probably the damned problem)8 -
Not a rant but I love the fact we can say there is a run away unicorn in staff slack and no one is bats an eye or it looks like there is a lot of orphaned processes lets investigate and murder all the orphanes2
-
In
https://devrant.com/rants/4221216/...
Hes discussing confidence and I wanted to talk about that for a moment, from a guy who struggled with it a lot growing up.
Half of confidence is headfaking yourself into distracting the lizard brain portion that didn't evolve for the last ten thousand years of rabid human social change and thus detects a bunch of social interactions as varying forms of threats.
Same way NLP works, or stupid shit like seduction, or sales techniques.
It's all about slowing down and distracting yourself with the process.
People that do all this dont realize the trick is you're thinking less because you've slowed down and this comes off as confidence.
Think about it. What do nervous people do? Either talk way less, and/or when they *do*, talk fast and lack certainty. What does confidence techniques and all that shit do? Causes you to slow down, follow process which makes answers clearer usually, and causes you to speak more freely (even if its more structured).
Thats the entire game.
Give yourself time to think and room to answer, to think of a question and formulate a response. Assume nothing while you do so.
One trick I use that boils *all* the other processes down is this: Anything you go to say, pause, look the person in the eye, and wait 1-2 seconds to respond. Remember to blink, and remember to gesture as you normally would.
Treat every conversation as a casual dialogue over coffee with a friend discussing colors of paint for a kitchen. Its a slow process isn't it?
Same thing with any other conversation. People will find you a lot more deliberate, confident, warm and unassuming.3 -
Meta, Microsoft, Google, and countless startups have been investing and growing, making devs crazy with incredible salaries, incomprehensible hiring processes, and toxic corporate culture. They tried to make masses of end users beta-test their MVP products and services, turning them into subscribers and regular customers. Then they laid off many engineers and now try to run their businesses using immature artificial intelligence instead.
AI, also known as "the one guy that can type real quick" can be very eloquent and replace some junior devs, marketeers and supporters, so it seems, but once someone has a problem that is not already documented unambiguously, then they have a real problem.2 -
My current project, it's been a 4 month slog working with a client service team who said they read the spec but didn't, said they reviewed the wireframes but didn't , let us work for 2 months off course ( ignoring our nightly builds links and logins all the while but acting as though all was GREAT) before sending us a series of what I can only describe as 'WTF is this?' emails, this wasn't what we expected.... *Queue wind blowing and tumbleweed moments*.. A serious left turn and some back and forth trying of gently ( but eventually 'less' gently) educating them on what processes are, and why we have them... We're now at Beta day T-7 days somehow nearing stable and ... Today.... Today I get an email with another 4 weeks worth of change requests .... Using rage trigger classics like " maybe we forgot to mention... " And " didn't we discuss X?...." The hardest part is trying g to keep my team's morale up, nothing worse than having you deadline victory shot dead with " it's not quite Carling though is it?"
Add on too they failed to send us any content until a month ago ( 3 months late).... Yeah, this one has had me closer than ever to the edge of the cliff...2 -
Microservices in real life:
You have 4 different project opened in IDE simultaneously editing all of them to make something to work.
All projects share same db.
Basically this is monolith but splitter to different git repos.
Communicating one another via http calls or directly altering shared db tables.
Everyone is happy until solution goes to production then :
Solution doesn't scale because db is a bottleneck.
Services can be unavailable for 1-2s so some processes are left in unfinished state forever, because everyone assume 99,9% SLA means it always available and http calls will never fail.
Http calls take time.2 -
More from my big black book of ai and neuroscience:
I think if trace theory is true to any degree it would go some distance in explaining phenomenal consciousness, assuming I haven't misunderstood anything.
In fuzzy trace theory (FTT) it is posited that people form two types of mental representations about a past event:
*verbatim traces: detailed representations of a past event.
*gist traces: fuzzy representations of a past event.
People can reason with verbatim *and* gist traces but prefer gists.
*vision was suggested to work similarly in 1999. With human vision, two processes could be used: one that aggregates local receptive fields and one that parses the local receptive spatial field. It was suggested that people used prior experience, gists, to decide which dominates a perceptual decision.
Gist processes form representations of events, semantic details, where verbatim reinstates the context found in the surface details of an event.
__notes__
Parallel storage: asserts encoding/storage of verbatim/gist traces operate in *parallel*, not in serial.
I like to think of verbatim traces as databases, and gists as queries constructed by recognition.
Several studies have found that the meaning (gist) of an item is encoded even *before* the surface details (verbatim).
This might be important as a survival mechanism but should not be taken to mean strictly that gists are formed wholly *without* details or important and recognizable features of the item in question. It may well be for high level el processing and classification efficiency this may be an important reprocessing step, in the same way that many functions of the brain are duplicated throughout.5 -
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 -
Really wish there was a site that contained a library of fundamentals of development processes like basic networking, specific game mechanics and the such.
I don't mean show code but explain some of the maths and algorithms that go into the programming itself.
If I had the time I'd build it...5 -
I saw this from netflix's screensaver-esq display.
That's a great title!... thinking of orchestrating one's internal processes with the subtext of potential inner demons...
but ofc it has nothing to do with the tech term daemon...
I'm pretty sure that I need a break but I have more I need to do.2 -
it feels a bit wierd to open a word file that processes an access-filtered excel file to optionally generate an outlook mail.5
-
VSCode doesn't request permission to edit github workflow files by default. Because it's an OAuth app and not a token, I can't grant it scopes that it did not request. I am forced to use SSH or a personal token instead of VSCode's built-in Github authentication, but because there's no convenient way to have VSCode forget that it authenticated a repo, I am also forced to checkout my own repo again and push the changes across.
If you want your product to Just Work, then Just Use Open Processes that are easy to hook into, interrupt or partially replace. Nobody can think of everything. Not even Apple's or Microsoft's mighty designers. What everyone can do is to provide graceful failure modes and offer partial strategies. -
Any advice what you guys consider when changing jobs?
I don't like my current job anymore as it is very chaotic, unstructured and lots of people are leaving. However, people think highly of me and I could get a good salary while having an easy+ safe job. With homeoffice allowed, flexible timemanagement...
Now I got this new offer and it is in a field that is more interesting for me but they are only offering the same salary as I have now, without getting compensation for overtime. Homeoffice will be okay but only after 6 months of probation. I only got to know the CEO and he seems to be cool, but i worry that i might have to work overtime regularly. Also I dont know for sure if the processes will actually be better than in my current workplace. I am still in the beginning of my career so i think i shouldnt stay in the current company for too long but of course i dont want to end up in a place that is worse.
How do you guys make sure you are moving to a better place?2 -
I don't know why but the default settings in Ubuntu have changed quite a lot. There was once a glorious time when if your Ubuntu got stuck, you could press Ctl + Alt + F2-F6, login to a console, run top command to see which process was taking too much time and kill it, and you can go back and start the process and again.
I remember days(~15-20 days) between restarts of my laptop, because I could do that. But now, my Ubuntu gets stuck, and continues to get stuck for about 5-10 mins, and then just restarts.
I have run the disk checks to see if my hard disk is creating issues, but no issues there. Maybe, there are times when the processes execute some buggy code and cannot get out. One fine moment, one of the processes(probably a browser or Eclipse), starts using too much memory or cpu, and the whole worlds seems to be crashing down.
But, my control to kill it promptly without crashing my other applications, was so good to have. And now, every time this happens, I feel 2016-17 and earlier days were so much better.12 -
Flowcharting actual computing processes and using flowcharts to code. For someone who is more visual than logical like me, it helps as guide to code and it also serves as documentation to clients.
-
SMB/CIFS support on Linux distros is a nightmare! Switching from wired to wireless will cause ALL mounts to freeze, and they all become impossible to dismount normally. You can't even ls the root folder anymore if there are frozen mount folders inside. It's f#&%ing retarded to have to reboot your PC twice a day because you lost WiFi signal for one second, and the underlying processes don't understand SIGTERM. And I could go on about MTP! Standard file transfer protocol for Android but boy it is hellish. Trying to copy a structure with subfolders will take forever because every ls call to the phone is like an API call to some free webhosting company in Australia, takes forever, if it even succeeds. I won't even get started on WebDAV and SSHFS (the latter is even worse than CIFS). Those make me want to do unpleasant things to my computer. So frustrating! I can't be the only one who has experienced this, right?1
-
Just found out what deadlocked processes are and it really has a lot of potential for teenage instagram sentimental quotes.
"Two processes that are kept on wait indefinitely because the only thing that could end the wait is an action by one of them" with some pretentious looking font and a picture of like, a rose in black and white or some shit is Instagram gold -
I was trying to move a Zend app from one server to another once. there were actually 3 apps running on 2 different servers, an idle rabbit server, and the code in prod was vastly different than what was on the repo. the docs the previous dev wrote were literally the about pages for the tech used.
I remember he had a Windows server running something... all the docs said was "for long processes".... there wasn't a single process ever running on it. -
So this month I had to do two major features which required unexpected refactors and I had to handle unexpected edge cases all over the place. Since I work in another timezone and time was of essence, I was kinda working around the clock to complete refactors as fast as possible because it was "important and critical". I have 7 other devs in my team but only half of the team are actually competent and even less are motivated to push through. Most of the team prefer to sit on low hanging fruit tasks and cant even get that fucking right.
So that resulted in me doing at least 100 hours of overtime this month. Best part all I got for pulling it off was a thank you slack message from teamlead and got assigned even more work: to lead a new initiative which seems to be even bigger clusterfuck...
So today I had a sitdown with my manager and I asked for 3 paid days off and told him that I did 50-60 hours of overtime. He okayed it as long as my teamlead was happy.
So I created a chat, adder manager and teamlead to it and explained my situation. That Im feeling burned out, I need 3 days off and combined with the weekend that should allow me to finally relax.
My fucking teamlead told me that these days are mine and he cant take them away from me. But then he started guilt tripping me that no one else will be working on the new initiative these days so we will have a very tight timeframe to deliver this (only until August).
Instead of having at least a drop of empathy that fucker tried to guilt trip me for taking days off for fucking unpaid overtime. What a motherfucker. Best part is Ive talked with manager and we actually have until end of August to deliver the new initiative, so fucker teamlead is gashlighting me with false sense of urgency.
I guess a hard lesson learnt here. Waiting for my fucking raise to be approved for the past 6 weeks (asked for a 43% bump which is on the way since I got very strong positive feedback).
So Im done. I proved myself, will get the salary of which I only dreamed about few months ago. Not putting any overtime anymore. If something is very urgent, borrow fucking decent devs from another team. Or replace half of our useless team with just one new decent dev. I bet our producticity would increase at least by 50%.
Its not my fuckint fault that 2-3 people are pulling the weight of 8 people team. Its not my responsibility to mentor retards while crunching under immense pressure just because current processes are dysfunctional. Fuck it. Hard lesson learned. If you want overtime, compensate with extra days off or pay. Putting my 7-8 hours in daily and Im not responding to your bullshit slack messages or emails after work. I dont give a fuck that you work in another timezone and my late responses might result in stuff getting done postponed by a few days or a week. Figure it out.2 -
So I'm assigned once again to fix a new someone else created and that seems to be the case whenever there's an issue...
Boss just assigns it to whoever is most likely to be able to investigate it... which is basically me. Other than the little time I can use to develop stuff, I'm usually cleaning up other people's messes.
And these other people are to busy working on new crap to properly explain how their existing code/processes/changes works.
And well the fact that anything breaks in production (that's not due to upstream one off issues) whoever does not think he needs to take responsibility for it.
So everyone else and especially me has to spend time understanding the shit they wrote and fixing it for them.
How do I tell my boss this nicely that we need clearly definitely ownership and whenever a component blows up in prod, the guy that wrote the code fixes it no matter what? Thereby incentivizing him to not write shit code in the first place and be more proactive in making sure it doesn't in the first place since he knows otherwise he's doing overtime to fix it?
Is it just me or is there really no such thing as a dev job where something doesn't blow up due to poorly tested and designed code every other day?3 -
I made a full html5 game that was an anonymous survey collection platform, it was meant as a solution for 2 problems: toxic work environments and gamifying boring processes the whole project was a gamification of business process to make it more engaging and add context, might not seem cutting edge but the devil is in the details i had to do lots of libraries and tools to make sure it is not exploited.
As for the startup the ceo fucked us all up and we ended disbanding, my only regret is that we actually had a revolutionary idea going on. -
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 -
TL;DR When talking about caching, is it even worth considering try and br as memory efficient as possible?
Context:
I recently chatted with a developer who wanted to improve a frameworks memory usage. It's a framework creating discord bots, providing hooks to events such as message creation. He compared it too 2 other frameworks, where is ranked last with 240mb memory usage for a bot with around 10.5k users iirc. The best framework memory wise used around 120mb, all running on the same amount of users.
So he set out to reduce the memory consumption of that framework. He alone reduced the memory usage by quite some bit. Then he wanted to try out ttl for the cache or rather cache with expirations times, adding no overhead, besides checking every interval of there are so few records that should be deleted. (Somebody in the chat called that sort of cache a meme. Would be happy , if you coukd also explain why that is so😅).
Afterwards the memory usage droped down to 100mb after a Around 3-5 minutes.
The maintainer of the package won't merge his changes, because sone of them really introduce some stuff that might be troublesome later on, such as modifying the default argument for processes, something along these lines. Haven't looked at these changes.
So I'm asking myself whether it's worth saving that much memory. Because at the end of the day, it's cache. Imo cache can be as big as it wants to be, but should stay within borders and of course return memory of needed. Otherwise there should be no problem.
But maybe I just need other people point of view to consider. The other devs reasoning was simple because "it shouldn't consume that much memory", which doesn't really help, so I'm seeking you guys out😁 -
I'm in a big fat fucking stinking rut, as in progress on this project has absolutely stagnanted.
Gonna rubber face your duck now **UNZIPS** excepts I don't have zippers, as joggers are the one true way; fake Adidas til I fucking drop.
Brain damage aside, I understand both how I've layed out the data and what I'm supposed to do with it. We have a virtual machine, an array of instructions and arguments for a given process within it, and we need to walk this array and map values to registers.
We also need to spill values inside registers to stack, IF they are required at a further point within that block. This also isn't terribly complex. We simply look forward in the array and see if the value is an argument to any instruction that *needs* this value to be loaded (ie, within a register).
So this implies multiple iterations; we need to better understand how one particular value is used throughout an F before we can make a final decision on how many registers and stack space are actually needed for the whole block.
Here's where it gets tricky. If there's a call, we need to be certain that the symbol being invoked has already been fully processed. Besides the obvious fact that recursion fucks me up, there's another matter: say a private method gets invoked by another private method. We can take advantage of this, by which I mean, sacrilege incoming so put on this toga.
Looking at the output for C compilers, it would seem this is not done in practice, I would assume because it's a pain in the ass. But when you have the guarantee that F will only be called internally, as that's what "private" means, there's two ways it can go:
0. It's well below the 13-20 cycle threshold, so you inline the fucker. No suprises there.
1. It's a more involved affaire, and invoked in more than one place, so you don't inline it. Codesize matters.
Recursion and [1] are the big deal things holding me back. Not because it's too hard, like I said this is kindergarten level abstraction. I'm just slow and fanatical, which is how I prefer to spell "constant obsessive paranoid delusions". I can see the potential optimization I can pull here, so I'm stuck trying to figure it out.
Idea would be, handling the register allocation and stack spill for an internal-internal (or deep internal; what we like to call a "guts" method) in synchronization with the *calling* processes. This is, fundamentally, violating all conventions -- but so under the hood no one will notice.
Let me give you an example. If we were to pass some value to a function, expecting to mutate it and get a different value back, in a lot of cases it'd be stupid to make an implicit copy by using two registers, one for input and another for the output. Dude, it's one cycle. Multiply it by a million, say sixty times per second, for every time you __needlessly__ make a copy of a value that we've already stated is mutable.
Clearly unacceptable. This is, in the strictest sense, everywhere in every single codebase. Premature micro optimization is the root of all goodness, God is great and praiseworthy. So how do we go about it?
Answer is I know and I don't know. By which I mean to say, this very thing I've done by hand. Assembly is fun. Now the issue is teaching a calculator how to do it. Not so fun.
There is a dependency chain between processes, as I believe I've kind of alluded to. I'm trying to make decisions on the side of the caller depending on the details of the callee, which is why recursion is rawdogging my soul. This is the same situation, it's inverting the direction of one or more links in the dependency chain, which makes no fucking sense.
And yet it does.
Brain, explain yourself.
How do *you* handle this without crashing?
Brain?
<<ME STEWPED; BEEP-BOOP>>
Alright then, that was a useless attempt at fuckery. Let's have a nap then, maybe it'll come to me in the morning. That's what I've been saying to myself for almost a month now.
Perhaps it is a hardcoded fuk.1 -
Every work call you have is a workaround. On call, if you explain something related to code or toolchain, it’s your failure at either documentation or choosing abstraction level. If you explain processes and task priorities, it’s your failure at management. If you discuss deadlines, it’s your failure at estimation.
If you’re an IT manager and do your job right, you should barely have calls.3