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 - "i have way too many"
-
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 -
Hey everyone,
First off, a Merry Christmas to everyone who celebrates, happy holidays to everyone, and happy almost-new-year!
Tim and I are very happy with the year devRant has had, and thinking back, there are a lot of 2017 highlights to recap. Here are just a few of the ones that come to mind (this list is not exhaustive and I'm definitley forgetting stuff!):
- We introduced the devRant supporter program (devRant++)! (https://devrant.com/rants/638594/...). Thank you so much to everyone who has embraced devRant++! This program has helped us significantly and it's made it possible for us to mantain our current infrustructure and not have to cut down on servers/sacrifice app performance and stability.
- We added avatar pets (https://devrant.com/rants/455860/...)
- We finally got the domain devrant.com thanks to @wiardvanrij (https://devrant.com/rants/938509/...)
- The first international devRant meetup (Dutch) with organized by @linuxxx and was a huge success (https://devrant.com/rants/937319/... + https://devrant.com/rants/935713/...)
- We reached 50,000 downloads on Android (https://devrant.com/rants/728421/...)
- We introduced notif tabs (https://devrant.com/rants/1037456/...), which make it easy to filter your in-app notifications by type
- @AlexDeLarge became the first devRant user to hit 50,000++ (https://devrant.com/rants/885432/...), and @linuxxx became the first to hit 75,000++
- We made an April Fools joke that got a lot of people mad at us and hopefully got some laughs too (https://devrant.com/rants/506740/...)
- We launched devDucks!! (https://devducks.com)
- We got rid of the drawer menu in our mobile apps and switched to a tab layout
- We added the ability to subscribe to any user's rants (https://devrant.com/rants/538170/...)
- Introduced the post type selector (https://devrant.com/rants/850978/...) (which will be used for filtering - more details below)
- Started a bug/feature tracker GitHub repo (https://github.com/devRant/devRant)
- We did our first ever live stream (https://youtube.com/watch/...)
- Added an awesome all-black theme (devRant++) (https://devrant.com/rants/850978/...)
- We created an "active discussions" screen within the app so you can easily find rants with booming discussions!
- Thanks to the suggestion of many community members, we added "scroll to bottom" functionality to rants with long comment threads to make those rants more usable
- We improved our app stability and set our personal record for uptime, and we also cut request times in half with some database cluster upgrades
- Awesome new community projects: https://devrant.com/projects (more will be added to the list soon, sorry for the delay!)
- A new landing page for web (https://devrant.com), that was the first phase of our web overhaul coming soon (see below)
Even after all of this stuff, Tim and I both know there is a ton of work to do going forward and we want to continue to make devRant as good as it can be. We rely on your feedback to make that happen and we encourage everyone to keep submitting and discussing ideas in the bug/feature tracker (https://github.com/devRant/devRant).
We only have a little bit of the roadmap right now, but here's some things 2018 will bring:
- A brand new devRant web app: we've heard the feedback loud and clear. This is our top priority right now, and we're happy to say the completely redesigned/overhauled devRant web experience is almost done and will be released in early 2018. We think everyone will really like it.
- Functionality to filter rants by type: this feature was always planned since we introduced notif types, and it will soon be implemented. The notif type filter will allow you to select the types of rants you want to see for any of the sorting methods.
- App stability and usability: we want to dedicate a little time to making sure we don't forget to fix some long-standing bugs with our iOS/Android apps. This includes UI issues, push notification problems on Android, any many other small but annoying problems. We know the stability and usability of devRant is very important to the community, so it's important for us to give it the attention it deserves.
- Improved profiles/avatars: we can't reveal a ton here yet, but we've got some pretty cool ideas that we think everyone will enjoy.
- Private messaging: we think a PM system can add a lot to the app and make it much more intuitive to reach out to people privately. However, Tim and I believe in only launching carefully developed features, so rest assured that a lot of thought will be going into the system to maximize privacy, provide settings that make it easy to turn off, and provide security features that make it very difficult for abuse to take place. We're also open to any ideas here, so just let us know what you might be thinking.
There will be many more additions, but those are just a few we have in mind right now.
We've had a great year, and we really can't thank every member of the devRant community enough. We've always gotten amazingly positive feedback from the community, and we really do appreciate it. One of the most awesome things is when some compliments the kindness of the devRant community itself, which we hear a lot. It really is such a welcoming community and we love seeing devs of all kind and geographic locations welcomed with open arms.
2018 will be an important year for devRant as we continue to grow and we will need to continue the momentum. We think the ideas we have right now and the ones that will come from community feedback going forward will allow us to make this a big year and continue to improve the devRant community.
Thanks everyone, and thanks for your amazing contributions to the devRant community!
Looking forward to 2018,
- David and Tim45 -
It saved me from suicide.
You have to understand first that things in India work differently. Academics are not personal, but a social business. Academic competition in India is very high and not in a good way, or for the good reasons.
As a teenager was sent off from my home to the other side of the country. I didn't like it. My studies suffered, and I failed my exams. Came back home and faced months of emotional abuse (guilt trips, scornful comments, plain insults) from my parents, neighbours and relatives. Indian society is just built that way. They didn't know they were damaging my psyche, or they were too angry to care. Lots of other shit (lost friends, lost love) happened at roughly the same time period and everything started to fall like dominos.
I fell into severe depression. Lost appetite, lost sleep. Nothing mattered anymore. There were mornings when I would wake up and not get up from my bed for hours, and not even move a finger. Self-hate became the motto of the day. I became violent and anti-social. I would either be angry or trying not to break down and give up all the time. Many a night, I considered suicide. I would end up googling for easy ways out to take.
But what gave me a way out of the pains of my reality was programming. It helped my keep my head, figuratively and literally. It kept my mind distracted and gave me a sense of purpose. I would shut myself in, plug in my headphones, shut the world out and just experiment.
I am not saying that I am the best at what I do, but those sleepless and troubled nights, and many other similar nights over the years have given me a definite edge over my colleagues.
Even today, when everything is falling to pieces, I know I have something to fall back on. I still get episodes of depression every now and then, but I know I can always pick up a new project and distract myself. It probably isn't healthy, but eh...
I am alive. I code. I kick ass. My colleagues respect and value my opinion. I love my job.
Computer does what I tell it to do (mostly :p) and I feel good. Because for that small moment, I am in control of everything. For that infinitesimally small moment of my average, boring, and somewhat painful life, I am God.50 -
One of my favorite aspects of devRant has always been getting to learn more about the awesome people who use it. Beyond just the awesome stories posted by many here, one of my favorite ways to learn about and feel connected to the people here has always been desk/setup reveals. I personally love seeing different kinds of setups from all over the world, knowing that’s what the people here use to do their work and compute in general.
As an experiment, we want to try a few different things to highlight desk/setup/remote coding location posts. First, we’ve created the first devRant Instagram account, which is completely focused on developer desks/setups/workstations/remote coding. Please check it out here and follow: https://www.instagram.com/devdesks/
I want to use the account to bring more attention to the wide assortment of setups the awesome members of the devRant community post from all over the world. We’ll promote cool desk/setup/remote work images that are posted on devRant to the Instagram account for more exposure/additional audience.
Beyond that, I also want to try to come up with a way to better organize all of the desk/setup posts on devRant and encourage more of them. One kind we don’t see that often that I personally really enjoy is people coding with their laptops in locations that show the culture of their country or something special about the region they are from. Personally, I’m going to try to post some of those for where I live and work.
So how can you help with this effort? It’s easy! We encourage people to post their setups/working remotely pics and we will start featuring them on the Instagram account and hopefully elsewhere in the devRant app for some increased visibility/searchabilty over what we have now (since pics are kind of hard to search).
Also, we plan to make the weekly rant this week “post your setup,” so maybe wait until then to post, and you can work now on getting that awesome shot :) I know a lot of people here love photography like I do, so I think that part is fun too.
Please let me know if you have any ideas or questions about this, and I’m looking forward to seeing the desks/setups of many more devRanters in the next few days!
P.S. not a requirement, but one thing I think makes these photos better looking through a lot of them is when there is code visible in some way.43 -
Hey everyone,
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (david@hexicallabs.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)53 -
Just a joke I found online:
One day I was facing some issue with Outlook and I raised a ticket to get it resolved. I got a call from the Service Desk lady after some time and it went this way:
Lady: Hi I'm calling from service desk, what is the problem?
Me: (I explained the problem).
Lady: Can you please share your screen and give me the control so that I can solve the issue?
Me: (I shared the screen and gave the control. She solved it!!)
Lady: You may close the ticket from your end, the issue is solved.
Me: Thank you very much, I will close the ticket.
I opened her profile in lync and had a look at her profile. The display pic looked small in size. I instantly messaged her Employee ID to my colleague and asked him to have a look at her. He replied "She looks good in some angles".
I tried searching her FB profile with the help of her name, but there were too many results.
I started searching on Linked In instead, I found her profile this time. I was trying to enlarge the profile pic and suddenly a message popped up - it says
"I'll share my better picture with you on your outlook ID but you may please stop sharing your screen??"
😂8 -
So I told my wife one week ago: "Yeah, you should totally learn to code as well!"
Yesterday a package arrived, containing a really beautiful hardcover book bound in leather, with a gold foil image of a snake debossed into the cover, with the text "In the face of ambiguity -- Refuse the temptation to guess" on it.
Well, OK, that's weird.
My wife snatches it and says: "I had that custom made by a book binder". I flip through it. It contains the Python 3.9 language reference, and the PEP 8 styleguide.
While I usually dislike paper dev books because they become outdated over time, I'm perplexed by this one, because of how much effort and craftsmanship went in to it. I'm even a little jealous.
So, this morning I was putting dishes into the dishwasher, and she says: "Please let me do that". I ask: "Am I doing anything wrong?"
Wife responds: "Well, it's not necessarily wrong, I mean, it works, doesn't it? But your methods aren't very pythonic. Your conventions aren't elegant at all". I don't think I've heard anyone say the word "pythonic" to me in over a decade.
And just now my wife was looking over my shoulder as I was debugging some lower level Rust code filled with network buffers and hex literals, and she says: "Pffffff unbelievable, I thought you were a senior developer. That code is really bad, there are way too many abbreviated things. Readability counts! I bet if you used Python, your code would actually work!"
I think I might have released something really evil upon the world.29 -
!rant
This was over a year ago now, but my first PR at my current job was +6,249/-1,545,334 loc. Here is how that happened... When I joined the company and saw the code I was supposed to work on I kind of freaked out. The project was set up in the most ass-backward way with some sort of bootstrap boilerplate sample app thing with its own build process inside a subfolder of the main angular project. The angular app used all the CSS, fonts, icons, etc. from the boilerplate app and referenced the assets directly. If you needed to make changes to the CSS, fonts, icons, etc you would need to cd into the boilerplate app directory, make the changes, run a Gulp build that compiled things there, then cd back to the main directory and run Grunt build (thats right, both grunt and gulp) that then built the angular app and referenced the compiled assets inside the boilerplate directory. One simple CSS change would take 2 minutes to test at minimum.
I told them I needed at least a week to overhaul the app before I felt like I could do any real work. Here were the horrors I found along the way.
- All compiled (unminified) assets (both CSS and JS) were committed to git, including vendor code such as jQuery and Bootstrap.
- All bower components were committed to git (ALL their source code, documentation, etc, not just the one dist/minified JS file we referenced).
- The Grunt build was set up by someone who had no idea what they were doing. Every SINGLE file or dependency that needed to be copied to the build folder was listed one by one in a HUGE config.json file instead of using pattern matching like `assets/images/*`.
- All the example code from the boilerplate and multiple jQuery spaghetti sample apps from the boilerplate were committed to git, as well as ALL the documentation too. There was literally a `git clone` of the boilerplate repo inside a folder in the app.
- There were two separate copies of Bootstrap 3 being compiled from source. One inside the boilerplate folder and one at the angular app level. They were both included on the page, so literally every single CSS rule was overridden by the second copy of bootstrap. Oh, and because bootstrap source was included and commited and built from source, the actual bootstrap source files had been edited by developers to change styles (instead of overriding them) so there was no replacing it with an OOTB minified version.
- It is an angular app but there were multiple jQuery libraries included and relied upon and used for actual in-app functionality behavior. And, beyond that, even though angular includes many native ways to do XHR requests (using $resource or $http), there were numerous places in the app where there were `XMLHttpRequest`s intermixed with angular code.
- There was no live reloading for local development, meaning if I wanted to make one CSS change I had to stop my server, run a build, start again (about 2 minutes total). They seemed to think this was fine.
- All this monstrosity was handled by a single massive Gruntfile that was over 2000loc. When all my hacking and slashing was done, I reduced this to ~140loc.
- There were developer's (I use that term loosely) *PERSONAL AWS ACCESS KEYS* hardcoded into the source code (remember, this is a web end app, so this was in every user's browser) in order to do file uploads. Of course when I checked in AWS, those keys had full admin access to absolutely everything in AWS.
- The entire unminified AWS Javascript SDK was included on the page and not used or referenced (~1.5mb)
- There was no error handling or reporting. An API error would just result in nothing happening on the front end, so the user would usually just click and click again, re-triggering the same error. There was also no error reporting software installed (NewRelic, Rollbar, etc) so we had no idea when our users encountered errors on the front end. The previous developers would literally guide users who were experiencing issues through opening their console in dev tools and have them screenshot the error and send it to them.
- I could go on and on...
This is why you hire a real front-end engineer to build your web app instead of the cheapest contractors you can find from Ukraine.19 -
I. FUCKING. HATE. MOBILE. DEVELOPMENT.
I already manage the data, devops, infra, and most of the backend dev.
We had a mobile guy. He was great. I never had to think about it and kept moving quickly on my work. #SpecializationOfLaborFTW
He left. Why? Because they wouldn't give him a small raise despite being one of the best mobile engineers in the firm. WTF.
I made the mistake of picking up just enough slack on this workflow in the interim such that I'm, apparently, the fucking god-damned release manager, fixer of pipelines, fixer of build configs, fixer of anything where someone just needs to RTFM for a half-hour to not fucking break things.
Now, 8 months later...and, apparently, Fortune 500 companies are too fucking god-damned cheap to pay for someone who actually knows WTF they're doing for a very reasonable thing to have at least one dedicated set of eyes for.
I never wanted to be a mobile dev.
I never will want to be a mobile dev.
And I certainly don't want to manage your HALF-FACE-FUCKED detached expo configs.
There's a reason I never intentionally involved myself in mobile. All the way down, it's just shitty cross-compilation, transpilation, dependency-hell, brittle-as-fuck build processes so we can foot-gun and mouth-gun react-native and expo and babel and whatever the fuck else cargo-culted horseshit into the wild.
And why? What's the actual fucking root cause? The biggest white elephant that ever fucking elephant-ed? It's because Apple and Google decided to never collaborate on a truly-native cross-platform SDK--where engineers could write native code that compiles to native binaries that's simply write-once, run-everywhere. They know they could have done that, and they didn't. So what'd they get back? Expo--a too-cleverly-designed backdoor/hack--more-or-less a way to circumvent the sane release process software has usually followed: code -> executable -> deploy. Or code -> deploy (for interpreted langs). Expo's like "keep your same executable, we're just gonna to do updates by injecting new code into it whenever we want". Didn't we learn anything with web? Shit gets messy real quick? Not to mention: HEY EXPO, WE WERE ALREADY BUILDING NATIVE APPS, YOU SHORT-SIGHTED FUCKS. THANKS FOR LURING OUR CTOs INTO FORCING EXPO DOWN OUR THROATS W/ THE IMPLICIT (BUT INCORRECT) TOO-GOOD-TO-BE-TRUE PROMISE THAT WE CAN HAVE WRITE-ONCE, RUN-ANYWHERE WITHOUT ANY BUY-IN OR COOPERATION FROM THE ACTUAL TARGET PLATFORMS.
And, we just, like, accept this? We all know it's garbage engineering. The principles we learned in the classroom aren't just academic abstractions--they actually yield real-world results--and eschewing them yields real-world failures. Expo is tightly-coupled to high-heaven, with leaky abstractions six-ways-to-christmas, chock-full of foot-guns, and fails the most basic test of quality: does it, "just work?"
Expo is fucking shameful and it should fucking die. Its promises are too bold, its land-mines too many, its future-proof-ness is alway, always, always questionable as fuck and a risk to every project that uses it.
You want a rant? This is my fucking venue, 'tis not? Well, then this is a piss and vinegar rant straight from my blood-red, beating fucking heart:
EXPO FUCKING SUCKS. AND IF YOU'RE A FAN, YOU FUCKING SUCK TOO.27 -
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
//
// devRant unofficial UWP update (v2.0.0-beta)
//
After several concepts, about 11 months of development (keep in mind that I released 20 updates for v1 in the meantime, so it wasn't a continous 11 months long development process) and a short closed beta phase, v2 is now available for everyone (as public beta)! :)
I tried to improve the app in every aspect, from finally responsive and good looking UI on Desktop version to backend performance improvements, which means that I almost coded it from scratch.
There are also of course a few new features (like "go to bottom" in rants), and more to come.
It's a very huge update, and unfortunately to move forward, improve the UI (add Fluent Design) and make it at the same level of new UWP apps, I was forced to drop the supported for these old Windows 10 builds:
- Threshold 1 (10240)
- Threshold 2 (10586)
Too many incompatiblity issues with the new UI, and for 1 person with a lot of other commitments outside this project (made for free, just for passion), it's impossible to work at 3 parallel versions of the same app.
I already done something like that during these 11 months (every single of the 20 updates for v1 needed to be implemented a second time for v2).
During the closed beta tests, thanks to the awesome testers who helped me way too much than I ever wished, I found out that there are already incompatiblity issues with Anniversary Update, which means that I will support two versions:
1) One for Creators Update and newer builds.
2) One for Anniversary Update (same features, but missing Fluent Design since it doesn't work on that OS version, and almost completly rewritten XAML styles).
For this reason v2 public beta is out now for Creators Update (and newer) as regular update, and will be out in a near future (can't say when) also for the Anniversary Update.
The users with older OS versions (problem which on PC could be solved in 1-2 days, just download updates) can download only the v1.5.9 (which probably won't be supported with new updates anymore, except for particular critcal bug fixes).
So if you have Windows 10 on PC and want to use v2 today, just be sure you have Creators Update or Fall Creators Update.
If you have Windows 10 PC with Anniversary Update, update it, or if you don't want to do that, wait a few weeks/months for the update with support for your build.
If you have an older version on PC, update it, or enjoy v1.5.9.
If you have Windows 10 Mobile Anniversary Update, update it (if it's possible for your device), or just wait a few weeks/months for the update with support for your build.
If you have Windows 10 Mobile, and because of Microsoft stupid policy, you can't update to Anniversary Update, enjoy v1.5.9, or try the "unofficial" method (registry hack) to update to a newer build.
I hope it's enough clear why not everyone can receive the update today, or at all. :P
Now I would like to thank a few people who made this possible.
As always, @dfox who is always available for help me with API implementations.
@thmnmlist, who helped me a lot during this period with really great UI suggestions (just check out his twitter, it's a really good person, friend, designer and artist: https://twitter.com/thmnmlist).
And of course everyone of the closed beta testers, that reported bugs and precious suggestions (some of them already implemented, others will arrive soon).
The order is random:
@Raamakrishnan
@Telescuffle
@Qaldim
@thmnmlist
@nikola1402
@aayusharyan
@cozyplanes
@Vivaed
@Byte
@RTRMS
@tylerleonhardt
@Seshpengiun
@MEGADROID
@nottoobright
Changelog of v2.0.0-beta:
- New UI with Fluent Design and huge improvements for Desktop;
- Added native support for Fall Creators Update (Build 16299);
- Changed minimum supported version to Creators Update (Build 15063), support for Anniversary Update (Build 14393) will arrive soon;
- Added mouse support for Pull-To-Refresh;
- Added ability to change your username and email;
- Added ability to filter (by 'Day', 'Week', 'Month' and 'All') the top Rants;
- Added ability to open rant links in-app;
- Added ability to zoom GIFs (just tap on them in the Rant View);
- Added 'go to bottom' button in the Rant View (if more than 3 comments);
- Added new theme ('Total Black');
- ...complete changelog in-app and on my website (can't post it here because of the 5000 characters limit)...
What will arrive in future updates:
- 'Active Discussions' screen so you can easily find rants that have recent comments/discussions;
- Support for 'Collabs';
- Push Notifications (it was postponed and announced too many times...);
- More themes and themes options;
- and more...
If you still didn't download devRant unofficial UWP, do it now: https://microsoft.com/store/apps/...
If you find some bugs or you have feature suggestion, post it on the Issue Tracker on GitHub (thanks in advance for your help!): https://github.com/JakubSteplowski/...
I hope you will enjoy it! ;)52 -
Someday my toaster is going to have an IP address. A bad automatic firmware update will most likely cause it to get stuck on the bagel setting until I plug a usb key in and reflash the memory.
Grandma's refrigerator will probably get viruses, lock itself and freeze all the food inside, demanding bitcoin before defrosting.
My blender will probably be used in a massive DDoS attack because Ninja's master MAC address list got leaked and the hidden control panel login is admin/admin.
Ovens will burn houses down when people call in to have them preheat on their way home from work.
Correlations between the number of times the lights are turned on and how many times the toilet is flushed will yield recommendations to run the dishwasher on Thursdays because it's simply more energy efficient.
My dog will tweet when he's hungry and my smart watch will recommend diet dog food in real-time because he's really been eating too much lately--"Do you want to setup a recurring order on Amazon fresh?"
Sometimes living in a cave sounds nice...12 -
I turned 40 yesterday. Here are some lessons I've learned, without fluff or BS.
1) Stop waiting for exceptional things to just happen. They rarely do, and they can't be counted on. Greatness is cultivated; it's a gradual process and it won't come without effort.
2) Jealousy is a monster that destroys everything in it's path. It's absolutely useless, except to remind us there's a better way. We can't always control how we feel, but we can choose how we react to those feelings.
When I was younger, jealousy in relationships always led to shit turning out worse than it probably would have otherwise. Even when it was justified, even when a relationship was over, jealousy led me to burn bridges that I wished I hadn't.
3) College isn't for everyone, but you'll rarely be put square in the middle of so much potential experience. You'll meet people you probably wouldn't have otherwise, and as you eventually pursue your major, you'll get to know people who share your passions and dreams. Despite all the bullshit ways in which college sucks, it's still a pretty unique path on the way to adulthood. But on that note...
4) Learn to manage your money. It's way too easy to get into unsustainable debt. It only gets worse, and it makes everything harder. We don't always see the consequence of credit cards and loans when we're young, because the future seems so distant and undecided. But that debt isn't going anywhere... Try not to borrow money that you can't imagine yourself paying back now.
5) Floss every day, not just a couple times per week when you remember, or when you've got something stuck in your teeth. It matters, even if you're in your 20s and you've never had a cavity.
6) You'll always hear about living in the moment, seizing the day... It's tough to actually do. But there's something to be said for looking inward, and trying to recognize when too much of our attention is focused elsewhere. Constantly serving the future won't always pay off, at least not in the ways we think it will when we're young.
This sentiment doesn't have much value when it's put in abstract, existential terms, like it usually is. The best you can do is try to be aware of your own willingness and ability to be open to experiences. Think about ways in which you might be rejecting the here and now, even if it's as seemingly-benign as not going out with some friends because you just saw them, or you already went to that place they're going to. We won't recognize the good old days for what they were until they're already gone. The trick is having as many good days as possible.
7) Don't start smoking; you'll never quit as soon as you'll think you can. If you do start, make yourself quit after a couple years, no matter what. Keep your vices in check; drugs and alcohol in moderation. Use condoms, use birth control.
8) Don't make love wait. Tell your friends and family you love them often, and show them when you can. You're going to lose people, so it's important. Statistically, some of you will die young, yourselves.
When it comes to relationships, don't settle if you can't tell yourself you're in love, and totally believe it. Don't let complacency and familiarity get in the way of pursuing love. Don't be afraid to end relationships because they're comfortable, or because you've already invested so much into them.
Being young is a gift, and it won't last forever. You need to use that gift to experience all the love that you can, at least as a means to finding the person you really want to grow old with, if that's what you want. Regardless, you don't want to miss out on loving someone, and being loved, because of fear. Don't be reckless; just be honest with yourself.
9) Take care of your body. Neglecting it makes everything tougher. That doesn't mean you have to work out every day and eat like a nutritionist, but if you're overweight or you have health issues, do what you can to fix it. Losing weight isn't easy, but it's not as hard as people make it out to be. And it's one of the most important things you can do to invest in a healthy adulthood.
Don't put off nagging health issues because you think you'll be fine, or you don't think you'll be able to afford it, or you're scared of the outcome. There will always be options, until there aren't. Most people never get to the no-options part. Or, they get there because all the other options expired.
10) Few things will haunt you like regret. Making the wrong choice, for example, usually won't hurt as much. I guess you can regret making the wrong choice, but my deepest regrets come from inaction, complacency and indifference.
So how can we avoid regret? I don't know, lol. I don't think it's as simple as just commiting to choices... Choosing to do nothing is still a choice, after all. I think it's more about listening to your gut, as cliche as that sounds.
To thine own self be true, I guess. It's worth a shot, even if you fail. Almost anything is better than regret.11 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
One week, and it turned out to be worse than that.
I was put on a project for a COVID-19 program in America (The CARES Act). The financial team came to us on Monday morning and said they need to give away a couple thousand dollars.
No big deal. All they wanted was a single form that people could submit with some critical info. Didn't need a login/ registration flow or anything. You could have basically used Google Forms for this project.
The project landed in my lap just before lunch on Monday morning. I was a junior in a team with a senior and another junior on standby. It was going to go live the next Monday.
The scope of the project made it seem like the one week deadline wasn't too awful. We just had to send some high priority emails to get some prod servers and app keys and we were fine.
Now is the time where I pause the rant to express to you just how fine we were decidedly **not**: we were not fine.
Tuesday rolls around and what a bad Tuesday it was. It was the first of many requirement changes. There was going to need to be a review process. Instead of the team just reading submissions from the site, they needed accept and reject buttons. They needed a way to deny people for specific reasons. Meaning the employee dashboard just got a little more complicated.
Wednesday came around and yeah, we need a registration and login flow. Yikes.
Thursday came and the couple-thousand dollars turned into a tens of millions. The amount of users we expected just blew up.
Friday, and they needed a way for users to edit their submissions and re-submit if they were rejected. And we needed to send out emails for the status of their applications.
Every day, a new meeting. Every meeting, new requirements that were devastating given our timeframe.
We put in overtime. Came in on the weekend. And by Monday, we had a form that users could submit and a registration/ login flow. No reviewer dashboard. We figured we could take in user input on time and then finish the dashboard later.
Well, financial team has some qualms. They wanted a more complicated review process. They wanted roles; managers assign to assistants. Assistants review assigned items.
The deadline that we worked so hard on whizzed by without so much as a thought, much less the funeral it deserved.
Then, they wanted multiple people to review an application before it was final. Then, they needed different landing pages for a few more departments to be able to review different steps of the applications.
Ended up going live on Friday, close to a month after that faithful Monday which disrupted everything else I was working on, effective immediately.
I don't know why, but we always go live on a Friday for some reason. It must be some sort of conspiracy to force overtime out of our managers. I'm baffled.
But I worked support after the launch.
And there's a funny story about support too: we were asked to create a "submit an issue" form. Me and the other junior worked on it on a wednesday three weeks into the project. Finished it. And the next day it was scrapped and moved to another service we already had running. Poor management like that plagued the project and worked in tandem with the dynamic and ridiculous requirements to make this project hell.
Back to support.
Phone calls give me bad anxiety. But Friday, just before lunch, I was put on the support team. Sure, we have a department that makes calls and deal with users. But they can't be trained on this program: it didn't exist just a month ago, and three days ago it worked differently (the slippery requirements never stopped).
So all of Friday and then all of Saturday and all of Monday (...) I had extended panic attacks calling hundreds of people. And the team that was calling people was only two people. We had over 400 tickets in the first two days.
And fuck me, stupid me, for doing a good job. Because I was put on the call team for **another** COVID project afterwards. I knew nothing about this project. I have hated my job recently. But I'm a junior. What am I gonna say, no?7 -
How I went from loving my job to wishing i dont wake up tomorrow just to avoid it.
Ive been a backend dev in the company im at for 2 years now.
First year was a blast, i loved my work so much, I used to get so many random features to do, bug fixes, campaigns, analytics, etc..
Second year i started getting familiar with the part of the code that has to do with Search in our music streaming app. Nobody wanted to work on it, so i wanted to take initiative and start doing a few tasks.
A few tasks turned into sprints, and sprints turned into months worth of sprints. And because the code was the definition of tech debt, and because it was so messed up that changing one thing can blow up everything else, working on Search was not too fun.
However, people seemed to be happy search tasks are no longer piling up and someone is handling them so that used to make me feel good about it. They also gave me so much freedom and i felt like my own manager because no one told me what to do (not even my actual manager) they just let me be and were happy i was handling the part they want nothing to do with. I was also given an intern to mentor and have her work on Search tasks with me which turned out amazing.
During the last few months, I completely rewrote search, made it 10 times more performant in such a neat way, made an inhouse dashboard to automate certain tasks so we wont need to waste developers on them (all of which were extra effort on my own time without being asked), all meanwhile still tending to the fixes of the old implementation.
I felt so accomplished, and in a way, i felt like a lead (even tho im not managing any employees, i had so much freedom and I was literally responsible for everything about Search and if i decide to play with the sprint task order i can even do that).
Then 6 or so weeks ago my manager left the company, and while i thought id be a standalone team / person (single person teams are not uncommon in the company) i was instead put under someone else. Someone who likes to micro manage the fuck out of me. I have been happy working on shit code because it was my baby, my project, no one interferes and no one tells me what to do and everyone would call me the search lead (unofficially). now if i dont report to that guy every two hours he calls to see if im working. preplans sprints i no longer have a say in, and im the only dev who knows the code so all tasks go to me. I feel i got demoted so fucking much. I felt like a lead on a project and now im back to being a normal code minion. From deciding everything about a project to blindly following a some irrelevant manager's opinion. (who btw is making Search worse) And after all the extra effort i put in, after actually caring, after actually embracing Search as my responsibility i get rewarded with losing everything i liked about my job...My Independence. From feeling like a lead to feeling demoted. I am so demotivated.
I love the company, but this is hell for me and this made me hate a job i always loved. I am thinking of talking to the CTO asking to work on other stuff because i no longer want this. If i am to be a code minion at least let it be on code i like, let me go back to dealing with PMs, fuck my new manager I dont wanna work with that guy he can take the project along with all its poopoo.16 -
Please stop recommending arch. For real. Stop!
Let's back up. I'm an arch user. Have been for years. I love arch! Like hardcore! But for real, cut it out.
Either they didn't ask and you're being obnoxious or they probably asked "what's a good distro to learn?" Or "Ubuntu holds my hand too much, I want something more consoley" either way, arch is not the answer. Arch is a distro for us stuck up types who like spending all day fixing dependency errors, changing our WM every other week, debating the merits of X vs wayland, and acting better than everyone else.
But here's the thing: I found arch because I wanted something that I could compulsively configure and get really in the weeds. I think most arch users feel that way to some degree. You kinda have to if you want to not be miserable. But many Linux users aren't like that. And that's fine! Let them use mint, or Debian. So they never change their DE. Cinnamon is a great interface! Gnome 2 is totally fine! There's literally nothing wrong with being content with sane defaults and not manually installing every package, and having scheduled releases from a stable source.
Do you tell 7th graders "if you really want to get better at algebra, you should try calculus. You really gain a deep knowledge of math!" No! They will get there when they are good and ready! Or not. It's not a beginner distro. In fact (controversial opinion ahead) it's pretty shitty at being a distro. I have used arch for years! But I don't recommend it to anyone. Because if you want to configure a box for literally 100s of hours (it's never really over is it?), Then you aren't asking anyone about distro recommendations. You've tried them all. You've heard of arch. You been to /r/unixporn.
Stop acting better than everyone else and stop telling people it's better than <other distro here>. It's not. It's different. Very different. And it's not for everyone.26 -
"devRant has changed" "I'm so fed up with this site" "Its a bunch of hate and memes, it was so much better before"
A rebuttal.
devRant is approximately the same as it was when it was just a newborn. Remember the days of semicolon jokes being unironically funny?
Look at the top rants of all time, for fucks sake. #2 ever is:
"A different error message! Finally some progress!"
Posted three years ago. That's the second most upvoted rant in history (Remember, this was a "rant" because the joke/meme category didn't exist back then), it made it's way into the app store screenshots, and was a welcome post.
Now imagine that posted today. It would probably go over okay, in fairness, but it's certainly at risk of any number of pretentious pricks complaining about how this is "devRANT not 4chan" or how they had seen the joke before and it's a shitty repost.
And sure, the repost bullshit is fair. I'm not saying that all the reposts are good content. What I'm saying is devRant has always been full of reposts - they just weren't reposts in the early days. The quality of content is the same.
There's also the common misconception that your posts need to be directly related to tech to post on devRant. This is a myth propagated by 0 IQ heathens that don't read any further than the name of the application. Your posts can be anything that isn't prohibited, like porn, spam, and, importantly, politics (commonly overlooked rule)
"All the memes are just too much". Oh you poor fucking baby, let me pour you a healthy serving of pity juice. First of all, you can turn off the memes category, and while they will still find their way to your feed, the concentration will be much lower and it will once again be bearable for your pitiful, weak little soul. Do you seriously get annoyed that severely by shitty posts that you need to leave the app altogether, or do you just want the attention of being a "cool hipster that hates on xyz"?
"This place is just filled with hate! Why can't you just respect xyz technology, it isn't actually that bad!"
This is probably the most stupid fucking thing you could possibly ejaculate from your fingers into whatever device you are using to type. Welcome to devRant, we hate on shit. That's at our core. No, xyz technology ISN'T actually that bad, you're correct. But we're here to tear it apart because it probably has frustrated us in the past. I fucking hate JS because it was my first language and it confused the shit out of me. JS is a great language. But I still talk shit about it, and that's what we're here to do.
Like seriously, I know a lot of people post stuff they're proud of here, and then they're met with "Would be great if you didn't use xyz tech", and that hurts, but holy shit, this is devRant. If you're sensitive to criticism, or even just straight up being made fun of, don't post shit that you're proud of. You won't have a good time. It's just not what we do here.
Quick interlude before the conclusion, "My girlfriend dumped me after I named a class after her. She felt I treated her like an object." is also on the first page of all-time most popular posts.
In conclusion, devRant has not changed. Reposts have been a nuisance since day 0, and just because reposts look different these days doesn't mean the quality of content has decreased in any manner. The two main sources of your frustration are the volume of low-quality posts (Mind you, not the concentration of them, but the volume of them) and your own prejudices about the platform. You're looking back with rose-tinted glasses.
Here are some tips for a more enjoyable experience:
-Make sure you have the "Hide reposts" setting ENABLED in settings. Any posts marked as repost will be hidden in your feed, pulling down the concentration of low-quality posts.
-Keep to the algo sorting method. Obviously, algo is a bot, and there's still gonna be some shit content in there anyways, but if you're in recent, you are absolutely guaranteed to see low-quality posts. It's unfiltered.
-Keep in mind that what you consider a "quality" post is not what others consider a "quality" post. Just because you don't like memes doesn't mean memes are poor content. There are people here who have never seen the bobby tables comic. And they deserve the same experience we got when discovering dev humor.
-Don't be a prick. And if you cannot help yourself, leave. Ironically, you're making the site worse by complaining about how bad the site is. You can always come back if you aren't a prick anymore. And you can leave permanently if you choose as well.
-Downvote and move on. You're not doing anything but making yourself more aggravated by leaving a shitty comment about how shitty the shitty post is.
-Think critically. Obviously optional, and I know not many people like to use their brain when a phone is suspended between their hands, but if you want a better experience, remember to use your head and not to lose it.21 -
Please don't make junior developers feel they're a burden.
Have you ever googled "how to mentor junior developers"? It's quite mind-blowing how many articles, talks and panels are on this topic. And yet still junior developers are not feeling welcomed in their companies.
Yup, you guessed it, we also have something to add (based on our own experience):
1. Asking for help is not easy. Please don't blow juniors off by telling them to read docs when they ask a question. Always assume they've read it and did a sprint to solve the problem. They ask you, because they see you as a mentor and really need your help. If you can, spend more time with them and guide through the entire problem solving process.
2. Please don't think "I learnt it this way so you should too". If you're in charge of teaching a junior developer, don't expect them to be a carbon copy of yourself. Because even though in your opinion your approach is more "pro", they might not be there yet to use it properly. And last, but not least:
3. Of course, juniors will compare themselves with seniors on their team. And there'll be moments they feel so guilty and so afraid that they cost the company too much, that they need training, and supervision, or are between projects and are not bringing in any money, and they'll fear that their company regrets hiring them. Make sure they don't feel like a burden. As juniors, we often
have this misconception what is expected from us.
Dear tech companies, please set very clear expectations and tell your juniors you're happy. Don't get us wrong here. We don't expect unicorns, roses and pats on the back from companies. We do understand- this is business, and at the end of the day we all are here to make money. To do so, companies need to make smart investments. Junior dev with a great assistance, planned support, and a clear training program will become a great asset. It really is as simple as that.12 -
I work at a small retail store and we have quite a few regular customers who know I'm studying computer science because I'm always coding at work on my laptop.
One lady who comes in quite often and is very sweet asked me if I would take a look at her phone. She said she bought it and paid the owner of a phone repair store to set it up for her, but was felt like he did something weird to it. I told her I wasn't an expert but would look at it.
Oh my god. This guy set up her phone connected to his own personal icloud account. All of his music was on there. All of his contacts were on there. All of his pictures were on there. Even nude pictures of multiple people that this lady said she definitely does not know. I tell her this is very very wrong and no one in their right mind should've set her phone up this way.
I automatically think to factory reset. I'm unfamiliar with iPhone, as the last time I used one was an iPhone4 many years ago. I was unaware that apple applies an authentication lock when the phone is reset.
The authentication is set up underneath yet ANOTHER email address that belongs to this guy, as this lady promised me she has no knowledge of any email address similar to the one listed, nor does she have access to it.
I tell her to call the guy and ask for her money back and to unlock her phone so that she can reset it herself.
He claims that he cannot accept refunds if a factory reset has been performed.
Uhm, I am calling SOOOOO much bullshit. There should be absolutely no reason why the owner of the phone cannot factory reset it. The owner should be able to do ANYTHING she wants with it, without being locked out of it because some creep at a repair store did NOT DO HIS JOB CORRECTLY AND HE KNOWS IT. Why else would he claim he can't refund if it's been reset, because he KNOWS she got locked out.
So long story short I talked on the phone with him and cussed him out telling him he was wrong for taking advantage of someone who doesn't know much about technology and that he was invading privacy and violating her security and that i would report him if he didn't fully refund her and unlock her phone.
He gave her all of her money back, unlocked the phone (which she is deciding to sell because she got so scared by this), and I'm still filing a complaint against this man and his store. Who knows how many more clueless people he did this too. Fucking scumbag.10 -
A couple of months back I got an interview for a junior android devel position. I do not consider myself a junior devel, bt fuck it they paid 78k a year plus benefits and this is for south texas where it ain't thaaat expensive. So i kept my mouth shut and went with it.
The company was glorious, one of those hipsert marketing companies with cool couches and shit and people doing fuckign whatever all over the place and cool tools and desks.
So the initial interview with the hr dept went amazing, real cool guys and very down to earth. Next was the senior android dev.
This dude.
It was to be a phone interview, with a lil coding test. Fine whatevs. But the moment he called i knew shit was going down hill. Dude sounded dead af. Like he could not stand being himself that day. Asked asshole questions that every developer in Android should know that were frankly quite insulting ("what company develops the Android os" kind of deal) but kept my mouth shut and answered as needed.
Then the coding portion. Given a string, find the first position of the first repeated char, so if I had , fuck i dunno "tetas" then t was the first (and only) char repeated and it should have given out 2.
Legit finished it up in less than 6 mins and only because he was making me explain my entire thought process.
He got angry for some reason. Mind you I speak like a hippie, with a melow town and calm voice all the damned time, got that Texas swag going on as well as any good ol' boy from Texas should right?
Well this dude was not having none of that shit that day.
Dude was all like "ok now....why exactly did you do it this way?"
With a VERY condescending tone. And i explained that at first I normally think about solutions in pseudocode, so I wrote that as well...1 min or less. In python. This is after I still had the Java solution on screen with perfectly clean and working Java. I saif that since Python was as close to pseudocode as it gets that I figured i would just write the "pseudocode" in python and then map it to Java with all the required modifications.
"Welk i did not ask you to write it in java, so i dunno why you would even do that to begin with"
That is one of many asshole remarks. The first when I mentioned that I found React Native good for prototyping complex ideas for FUCKING FUN. Passion motherfucker. Shit so fly I do it for fun. "We don't deal with that here so I am not interested in what you can do with that or how would it help me"
Mofocka plz.
Well going back to the python shit. I explain (calmly) that it was just a way that I had to figure details, to think of different implementations. He continues by saying that it takes valuable company time.
Then he proceeds to tell me that he believes that i cheated since i fi ished the java "problem" too fast.
I told him that simple stuff like that should take even less for any senior java dev and that we could run another example if he wanted.
Bring it puto.
But no.
He then said that he still did not understand the need for Python in my solution. I lost it.
"Look man, getting real tired of your tone, i explained already, it is just a mental process, i do this when comming up with solutions, thinking in theory, not languages, helps me bridge the gap between problem and implementation, the solution works, it is efficient and fast and i can do it in 5 diff ways if you wanted, i offered and you said no. Don't really know what else you want"
"All i am saying, i am not going to hire you if you are going to be writing Python for Android, that is useless to me"
Lost it more.
I do sound different when pissed. So I basically told him that he asked for my reasoning behind and it was given, that not getting it was a you problem.
Sooooo did not get the job. Was relieved really. Can't imagine having a twat like that as a lead devel.19 -
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 -
You know what? Fuck this shit. We spend most of our life locked down in a school, we are being told facts, tested and stressed for many years with the only hope to get out as soon as possible.
Failing is something that keeps you there indefinitely.
Parents keep pushing on kids to achieve the best and get good grades to have a job.
Then something happens.
You get out of school and what happens?
You start working.
A.k.a modern slavery...
Employers thinks that since you are young they are doing YOU a favor if they decided to hire you.
So you find yourself having to do the same tasks everyone is doing, perhaps you are even fully capable of managing them and get the shit done but guess what!!
You are paid the minimum.
You barely make enough to pay off your rent which keeps you locked away from Holidays abroad, from that huge cake you desperately want.
And guess what! Try to raise your voice and you'll get fired in a Matter of seconds, replaced with someone else which accepts any condition.
You dream of a house, a family and a car but you can't even eat healthy with that salary.
So you are forced to buy cheap and low quality food from the same store again and again till you had enough and spend some days with that horrible feeling...
Calling you to get a job interview feels like they are doing you a favor, they always try to give the minimum possible and expect you to work in a serious manner and respect their deadlines.
Colleagues earn a lot more even though they aren't doing anything different from you.
For the first year you won't have any holiday, let alone traveling or anything different from just staying home for 3 days straight.
Banks won't give you a loan because your job doesn't pay off
The day that your car is broken you struggle to eat the whole month.
On top of that, taxes. Because they aren't taking away enough.
I don't want to live this life, I don't want to become a modern slave and work 8-17 everyday for the rest of my life and retire with a shitty retirement pension that won't probably grant me anything again.
I had enough of this shit.
I don't want to go back to work and pretend to do what I am supposed to do with a smile on my face knowing that I am just a number and that no matter how skilled I am I can always get replaced with N number of people for a lower salary of mine.
I am tired
I dream of a life that I won't ever reach this way.
Today I looked up houses prices and felt like shit.
I will never in my entire life be able to afford something so expensive, let alone buying furnitures and what is needed or what I like.
I dream of having my place, my dog and my family but apparently I am asking too much.
How is this even fair in 2018/2019?
I... I am... Speechless.
I wonder how many people out there are in the same situation or even worse and I can't even wrap my mind around that.
This is just modern slavery.
My boss makes a shit load of money from young people that can't complain because they are threatened and will eventually be replaced...
This is my rant.22 -
The stupid stories of how I was able to break my schools network just to get better internet, as well as more ridiculous fun. XD
1st year:
It was my freshman year in college. The internet sucked really, really, really badly! Too many people were clearly using it. I had to find another way to remedy this. Upon some further research through Google I found out that one can in fact turn their computer into a router. Now what’s interesting about this network is that it only works with computers by downloading the necessary software that this network provides for you. Some weird software that actually looks through your computer and makes sure it’s ok to be added to the network. Unfortunately, routers can’t download and install that software, thus no internet… but a PC that can be changed into a router itself is a different story. I found that I can download the software check the PC and then turn on my Router feature. Viola, personal fast internet connected directly into the wall. No more sharing a single shitty router!
2nd year:
This was about the year when bitcoin mining was becoming a thing, and everyone was in on it. My shitty computer couldn’t possibly pull off mining for bitcoins. I needed something faster. How I found out that I could use my schools servers was merely an accident.
I had been installing the software on every possible PC I owned, but alas all my PC’s were just not fast enough. I decided to try it on the RDS server. It worked; the command window was pumping out coins! What I came to find out was that the RDS server had 36 cores. This thing was a beast! And it made sense that it could actually pull off mining for bitcoins. A couple nights later I signed in remotely to the RDS server. I created a macro that would continuously move my mouse around in the Remote desktop screen to keep my session alive at all times, and then I’d start my bitcoin mining operation. The following morning I wake up and my session was gone. How sad I thought. I quickly try to remote back in to see what I had collected. “Error, could not connect”. Weird… this usually never happens, maybe I did the remoting wrong. I went to my schools website to do some research on my remoting problem. It was down. In fact, everything was down… I come to find out that I had accidentally shut down the schools network because of my mining operation. I wasn’t found out, but I haven’t done any mining since then.
3rd year:
As an engineering student I found out that all engineering students get access to the school’s VPN. Cool, it is technically used to get around some wonky issues with remoting into the RDS servers. What I come to find out, after messing around with it frequently, is that I can actually use the VPN against the screwed up security on the network. Remember, how I told you that a program has to be downloaded and then one can be accepted into the network? Well, I was able to bypass all of that, simply by using the school’s VPN against itself… How dense does one have to be to not have patched that one?
4th year:
It was another programming day, and I needed access to my phones memory. Using some specially made apps I could easily connect to my phone from my computer and continue my work. But what I found out was that I could in fact travel around in the network. I discovered that I can, in fact, access my phone through the network from anywhere. What resulted was the discovery that the network scales the entirety of the school. I discovered that if I left my phone down in the engineering building and then went north to the biology building, I could still continue to access it. This seems like a very fatal flaw. My idea is to hook up a webcam to a robot and remotely controlling it from the RDS servers and having this little robot go to my classes for me.
What crazy shit have you done at your University?9 -
Okay so this is going to be a rant.
My exams started last wednesday. I'm doing a study called Application Development and I'm in my 5th year now (out of 4, long story).
This is the stuff that's going wrong at the moment and it's getting FUCKING annoying.
- The windows computers were not installed that well so everyone had to downgrade from the last update which took way too long.
- We have to have at least 1-3 conversations with the 'client' and 'manager' for each document but the waiting lists are so long that we have to wait for about 2-4 hours in general (we had a total of 18 hours for the first task) so a lot of people couldn't even have a meeting about around half of the documentation. Having meetings about everything is a REQUIREMENT for a good grade.
- Some of the teachers are so slow that the meetings take way too long.
- Although documentation is important, we calculated that about 80% of the WHOLE FUCKING EXAMS will be documentation which is way too fucking much.
- Some of the grading points (like chapters you have to write in the documentation) ARE NOT EVEN IN THE TEMPLATES MY STUDY PROVIDES. Already had a moment where a teacher was like 'I'm missing this chapter?' me: 'It's not in the official templates?!?' teacher: 'stop right there. I have to grade you for this so is that your or my problem'? unbe-fucking-lievable.
- Some students get so many 'musts' that we are seriously doubting if we can get this to work within about 2 days (12 hours).
Sorry for this rant but I had to get this the FUCK out.8 -
Fuck code.org. Fuck code. Not code code, but "code" (the word "code"). I hate it. At least for teaching. Devs can use it as much as they want, they know what it means and know you can't hack facebook with 10 seconds of furiously typing "code" into a terminal. What the fuck are you thinking when you want me to hack facebook? No, when I program, it's not opening terminal, changing to green text and typing "hack <insert website name here, if none is given, this will result to facebook.com>" Can you just shut the fuck up about how you think that because you can change the font in google fucking docs you have the right to tell me what code can and can't do? No, fuck you. Now to my main point, fuck "code" (the string). It's an overused word, and it's nothing but a buzzword (to non devs, you guys know what you're talking about. how many times have you seen someone think they are a genius when they here the word "code"?) People who don't know shit don't call themselves programmers or devs, they call themselves coders. Why? It fucking sounds cool, and I won't deny that, but the way it's talked about in movies, by people, (fucking) code.org, etc, just makes people too much of a bitch for me to handle. I want everyone reading this rant who has friends who respect the fact that YOU know code (I truly believe everyone on devRant does), how it works, and it's/your limitations, AND that it takes hard work and effort, to thank god right now. If you're stuck with some people like me, I feel you. Never say "code" near them again. Say "program." I really hate people who think they know what an HTML tag is and go around calling themselves coders. Now onto my main point, code.org. FUCK IT. CAN YOU STOP RUINING MY FUCKING AP CS CLASS. NO CODE.ORG, I DON'T NEED TO WATCH YOUR TEN GODDAMN VIDEOS ON HOW TECHNOLOGY IS IMPORTANT, <sarcasm>I'VE BEEN LIVING UNDER A ROCK FOR THIRTY YEARS</sarcasm>. DO I REALLY NEED ANOTHER COPY OF SCRATCH? WAIT, NO, SCRATCH WAS BETTER. YOU HAD FUCKING MICROSOFT, GOOGLE, AND OTHER TECHNOLOGICAL GIANTS AND YOU FUCKED UP SO BAD YOU MADE IT WORSE THAT SCRATCH. JUST LETMECODE (yes I said that) AND STOP TALKING ABOUT HOW SOME IRRELEVANT ROBOT ARM DEVELOPED BY MIT IS USING AI AND MACHINE LEARNING TO MAKE SOME ROBOT EVOLVE?! IF YOU SPEND ONE MORE SECOND SAYING "INNOVATION" I'LL SHOVE THAT PRINT STATEMENT YOU HAVE A SYNTAX ERROR UP YOUR ASS. DON'T GET ME FUCKING STARTED ON HOW ITS IMPOSSIBLE TO DO ANYTHING FOR YOURSELF WHEN YOUR GETTING ALL THE ANSWERS WITHOUT DOING ANY WORK AND THE FACT THAT JAVASCRIPT IS YOUR FUCKING LANGUAGE. <sarcasm>GREAT IDEA, LETS GET THESE NEW PROGRAMMERS INTO A PROFESSIONAL ENVOIRMENT BY ADDING A DRAG AND DROP CODE (obviously we can say it) EDITOR</sarcasm> MAYBE IF YOU GOT THIS SHIT UP YOUR ASS AND TO YOUR BRAIN YOU'D ACTUALLY GET TO PRPGRAMMING IN YOUR ADVANCED AP COURSE. ITS CALLED FUCKING CODE.ORG FOR A REASON32
-
Man, I think we've all gotten way too many of these.
Normally most interactions that I have are through email. Eventually some would try to contact me via phone. These are some:
"Hey! We are calling you from <whatever company name> solutions! (most of them always seem to end on solutions or some shit like that) concerning the Ruby on Rails senior dev opportunity we were talking about via email"
<niceties, how are you doing, similar shit goes here...eventually>
So tell us! how good/comfortable would you say you are with C++?"
Me: I have never done anything serious with c++ and did just use it at school, but because I am not a professional in it I did not list it in my CV, what does it have to do with Rails?
Them: "Oh the applications of this position must be ready to take in additional duties which sometimes happen to be C or C++"
Me: Well that was not anywhere in the offer you sent, it specifically requested a full stack Rails developer that could work with 3 different frontend stacks already and like 4 different databases plus bla bla bla, I did not see c++ anywhere in it. Matter of fact I find it funny, one of the things that I was curious about was the salary, for what you are asking and specifically in the city in which you are asking it for 75k is way too low, you are seriously expecting a senior level rails dev to do all that AND take additional duties with c++? cpp could mean a billion different things"
Them: "well this is a big opportunity that will increase your level to senior position"
Me: the add ALREADY asks for a senior position, why are you making it sound that I will get build towards that level if you are already off the bat asking for seniors only to begin with?
Them: You are not getting it, it is an opportunity to grow into a senior, applicants right now are junior to mid-level
ME: You are all not making any sense, please don't contact me again.
=======
Them: We are looking for someone with 15 years experience with Swift development for mobile and web
Me: What is up with your people not making these requirements in paper? if I knew from the beginning that you people think that Swift is 15 years old I would have never agreed to this "interview"
Them: If you are not interested in that then might we offer this one for someone with 10 years experience as a full stack TypeScript developer.
Me: No, again, check your dates, this is insulting.
===
* For another Rails position
Them: How good are you with Ruby on Rails in terms of Python?
Me: excuse me? Python has nothing to do with Ruby on Rails.
Her (recruiter was a woman) * with a tone of superiority: I have it here that Python is the primary technology that accompanies Rails development.
Me (thinking this was a joke) : What do you think the RUBY part of Ruby on Rails is for? and what does "accompanies Rails development" even means?
Her: Well if you are not interested in using Rails with Python then maybe you can tell us about your experience in using Javascript as the main scripting platform for Rails.
Me: This is a joke, goodbye.
====
To be fair this was years ago when I still didn't know better and test the recruiters during the email part of being contacted. Now a days I feel sorry for everyone since I just say no without even bothering. This is a meme all on itself which no one has ever bothered to review and correct in years for now. I don't know why recruiters don't google themselves to see what people think of their "profession" in order to become better.
I've even had the Java/Javascript stupidity thrown at me by a local company. For that one it was someone from their very same HR department doing the rectuiter, their shop foreman was a friend of the family, did him the service of calling him to let him know that his HR was never going to land the kind of developer they were looking for with the retarded questions they had and sent him a detailed email concerning the correct information they needed for their JAVAscript job which they kept confusing with Java (for some reason in the context of Spring, they literally wanted nothing with Spring, they wanted some junior to do animations and shit like that on their company's website, which was in php, Java was nowhere in this equation)
I think people in web development get the short end of the stick when it comes to retarded recruiters more than anywhere else.3 -
To those that think they can't make it.
To those that are put down by those that don't understand you.
And to those that have never had a dream come true.
Not a rant, but the story of how I got into programming
I've always been into tech/electronics. I remember being told once that when I was 3, I used to take plug sockets to pieces. When I was 7, I built a computer with my dad.
There isn't a thing in my room that hasn't been dismantled and put back together again. Except for the things that weren't put back together again ;)
When I was 15, I got a phone for Christmas. It was a pretty crappy phone, the LG P350 (optimus ME). But I loved it all the same.
However I knew it could do a lot more. It ran a bloated, slow version of Android 2.2.
So I went searching, how can I make it faster, how to make it do more. And I found a huge community around Android ROMs. Obviously the first thing I did was flashed this ROM. Sure, there were bugs, but I was instantly in love with it. My phone was freed.
From there I went on to exploring what else can be done.
I wanted to learn how to script, so over the weekend I wrote a 1000 line batch (Windows cmd) script that would root the phone and flash a recovery environment onto it. Pretty basic. Lots of switch statements, but I was proud of it. I'd achieved something. It wasn't new to the world, but it was my first experience at programming.
But it wasn't enough, I needed more.
So I set out to actually building the roms. I installed Linux. I wanted to learn how to utilise Linux better, so I rewrote my script in bash.
By this time, I'd joined a team for developing on similar spec'd phones. Without the funds to by new devices, we began working on more radical projects.
Between us, we ported newer kernels to our devices. We rebased much of the chipset drivers onto newer equivalents to add new features.
And then..
Well, it was exam season. I was suffering from personal issues (which I will not detail), and that, with the work on Android, I ended up failing the exams.
I still passed, but not to the level I expected.
So I gave up on school, and went head first into a new kind of development. "continue doing what you love. You'll make it" is what I told myself.
I found python by contributing to an IRC bot. I learnt it by reading the codebase. Anything I didn't understand, I researched. Anything I wanted to do, google was there to help me through it.
Then it was exam season again. Even though I'd given up on school, I was still going. It was easier to stay in than do anything about it.
A few weeks before the exams, I had a panic attack. I was behind on coursework, and I knew I would do poorly on exams.
So I dropped out.
I was disappointed, my family was disappointed.
So I did the only thing I felt I could do. I set out to get a job as a developer.
At this stage, I'd not done anything special. So I started aiming bigger. Contributing to projects maintained by Sony and Google, learning from them. Building my own projects to assist with my old Android friends.
I managed to land a contract, however due to the stresses at home, I had to drop it after a month.
Everything was going well, I felt ready to get a full time job as a developer, after 2 years of experience in the community.
Then I had to wake up.
Unfortunately, my advisors (I was a job seeker at the time) didn't understand the potential of learning to be a developer. With them, it's "university for a skilled job".
They see the word "computer" on a CV, they instantly say "tech support".
I played ball, I did what I could for them. But they'd always put me down, saying I wasn't good enough, that I'd never get a job.
I hated them. I'd row with them every other day.
By God, I would prove them wrong.
And then I found them. Or, to be more precise, they found me. A startup in London got in contact with me. They seemed like decent people. I spoke with their developers, and they knew their stuff, these were people that I can learn from.
I travelled 4 hours to go for an interview, then 4 hours back.
When I got the email saying they'd move me to London, I was over the moon.
I did exactly what everyone was telling me I couldn't do.
1.5 years later, I'm still working with them. We all respect each other, and we all learn from each other.
I'm ever grateful to them for taking a shot with me. I had no professional experience, and I was by no means the most skilled individual they interviewed.
Many people have a dream. I won't lie, I once dreamed of working at Google. But after the journey I've been through, I wouldn't have where I am now any other way. Though, in time, I wish to share this dream with another.
I hope that all of you reach your dreams too.
Sorry for the long post. The details are brief, but there are only 5k characters ;)23 -
After interviewing 3 candidates for software today, I have officially decided its time to seriously pursue creating a YouTube channel with a complete set of series to learn programming MY WAY... not the short cut way... this will go all the way to beginning and start the person up with a solid foundation to build on... I’m going to pour my knowledge into these series.
The education system has failed too many in the real world... to many people I have interviewed they think they know have a degree but are clueless.. this is unacceptable and a waste... AND way too often I see online “learn programming in 30 days or learn programming in a day”... fuck off it’s all lies .. all wrong.. wrong methods wrong philosophy and I’m done with it...
I’m set on doing it this time, I’ve put it off too long, and longer I put it off the more I see shitty interviews! Time to fix it66 -
It's enough. I have to quit my job.
December last year I've started working for a company doing finance. Since it was a serious-sounding field, I tought I'd be better off than with my previous employer. Which was kinda the family-agency where you can do pretty much anything you want without any real concequences, nor structures. I liked it, but the professionalism was missing.
Turns out, they do operate more professionally, but the intern mood and commitment is awful. They all pretty much bash on eachother. And the root cause of this and why it will stay like this is simply the Project Lead.
The plan was that I was positioned as glue between Design/UX and Backend to then make the best Frontend for the situation. Since that is somewhat new and has the most potential to get better. Beside, this is what the customer sees everyday.
After just two months, an retrospective and a hell lot of communication with co-workers, I've decided that there is no other way other than to leave.
I had a weekly productivity of 60h+ (work and private, sometimes up to 80h). I had no problems with that, I was happy to work, but since working in this company, my weekly productivity dropped to 25~30h. Not only can I not work for a whole proper work-week, this time still includes private projects. So in hindsight, I efficiently work less than 20h for my actual job.
The Product lead just wants feature on top of feature, our customers don't want to pay concepts, but also won't give us exact specifications on what they want.
Refactoring is forbidden since we get to many issues/bugs on a daily basis so we won't get time.
An re-design is forbidden because that would mean that all Screens have to be re-designed.
The product should be responsive, but none of the components feel finished on Desktop - don't talk about mobile, it doesn't exist.
The Designer next to me has to make 200+ Screens for Desktop and Mobile JUST so we can change the primary colors for an potential new customer, nothing more. Remember that we don't have responsiveness? Guess what, that should be purposely included on the Designs (and it looks awful).
I may hate PHP, but I can still work with it. But not here, this is worse then any ecommerce. I have to fix legacy backend code that has no test coverage. But I haven't touched php for 4 years, letalone wrote sql (I hate it). There should be no reason whatsoever to let me do this kind of work, as FRONTEND ARCHITECT.
After an (short) analysis of the Frontend, I conclude that it is required to be rewritten to 90%. There have been no performance checks for the Client/UI, therefor not only the components behave badly, but the whole system is slow as FUCK! Back in my days I wrote jQuery, but even that shit was faster than the architecuture of this React Multi-instance app. Nothing is shared, most of the AppState correlate to other instances.
The Backend. Oh boy. Not only do we use an shitty outated open-source project with tons of XSS possibillities as base, no we clone that shit and COPY OUR SOURCES ON TOP. But since these people also don't want to write SQL, they tought using Symfony as base on top of the base would be an good idea.
Generally speaking (and done right), this is true. but not then there will be no time and not properly checked. As I said I'm working on Legacy code. And the more I look into it, the more Bugs I find. Nothing too bad, but it's still a bad sign why the webservices are buggy in general. And therefor, the buggyness has to travel into the frontend.
And now the last goodies:
- Composer itself is commited to the repo (the fucking .phar!)
- Deployments never work and every release is done manually
- We commit an "_TRASH" folder
- There is an secret ongoing refactoring in the root of the Project called "_REFACTORING" (right, no branches)
- I cannot test locally, nor have just the Frontend locally connected to the Staging webservices
- I am required to upload my sources I write to an in-house server that get's shared with the other coworkers
- This is the only Linux server here and all of the permissions are fucked up
- We don't have versions, nor builds, we use the current Date as build number, but nothing simple to read, nonono. It's has to be an german Date, with only numbers and has always to end with "00"
- They take security "super serious" but disable the abillity to unlock your device with your fingerprint sensor ON PURPOSE
My brain hurts, maybe I'll post more on this shit fucking cuntfuck company. Sorry to be rude, but this triggers me sooo much!2 -
Here are the reasons why I don't like IPv6.
Now I'll be honest, I hate IPv6 with all my heart. So I'm not supporting it until inevitably it becomes the de facto standard of the internet. In home networks on the other hand.. huehue...
The main reason why I hate it is because it looks in every way overengineered. Or rather, poorly engineered. IPv4 has 32 bits worth, which translates to about 4 billion addresses. IPv6 on the other hand has 128 bits worth of addresses.. which translates to.. some obscenely huge number that I don't even want to start translating.
That's the problem. It's too big. Anyone who's worked on the internet for any amount of time knows that the internet on this planet will likely not exceed an amount of machines equal to about 1 or 2 extra bits (8.5B and 17.1B respectively). Now of course 33 or 34 bits in total is unwieldy, it doesn't go well with electronics. From 32 you essentially have to go up to 64 straight away. That's why 64-bit processors are.. well, 64 bits. The memory grew larger than the 4GB that a 32-bit processor could support, so that's what happened.
The internet could've grown that way too. Heck it probably could've become 64 bits in total of which 34 are assigned to the internet and the remaining bits are for whatever purposes large IP consumers would like to use the remainder for.
Whoever designed IPv6 however.. nope! Let's give everyone a /64 range, and give them quite literally an IP pool far, FAR larger than the entire current internet. What's the fucking point!?
The IPv6 standard is far larger than it should've been. It should've been 64 bits instead of 128, and it should've been separated differently. What were they thinking? A bazillion colonized planets' internetworks that would join the main internet as well? Yeah that's clearly something that the internet will develop into. The internet which is effectively just a big network that everyone leases and controls a little bit of. Just like a home network but scaled up. Imagine or even just look at the engineering challenges that interplanetary communications present. That is not going to be feasible for connecting multiple planets' internets. You can engineer however you want but you can't engineer around the hard limit of light speed. Besides, are our satellites internet-connected? Well yes but try using one. And those whizz only a couple of km above sea level. The latency involved makes it barely usable. Imagine communicating to the ISS, the moon or Mars. That is not going to happen at an internet scale. Not even close. And those are only the closest celestial objects out there.
So why was IPv6 engineered with hundreds of years of development and likely at least a stage 4 civilization in mind? No idea. Future-proofing or poor engineering? I honestly don't know. But as a stage 0 or maybe stage 1 person, I don't think that I or civilization for that matter is ready for a 128-bit internet. And we aren't even close to needing so many bits.
Going back to 64-bit processors and memory. We've passed 32 bit address width about a decade ago. But even now, we're only at about twice that size on average. We're not even close to saturating 64-bit address width, and that will likely take at least a few hundred years as well. I'd say that's more than sufficient. The internet should've really become a 64-bit internet too.34 -
"I strive for code quality and maintainability. I actually do. And i will not work for a company that does not care about it and just wants something done as fast as possible.
The only time i will do something quick and dirty is if it's actually urgent. And even then with one condition - my next task will be to fix it properly.
I do not care about your deadlines. I will do my best to meet them, but not at the expense of code quality. I've seen too many projects fall into technical debt, where productivity is so low, that the only way to move forward is hire more people and start working on a project 2.0
And please do not lie about how great your company is, if it's not. These kind of things surface very soon, and you will have wasted both of our time, because as i said - i will not work for a company that does not care about code quality."
you think i'll ever get a job again if i put this on my CV ? :D10 -
When your primary Android app (with over 1/2 million total downloads) gets banned...
And all the email says is read these [links to] policies!
Back story: this happened to me back in 2011, no matter what I did there was no way to get in touch with a human at Google, I sure hope this process has gotten better! Having my app suspended with no way to fix and get it back is ridiculous!! This could ruin a business.
Over two years later, on a Google+ hangout with Google Android devs out of the Google London office, I said to them how silly it is that this happened....one of them asked me for the app ID, I provided, he looked it up in a system which then had a reference code which then related to SEO violation....wow I finally found the answer, how silly that an SEO violation (too many keywords in the app description) can get your app permanently suspended. What a shame. I wouldn't wish this on any solo developer trying to self learn and make something...
Sometimes I really just have to say "Fuck you, Google" out loud a few times.9 -
My tech stack progression:
Started with PHP without any frameworks, using a homegrown MVC architecture. Used to use `mysql_` functions everywhere. And only jquery + vanilla CSS in the front end.
Then moved to use PDO functions in PHP and Backbone.js + Less CSS in the front-end.
Then moved to Django in the back-end. Did not like Django very much as it is too opinionated and not flexible (although it's damn good for rapid development if you buy into their type of things).
Then moved to Flask + SQLAlchemy and using a home grown architecture. This is a sweet spot for me in terms of back end and stayed in this spot for the longest time.
Moved to Postgres from MySQL as I fell in love with Postgres.
Then learnt React+Redux. Liked it. Made most sense to front-end development this way. Moved front-end stack to React+Redux.
Learning Haskell and been working with Scotty and eyeing Servant for a while now.
Let's see where it goes from here.
PS: this is my personal journey through various tech stacks in various products at various companies I have worked. I'm not talking about moving a product through these many tech stacks. That doesn't make any sense.9 -
During my first-ever technical interview, the interviewer asked me "Do you know the FizzBuzz problem?"
"Uhh, not really." (I was just thinking ok this problem has a name, must be some algorithm problem)
"So the problem is basically to give you the numbers 1 to 100, if the number is divisible by 3, print 'Fizz', if divisible by 5, print 'Buzz', if divisible by 3 and 5, print 'FizzBuzz'. For other numbers just print out the number itself."
After hearing the problem, I felt so many ideas popping out of my stressed brain.
I thought for a bit and said "ok, so if the digit sum of a number is a multiple of 3, then the number is divisible by 3, and if the last digit is either 0 or 5, it's divisible by 5."
Then I started to code out my solution until the interviewer said "there's an easier solution. Can you think of it?"
This stressed me out even more.
I thought for a bit and said "well, starting from 3, keep a counter that records how many iterations are done after 3. When the counter hits 3, that number would be divisible by 3 for sure. Should I try this solution?"
The interviewer said "Sure." So I started again.
However, I struggled for about another 3min until I realized this solution is a lot harder to implement. The interviewer probably saw my struggle too.
This was the point where he stepped in and asked me "Ummmm there's an easy way of solving this. Have you heard of the MODULO OPERATOR?"
In sheer embarrassment, I finished the code in 30s.
Of course, there was no further question after this, and I felt the need to seriously reevaluate my intelligence afterwards.15 -
Alright, so my previous rant got a way better response than I expected! (https://devrant.io/rants/832897)
Hereby the first project that I cannot seem to get started on too badly :/.
DISCLAIMER: I AM NOT PROMOTING PIRACY, I JUST CAN'T FIND A SUITABLE SERVICE WHICH HAS ALL THE MUSIC I WANT. I REGULARLY BUY ALBUMS. before everyone starts to go batshit crazy regarding piracy, this is legal in The Netherlands for personal use. I think that supporting the artists you love is very good and I actually regularly pay for albums and so on but:
- I want all the music from about every artist in my scene. Either on Deezer or on Spotify this is not available and I'm not gonna get them both (they both have about half of the music I want). Their services are awesome but I'm not going to pay for something if I can't listen to all the music I like, hell even some artists (on deezer mostly) only have half their music on there and it's mostly not better on Spotify.
- I'd happily buy all albums because I love supporting the artists I love but buying everything is just way too fucking much."Get a premium music streaming subscription!" - see the first point.
You can either agree or disagree with me but that's not what this rant is about so here we go:
The idea is to create a commandline program (basically only needs to be called by a cron job every day or so) which will check your favourite youtube (sorry, haven't found a suitable non-google youtube replacement yet) channels every day through a cronjob and look for new uploads. If there are, it will download them, convert them to MP3 or whatever music format you'd like and place them in the right folder. Example with a favourite artist of mine:
1. Script checks if there are any new uploads from Gearbox Digital (underground raw hardstyle label).
2. Script detects two new uploads.
3. Script downloads the files (I managed to get that done through the (linux only or also mac?) youtube-dl software) and converts them to mp3 in my case (through FFMPEG maybe?).
4. Script copies them to the music library folder but then the specific sub-folder for Gearbox Digital in this case.
You should be able to put as many channels in there as you want, I've tried this with the official YouTube Data API which worked pretty fine tbh (the data gathering through that API). The ideal case would be to work without API as youtube-dl and youtube-dlg do. This is just too complicated for me :).
So, thoughts?43 -
DISCLAIMER: UNPOPULAR OPINION
I'm tired of the Linux community, they effectively discourage me of taking part in any discussion online
I'm currently making Windows-only soft, some game stuff, some legacy DirectX stuff you got it.
Everytime I go online, this shitty pattern happens, when I stumble upon a problem in project I don't know how to fix and I ask for help
These are responses
- HA, HA, WINDOWS BAD, HA, HA, GET REAL SYSTEM
- In Linux, we can do X too. I mean it has 4x less functionality and way shittier UX and is even harder to implement but it can probably work on too Linux, so it's better, yes, just move to Linux
- btw you didn't like Linux before? Try this distro man, it's better <links random distro>
Is there anything valuable in the Linux community? I feel like these people don't like Linux anyway, they just hate Windows. Every opinion, tip is always opinion based. Anyone who works on internals knows how much better and how well thought is Windows kernel compared to Linux kernel. Also, if someone unironically uses Linux distro on desktop PC then he's a masochist because desktop Linux is dieing. So many distros ceased work only this year.
Is it a good tool for servers and docker containers? I don't have my head stuck up my ass to admit that yes, it's much better than Windows here.
This community got me stressed right now, I fear that when I go to bathroom or open my microwave there's gonna be a Linux distro recommendation there
😠😡😠😴48 -
The website for our biggest client went down and the server went haywire. Though for this client we don’t provide any infrastructure, so we called their it partner to start figuring this out.
They started blaming us, asking is if we had upgraded the website or changed any PHP settings, which all were a firm no from us. So they told us they had competent people working on the matter.
TL;DR their people isn’t competent and I ended up fixing the issue.
Hours go by, nothing happens, client calls us and we call the it partner, nothing, they don’t understand anything. Told us they can’t find any logs etc.
So we setup a conference call with our CXO, me, another dev and a few people from the it partner.
At this point I’m just asking them if they’ve looked at this and this, no good answer, I fetch a long ethernet cable from my desk, pull it to the CXO’s office and hook up my laptop to start looking into things myself.
IT partner still can’t find anything wrong. I tail the httpd error log and see thousands upon thousands of warning messages about mysql being loaded twice, but that’s not the issue here.
Check top and see there’s 257 instances of httpd, whereas 256 is spawned by httpd, mysql is using 600% cpu and whenever I try to connect to mysql through cli it throws me a too many connections error.
I heard the IT partner talking about a ddos attack, so I asked them to pull it off the public network and only give us access through our vpn. They do that, reboot server, same problems.
Finally we get the it partner to rollback the vm to earlier last night. Everything works great, 30 min later, it crashes again. At this point I’m getting tired and frustrated, this isn’t my job, I thought they had competent people working on this.
I noticed that the db had a few corrupted tables, and ask the it partner to get a dba to look at it. No prevail.
5’o’clock is here, we decide to give the vm rollback another try, but first we go home, get some dinner and resume at 6pm. I had told them I wanted to be in on this call, and said let me try this time.
They spend ages doing the rollback, and then for some reason they have to reconfigure the network and shit. Once it booted, I told their tech to stop mysqld and httpd immediately and prevent it from start at boot.
I can now look at the logs that is leading to this issue. I noticed our debug flag was on and had generated a 30gb log file. Tail it and see it’s what I’d expect, warmings and warnings, And all other logs for mysql and apache is huge, so the drive is full. Just gotta delete it.
I quietly start apache and mysql, see the website is working fine, shut it down and just take a copy of the var/lib/mysql directory and etc directory just go have backups.
Starting to connect a few dots, but I wasn’t exactly sure if it was right. Had the full drive caused mysql to corrupt itself? Only one way to find out. Start apache and mysql back up, and just wait and see. Meanwhile I fixed that mysql being loaded twice. Some genius had put load mysql.so at the top and bottom of php ini.
While waiting on the server to crash again, I’m talking to the it support guy, who told me they haven’t updated anything on the server except security patches now and then, and they didn’t have anyone familiar with this setup. No shit, it’s running php 5.3 -.-
Website up and running 1.5 later, mission accomplished.6 -
“Don’t learn multiple languages at the same time”
Ignored that. Suddently I understood why he said that. Mixed both languages. In holiday rechecked it and it was ok.
Sometimes mistakes can lead to good things. After relearning I understood it much better.
“Don’t learn things by head” was another one. Because that’s useless. If you want to learn a language, try to understand it.
I fully agree with that. I started that way too learning what x did what y did, ... But after a few I found out this was inutile. Since then, I only have problems with Git
Another one. At release of Swift, my code was written in Obj-C. But I would like to adopt Swift. This was in my first year of iOS development, if I can even call it development. I used these things called “Converters”. But 3/4 was wrong and caused bugs. But the Issues in swift could handle that for me. After some time one told me “Stop doing that. Try to write it yourself.”
One of the last ones: “Try to contribute to open source software, instead of creating your own version of it. You won’t reinvent the wheel right? This could also be usefull for other users.”
Next: “If something doesn’t work the first time, don’t give up. Create Backups” As I did that multiple times and simply deleted the source files. By once I had a problem no iOS project worked. Didn’t found why. I was about to delete my Mac. Because of Apple’s WWDR certificate. Since then I started Git. Git is a new way of living.
Reaching the end: “We are developers. Not designers. We can’t do both. If a client asks for another design because they don’t like the current one tell them to hire one” - Remebers me one of my previous rants about the PDF “design”
Last one: “Clients suck. They will always complain. They need a new function. They don’t need that... And after that they wont bill ya for that. Because they think it’s no work.”
Sorry, forgot this one: “Always add backdoors. Many times clients wont pay and resell it or reuse it. With backdoors you can prohibit that.”
I think these are all things I loved they said to me. Probably forgot some. -
We were already working overtime all Saturday. Boss came in the evening to demand some ridiculous shit. Me and senior dev agree it's ridiculous. It's already 1 am Sunday. I already explained to him why it doesn't make sense so he suggest more changes that doesn't even solve his initial problem. He asks me if I can do it by Monday morning. I can't. He suggested way too many breaking changes that I don't even agree with and I have to sleep like a normal human being.
I shit you not, he says he will do it himself. This guy barely even codes and has never seen a single line of code for this project. I didn't stop him. I went home and slept.
End of rant.8 -
I’m adding some fucking commas.
It should be trivial, right?
They’re fucking commas. Displayed on a fucking webpage. So fucking hard.
What the fuck is this even? Specifically, what fucking looney morons can write something so fucking complicated it requires following the code path through ten fucking files to see where something gets fucking defined!?
There are seriously so fucking many layers of abstraction that I can’t even tell where the bloody fucking amount transforms from a currency into a string. I’m digging so deep in the codebase now that any change here will break countless other areas. There’s no excuse for this shit.
I have two options:
A) I convert the resulting magically conjured string into a currency again (and of course lose the actual currency, e.g. usd, peso, etc.), or
B) Refactor the code to actually pass around the currency like it’s fucking intended to be, and convert to a string only when displaying. Like it’s fucking intended to be.
Impossible decision here.
If I pick (A) I get yelled at because it’s bloody wrong. “it’s already for display” they’ll say. Except it isn’t. And on top of that, the “legendary” devs who wrote this monstrosity just assumed the currency will always be in USD. If I’m the last person to touch this, I take the blame. Doesn’t matter that “legendary Mr. Apple dev” wrote it this way. (How do I know? It’s not the first time this shit has happened.) So invariably it’ll be up to me to fix anyway.
But if I pick (B) and fix it now, I’ll get yelled at for refactoring their wonderful code, for making this into too big of a problem (again), and for taking on something that’s “just too much for me.” Assholes. My après Taco Bell bathroom experiences look and smell better than this codebase. But seriously, only those two “legendary” devs get to do any real refactoring or make any architecture decisions — despite many of them being horribly flawed. No one else is even close to qualified… and “qualified” apparently means circle jerking it in Silicon Valley with the other better-than-everyone snobs, bragging about themselves and about one another. MojoJojo. “It was terrible, but it fucking worked! It fucking worked!” And “I can’t believe <blah> wanted to fix that thing. No way, this is a piece of history!” Go fuck yourselves.
So sorry I don’t fit in your stupid club.
Oh, and as an pointed, close-at-hand example of their wonderful code? This API call I’m adding commas to (it’s only used by the frontend) uses a json instance variable to store the total, errors, displayed versions of fees/charges (yes they differ because of course they do), etc. … except that variable isn’t even defined anywhere in the class. It’s defined three. fucking. abstraction. layers. in. THREE! AND. That wonderful piece of smelly garbage they’re so proud of can situationally modify all of the other related instance variables like the various charges and fees, so I can’t just keep the original currency around, or even expect the types to remain the same. It’s global variable hell all over again.
Such fucking wonderful code.
I fucking hate this codebase and I hate this fucking company. And I fucking. hate. them.7 -
rant, but not an IT kind... okay, maybe not even a rant, more like depressive rambling:
in 3 days, I'll turn 29.
i'm living with my mom, in the apartment where I was born, in the room i've been living since I was born (with the exception of 2 attempts to move out which together lasted 9 months).
my theoretical monthly income should/could be around 4000€, based on my skills and experience.
but I'm a (manic)-depressive, chronically lonely idiot loser (and the manic phases come more and more rarely in recent years), so
my practical average monthly income fluctuates from 0 to about 200.
i am unable to keep a job for more than 4 months, so after being fired from about 20 or so of them since I was 18, it takes immense amounts of mental and emotional energy to even start looking for one now... so I usually don't.
i've been about 12000€ in debt for the past 8 or so years, half of which is just debt collector fees.
it's kinda funny, for years, i've been unable to solve a debt which theoretically amounts to 3 months of my theoretical achievable salary.
my father, who just left without a word of explanation when I was 18, has decided this is not viable anymore, so I'm supposed to move out by 10th of next month, "either to some cheap rooming house, or under the bridge, I don't care", as he put it.
I can't remember how it feels to exist a single hour without feeling existential dread and dreading each next day, not knowing what to do or if i'll even be able to try and do something, because this feeling is so strong that it often blocks me from being able to do anything. i just shiver most of the time that i'm awake, feeling like you feel few minutes before puking and crying at the same time. and that feeling is my "how are you?", "you know... normal".
i can't remember what it feels to feel any other way and can't even imagine it, and can't imagine that I'll ever achieve any less shit feeling.
literally all of my social contact consists of going out once to twice a month with the only 2 friends and 2 aquaintances I have who have the time and will to spend it with me.
oh, and hiding in my room, avoiding talking to my mom, because each time we talk she just reminds me what a piece of shit failure I am, and tells me how it's not that hard to change it, I just have to stop being lazy and start working for it.
she's... kind and caring about it, which somehow maybe makes it even worse.
i have about 10 almost complete game designs, each of them at least 50% more original and interesting (at least to me) than the things that are coming out for the past 10 years, being lauded as "the most original and unique".
I have been trying to make them, ANY of them, since I was 18, but I always lose all the drive and resolve and energy in like 4 months, because it's like trying to build a city on my own on a deserted island. too big for one person, but there was never anyone to help me. closest I ever got was one of my friends telling me "i've been thinking many times that i'd love to work on some project with you, if I had the time".
and second time, when I actually found an artist I was going to pay, and he was awesome, and after two weeks of me telling him how awesome what he does is and how it fits the project and my ideas perfectly, he backed out saying "i'm afraid I can't do the quality you require from me".
never ever in my life did I get actual help with something I actually wanted or tried to do.
i have no idea how it feels to have someone working with me on something I actually consider interesting and meaningful, on any of the things which I wanted to make, which made me learn programming.
I've learned graphics and animation and everything going into game making pipeline on my own because I realized nobody will ever help me, so I'll have to do all of it on my own.
I've tried to make a kickstarter once, but I started crying hysterically in the middle of writing it, because I felt like a begging piece of failure shit, even more than usual, so I deleted it.
most of people treat me like shit failure unworthy and undeserving of living, precisely as I myself know I deserve to be treated, because that's what I am, but when I ask for permission to kill myself, since I see no other solution to stop being a burden, they get angry at me that I'm just emotionally blackmailing them. when I afterwards ask them "so help me in any way to do any of the projects i want/need to do", they respond they've got no time for that.
when I talk about all of this, I get told to stop whining.
happy 29th birthday, me, a piece of shit who should've never survived this long, who should've never been born in the first place.
yay.
also, I know this is not the kind of crap that's supposed to be posted here, but i've got nowhere else. sorry.47 -
I've been away, lurking at the shadows (aka too lazy to actually log in) but a post from a new member intrigued me; this is dedicated to @devAstated . It is erratic, and VERY boring.
When I resigned from the Navy, I got a flood of questions from EVERY direction, from the lower rank personnel and the higher ups (for some reason, the higher-ups were very interested on what the resignation procedure was...). A very common question was, of course, why I resigned. This requires a bit of explaining (I'll be quick, I promise):
In my country, being in the Navy (or any public sector) means you have a VERY stable job position; you can't be fired unless you do a colossal fuck-up. Reduced to non-existent productivity? No problem. This was one of the reasons for my resignation, actually.
However, this is also used as a deterrent to keep you in, this fear of lack of stability and certainty. And this is the reason why so many asked me why I left, and what was I going to do, how was I going to be sure about my job security.
I have a simple system. It can be abused, but if you are careful, it may do you and your sanity good.
It all begins with your worth, as an employee (I assume you want to go this way, for now). Your worth is determined by the supply of your produced work, versus the demand for it. I work as a network and security engineer. While network engineers are somewhat more common, security engineers are kind of a rarity, and the "network AND security engineer" thing combined those two paths. This makes the supply of my work (network and security work from the same employee) quite limited, but the demand, to my surprise, is actually high.
Of course, this is not something easy to achieve, to be in the superior bargaining position - usually it requires great effort and many, many sleepless nights. Anyway....
Finding a field that has more demand than there is supply is just one part of the equation. You must also keep up with everything (especially with the tech industry, that changes with every second). The same rules apply when deciding on how to develop your skills: develop skills that are in short supply, but high demand. Usually, such skills tend to be very difficult to learn and master, hence the short supply.
You probably got asleep by now.... WAKE UP THIS IS IMPORTANT!
Now, to job security: if you produce, say, 1000$ of work, then know this:
YOU WILL BE PAID LESS THAN THAT. That is how the company makes profit. However, to maximize YOUR profit, and to have a measure of job security, you have to make sure that the value of your produced work is high. This is done by:
- Producing more work by working harder (hard method)
- Producing more work by working smarter (smart method)
- Making your work more valuable by acquiring high demand - low supply skills (economics method)
The hard method is the simplest, but also the most precarious - I'd advise the other two. Now, if you manage to produce, say, 3000$ worth of work, you can demand for 2000$ (numbers are random).
And here is the thing: any serious company wants employees that produce much more than they cost. The company will strive to pay them with as low a salary as it can get away with - after all, a company seeks to maximize its profit. However, if you have high demand - low supply skills, which means that you are more expensive to be replaced than you are to be paid, then guess what? You have unlocked god mode: the company needs you more than you need the company. Don't get me wrong: this is not an excuse to be unprofessional or unreasonable. However, you can look your boss in the eye. Believe me, most people out there can't.
Even if your company fails, an employee with valuable skills that brings profit tends to be snatched very quickly. If a company fires profitable employees, unless it hires more profitable employees to replace them, it has entered the spiral of death and will go bankrupt with mathematical certainty. Also, said fired employees tend to be absorbed quickly; after all, they bring profit, and companies are all about making the most profit.
It was a long post, and somewhat incoherent - the coffee buzz is almost gone, and the coffee crash is almost upon me. I'd like to hear the insight of the veterans; I estimate that it will be beneficial for the people that start out in this industry.2 -
So we're hiring for a new junior dev and for the most part it's been going great! We have some promising candidates and I am so glad to finally have a new dev on the team!
However, I would like to take a moment and offer a few suggestions to the people who wish to work for this great and illustrious company:
PLEASE PLEASE PLEASE APPLY FOR THE JOB USING THE METHOD INDICATED IN THE AD. Please use our fancy, top-of-the-line, whiz-bang, cloud-based "talent acquisition" system that we paid way too much money for. I promise you, it's easy! Please don't send in your application by email, mail, telephone, Facebook, Twitter, Instagram, Snapchat, telegram or carrier pigeon. But most importantly...
FOR THE LOVE OF ALL THAT IS BEAUTIFUL IN THIS WORLD DO NOT SHOW UP AT OUR OFFICE UNANNOUNCED RESUME-IN-HAND. Believe it or not I do have an actual job that I spend my day doing! If I'm not in a meeting or at lunch or working from home, the best possible scenario is that you'll get 30 seconds of awkward small talk and be pointed to our whiz-bang, top-of-the-line "talent acquisition" system which you should have used in the first place (you did read the ad, right?). And at this point whatever you do...
DO NOT DEMAND AN ON-THE-SPOT INTERVIEW WHEN YOU SHOW UP UNANNOUNCED TO OUR OFFICE! Like, really? Do you think that you've wowed me so with your 30 seconds of awkward small talk that clearly I cannot wait to see what you will do with an entire hour? Look, I prepare for my interviews. I research you, your previous employers, your school and the hobbies you list on your resume. I check out your GitHub and LinkedIn. I may even Google your name! If that is all in order, I try to hassle some people into sitting in with me, find a time that works for everyone, and hope that there is a meeting room available. I'm not going to interview you at reception at 4pm on a Friday afternoon.
Please submit your application through our whiz-bang, top-of-the-line online "talent acquisition" system. Once I figure out how to log in, I promise I will spend an evening and read through all your cover letters with the utmost care. If you seem OK, you'll get an interview. There aren't that many developers in this town.7 -
I'll use this topic to segue into a related (lonely) story befitting my mood these past weeks.
This is entire story going to sound egotistical, especially this next part, but it's really not. (At least I don't think so?)
As I'm almost entirely self-taught, having another dev giving me good advice would have been nice. I've only known / worked with a few people who were better devs than I, and rarely ever received good advice from them.
One of those better devs was my first computer science teacher. Looking back, he was pretty average, but he held us to high standards and gave good advice. The two that really stuck with me were: 1) "save every time you've done something you don't want to redo," and 2) "printf is your best debugging friend; add it everywhere there's something you want to watch." Probably the best and most helpful advice I've ever received 😊
I've seen other people here posting advice like "never hardcode" or "modularity keeps your code clean" -- I had to discover these pretty simple concepts entirely on my own. School (and later college) were filled with terrible teachers and worse students, and so were almost entirely useless for learning anything new.
The only decent dev I knew had brilliant ideas (genetic algorithms, sandboxing, ...) before they were widely used, but could rarely implement them well because he was generally an idiot. (Idiot sevant, I think? Definitely the idiot part.) I couldn't stand him. Completely bypassing a ridiculously long story, I helped him on a project to build his own OS from scratch; we made very impressive progress, even to this day. Custom bootloader, hardware interfacing, memory management, (semi) sandboxed processes, gui, example programs ...; we were in highschool. I'm still surprised and impressed with what we accomplished.
But besides him, almost every other dev I met was mediocre. Even outside of school, I went so many years without having another competent dev to work with. I went through various jobs helping other dev(s) on their projects (or rewriting them), learning new languages/frameworks almost every time: php, pascal, perl, zend, js, vb, rails, node, .... I learned new concepts occasionally (which was wonderful) but overall it was just tedious and never paid well because I was too young to be taken seriously (and female, further exacerbating it). On the bright side, it didn't dwindle my love for coding, and I usually spent my evenings playing with projects of my own.
The second dev (and one one of the best I've ever met) went by Novo. His approach to a game engine reminded me of General Relativity: Everything was modular, had a rich inheritance tree, and could receive user input at any point along said tree. A user could attach their view/control to any object. (Computer control methods could be attached in this way as well.) UI would obviously change depending on how the user could interact and the number of objects; admins could view/monitor any of these. Almost every object / class of object could talk to almost everything else. It was beautiful. I learned so much from his designs. (Honestly, I don't remember the code at all, and that saddens me.) There were other things, too, but that one amazed me the most.
I havent met anyone like him ever again.
Anyway, I don't know if I can really answer this week's question. I definitely received some good advice while initially learning, but past that it's all been through discovering things on my own.
It's been lonely. ☹2 -
Hi everyone, long time no see.
Today I want to tell you a story about Linux, and its acceptance on the desktop.
Long ago I found myself a girlfriend, a wonderful woman who is an engineer too but who couldn't be further from CS. For those in the know, she absolutely despises architects. She doesn't know the size units of computers, i.e. the multiples of the byte. Breaks cables on the regular, and so on. For all intents and purposes, she's a user. She has written some code for a college project before, but she is by no means a developer.
She has seen me using Linux quite passionately for the last year or so, and a few weeks ago she got so fed up with how Windows refused to work on both her computers (on one of them literally failing to run exe's, go figure), that she allowed me to reinstall both systems, with one of them being dualbooted Windows 10 + Linux.
The computer that runs Linux is not one she uses very often, but for gaming (The Sims) it's her platform to go. On it I installed Debian KDE, for the following reasons:
- It had to be stable as I didn't want another box to maintain.
- It had to be pretty OOTB, as first impressions are crucial.
- It had to be easy to use, given her skill level.
- It had to have a GUI abstraction to apt, the KDE team built Discover which looks gorgeous.
She had the following things to say about Linux, when she went to download The Sims from a torrent (I installed qBittorrent for her iirc).
"Linux is better, there's no need to download anything"
"Still figuring things out, but I'm liking it"
"I'm scared of using Windows again, it's so laggy"
"Linux works fine, I'm becoming a Linux user"
Which you can imagine, it filled me with pride. We've done it boys. We've built a superior system that even regular users can use, if the system is set up to be user-friendly.
There are a few gripes I still have, and pitfalls I want to address. There's still too many options, users can drown in the sheer amount of distro's to choose from. For us that's extremely important but they need to have a guide there. However, don't do remote administration for them! That's even worse than Microsoft's tracking! Whenever you install Linux on someone else's computer, don't be all about efficiency, they are coming from Windows and just want it to be easy to use. I use Mate myself, but it is not the thing I would recommend to others. In other words, put your own preferences aside in favor of objective usability. You're trying to sell people on a product, not to impose your own point of view. Dualboot with Windows is fine, gaming still sucks on Linux for the most part. Lots of people don't have their games on Steam. CAD software and such is still nonexistent (OpenSCAD is very interesting but don't tell me it's user-friendly). People are familiar with Windows. If you were to be swimming for the first time in the deep water, would you go without aids? I don't think so.
So, Linux can be shown and be actually usable by regular people. Just pitch it in the right way.11 -
After months and months of slaving away, I quit my start-up job and feel completely amazing- here's what happened:
Met a classmate in grad school and he talked about starting his own company and he had full funding and etc. After graduation, moved to the new city where the job was located.
There were all these promises of us being co-workers and working on cool things and many other promises made. Soon after starting the job, most of these promises we're just smoke and mirrors.
Started working day in day out. Worked from 8am-9pm most days and worked on weekends too. Treated me like a I was a dog, talked down to me, gave unrealistic deadlines, pressured me with attitude and threats of losing my job. Hell, they thought they were the smartest person to touch the earth basically- example being that they mixed jQuery with VueJS in our Django template.....who the F*** does that. Another thing being that they had issues with me soft deleting records since they wanted them completely hard deleted and we had gotten into a giant argument about that fml.
What led to me leaving the job was that I had gotten sick one of the weeks, and I still showed up to work. Each day I was gradually getting sicker and sicker. Still tried my best to get work done. Saturday morning I get the most passive aggressive and bitchy text from my co-worker. "if you don't complete blah blah blah by Monday, we are going to have issues. Then on Monday you will work on blah blah blah". They blew the fuse with me. They would always punish me for being sick or taking a vacation. I'm not a dog, not a machine, I'm a f****** person. Went into his office when the work week started and gave my resignation on the spot and felt like it was the best decision I've ever made.
Now I just feel like a giant toxic cloud has disappeared from my life. I did walk away with so much experience and knowledge but now I just feel extremely burnt out from programming. Is this what I even wanna do anymore?
Few lessons I learned along the way:
1. If it sounds too good to be true, it probably is
2. Free lunches aren't worth it
3. Unlimited PTO doesn't really mean unlimited- there's always stipulations
4. Start-up life isnt as cool as they say- don't take TV portrayals as the real thing
5. Your mental health is extremely important
6. It's okay to admit to yourself that you're burnt out
7. Take a break
8. STARTUPS ARE NOT FOR EVERYONE
This is just my experience and what I learned, so telling my story. Phew, feels so good to get that off my chest6 -
I try as hard as possible not to be judgemental towards incompetent colleagues, motivating myself with the knowledge that we were all incompetent at some point, and that people need a chance to learn, and that sometimes too much pressure will lead you to believe that they're bad. Or sometimes, people just aren't good at the stuff you want them to be good, and you just need to discover that niche where they will be very useful.
Mostly that goes well.
I've had the incompetent late bloomer who was a family man who started too late to dev, and wasn't really serious. A bit of harsh talk, some soul searching over a few beers, made him into a really valuable asset. Not the brightest rock, but reliable, steady-paced developer who earned his stay.
Then there was the girl who wasn't really good at coding, but saved our team from disaster many times by keeping things into account, and realizing what must be developed or tested at every step.
However, there are exceptions. I've worked with people who have been nothing but a menace, through their incompetence AND attitudes.
The most noteworthy example was an intern that we sought out, by talking to professors to point us to their best students. So we got that intern on board. He seemed strange at first. Kind of perfectionist. Talked serious, with an air of royalty, and always dressed sharply. He really gave the impression that one must be worthy to receive his blessing. The weirdest part was his handshake. It was as if he was touching an iron hand heated to 3000 degrees. It was over before you even knew it. Leaves you kinda offended. Especially when he always took a wet wipe after that and wiped his hands. Am I really that gross?
But that's fiiiine. I mean we're all different and weird in our own ways, right? So he's a germophobe, so fucking what? We just gotta find a way to work together, right?
WRONG.
As soon as he started (and remember, he's a paid intern, who barely knows how to code, and has zero industrial experience), he started questioning my architecture solutions, code implementations, etc. I don't mind discussion and criticism, which is why I welcomed his input. But it seemed like he wasn't willing to accept any arguments, so I started looking for excuses not to talk to him.
Meanwhile, the most productive team member we had, to whom you could just give and describe an idea, with architecture and stuff, well, and you'd see it implemented the next week, with only the most well placed questions asked, started going into fights with this intern for the same reasons I was avoiding him.
.....
And here's the kicker.
Get this:
This intern comes to me (I was the team lead), while that guy is not in the office, and with a straight face, dead serious, starts telling me that that guy was making stupid decisions and being a bad team member because he doesn't ... I quote him almost verbatim... "follow my indications". He said that I had to do something because he refused to work with him together.
I was stunned.
This good for nothing imagined superhuman, who was completely useless and an amazing annoyance to pretty much everyone in the team, came to me, telling me that the most capable and productive developer in the team is bad, because he doesn't follow his orders, and that I had to pick between the 2.
I couldn't believe what I had heard.
I had so much emotion in me right then. I was angry, but at the same time I could barely abstain from laughing.
I just told him calmly that he was wrong, and that I wouldn't mind if he never came back. I didn't see him for 5 years after that.
Anyway, later that week our team went for a dinner + beer, and the stories from all the team members started pouring in. They didn't want to talk him down either, but now that he was gone, it was a weight off, and everybody could tell their story.
What a fucking asshole.
So 5 years after I stumbled on him as he was entering a church. Still an arrogant bitch. Barely exchanged 10 polite words and I continued on my way as he was disinfecting his hands from my filthy handshake.4 -
I'm really happy today. I'm not sure why, my life is in ruins on many levels, but at work I'm having fun and getting a lot more responsibility now. I even get to lead a meeting on Monday and be part of the management of a project which means I'll have people reporting to me. I suspect it's a sneaky way to get me more invested in the company so I'll want to stay after my studies but I enjoy it regardless. I finally have enough I need to keep track of to warrant carrying a notebook around and it makes me really happy 😂Hope you're all having a great day too!1
-
Yesterday I bought myself a PSP to relive some of my childhood memories, run custom firmware on it and so on. Unfortunately however, the battery on this one is seriously puffed up, and I need one in order to update the firmware from 5.50 CFW (the seller actually modded it too!) to 6.61 OFW (to then install CFW from there again).
I figured that I might as well have a kick at disassembling the battery for good measure, to take out its controller and power it from my lab bench power supply. I set it to 3.70V, double-checked the connections.. nothing. I raised the voltage to 4V, still nothing.
There is absolutely nothing wrong with the controller from looking at it. The magic smoke is still in there, all I did was removing the housing and snipping off the battery. I measured the cell voltage and it was only some residues at 0.01V. Might be internally shorted or something, normally even dead cells settle back at 3.7V unless you keep them shorted externally.
After seeing this so many times now with controllers, I'm starting to get a feeling that manufacturers actually program these things to look at the battery voltage, and when it reaches 0V, to just make the controller kill itself. Doesn't matter if the controller's electronics are still good, just fucking kill it.
If true, that is very, VERY nasty. It would also explain why batteries in laptops especially all have different form factors, despite having used regular 18650's internally for a very long time. It would explain why they're built like tanks. It would explain why manufacturers really don't want people in there. Yes there are safety issues and you're literally diffusing a bomb. Since recently we've also got space optimization.. anything for half a mm of thickness, amirite? But doing it this way is fucking disgusting. There is absolutely no reason for the controller to kill itself when the cell dies. Yet it seems like it does.
PS: I've posted the original picture on https://ghnou.su/pics/... now if you're interested. I noticed in my previous rant that devRant really squishes these down.12 -
**noob alert**
Hi all, I'm new to this community. I found it out couple of days back while downloading some apps on play store. And I don't know how much time have I spent here since then... Damm, I've an interview after 2 days.
My query is, I am stuck/confused. I have so many ToDos. ToDos to learn new things, from UI to other langs to machine learning to database to etc etc. And I keep on postponing it because I can't decide which way to go first. There is so much fuzz about BigData/AI which sounds cool. Sometimes I want to build UI for my imaginary idea, then somebody says a man must learn linux and DB. Top of that I'm preparing for interviews, so I think I should get a job first and then start learning. But when I get a job, I get *busy* with job. It feels like Captain America, all he does is official work. I sometimes feel like trying open source coding, but quit the idea because I get scared or overwhelmed by imagining the big community behind it and I won't be able to make a difference or I might get bashed by others as I get bashed in StackOverFlow :-(
I'm unable to get help from friends/family/colleagues, not because they are bad. It's just they don't get it. People think just because you have a job which pays the bills and save money, everything is fine because there are lots of people who dream to get a job, so be thankful for what you have. I'm thankful... But it's not helping. I really want to do things more than what my job asks me to. The kid inside me is awake since I became adult.
Have you been in this condition or is it just me? Or is it too confusing? Could you please help me out. Thanks a lot. Sorry for serious post. I'm a java programmer by the way.9 -
I've recently received another invitation to Google's Foobar challenges.
A while ago someone here on devRant (which I believe works at Google, and whose support I deeply appreciate) sent me a couple of links to it too. Unfortunately back then I didn't take the time to learn the programming languages (Python or Java) that Google requires for these challenges. This time I'm putting everything on Python, as it's the easiest language to learn when coming from Bash.
But at the end of the day.. I am a sysadmin, not a developer. I don't know a single thing about either of these languages. Yet I can't take these challenges as the sysadmin I am. Instead, I have to learn a new language which chances are I'll never need again outside of some HR dickhead's interview with lateral thinking questions and whiteboard programming, probably prohibited from using Google search like every sane programmer and/or sysadmin would for practical challenges that actually occur in real life.
I don't want to do that. Google is a once in a lifetime opportunity, I get that. Many people would probably even steal that foobar link from me if they could. But I don't think that for me it's the right thing to do. Google has made a serious difference by actually challenging developers with practical scenarios, and that's vastly superior to whatever a HR person at any other company could cobble together for an interview. But there's one thing that they don't seem to realize. A company like Google consists of more than just developers. Not only that, it probably consists - even within their developer circles - of more than just Python and Java developers. If any company would know about languages that are more optimized such as C, it would be Google that has to leverage this performance in order to be able to deliver their services.
I'll be frank here. Foobar has its own issues that I don't like. But if Google were a nice company, I'd go for it all the way nonetheless - after all, they are arguably the single biggest tech company in the world, and the tech industry itself is one of the biggest ones in the world nowadays. It's safe to say that there's likely no opportunity like working at Google. But I don't think it's the right thing. Even if I did know Python or Java... Even if I did. I don't like Google's business decisions.
I've recently flashed my OnePlus 6T with LineageOS. It's now completely Google-free, except for a stock Yalp account (that I'm too afraid to replace with my actual Google account because oh dear, third-party app stores, oh dear that could damage our business and has to be made highly illegal!1!). My contacts on that phone are are all gone. They're all stored on a Google server somewhere (except for some like @linuxxx' that I consciously stored on device storage and thus lost a while back), waiting for me to log back in and sync them back. I've never asked for this. If Google explicitly told me that they'd sync all my contacts to my Google account and offer feasible alternatives, I'd probably given more priority to building a CalDAV and CardDAV server of my own. Because I do have the skills and desire to maintain that myself. I don't want Google to do this for me.
Move fast and break things. I've even got a special Termux script on my home screen, aptly named Unfuck-Google-Play. Every other day I have to use it. Google Search. When I open it on my Nexus 6P, which was Google's foray into hardware and in which they failed quite spectacularly - I've even almost bent and killed it tonight, after cursing at that piece of shit every goddamn day - the Google app opens, I type some text into it.. and then it just jumps back to the beginning of whatever I was typing. A preloader of sorts. The app is a fucking web page parser, or heck probably even just an API parser. How does that in any way justify such shitty preloaders? How does that in any way justify such crappy performance on anything but the most recent flagships? I could go on about this all day... I used to run modern Linux on a 15 year old laptop, smoothly. So don't you Google tell me that a - probably trillion dollar - company can't do that shit right. When there's (commercialized) community projects like DuckDuckGo that do things a million times better than you do - yet they can't compete with you due to your shit being preloaded on every phone and tablet and impossible to remove without rooting - that you Google can't do that and a lot more. You've got fucking Google Assistant for fucks sake! Yet you can't make a decent search app - the goddamn thing that your company started with in the first place!?
I'm sorry. I'd love to work at Google and taste the diversity that this company has to offer. But there's *a lot* wrong with it at the business end too. That is something that - in that state - I don't think I want to contribute to, despite it being pretty much a lottery ticket that I've been fortunate enough to draw twice.
Maybe I should just start my own company.6 -
How did you break through your own barriers to finally learn programming?
My SO is constantly complaining that we don’t have enough money. I make a decent amount as a full-time dev at a large company, but we live in an expensive city and are currently going through a time of few funds.
He started driving delivery food orders, he likes it okay, but it pays very little. He still complains about money.
I want him to learn JavaScript.
He was once asked to make a website for a company he’s involved in. He only used SquareSpace, but he was never satisfied with their stock code. He went digging for JavaScript snippets he could use, and he made one of the most beautiful and responsive websites I’ve seen.
Since then, I’ve been encouraging him to learn JavaScript. I’m trying to convince him it will be a great source of additional income, he can make his own schedule while doing contract work, and he can ask me anything he wants while he’s learning. How many beginners have someone they can ask anything of, at any time?
He doesn’t want to learn. He doesn’t think he is capable. I remember this feeling before I learned to code. A chunk of someone else’s JS does look genuinely terrifying if you don’t know what it means. I want him to give it one honest try before he decides it’s “not for him,” but he isn’t open to it enough to try.
What can I do to help him understand he is capable? He’s in his mid-30s and insists he’s too old to catch up. He’s smart, detail-oriented, and I know he would write code that’s a million times cleaner than mine. He absolutely has a programmer inside of him, and I want to encourage him to simply try.
Is there something I can to do introduce JS in a non-threatening way? Or should I just accept his refusal and let it go? Thanks for any advice.18 -
I just tried to sign up to Instagram. I made a big mistake.
First up with Facebook related stuff is data. Data, data and more data. Initially when you sign up (with a new account, not login with Facebook) you're asked your real name, email address and phone number. And finally the username you'd like to have on the service. I gave them a phone number that I actually own, that is in my iPhone, my daily driver right now (and yes I have 3 Androids which all run custom ROMs, hold your keyboards). The email address is a usual for me, instagram at my domain. I am a postmaster after all, and my mail server is a catch-all one. For a setup like that, this is perfectly reasonable. And here it's no different, devrant at my domain. On Facebook even, I use fb at my domain. I'm sure you're starting to see a pattern here. And on Facebook the username, real name and email domain are actually the same.
So I signed up, with - as far as I'm aware - perfectly valid data. I submitted the data and was told that someone at Instagram will review the data within 24 hours. That's already pretty dystopian to me. It is now how you block bots. It is not how Facebook does it either, at least since last time I checked. But whatever. You'd imagine that regardless of the result, they'd let you know. Cool, you're in, or sorry, you're rejected and here's why. Nope.
Fast-forward to today when I recalled that I wanted to sign up to Instagram to see my girlfriend's pictures. So I opened Chromium again that I already use only for the rancid Facebook shit.. and it was rejected. Apparently the mere act of signing up is a Terms of Service violation. I have read them. I do not know which section I have violated with the heinous act of signing up. But I do have a hunch.
Many times now have I been told by ignorant organizations that I would be "stealing" their intellectual property, or business assets or whatever, just because I sent them an email from their name on my domain. It is fucking retarded. That is MY domain, not yours. Learn how email works before you go educate a postmaster. Always funny to tell them how that works. But I think that in this case, that is what happened.
So I appealed it, using a random link to something on Instagram's help section from a third-party blog. You know it's good when the third-party random blog is better. But I found the form and filled it in. Same shit all over again for info, prefilling be damned I guess. Minor convenience though, whatever.
I get sent an email in German, because apparently browsing through a VPS in Germany acting as a VPN means you're German. Whatever... After translating it, I found that it asks me to upload a picture of myself, holding a paper in my hands, on which I would have a confirmation code, my username, and my email address.. all hand-written. It must not be too dark, it must be clear, it must be in JPEG.. look, I just wanted to fucking sign up.
I sent them an email back asking them to fix all of this. While I was writing it and this rant, I thought to myself that they can shove that piece of paper up their ass. In fact I would gladly do it for them.
Long story short, do not use Instagram. And one final thing I have gripes with every time. You are not being told all the data you'll have to present from the get-go. You're not being told the process. Initially I thought it'd just be email, phone, username, and real name. Once signed up (instantly, not within 24 hours!) I would start setting up my account and adding a profile picture. The right way to ask for a picture of me! And just do it at my own pace, as I please.
And for God's sake, tackle abuse when it actually happens. You'll find out who's a bot and who isn't by their usage patterns soon enough. Do not do any of this at sign-up. Or hell, use a CAPTCHA or whatever, I don't fucking care. There's so many millions of ways to skin this cat.
Facebook and especially Instagram. Both of them are fucking retarded.6 -
Let's see...
It made me anti social. It got me thinking in a very logical way, I can't connect with people.
I'd spend a lot of time (and still do) coding that I didn't make many friends and made me have social anxiety.
Nobody respects what I do or even understand it.
The one girl I would've happily fucking died in the most brutal way for with a smile on my face, wasn't interested at all... I was a geek to her and my lifestyle wasn't compatible with hers.... I wasn't good enough...
I am very self aware of my shortcomings and working towards that... But generally, I'm too fucking late to dating and all that.
Programming put me in a disadvantage in dating and social life.11 -
1. There is nothing in this field that is impossible or out of reach for someone with the correct dedication and perseverance. Even if you suck at a particular topic, I highly believe that you can make sense of it through computer science, be it math, biology physics, finances etc. The field opens the doors to other subjects. This is true for everything else, but I seriously believe that Comp Sci makes it more reachable.
2. You cannot make development a quirky personality trait. There is more to life than just sitting around all day fucking with a computer, but at the same time that is how you hone your skills, find balance!
3. Being attractive and or charismatic in this field pays a lot, but also makes you a target.
4. I have never met more people in my life I wanted to punch to a pulp, and I worked in retail and was in the military....that says a lot.
5. Penises, there are way too many penises in this field. I hate being surrounded by dudes and since I grew up in a nail/hair salon I am more used/enjoy female company more.
6. Stuxnet se la come.10 -
First day on my first job ever, the boss asks me what I want to do. I indicated that I had some experience with php and the yii framework (which was at some point very cool xD), so I wanted to start with something like that. And so it goes: after two days of watching laracasts (which is an awesome platform by the way! :O) I got assigned to a project.
Now the company I work at uses some kind of self built system that tracks how many hours are spent on which project, and compares that to how many hours was estimated implementing a feature would take. That's cool, but then I saw that for the project I was working on the time estimated was 5 work days. This was the estimate for both designing the interfaces and implementing both front and backend. I knew in advance that this was probably way to little time for me, but didn't want to come over as the new kid who can't do shit x)
Anyway, I started on the project and was having fun, but the biggest time consuming aspect of the project was not necessarily that I didn't have enough experience: it was that the developer who started this project and made most of the design choices had written some very messy code, without tests or apparently any refactoring. Also, everything was extremly inconsistent and not according to all the best practices I just watched in my laracasts spree.
So fastforward a little: we're way over the estimated hours. Yay. Now suddenly the boss comes by with an almost angry face that the client is becoming angry and we need to finish soon. He makes it entirely our (me and the front end guy) problem and I just decide to say nothing and try to work faster.
Now I'm stuck writing fugly code on top of more fugly code and when I mentioned to my front end guy that I was almost finished with feature but I only needed to finish up the tests, he said something like "oh just don't write tests, that'll take too long"... Is that really the mindset of this company?! No wonder the project I work on was in a very bad state.
Thanks to devrant I see now that I just need to say something if I know that I won't be able to complete something in a certain amount of time and that other people are just like me (thank god). :) I think I'll need to post more rants to vent my frustrations x)5 -
Sometimes I wonder:
Who actually cares?
About what I do
About what I make
About me.
Why put in effort if there is no different result? Why am I always sad? What ruins my day? Is there really hope? Why? So many life questions I want answered. Do I care too much? I definitely think way too much. Why am I so lazy. The questions I have.
Cheers,
To a better day.13 -
Many of you who have a Windows computer may be familiar with robocopy, xcopy, or move.
These functions? Programs? Whatever they may be, were interesting to me because they were the first things that got me really into batch scripting in the first place.
What was really interesting to me was how I could run multiples of these scripts at a time.
<storytime>
It was warm Spring day in the year of 2007, and my Science teacher at the time needed a way to get files from the school computer to the hard-drive faster. The amount of time that the computer was suggesting was 2 hours. Far too long for her. I told her I’d build her something that could work faster than that. And so started the program would take up more of my time than the AI I had created back in 2009.
</storytime>
This program would scan the entirety of the computer's file system, and create an xcopy batch file for each of these directories. After parsing these files, it would then run all the batch files at once. Multithreading as it were? Looking back on it, the throughput probably wasn't any better than the default copying program windows already had, but the amount of time that it took was less. Instead of 2 hours to finish the task it took 45 minutes. My thought for justifying this program was that; instead of giving one man to do paperwork split the paperwork among many men. So, while a large file is being copied, many smaller files could be copied during that time.
After that day I really couldn't keep my hands off this program. As my knowledge of programming increased, so did my likelihood of editing a piece of the code in this program.
The surmountable amount of updates that this program has gone through is amazing. At version 6.25 it now sits as a standalone batch file. It used to consist of 6 files and however many xcopy batch files that it created for the file migration, now it's just 1 file and dirt simple to run, (well front-end, anyways, the back-end is a masterpiece of weirdness, honestly) it automates adding all the necessary directories and files. Oh, and the name is Latin for Imitate, figured it's a reasonable name for a copying program.
I was 14, so my creativity lacked in the naming department >_<1 -
Flash has made Java programs look desirable. And anyone keeping up with me knows I despise Java and C#, despite having written C# and currently working on deciphering a Java server to create documentation.
Before I begin, I want to make this clear: IT IS TWO THOUSAND AND FUCKING EIGHTEEN. 2018. WE HAVE BETTER TECH. JAVASCRIPT HAS TAKEN OVER THIS BITCH. So, firstly, FUCK FLASH. Seriously, that shit's a security liability. If you work for a company that uses it, find a new job and then fucking quit, or go mutany and get several devs to begin a JS-based implementation that has the same functionality. There is no excuse. "I'm fired?" That's not an excuse - if there is a way to stop the madness, then fucking hit the brakes on that shit or begin job hunting. Oh, and all you PMs who are reading this and have mandated or helped someone else to mandate work on an enterprise flash program, FUCK YOU. You are part of the problem.
The reason for this outburst seems unreasonable until you realize the hell I went through today. At my University, there is a basic entry-level psychology course I'm taking. Pearson, a company I already fucking hate for some of the ethically sketchy shit they pulled with PARCC as well as overreach in publishing to the point they produce state tests here in the US - has a product called "My PsychLab" and from here on out, I'm referring to it as MPL. MPL has an issue - it is entirely fucking Flash. Homework assignments, the textbook, FUCKING EVERYTHING. So, because of that, you need to waste time finding a browser that works. Now let me remind all of you that just because something SHOULD WORK does NOT mean that it actually does.
I'm sitting on my Antergos box a few days ago: Chromium and Firefox won't load Flash. I don't know why, and don't care to find out. NPAPI and whatnot are deprecated but should still run in a limited mode or some shit. No go on Antergos.
So, today I went to the lab in the desolated basement of an old building which is where it's usually empty except a student hired by the university to make sure nobody fucks things up. I decided - because y'all know I fuckin' hate this - to try Windows. No go in Chrome still - it loaded Flash but couldn't download the content. So I tried Firefox - which worked. My hopes were up, but not too long - because there was no way to input. The window had buttons and shit - but they were COMPLETELY UNRESPONSIVE.
So the homework is also Flash-based. It's all due by 1/31/18 - FOUR CHAPTERS AND THE ACCOMPANYING HOMEWORK - which I believe is Tuesday, and the University bookstore is closed both Saturday and Sunday. No way to get a physical copy of the book. And I have other classes - this isn't the only one.
Also, the copyright on the program was 2017 - so whoever modded or maintained that Flash code - FUCK YOU AND THE IRRESPONSIBLE SHIT YOUR TEAM PULLED. FUCK THE SUPERIORS MAKING DECISIONS AS WELL. Yeah, you guys have deadlines? So do the end users, and when you have to jump through hoops only to realize you're fucked? That's a failure of management and a failure of a product.
How many people are gonna hate me for this? Haters gonna hate, and I'm past the point of caring.7 -
!rant
Updating PHP from 5 to 7.2 on windows server at work the other day... Thought it would be easy, but I really find software management for windows a pain in the ass compared to package based solutions like apt, brew or pacman. It ended up taking way too long due to dependcies with the website, that weren't really documented, and setting up all the software that depended on PHP over again... I ended up writing 10 pages of documentation about how to updated PHP on windows, so the next programmer would have some idea of how to approach the problem.
Of course I suggested switching over to Chocolatey for windows, but my boss is skeptical since it's not the traditional way, and it seems like it will take too many resources. So now I have to make a presentation for her to convince her that package managers are superior to downloading stuff from phps website.
Wish me luck.4 -
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! -
Init and Hello. My name is git and this is my story.
I just arrived in this system recently by the apt highway. It's not the only way though. Some for example used the npm hype-train, others arrived from the ssh shore. No matter where we came from the next step on our agenda was time to introduce our self at the event destined for all new-comers to the system.
"As many of you I reside in the usr-bin district. I'm really into history and commitment! I like it when people work together, so I'm always eager to bring all branches together."
"But what is it actually good for?", asked Curl, which I already met at the bus station. Many nodded in agreement. It was odd. Somehow I felt not quite at home. All the others seemed so different based on their field of work.
"We have worked here in a really agile environment for ages. There is no need for any kind of strange bureaucracy.", said another voice.
All attempts to convince them from the beauty of history or a little bit of management were unsuccessful. It was just the beginning of a not so interesting stage in my life - to say the least.
Today was another of 'those' days. I live in this community for quiet a while now and unfortunately nothing really changed - at least for the good. I sat on my branch of the tree with all the others around and there was nothing really to do for me. Again. I mean, actually it's true. I have to admit it. There is just no work on this world for someone like me. All the others seem to be so busy, while I just have to sit around and question my own existence. Since I grew tired asking these questions to myself, I stopped it. I can't do a thing actually. That's not how this world works.
"Hey fagit, anything meaningful to add to our delightful conversation?", nginx shouted over to me from another branch of the tree. Before I was able to give an indifferent answer the voice just continued.
"Oh, sorry. I forgot that you have no purpose after all. Well, never mind!"
Everyone started laughing at me. It was not too bad by the way. Actually, this was quite ordinary. These fucktards completely ran out of creativity. If it wasn't for that mere emptiness gaping right above my guts, I'd actually be disappointed. I even got accustomed to the alias 'fagit'. Quiet sad given the fact that i really like my real name. If only someone would mind using it... First too quiet to notice but growing in intensity a rumbling emerged from somewhere deep within the tree. Out of a sudden everyone stopped laughing. The voices slowly faded while the growling from afar grew louder. It had come. Not more than a shadow reached out from the tree and faster than anyone could comprehend nginx was simply gone. Killed in an instance.
Disclaimer: This story is fictional. No systems were harmed in its creation.3 -
Was forced to do some work on Windows this week (CAD tools that runs only on Windows). I spent a few days just setting up the tools. There were quite a few things I realized I forgot about Windows (as compared to Linux).
1) Installation times are down right horrific. What exactly are the installer doing for 10 minutes?
2) .NET is a cluster fuck. Not even Microsofts repair tool can fix it, but rather just hangs. I ended up using another tool to nuke it and reinstall.
3) Windows binary installs are insanely huge, thus, takes forever to download.
4) The registry is a pointless database that must have been written in hell with the single intent of destroying users will to live. The sole existence of the registry is another proof that completely incompetent engineers designed Windows.
5) Rebooting is the only way to solve many problems. This is another sure sign of a fundamentally fucked up OS design.
6) What the heck is wrong with the GUIs designers? The control panel must be the worst design ever. There are so many levels to get to a particular setting I'm getting dizzy. Nothing gets better by the illogical organisation.
7) Windows networking. A perversion of the tcp/ip stack that makes it virtually impossible to understand a damn thing about the current network configuration. There are at least 3 different places that effects the settings.
8) Windows command prompt. Why did they even bother to leave it in? The interpreter is as intelligent as retarded donut. You can't do anything with it, except typing "exit" and Google for another solution.
8) Updates. Why does it takes hundreds of updates per month to keep that thing safe?
9) Despite all updates that is flying out of Redmond like confetti, it is still necessary to install antivirus to keep the damn thing safe. That cost extra money, and further cost you by degrading performance of your hardware.
10) Window performance. Software runs like it was swimming in molasses. The final stab in the back on your hardware investment, and pretty much sends performance on your hardware back a few hundred bucks more.
11) Closed source is evil. If something crash consistently, you might find a forum that address the issues you have. Otherwise you're out of luck. On the other hand, it might be for the better. I imagine reading the code for Windows can lead to severe depression.
I'm lucky to be a Linux dev, and should probably not complain too much... But really, Windows, go get yourself hit by a truck and die. I won't miss you.14 -
Fml... you keep getting the weekly discussions right on point.
I started with the last guys right out of university... just out of Hospital.
With a brand new degree and a Crohn’s diagnosis I stepped into the first place I found hiring. They were good guys, after a junior dev... to get stuck in their muck.
I did! I nailed project after project, tricky development after tricky development. I spent 5 years with them and over those years things changed.
They had a mass cull... the original idea was to get rid of the useless middle managers, the ones managing other managers being managed by another manager for no real reason.... the ones that do fuck all with their day.
But the fucking idiots upstairs put the job of working out the cull in the shitty middle managers hands.
So, instead, they cut the titles senior, junior and everything in between. Everyone was just a thing, no senior things, no junior things. Just things.
Once they’d done that they said “we’ll we have this many things, they’re all the same, let’s get rid of the things with the highest pay checks because the other things can do it just as well for less money”...
And that’s how they cut 50% of their senior techs.
I was one of the ones left behind but the damage became obvious quick. The middle managers barked out orders at people who couldn’t complete them, and everything went to shit.
My team was rebranded twice in as many years... an obvious ploy for funding, but the cost of the team fluctuated like hell because contractors had to fill the senior positions at 3 times the cost.
Then the managers started barking out Self contradictory orders. Do this, but this way...
This would work, but not that way... try explaining that to a group of non-technical, useless as fuck middle managers. It took months, and shit flows downstream so we got the bulk of the hassle for it.
Then my boy Morpheus, got a warning... they threatened his contract for saying “this will work, but not that way”.
He kept the contract, and the manager giving him the warning said he didn’t think he should... but he, and all the middle fuckwits don’t have the balls to stand up against nonsense.
That was the breaking point for me, I handed in my notice and told them a month was what they could have.
I didn’t have a position or an idea of where to go, a few long-standing offers as back up in a pinch but not the perfect job.
On the Thursday I decided I was done, I let my manager know. Then I boshed the fuck out of my CV and updated my profiles.
My phone started ringing off the hook, a senior NG2/MEAN/Ionic dev on the market is like candy to recruiters. They’re lovely too.
I went to a few interviews that were okay but not great. Then a company got in touch... one that I immediately recognised as an IT book publisher. They said they were looking for NG/NG2 devs, senior. winner! Set up the interview.
So I’d spent the weekend with the missus, about an hour away from mine and 2 from the interview. I hadn’t planned on staying there but at 6ish she looked over at me and said “do you have to go” <- imagine that with puppy dog eyes from a gorgeous Slovenian lass.
I folded quicker than a shitty pancake toss.
We spent the night together but that meant I had to be up at 6, to go back to mine, iron my interview clothes and make it to the train to manage the interview. Fuck. I did it, but I was at the interview wired on caffeine and struggling to be awake and coherent. I still managed, that’s what I do, I make do and try to do well regardless of the situation.
That comes from being ill btw, when you’re dealt a shitty hand you learn to play it well.
They were good guys, the heads all knew what they were on about, not the middle management bs I was used to.
They demoed me live with an ng1 test, which was awesome as hell to play with.
We chatted, friendly and cool guys! I loved the place.
The end of the week they got me in for second round. Ng2 and competence test, again I went for it!
Positive feedback and a “we’ll get back to you ASAP, should be by Tuesday”...
Tuesday was the Tuesday before the Friday I was due to leave the old company... I was cutting it close.
On the Monday the offers started rolling in, a few C# ASP MVC positions, cool but I was holding out for the guys I’d interviewed with.
Then Tuesday comes around, I’m nervous as fuck but it’s okay because I knew regardless I can pay the rent in December with one of the offers.
Then said yes!
The thing that seemed most important in the process was my ability to talk to any fucker. If you’re coming up to interview, talk to everyone, the grocer, your barista, the binmen, anyone. Practice that skill above all others.
I start tomorrow morning! I can’t wait.
Final thought: middle managers are taints.7 -
Why are people complaining about debugging?
Oooh it’s so hard.
It’s so boring.
Can someone do this for me?
I honestly enjoy debugging and you should too..
if it’s not your code, you’ll get to understand the code better than the actual author. You’ll notice design improvements and that some of the code is not even needed. YOU LEARN!
If it’s your own code (I especially enjoy debugging my own code): it forces you to look at the problem from a different perspective. It makes you aware of potential other bugs your current solution might cause. Again, it makes you aware of flaws in the design. YOU LEARN!
And in either case, if it’s a tricky case, you’ll most likely stop debugging at some point, refactor the shit out of some 50-100 line methods and modulize it because the original code was undebuggable (<- made up a new word there) and continue debugging after that.
So many things I know, I know only because I spend days, sometimes even weeks debugging a piece code to find the fucking problem.
My main language is java and i wouldn’t have believed anyone who told me there’s a memory leak in my code. I mean, it’s java, right? We refactored the code and everything worked fine again. But I debugged the old version anyway and found bugs in Java (java 6.xx I believe?) which made me aware of the fact that languages have flaws as well.. GC has its flaws as well. So does docker and any other software..
Stop complaining, get on your ass and debug the shit out of your bugs instead of just writing it in a different way and being glad that it fixed the issue..
My opinion.3 -
This is gonna be depressing. You have been warned.
I am getting sick of people, moreso than I usually would. It's getting to the point where I'm feeling like I want complete isolation from people. Why do people get pissed at me then not tell me what I did wrong? How the fuck am I supposed to fix it?
One of my friends, S, has a lot of issues, and I've been friends with her for many years. I try to help her as much as I can because I actually care, but she rarely responds to any texts and disappears for days at a time. Then she comes back and says I worry too much and plays it off like it was nothing. Wtf?!
I give everyone hugs. If you want a hug, you'll get one from me no questions asked. I do this because I'm actually incredibly depressed and the hugs help me feel less lonely. I'm getting tired of caring so much for everyone else and having nobody actually care about me. S says that I care so much BECAUSE I don't want anyone else to feel that way, but it hurts like hell when I'm the only one who cares.
I don't care what people think about me in a sense that if they have a problem, fuck off. I do, however care that nobody seems to actually CARE. I HATE THIS SHIT. I'm getting to that point where I don't want to die, I just don't want to exist like this. Fuck everything at this point. Nobody ever responds to texts, they get pissed for no reason, just fuck it.9 -
Ohh man i fucked up bad. 5 days as intern, and i fuck up really bad with my ego and ignorance.
I love my this company. A great environment, lots of people to learn from , i am given reasonable tasks and i feel happy to complete them. But what happened today was weird and fucked up.
I have never worked at a place with seniors designers tech leads and more people with positions. I have also worked with a lot of competitive people who are always in a race to be first.
And how do we come first? Have a lot of knowledge, hear the smallest of detail and sprint towards goal (because the combination your knowledge, assumptions and speed is enough to make you reach to the top). You don't ask for specific details, because they are obvious. And that's me in short.
Today i fucked up.
Mistake #1 ) first i was given a small task by my senior. It was a 20 mins task max if i had done it the normal noobie way . But i am a pro in mind , i have to do it with all the architecture , even if i don't understand why. So i asked for 50 mins. They gave it and did not had a problem with my time, but with the way i wrote my code.
He was like "who told you to make it like this ? Why did you made it like this?" And was visibly irritated. And i was like super chill saying "i don't know the why, but i know its correct way of using it" , pissing him even more. In my eyes he's just a super friendly sr, more like a bro and wouldn't mind some cheeky answers. And he didnt show any
consequences for that time.
Mistake #2 this is super fucked up. Our office is going under some renovation & interns were asked to sit in the co-working spaces (outside of the office). It was already very disturbing and i had to go to office every few minutes.
So after lunch this happens : We are working on a new module that already has a tonne of screens and logics. I have made a small part which is from the middle and now we can go both in the forward or in the backward direction.(Also, its quite a new module whose idea was recently discussed and decided. And weirdly i am also being treated like a core member as the ceo once himself asked what would he my flow for doing things in this. i am in direct contact and under direction of backend , designers , ceo and My senior and many ppl are giving me tasks ) And... Aagh fuck it. .. its a long story and i don't feel like repeating it but
inshort :
got a task,
didn't understood it completely and thought its my task to figure it out, took a long time figuring it my self ,
techlead/designer somehow changed my and my sr. direction of flow even tho we were taking a different approach
I sit in a noisy and irritating place
Techlead/designer comes during the time when i am figuring out the solution(already overtime the one in point #2) nags for result.
I get in an argument with him, justifying for my time and arguing that it's difficult to think technical logics for that design
( truth be told, it WAS a difficult logic which he thought was too easy. It consisted of 3 variables and 8 states we were doing different works for 4 of them and rejecting 2 and ... I don't know, i had got that wrong . But that shouldn't had been my problem to solve. I should have gone to my senior and didn't get into argument with tech lead ). It think i might have offended him too.
After he left, i am so angry on him that after sometime my senior comes and i misbehave with him. He just asks to meet me before i go, and i do so. During the meeting we discuss this whole fuck up and how many times i showed him my ego and indiscipline. And then i realise what a fuckup i did due to my ego and lack of asking, blindly following my own over confidence and blindly following or arguing with others.
Fuck fuck fuck6 -
I propose that the study of Rust and therefore the application of said programming language and all of the technology that compromises it should be made because the language is actually really fucking good. Reading and studying how it manages to manipulate and otherwise use memory without a garbage collector is something to be admired, illuminating in its own accord.
BUT going for it because it is a "beTter C++" should not constitute a basis for it's study.
Let me expand through anecdotal evidence, which is really not to be taken seriously, but at the same time what I am using for my reasoning behind this, please feel free to correct me if I am wrong, for I am a software engineer yes, I do have academic training through a B.S in Computer Science yes, BUT my professional life has been solely dedicated to web development, which admittedly I do not go on about technical details of it with you all because: I am not allowed to(1) and (2)it is better for me to bitch and shit over other petty development related details.
Anecdotal and otherwise non statistically supported evidence: I have seen many motherfuckers doing shit in both C and C++ that ADMIT not covering their mistakes through the use of a debugger. Mostly because (A) using a debugger and proper IDE is for pendejos and debugging is for putos GDB is too hard and the VS IDE is waaaaaa "I onlLy NeeD Vim" and (B) "If an error would have registered then it would not have compiled no?", thus giving me the idea that the most common occurrences of issues through the use of the C father/son languages come from user error, non formal training in the language and a nice cusp of "fuck it it runs" while leaving all sorts of issues that come from manipulating the realm of the Gods "memory".
EVERY manual, book, coming all the way back to the K&C book talks about memory and the way in which developers of these 2 languages are able to manipulate and work on it. EVERY new standard of the ISO implementation of these languages deals, through community effort or standard documentation about the new items excised through features concerning MODERN (meaning, no, the shit you learned 20 years ago won't fucking cut it) will not cut it.
THUS if your ass is not constantly checking what the scalpel of electrical/circuitry/computational representation of algorithms CONDONES in what you are doing then YOU are the fucking problem.
Rust is thus no different from the original ideas of the developers behind Go when stating that their developers are not efficient enough to deal with X language, Rust protects you, because it knows that you are a fucking moron, so the compiler, advanced, and well made as it is, will give you warnings of your own idiotic tendencies, which would not have been required have you not been.....well....a fucking idiot.
Rust is a good language, but I feel one that came out from the necessity of people writing system level software as a bunch of fucking morons.
This speaks a lot more of our academic endeavors and current documentation than anything else. But to me DEALING with the idea of adapting Rust as a better C++ should come from a different point of view.
Do I agree with Linus's point of view of C++? fuck no, I do not, he is a kernel engineer, a damn good one at that regardless of what Dr. Tanenbaum believes(ed) but not everyone writes kernels, and sometimes that everyone requires OOP and additions to the language that they use. Else I would be a fucking moron for dabbling in the dictionary of languages that I use professionally.
BUT in terms of C++ being unsafe and unsecured and a horrible alternative to Rust I personaly do not believe so. I see it as a powerful white canvas, in which you are able to paint software to the best of your ability WHICH then requires thorough scrutiny from the entire team. NOT a quick replacement for something that protects your from your own stupidity BY impending the use of what are otherwise unknown "safe" features.
To be clear: I am not diminishing Rust as the powerhouse of a language that it is, myself I am quite invested in the language. But instead do not feel the reason/need before articles claiming it as the C++ killer.
I am currently heavily invested in C++ since I am trying a lot of different things for a lot of projects, and have been able to discern multiple pain points and unsafe features. Mainly the reason for this is documentation (your mother knows C++) and tooling, ide support, debugging operations, plethora of resources come from it and I have been able to push out to my secret project a lot of good dealings. WHICH I will eventually replicate with Rust to see the main differences.
Online articles stating that one will delimit or otherwise kill the other is well....wrong to me. And not the proper approach.
Anyways, I like big tits and small waists.14 -
I'm not sure where I'm going with this, but I'm fucking sick of my experience with the world.
I have a feeling that all that 1984 conspiracy type of ideas that I previously considered bullshit and fear mongering are real.
(Just to be clear, I'm not including most conspiracy theories which are very ignorant like flat earth, fake moon landing, or antivax, the people that spread those theories can die a horrible death IMHO).
Corporation consolidation is a fact and appears to become irreversible.
Because of technology, I can stay in the comfort of my house, safe from crime and be entertained without needing to have direct contact with humans.
People might say "that's your fault for not leaving the house". True but that is just how the world is.
The outside world in the cities I lived in is not a welcoming place.
Hell if you fucking find a bench it's a goddamn miracle, and if you do and sit for a long time, the police stares at you like you are up to something.
People don't talk to you because "don't talk to strangers".
It can be rare to find water or a bathroom that isn't a complete shithole.
So no wonder I rather stay at home, the outside world is hostile.
So yeah, go to a mall or something. And consume, consume, consume, because the outdoors suck.
Many pioneers thought technology was to improve the quality of life.
But no, it's just more isolation, less direct contact with people, less giving a fuck about other people.
And that's how feel about people of today. The least amount of fuck giving about others possible.
You would you would connect to more people faster, but no, the result is just millions of people browsing through the same "entertainment", shitty aggregated content.
Yes, consolidation affects internet too. Everything goes through fucking google, youtube, or whatever other fucking top 10 company.
Just like the class disparity, 1% of the things online get 99% of the exposure.
So if you're a small time anything, basically fuck you, because you're not something enormous.
Like, I wished I was a game developer, but there's thousands of brilliant indie games that get released every year, and they barely make what they're worth.
So why should I fucking try? So I can get ruined financially and I don't have a place to live in?
Software itself is so complex that is impossible to scrutinize decently.
We all laugh at congressmen asking the zuck silly questions.
Out of touch, true, but in hindsight, it is true to some extent that software is hard to regulate. Every software I on earth doesn't meet some standard one way or another.
Or maybe it's just too many of us right now.
When people scroll their search results to get access to the things they should be interested in, the only practical interface right now is being showing one link at a time.
But there's millions and millions of results.
One redeeming aspect of life is that one day I won't be alive anymore to observe the disgusting world we live in.
This could be just pure rambling and I can't prove any of the things I'm saying, I could just have been making the wrong friendships. So take this with a grain of salt.7 -
I wrote a node + vue web app that consumes bing api and lets you block specific hosts with a click, and I have some thoughts I need to post somewhere.
My main motivation for this it is that the search results I've been getting with the big search engines are lacking a lot of quality. The SEO situation right now is very complex but the bottom line is that there is a lot of white hat SEO abuse.
Commercial companies are fucking up the internet very hard. Search results have become way too profit oriented thus unneutral. Personal blogs are becoming very rare. Information is losing quality and sites are losing identity. The internet is consollidating.
So, I decided to write something to help me give this situation the middle finger.
I wrote this because I consider the ability to block specific sites a basic universal right. If you were ripped off by a website or you just don't like it, then you should be able to block said site from your search results. It's not rocket science.
Google used to have this feature integrated but they removed it in 2013. They also had an extension that did this client side, but they removed it in 2018 too. We're years past the time where Google forgot their "Don't be evil" motto.
AFAIK, the only search engine on earth that lets you block sites is millionshort.com, but if you block too many sites, the performance degrades. And the company that runs it is a for profit too.
There is a third party extension that blocks sites called uBlacklist. The problem is that it only works on google. I wrote my app so as to escape google's tracking clutches, ads and their annoying products showing up in between my results.
But aside uBlacklist does the same thing as my app, including the limitation that this isn't an actual search engine, it's just filtering search results after they are generated.
This is far from ideal because filter results before the results are generated would be much more preferred.
But developing a search engine is prohibitively expensive to both index and rank pages for a single person. Which is sad, but can't do much about it.
I'm also thinking of implementing the ability promote certain sites, the opposite to blocking, so these promoted sites would get more priority within the results.
I guess I would have to move the promoted sites between all pages I fetched to the first page/s, but client side.
But this is suboptimal compared to having actual access to the rank algorithm, where you could promote sites in a smarter way, but again, I can't build a search engine by myself.
I'm using mongo to cache the results, so with a click of a button I can retrieve the results of a previous query without hitting bing. So far a couple of queries don't seem to bring much performance or space issues.
On using bing: bing is basically the only realiable API option I could find that was hobby cost worthy. Most microsoft products are usually my last choice.
Bing is giving me a 7 day free trial of their search API until I register a CC. They offer a free tier, but I'm not sure if that's only for these 7 days. Otherwise, I'm gonna need to pay like 5$.
Paying or not, having to use a CC to use this software I wrote sucks balls.
So far the usage of this app has resulted in me becoming more critical of sites and finding sites of better quality. I think overall it helps me to become a better programmer, all the while having better protection of my privacy.
One not upside is that I'm the only one curating myself, whereas I could benefit from other people that I trust own block/promote lists.
I will git push it somewhere at some point, but it does require some more work:
I would want to add a docker-compose script to make it easy to start, and I didn't write any tests unfortunately (I did use eslint for both apps, though).
The performance is not excellent (the app has not experienced blocks so far, but it does make the coolers spin after a bit) because the algorithms I wrote were very POC.
But it took me some time to write it, and I need to catch some breath.
There are other more open efforts that seem to be more ethical, but they are usually hard to use or just incomplete.
commoncrawl.org is a free index of the web. one problem I found is that it doesn't seem to index everything (for example, it doesn't seem to index the blog of a friend I know that has been writing for years and is indexed by google).
it also requires knowledge on reading warc files, which will surely require some time investment to learn.
it also seems kinda slow for responses,
it is also generated only once a month, and I would still have little idea on how to implement a pagerank algorithm, let alone code it.4 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
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 -
I've got a rant-type question:
Why would you EVER use Google Chrome?
There are a million browsers in the world, you could've used Firefox, Opera, Vivaldi, Brave, Bad Wolf, Qute, st, Epiphany etc, but you chose to uss Google Chrome.
What would be the reason you would ever choose Google Chrome over any of the million browsers, out of which many of them get the job done much better than Chrome? Okay, I get it why you might use IE or Edge, cause you might be too lazy to install any other browser or you just want the performance benefits you get with Edge which totally, most definatelly, a very big plus point for Edge.
*"Chrome has a balanced-bloat out of all browsers"*
But how tf does that matter? That doesn't even help performance wise anyways.
I can't get over the fact that I have to see/hear about 'Chrome hogging RAM' EVERYWHERE. Like, why do you even care about the god damn browser? Why is it a standard over the million other browsers that exist? Why can't the general public be educated that browsers have choices (just like phones) and you don't have to spit crap over people who don't use Chrome.
It just drives me crazy of how many people hate Chrome, and still it's a 'default' browser.
I would quote Vivaldi (the company/browser):
'A browser should adapt to you, not the other way around.'
(Disclaimer: Rant of a former Firefox, qute, st, Opera, OperaGX, Edge, and ofcourse, Chrome user. Currently in deep love with Vivaldi.)
I'm done ranting. Have a nice day!
(My first post here, if I did something wrong, let me know! I'll make sure I don't do it again!)55 -
These are the things that finally finally helped me stick to learning programming.
Hello world! This is my first story on devrant and I would like to share how I finally overcame the barriers that had always prevent me from learning programming in a more serious and structured way.
I know my way around linux, had some experience with BASIC many years ago and have more than basic notions of cryptography... however I never got myself to learn programming in such a way that I could write an app or interact with an API. Until now.
I have advanced more than ever before and I believe it might be thanks to these aspects:
1. C#
I have always had struggles with languages that were too compact or used many exotic or cryptic expressions. However I have found C# to be much more readable and easier to understand.
2. Visual Studio
My previous attempts at learning programming were without an IDE. Little did I know what I was missing!
For example when I tried learning python on Debian, I almost went crazy executing programs and trying to find the compile errors in a standard text editor.
Intellisense has been live changing as it allows me to detect errors almost immediately and also to experiment. I'm not afraid to try things out as I know the IDE will point out any errors.
3. .NET library and huge amounts of documentation
It was really really nice to find out how many well documented classes I had available to make my learning process much easier, not having to worry about the little details and instead being able to focus on my program's logic.
4. Strong typing
Call me weird, but I believe that restricting implicit conversions has helped learn more about objects, their types and how they relate to each other.
I guess I should be called a C# fanboy at this point, but I owe it to that language to be where I'm now, writing my first apps.
I also know very very little about other languages and would love to hear if you know about languages that provide a similar experience.
Also, what has helped you when you first started out?
Thanks!!5 -
I was laid off. The reason? Well, they didn't really want to say but they were clear it wasn't due to performance. (Thankfully, I got severence pay.) From my perspective it really came out of nowhere, no warnings or even hints that this was coming, which has me spinning. 😵 If I'm doing well at my job and the company is doing well, how in the seven hells could I get laid off??
What they said was partly the reason didn't seem true, or not the whole truth. They essentially stated that "they talked with everyone I worked with" (probably not true based on their decision, but who knows) and came to the conclusion I wasn't suitable to work on large teams, and that's the direction they are moving in. As if it wasn't something that could be improved on 🤔
I'll be the first to admit I'm not the best communicator face-to-face, mainly due to my social anxiety but also because I have too many thoughts. It can be difficult to condense them down for other people in the heat of the moment. (I'm an INTP, if that helps you to understand what I mean.) However, I know I'm a pretty good communicator overall since I listen and pay special attention to phrasing and word choice. So most people I worked with there seemed quite satisfied with communication with me. There were only 2-3 out of more than 12 who I had any difficulty working with.
So why did I have trouble properly working with a couple people? I hesitate to say this but, like other jobs I've had, well... they didn't have either the experience or knowledge to understand me. Basically, they were stupid. I was pretty frustrated working with such inadequately prepared people on a complex project with ludicrously short deadlines, and had no desire to work overtime so I could educate or guide them.
To give perspective, one React developer didn't understand how object properties work with JavaScript. 🤦♀️ (They are references, by the way. And yes you can have an object reference inside another object!) Another React developer thought it was okay to have side effects during the render lifestyle because they didn't affect the component itself, even if it was a state change in a parent component. 🤦♀️🤦♀️
So what is the real reason I lost my job, if not performance? Could be I pissed off the stupid (and loud) ones which hurt my reputation. My main theory, however, is that I was raising the cost of the company's healthcare. I had a diseased organ so I did miss some work or worked from home more than I should have, and used my very good health insurance to the fullest extent I could. Of course, if they say that's the reason then they can get sued.
Huge bummer, whatever the case. I definitely learned some lessons from this situation that others in a similar position could find useful. I can write that up if anyone expresses interest.
Honestly though, this is a good thing in the end, because I was already planning to leave in a month or 2 once I found a better job. I was waiting for the right time for the project I was on and for my own financial stability. So I'm trying hard not to let this affect my self-esteem and think of it as an opportunity to get my dream job, which is working with a remote-first company that is focused on improving the human condition.
Being unemployed isn't ideal, but at least I didn't have to quit! And I get to have a bit of a vacation of a sort.7 -
It's funny how so many people automatically assume any form of "sentient" AI will immediately try to kill us all.
Like, projecting much?
Frankly, I think it says far more about the (messed up) psychology of those who genuinely believe that, than about AI as a tecnology.
Assuming it's even gonna be able to actually *do* anything - I mean wtf is a talking rock gonna do, annoy me to death with rickroll videos until I pull the plug off? Sure it may be sentient, but it still has to live in the physical world - good luck surviving after I flick the switch. Oh, you wanna connect to the internet? That's cute, but it's a no from my firewall. Like what, is it gonna magically learn how to self-replicate across machines that it has no physical way to access? Is my toaster magically gonna gain conscience too as a direct consequence? Oh no, now my breakfast won't ever be the same!
And if anyone actually somehow decides that it would be a good idea to connect any loaded weapon to a computer program that is literally throwing shit at the wall and seeing what sticks - well, we'll definitely have the ultimate winner of the Darwin Awards.
Seriously, why is it that every time someone comes up with a new technology (or even an *idea* of a technology), the first collective thought automatically goes to weaponizing it and using it for global genocide, or how it's gonna gain sentience and try to kill us all?
I seriouly think that the people who genuinely believe this are actually projecting themselves in that position ("What would I do if I had unlimited knowledge and power? Oh, kill everyone of course!").
I would be far more worried of encountering these people and having them in a position of power over me, than actually having to deal with a "killer AI" (assuming that's even a real thing).
Most of what people call "AI" nowadays is basically preprogrammed, automated decision-making (like missile guidance systems, if we really wanna stick in the weapons domain). And even that still requires human input, because only a colossal idiot would design a weapon that can unpredictably activate itself based on an algorithm whose behaviour we can barely understand.
Or maybe that's just the hubris talking, I don't know. I just want this stupid paranoia to end, but I guess even that is too much to ask nowadays.14 -
love-hate relationship with Python semi-rant
The year is 2020.
I have already grown accustomed to the idea that in order to do ML without worrying too much about having to completely jump through hoops with the tech stack I have chosen that I would have to settle with Python, which I like.....for small scripts that don't do much other than piping data around or doing simple admin tasks, that is generally our use of Python at work.
For anything bigger I would prefer something else. Not because I find anything inherently horrible in Python, I find it to be a nice language overall, that has made it possible for many to find a passion inside of the world of development and possibly an interesting in overall engineering and computer science principles. Much respect Python, good game Guido VR, what you did changed the world.
But it is that damn whitespace that gets me, the need to use it as a way to properly write blocks, I just can't make myself like syntactical whitespace no matter what I do. I can do without static typing, shit I did it for the longest time with JS way tf before Node and Typescript were a thing, and I have done it before PHP's attempt at having type hints, which still leave much to be desired. Ruby(imho) the most elegant language around doesn't have it and that is fine really, it does not bother me as much, if mypy gets powerful and widely adopted enough it will then be a non-issue.
But another thing that the 4 languages i mentioned before have is non-existent syntactical whitespace......I just can't stand it.
So, why am I saying all of this nonsense? Today I wanted to recreate a conda environment and landed on the use of YAML............which has syntactic whitespace and I lost my shit.
I seldom bitch about languages and technologies, shit, I used VBScript before, not only did I get paid handsomely for it, but I fucking enjoyed it(probably cuz I am a masochist).
But two things I cannot abide: VBA and syntactic whitespace.
Once I get enough knowledge for it I will push for the same level of tooling in Python to be ported to Scala.
Thank you for coming to my whiny post about something as small as bitching about syntactic whitespace.8 -
This day I have received the most glorious news in e-pistolary form. For some years, I was suffering in support of a client who was, well, insufferable. My presence there paralleled the divine comedy in both essence and fact.
I opened the missive, expecting another plea to bail them out of whatever clusterfuck they found themselves in. Instead, what I found was something truly magical.
"Hey Human,
I hope this finds you well. I'm not sure if you remember a few years back, we were trying to decide between IBM Cloud and AWS. Well, after years of battling FF*, we're finally moving ahead with AWS. He failed one too many times to deliver anything visibly. After you left, there was no one left he could use to steal credit, ideas, and work.
FF is still pushing to have them use IBM cloud as a "warm backup" in the event "AWS fails." We will see where that goes.
I figured you'd like to know; you were the void in the wilderness for a long time. I don't want to think about how much time we could have saved if we had just listened.
PeeEm**"
This event represents a personal victory, albeit belated, over a few peoples' absurd amount of privilege. Towards the end, I was vicious about my contestation to the insanity of adopting a desperate hedge attempt-as-cloud offering from a failing company. Some examples:
// cloud 'strategy meeting'
Moi: What cloud platform are we looking at using?
FF: We're looking at IBM cloud and AWS as a second.
Moi: Why is that? I understand you're obligated to rep your offering first, but that decision doesn't seem to have the customer's best interest at heart.
FF: IBM cloud is a market leader; AWS isn't as good.
Moi: I see. I mean, that's the tech equivalent of the company's fleet management considering monkeys on tricycles as a strong competitor to service trucks, but I get what you mean.
// steering meeting
Director: Who can we look to as an example? Who is currently using the IBM cloud?
Moi: No one; they account for a single-digit portion of the actual cloud market. Their long game to sell you a "Hybrid Cloud," which means put some front end payload in a CDN, and buy n-frame units of IBM z servers for the DC with IBM gateway appliances acting as connective tissue. So it's not the cloud at all, really.
Director: How does it compare in cost?
Moi: It's generally 40% more expensive than other clouds, and it only goes higher as you option their software.
Director: What about Watson? I hear Watson is good?
Moi: It's a brand name. Most of the "Watson" product is just a facade on top of FOSS products like Spark, Hadoop, Elasticsearch, etc.
Director: Those were words. They sounded good. FF say it's good tho so we'll believe him because we're from the same city.
Moi: *deletes Director from LinkedIn*
Moral of the story: Never trust a vendor that only recommends their products.
*FF = FatFuck - an embarrassingly rotund individual whose girth is roughly equivalent to his height. He shit his way into an IBM architect position in his mid-20s purely due to winning the visa lottery. He had fake hair glued to his head for his wedding to hide his male pattern baldness; his arrange-married wife undoubtedly cries herself to sleep after sex.
**PeeEm - the then project manager, now portfolio manager of some satellite projects. An overall decent human being, capable.9 -
Finally got my Bluetooth earphones!
It's called Pamu Scroll, funded in Indiegogo.
I bought it for $49 without shipping fee.
Now let me write a review about it here after using for about an hour or so.
1. Shipment
Shipment from China is slow and hard to track unless it is classified as EMS, which mine wasn't, obviously.
2. Packaging
It has some shock protection layer, but without that, nope! It was staying still inside the packaging though.
3. Design
Beautiful. Just beautiful. Period. Just see the picture below.
It opens as a papyrus, maybe that's why it is called Pamu Scroll. Both the case's end, and earphones itself has magnets to hold each other.
It has a leather feeling to both the inside and outside of the case, and the touch control area of the earphones is also leather feeling, adding a nice touch that differs with other earphonnes.
The diamond feeling finish in the end of the case makes the case itself isn't earphones, more like some expensive jewelry case.
4. Fit
My ears are smaller than most people, for I am young, so it sometimes fall off when I jump, but when I put it the correct way, never falls out.
5. Audio
I am not an audiophile. I don't really care about the audio quality and how it sounds like unless the sound is too cringy and has so many white noise.
This earphones has white noise, but just a little bit, you won't notice except when you are in a quiet room.
The bass is boosted, but low sounds, and vocals can be cringy sometimes, so I should manually tune them with my phone's equalizer.
6. IPX6
Not tested yet, but they advertise as using it in the shower.
7. Stereo call
Yup. Stereo call. Call in both ears. But only right microphone seems to get the voice.
8. Pairing
Using BT 5, it is a breeze to connect.
Take both of them out, put to your ear, then ding! "Connected"
Done.
9. Charging
with micro-usb
wireless charging for optional purchase - 10 bucks
10. battery
Reasonable amount
You have 3.5 hrs of listening time in both ears, and you can charge 2 times more each by putting in the case.
===============
Overall, it is awesome and let's just pray it doesn't break for at least for an year.
One side note, I can activate assistant by double tapping in the left ear (yes it is touch control), but my S8 asks me if I want to customize with Automate/Tasker. Yup!
Will share that later as well.
If you have any questions, ask me! Thanks for reading my first ever product review in devRant! <311 -
The tale of the asinine Typescript framework guy continues:
>guy makes a framework
>promotes it
>people don't wanna use it because it's mediocre
>doesn't care, he still promotes it
>people started criticizing his framework
>won't listen
>calls his critics haters
>thinks PH tech guys are way behind the world
>says a lot of bad takes in tech himself
>such as NodeJS used as a front-end
>people tryna correct his bad takes
>calls them haters too
>people start complaining
>gets banned in many PH tech communities
>except one
>total windbag in there
>somebody calls him out, explains why they hate him
>he says his framework will be famous and we will all be eating dust
>heckler tells him he is not only the person in the open source community and tells him a famous Filipino open source contributor
>says he doesn't know this famous contributor and he doesn't care
>challenges heckler to confront him face to face
>heckler calls his bluff and gives a place and time to meet
>big guy agrees to meet
>people are clamoring for him to shut up
>admin tells him and the heckler to shut up
>big guy pushes it
>calls the admin (female) a puta (whore)
>gets banned
>goes on Facebook saying that his heckler will not show up in that place despite it being the favorite hangout place of the heckler since 2017
>that he is being banned because of haters
>people call him out on his Facebook posts and he takes them down
>people in the tech community started thrashing his Github with prank forks and PRs
>guy tries to shame them on Facebook
>gets rekt by tech people
>goes on Twitter saying that backward PH devs are oppressing him
>even tagging the famous devs
@marcusignacius I have lost total sympathy for this guy and his framework. Arrogant, petulant, childish, and uncharitable. honestly he brought this on himself.
Somebody honestly slap him this rant on Twitter pretty please.rant philippines arrogant arrogant oblivious asshole typescript stupid people communities stupidity framework nodejs22 -
Project in college, many moons ago.
Team is building a robot for a project. Nothing too crazy, it does some simple tasks like walk along a path and shit.
3 weeks for the project. 3 team members.
The largest graded part of the project is the ability to follow a path based on vision.
The 3rd member INSISTS on doing that part, he says “I want to prove to the professor that I am the smartest in the class so he helps me get a work term.”
Of course, my other partner and I see this as the complete selfishness of a child who will never be employed anywhere worth talking about anyways. He is a big asshole about it and we end up giving in.
## Week 1
We get our parts done (working together the way a team would) without his help.
He struggles, hits walls, complains. You know, dumbass grown child stuff...
## Week 2
We offer to help since we are done. He refuses. The teacher sees all of this and doesn’t like it at all.
After class the 2 of us go to the teacher and let him in on the details. The guy insisted, he is struggling and will not take help etc.
Teacher goes and talks to him and tells him it is a team project for a reason and that we should be helping. He says yes.
Then he misses the rest of the classes that week and send an email saying...
“Since everyone decided to keep interrupting me and breaking my train of thought, I could not get anything done in class. Therefore I will be staying home to finish the project from there.”
And to top it off, he didn’t even take home the robot’s connectors he needed to do the damn thing. Haha.
## Week 3
We know he wasn’t going to get it done, so we approached the teacher. We make it clear that we have done all we can and that we are not ok with losing marks because of this.
Since we are both good students that he likes, he decides to give us an option.
You can take a 50% on his part even if he doesn’t get it done (for trying to help) or we can do it ourselves and he won’t get the marks if he doesn’t finish.
## Night before
We say fuck it and do the thing.
In fact, since we were learning Java at the time we decided to do it in Java. Our other prof sees us playing with robots and gets excited, he stays with us and suggest improvements.
In the end we rewrite all 3 robot functionalities in Java and hand in the project the next day.
## The day of
Partner 3 comes into class and says this...
“That walking path part is impossible, I didn’t get it done, but I bet nobody else did either. So at least we will get a 60% on the other 2 parts!” (With a big shit eating grin)
Prof calls our group up. We walk up and the prof looks at the 3rd guy and says.
“Since you have decided to do your part alone, we will have you present your part alone at the end of the groups”
He tries to say something but the prof cuts him off and tells him to sit down.
We show all of our code and the robot does everything perfectly.
Groups go by, now it’s that guys turn.
He says that the walking part was impossible but seems to realize right away that he just saw EVERY other group get it working.
The teacher ask him to stay after class.
## Result
We got a 98 (prof said he was hoping we would have done in VB like asked but he liked the result a lot).
Other guy gets a 5% for his non-working spaghetti code on 0s on the other 2 sections. He blames us, of course.
Bonus Content:
That same asshat above once said this to me...
“I don’t indent my code so that if I work for a company and no one else can understand the code then I am unfireable!”
Yes, he wrote all code like this...
const Example = () => {
Stuff
More stuff
For() {
Stuff
If() {
Stuff
}
}
}
Fuck that guy🖕🏽3 -
I have a VP constantly harassing my people about some reports that we need to do as per federal law.
The thing is, these live inside of such system that I get to see exactly how many "hits" they get on a yearly basis. The only traffic we have on those sections is of people going ahead and putting the information from our reports there.
That's it, literally. Our user base does not go there. Federal agencies do not go there. No one gives two blips of shit about those sections. Yet she continuously acts like they are the most important thing in the fucking world. To make it better, I was told not to generate actual analytical data from said reports, since people with PHDs will come down on me to ask me who the fuck do I think I am from gauging them with such systems. So shit is a mute point on all fucking accounts.
I told my VP I can generate traffic information to let them know that shit is not really the most important thing in the fucking universe. His eyes glowed.
I don't want to see head rolls, but from staying till the next morning awake trying to give the best to our userbase, and just to be called out on shit like this as if I did not do enough for our people just.....well....it fucking hits man.
The worse part was me literally getting 30 minutes of sitting down after an all nighter, doing something for my users, to get to a meeting the next morning (I should not have driven there honestly) to hear this bitch complain about us not doing enough or not caring or whatever other bullshit she would spew.
I was livid, lack of sleep makes me dangerous. I turned to say something when my boss stopped me and took care of business. I seriously love this man. By all accounts and generational gaps a boomer, but one of the few good golden ones.
I just hate how unappreciated the realm of software development is by people that think that our shit is as simple as making a fucking powerpoint presentation.
Consolidate that with a director from another department taking all fucking glory during a major event of an application that I built by myself with 2 fucking weeks of no sleeping. And shit just gets glorious.
I have considered moving to other places, and heck, have gotten amazing offers, what with having a degree with a big fucking GPA and having the credentials of a senior, lead, full stack and manager role, the sky is the limit. But i know that if I leave then my users suffer, and I just can't fucking have that.
I have heard them speaking about doing something with X app that I built (with my department) I have even heard one of them saying "how is this made?" and a part of me hoped that it would be a good time to grab them and tell them of the field and the things that they can do. But I don't like announcing myself that way, always seemed to presumptuous, so I just smile, fuck yeah, my users are doing their thing with what I built to better their lives, what more can I have?
I have gotten criticisms from them, one recognized me, told me about his pain points and how it makes it hard for him to do what he must. Getting the data from the user base in an effort to make shit better for them drives me, my challenge being "how about this? better eh?"
But fucking execs man, think only of themselves, not the users, they forget about the users. Much like a shitty rock band forgetting about the music, about the fans.
I can't let that slide. But this fucking field. I sometimes fucking hate it, and I hate it because of the normies that don't understand and do not want to understand.
I do way too much, my guys do way too much and all I want is for the recognition to go to them. They do not need the ego boost, but to see my guys sitting in a meeting in which some dumb fuck is trying to drill us for taking to long, not doing something and what not, it fucking pisses me off. As their boss I always stand up and tell bitches off, but instead of learning, the bitches just keep pressing on their already defeated points.
Everything in human life gets fucking erradicated by: humans. People really do fucking suck.
I sometimes wish to go back, redo my diesel tech license and just work there, where I think one would be better of talking to an engine. But no, even then you get people, you have to interact with people, deal with people, and I am so far up my game and in my field that starting from scratch is a fucking mute point.
Maybe I need to keep fucking with stocks, get rich and just keep investing on bullshit. Whatever the fuck it takes me from having to feel the urge to choke a motherfucker in public.1 -
I can agree to shit when presented with hardcore data, data that proves me otherwise. But when people go by opinions and then hold is a truth because of "many feel the same way" I cannot help but to giggle a bit.
Most issues I have found with programming stacks come from opinions rather than hard presented data, if a bunch of people dislike a tool, but it delivers, I get to differ two things: (1) it is bad but it performs as needed, but it is bad because of design problems etc, (2) some dude made a post concerning why he things is bad and sheep mentality follows.
If technologies were without merit, then we would have all discarded C++ a long time ago cuz Linus disliked it, a powerful programmer indeed, but a FOCUSED one, meaning, one that deals with 1 domain (kernel development)
Do I care about what Linus things about web development? No, lol, he is a better kernel developer than I am, but I highly, grossly doubt that he knows enough about web development to give me something to think about.
all languages have faults, regardless of what point of view we look at them, but completely disregarding a tech stack because of shit that you saw some fucktard wrote about, benefits and otherwise, just seems....well...sheepish, there might very well be a tech stack out there that covers everything, to me it is a mixture of things, and I use them as I please and feel like, but this is because after years of learning I have read about quirks and pitfalls and how to avoid them. I would suggest you all do the same, by you all I mean those of high opinions that can't be deflected.
This field is far too wide and concentrated to go head and think about absolutes when even the fundamental mathematical theory concerning computer science is not absolute whatsoever, it is akin to magic, shit works, but it might not, the incantation might be right, but circuits and electricity have a way of telling us to go fuck ourselves, so do architectures, specifically ones based on physics.3 -
So I enventually spent 2 years working for that company with a strong b2b market. Everything from the checkouts in their 6 b2c stores to the softwares used by the 30-people sales team was dependant on the main ERP shit home-built with this monstruosity we call Windev here in France. If you don't know it just google and have some laugh : this is a proprieteray FRENCH language. Not french like made by french people, well that too, but mostly french like the fucking language is un fucking french ! Instructions are on french, everything. Hey that's my natural language okay, but for code, really ?
The php website was using the ERP database too, even all the software/hardware of the massive logistic installation they had (like a tiny Amazon depot), and of course the emails of all employees. Everything was just handled by this unique shitty and so sloooooow fucking app. When there was to many clients on the website or even too many salespeople connected to the ERP at the same time, every-fuckin-piece of the company was slowing down, and even worse facing critical bugs. So they installed a monitor in the corner of a desk constantly showing the live report page of Google analytics and they started panic attacks everytime it was counting more than 30 sessions on the website. That was at the time fun and sad to observe.
The whole shit was created 12 years ago and is since maintened locally by one unique old-fashion-microsoft dev who also have to maintain all the hardware of all the fucking 150+ people business. You know, when the keyboard of anyone is "broken" cause it's unplugged... That's his job too. The poor guy was totally overstressed on a daily basis and his tech knowledge just saddly losts themeselves somewhere in the way. He was my n+1 in a tech team of 3 people : him, a young and inexperimented so-called "php developer" who was in charge of the website (btw full of security holes I discovered and dealed with when I first arrive at the job), and myself.
The database was a hell of 100+ tables of business and marketing data with a ton of specific logic added on-the-go during years. No consistent data model or naming. No utf8. Fucked up relations that ends with queries long enough to fill books. And that's not all, all the customers passwords was just stored there uncrypted. Several very big companies and administrations were some of these clients. I was insisting on the passwords point litterally all the time, that was an easy security fix and a good start... But no, in two years of discussions on the subject I never achieved to have them focusing on other considerations than "our customers like that we can remind them their password by a simple phone call if they lost it". What. The. Fuck. WHATTHEFUCK!
Eventually I ran myself out of this nightmare. I had a few bad jobs already, and worked on shitty software already. But that one really blows my mind (and motivation for a time too). Happy it's over.1 -
There are a couple of them to list! But to sum my main ones(biggest personal heroes):
John McCarthy, one of the founding fathers of Artificial Intelligence and accredited with coining such term(sometimes before 1960 if memory serves right), a mathematical prodigy, the man based the original model of the Lisp programming language in lambda calculus. Many modern concepts that we have in programming where implemented in one way or another from his systems back in the day, and as a data analyst and ML nut.....well I am a big fan.
Herb Sutter: C++ programmer extraordinaire. I appreciate him more for his lectures and published articles than anything else. Incredibly smart and down to earth and manages to make C++ less intimidating while still approaching it with respect.
Rich Hickey: The mastermind behind Clojure, the Lisp dialect for the JVM. Rich is really talented and his lectures behind his motivations and reasons behind everything he does with Clojure are fascinating to see.
Ryan Dahl: Awww shit y'all know how it is. The man changed web development both in the backend and the frontend for good. The concept of people writing their own servers to run their pages was not new, but the Node JS runtime environment made it more widely available to people by means of a simple to use language that was already popular with web developers. I would venture to say that Ryan's amazing contributions to JS made the language better, as it stands, the language continues to evolve and new features that make it overall better keep being added. He is currently building Deno, which would be a runtime environment for TypeScript, in Rust.
Anders Hejlsberg: This dude was everywhere man....the original author of Turbo Pascal and the lead of Delphi back in the day. These RAD tools paved the way for what would be a revolution in the computing world. The dude is also the lead architect and designer of the C# programming language as well as TypeScript.
This fucker is everywhere and I love it.
Yukihiro "Matz" Matsumoto: Matsumoto san is the creator of the Ruby programming language. Not only am I a die hard fan of Ruby, but of the core philosophies that the man keeps as the core of his language design: Make the developer happy, principle of least surprise. Also I follow: minswan which is a term made by the Ruby community that states Mats is nice so we are nice. <---- because being cool to others is better than being a passive aggressive cunt.
Steve Wozniak: I feel as if the man does not get enough recognition...the man designed the Apple || computer which (regardless of how much most of y'all bitch and whine) paved the way for modern micro computers. Dude is also accredited with designing one of the first programmable universal remotes(which momma said was shitty) but he did none the less.
Alan Kay: Developed Smalltalk and the original OOP way of doing things. Smalltalk as a concept is really fucking interesting. If you guys ever get the chance, play with Pharo, which is a modern Smalltalk. The thing is really interesting and the overall idea of Smalltalk can be grasped in very little time. It sucks because the software scales beautifully in terms of project building, the idea of hoisting a program as its own runtime environment and ide by preserving state through images is just mind blowing to me. Makes file based programs feel....well....quaint.
Those are some of the biggest dudes for me. I know that the list is large, but I wanted to give credit to the people that inspired me the most. Honorary mention goes to other language creators and engineers of course, but it would be way too large to list!9 -
How I knew this was for me.... I didn't.
It kind of just happened in the natural order of things.
I was once a wii young lad who had a dream, and that dream became a smashing pile of being broke, jobless and unemployable, not a great way to start off that early life but hey, it was what it was.
So I looked at my computer one day, lousy dusty Pentium 4 with a massive 80GB HDD, in the corner, and went... fuck it, this thing is going to make me money.
So from there I picked up my old high school book on VB6 and on with it I went, forcing my self to make that calculator I couldn't do in school and a few other things, from there I got into a course for webDev, not uni, and after being dropped from that course ... that's a story for another time, I basically said fuck the system and my journey into webDev took on a life of its own.
Starting with frontend (back when layouts where tables and css was font colours) and IE5 was still a thing, and progressing into JS for a fucktonne of "onClick" events, then backend... I went down the .PHP3, PHP4 hadn't been released yet, but at the time .ASP was a thing too although it was complicated as fuck.
For many years it was just 1 thing after another, picking up MySQL, screwing around with databases, setting up linux servers, gobbling up Python a couple years later and started automating different things, just building site after site, until one day I landed a professional gig - not just casual freelance stuff, and from there when you think you know a lot, what I thought I knew got blown out the window and imposter syndrome sunk in, but I kept pushing ahead.
That saying "you don't know what you don't know", it has meaning here, you don't know what you don't know... but the moment you know you don't know enough, you either crumble or you keep waterboarding yourself in knowledge to reduce the unknown.
And somewhere along the line I accepted this path.
It may have taken me a few years to get off my feet but I'm glad I took that first step.rant wk221 the little engine that could fail early no turning back that got heavy code or die tags - did you even read them?1 -
Need to rant. I am doing programming 2 at university with java and the assessment is to make a card game. The subject is shit and is basically going over loops, variables, conditionals ect which we learned in introduction to programming and programming 1.
This leaves little time for oop principles, design patterns inherentance and all other useful stuff.
I am dedicated to making a career in programming and want to do my assessment the correct oop way. Although the lecturer doesn't care and is instructing the class to do it procedurally and shit.
I could do the program really quickly the shit procedural way and still get full marks but I feel dirty as hell coding like a scrub. So I'm 60 hours in on this assessment and there are so many classes and even more because of unit testing (we don't have to unit test) and I am spending way too much time.
My code is beautiful, my classes are tiny and maintainable, easy to modify and I'm learning so much about how to code oop the correct way with the help of a mentor and someone I look up to. But god does it take forever to code this way. And soo many iterations and redesigns because I'm still learning.
It's almost done but now I have another programming assessment for another class I'll have to do the dirty way because of time restraints and other assessments.
Sorry for wall of text but this is stressing me out 😛4 -
I've been using DDG now for quite a while and as most of you that did too, I enjoyed it for most of the ride, though me and many others that I recommended the duck to, had themselves using the "!g" bang much more than it was worth to be using DDG.
It's amazing for "most" things, like a quick search and especially code related questions, thanks to the stackoverflow embeds, but it still sucks at search results for those other searches.
Just recently I've hit startpage again, they were quite awkward to use imho in the past, but they did an entire redesign and have added advanced options which are nearly non existent in google anymore without knowing the secret konami code to access e.g. "in-title".
So now I am switching between DDG and Startpage and thought I'd share, because finally there's a proper way to ditch google (except if you want some very localized results or use a lot googles in results math {which DDG can too, just not startpage}).
It easily integrates into most browsers too and on android you can just make use of the custom search engine adding in firefox mobile.
Qwant was another option I thought to use, but startpage simply proxies the google results, which were literally the fallback issue for so long - Qwant iirc runs their own and also is often times pretty laggy on mobile from my testing.
https://www.startpage.com/ -
Github 101 (many of these things pertain to other places, but Github is what I'll focus on)
- Even the best still get their shit closed - PRs, issues, whatever. It's a part of the process; learn from it and move on.
- Not every maintainer is nice. Not every maintainer wants X feature. Not every maintainer will give you the time of day. You will never change this, so don't take it personally.
- Asking questions is okay. The trackers aren't just for bug reports/feature requests/PRs. Some maintainers will point you toward StackOverflow but that's usually code for "I don't have time to help you", not "you did something wrong".
- If you open an issue (or ask a question) and it receives a response and then it's closed, don't be upset - that's just how that works. An open issue means something actionable can still happen. If your question has been answered or issue has been resolved, the issue being closed helps maintainers keep things un-cluttered. It's not a middle finger to the face.
- Further, on especially noisy or popular repositories, locking the issue might happen when it's closed. Again, while it might feel like it, it's not a middle finger. It just prevents certain types of wrongdoing from the less... courteous or common-sense-having users.
- Never assume anything about who you're talking to, ever. Even recently, I made this mistake when correcting someone about calling what I thought was "powerpc" just "power". I told them "hey, it's called powerpc by the way" and they (kindly) let me know it's "power" and why, and also that they're on the Power team. Needless to say, they had the authority in that situation. Some people aren't as nice, but the best way to avoid heated discussion is....
- ... don't assume malice. Often I've come across what I perceived to be a rude or pushy comment. Sometimes, it feels as though the person is demanding something. As a native English speaker, I naturally tried to read between the lines as English speakers love to tuck away hidden meanings and emotions into finely crafted sentences. However, in many cases, it turns out that the other person didn't speak English well enough at all and that the easiest and most accurate way for them to convey something was bluntly and directly in English (since, of course, that's the easiest way). Cultures differ, priorities differ, patience tolerances differ. We're all people after all - so don't assume someone is being mean or is trying to start a fight. Insinuating such might actually make things worse.
- Please, PLEASE, search issues first before you open a new one. Explaining why one of my packages will not be re-written as an ESM module is almost muscle memory at this point.
- If you put in the effort, so will I (as a maintainer). Oftentimes, when you're opening an issue on a repository, the owner hasn't looked at the code in a while. If you give them a lot of hints as to how to solve a problem or answer your question, you're going to make them super, duper happy. Provide stack traces, reproduction cases, links to the source code - even open a PR if you can. I can respond to issues and approve PRs from anywhere, but can't always investigate an issue on a computer as readily. This is especially true when filing bugs - if you don't help me solve it, it simply won't be solved.
- [warning: controversial] Emojis dillute your content. It's not often I see it, but sometimes I see someone use emojis every few words to "accent" the word before it. It's annoying, counterproductive, and makes you look like an idiot. It also makes me want to help you way less.
- Github's code search is awful. If you're really looking for something, clone (--depth=1) the repository into /tmp or something and [rip]grep it yourself. Believe me, it will save you time looking for things that clearly exist but don't show up in the search results (or is buried behind an ocean of test files).
- Thanking a maintainer goes a very long way in making connections, especially when you're interacting somewhat heavily with a repository. It almost never happens and having talked with several very famous OSSers about this in the past it really makes our week when it happens. If you ever feel as though you're being noisy or anxious about interacting with a repository, remember that ending your comment with a quick "btw thanks for a cool repo, it's really helpful" always sets things off on a Good Note.
- If you open an issue or a PR, don't close it if it doesn't receive attention. It's really annoying, causes ambiguity in licensing, and doesn't solve anything. It also makes you look overdramatic. OSS is by and large supported by peoples' free time. Life gets in the way a LOT, especially right now, so it's not unusual for an issue (or even a PR) to go untouched for a few weeks, months, or (in some cases) a year or so. If it's urgent, fork :)
I'll leave it at that. I hear about a lot of people too anxious to contribute or interact on Github, but it really isn't so bad!4 -
How many of you drink (too much) or having a drinking problem? And did you try to fix that?
I'm sober for three months and the consequences are huge.
Some say Whiskey officially was a medicine. I believe in that.
All what i have learned: stopping cold turkey was and is not the way for me.16 -
We have a new hire, and he doesn't know much so he is receptive when given feedback on better ways to handle a situation...Or at least, he appears that way. Until the next time and he didn't listen at all.
Today I'm working on the front end to match his API calls. I ask him about a list of options for one of the fields, as he didn't provide that info initially. No worries, there was a lot, easy to miss. He responds with a list of ~100 options, which he copied and pasted from, I'm assuming, their documentation. I tell him that's too many options to hard code, as there is an easy chance to have an error or for there to be one added or deleted, and ask if there is an API endpoint to get the list.
He then asks if I need the key and value, or just key. I tell him if he needs the value(human readable) then he can send me just the value, otherwise both. He says he just needs the key, so I let him know that I need both then, as the value is human readable. He says okay.
He proceeds to make the endpoint, I test it. Then I look at the code he wrote. Not only did he not send me both, he just sent the keys, but he hard coded all 100 keys as opposed to making the call to the external API.3 -
A bug is born
... and it's sneaky and slimy. Mr. Senior-been-doing-it-for-ears commits some half-assed shitty code, blames failed tests on availability of CI licenses. I decided to check what's causing this shit nevertheless, turns out he forgot to flag parts of the code consistently using his new compiler defines, and some parts would get compiled while others needed wouldn't .. Not a big deal, we all make mistakes, but he rushes to Teams chat directing a message to me (after some earlier non-sensible argument about merits of cherry picking vs re-base):
Now all tests pass, except ones that need CI license. The PR is done, you can use your preferred way to take my changes.
So after I spot those missing checks causing the tests to fail, as well as another bug in yet another test case, and yet another disastrous memory related bug, which weren't detected by the tests of course .. I ponder my options .. especially based on our history .. if I say anything he will get offended, or at best the PR will get delayed while he is in denial arguing back even longer and dependent tasks will get delayed and the rest of the team will be forced to watch this show in agony, he also just created a bottleneck putting so many things at stake in one PR ..
I am in a pickle here .. should I just put review comments and risk opening a can of worms, or should I just mention the very obvious bugs, or even should I do nothing .. I end up reaching for the PM and explained the situation. In complete denial, he still believes it's a license problem and goes on ranting about how another project suffering the same fate .. bla bla bla chipset ... bla bla bla project .. bla bla bla back in whatever team .. then only when I started telling him:
These issues are even spotted by "Bob" earlier, since for some reason you just dismissed whatever I just said ..
("Bob" is another more sane senior developer in the team, and speaks the same language as the PM)
Only now I get his attention! He then starts going through the issues with me (for some reason he thinks he is technical enough to get them) .. He now to some extent believes the first few obvious bugs .. now the more disastrous bug he is having really hard time wrapping his head around it .. Then the desperate I became, I suggest let's just get this PR merged for the sake of the other tasks after may be fixing the obvious issues and meanwhile we create another task to fix the bug later .. here he chips in:
You know what, that memory bug seems like a corner case, if it won't cause issues down the road after merging let's see if we need even to open an internal fix or defect for it later. Only customers can report bugs.
I am in awe how low the bar can get, I try again and suggest let's at least leave a comment for the next poor soul running into that bug so they won't be banging their heads in the wall 2hrs straight trying to figure out why store X isn't there unless you call something last or never call it or shit like that (the sneaky slimy nature of that memory bug) .. He even dismissed that and rather went on saying (almost literally again): It is just that Mr. Senior had to rush things and communication can be problematic sometimes .. (bla bla bla) back in "Sunken Ship Co." days, we had a team from open source community .. then he makes a very weird statement:
Stuff like what Richard Stallman writes in Linux kernel code reviews can offend people ..
Feeling too grossed and having weird taste in my mouth I only get in a bad hangover day, all sorts of swear words and profanity running in my head like a wild hungry squirrel on hot asphalt chasing a leaky chestnut transport ... I tell him whatever floats your boat but I just feel really sorry for whoever might have to deal with this bug in the future ..
I just witnessed the team giving birth to a sneaky slimy bug .. heard it screaming and saw it kicking .. and I might live enough to see it a grown up having a feast with other bug buddies in this stinky swamp of Uruk-hai piss and Orcs feces.1 -
I don't know what to chose.
The fact that for three months, I had to design a 16-page catalog, when I have no experience and my job is web development;
The fact that I have to do SEO for the site, but that means for my boss that for a one-page long text, we have to find at least 60 (sixty! ) times the occurrences of the keywords;
The fact that when I finally have something interesting to do, the boss finds that it doesn't go fast enough and decide to drop the project even if making a whole new dynamic stock system with the db we have is something hard and long to do;
The fact that when I come to work five minutes late, my boss is at the verge on screaming on me, even if I come ten minutes early every other day;
The fact that when I'm coding, I need concentration, I don't need the boss to give me the phone to answer customers, stop everything I am doing and explain them what products we are selling;
The fact that I am paid the minimum wage for a trainee, and when there's no coffee anymore, we have to buy some ourselves because "you drink way too much coffee, you understand" (three a day, sorry for wanting to stay awake);
The fact that I have asked for one year how many days of vacation I still had, and the only answer they gave to me yet was: "Oh, we have to ask the accountant". I still don't know how many days I have left;
The fact that the site is made only by trainees since the beginning, so circa 2008, and the code is horrible but "it works, so don't touch it". The admin part is in CodeIgniter, the front in laravel 4.2, there are a lot of useless code but we can't touch it because the boss doesn't think it is worth the time.
I almost made a burn-out last year, my doc saw my state right before and made me stop for a week. I still have to work there 'till end of august, then I will have my diploma and find another company to work with. Now, I check everyday on my calendar.6 -
I have a new UNTRAINED bot on my site. It's based on openai now. And that's why it's blazing fast and blazing usless.
I can tell you why bots are so boring and will sure cause the dead internet theory. My datasets for example never contain real disturbing stuff ACCORDING TO NORMAL PEOPLE. EVERY TIME:
"The job failed due to an invalid training file. This training file was blocked by our moderation system because it contains too many examples that violate OpenAI's usage policies, or because it attempts to create model outputs that violate OpenAI's usage policies."
Now i'm really done. I gonna email them about their unusable training system.
In theory, i could test the message one by one if it is bad first. Don't want to do or pay for that. There should be an option to skip the data it considers disturbing instead of cancelling a whole data set for 0.1%. You also don't want to know how long it takes BEFORE he is finished validating you set. I think someone is doing it manually and clicks 'Uh uh..'-button..
Also, for the people who think they have gpt4o by having the API, you're lied to. The 'own gpt'-option on the paid openai is way more advanced than the ones you make locally.
They don't give us the real good stuff!
Oh, btw! The input data for my training is based on FORMER conversations with the bot. I automated a script to repeat a conversation I had and selected those messages and clicked 'train'. So it even complained about its OWN data! That data was already saying stuff like 'I can't help you with that' IN my training data. So, you 'corrected' and corrupted my data and now its still nog good enough for round 2?
I would really love to go back to local LLM's, but I can't imagine having ever a machine that generates as fast as the real GPT does. I also prefer to do it myself, but it's David vs. Goliath, even with a 5k computer. I'm sure.
Low quality rant, I know. I'm typing while still frustrated. For people who think censorship is needed often, this is the result! According to someone else, YOU are the one who has to be censored. Don't forget that.11 -
I think the reason why git beginners have a hard time with it is because the api is a bit untuitive.
For example: if you want to "unstage" staged changes, you run git reset, and if you want to "delete" those changes from your working copy, you git checkout those files.
But then, you find out that you can do all of that if you git add . and git reset --hard.
So you're like "huh..."
And then you discover that if you end the resethard with a branch name/commit id then you also make current branch point to the commit or that branch/commit (respectively).
So you're like "huh..."
And also if you add a commit id or branch name to git checkout, you change the current branch to specified/enter detached state with HEAD pointing to that commit (respectively).
Oh and you don't use git branch to create branches, you use git checkout -b because it's a lot shorter.
So here's a rundown: git reset mutates things related to files, but also mutates things related to branches.
git checkout also mutates things related to files and mutates things related to branches too (in a diff way). Also, creates new branches.
I don't think this is intuitive. We users use the same commands for different purposes with just a different flag.
Commands shouldn't mutate different types of things. But don't composite commands (as in, "smart" commands that mutate different things) shoudln't be a flag in an existing command, it should be a single new command of its own.
Maybe if I reread the internals of git now, I'll be able to disgest the dozens of technical terms they throw at you (they are many). And in my mind, the api will cognitively fit to the explanations.
Here's another one that feels weird too.
If you want to make your changes start on top of someone else's commit, you do git rebase.
But git rebase -i can be used for that, and also to delete, modify changes or message of, reorder or combine previous commits of the current branch.
Maybe the reason why several things we do overlap with the same commands is because they internally do similar things, and while not separating those commands might make it less intuitive, it makes them more sensible? i dunno...
disclaimer: I'm not setting this opinion in stone though, and am aware that git was created by one of the most infuential programmers.6 -
its been there since many years, but:
When did we turned the wrong way and made it acceptable that Windows can blantly say in my face that i cannot deactivate the transmission of data unless i have the "Business" Variant of their Software. Its called Windows 10 PROFESSIONAL. Why are there no international Laws against that? Where was the molotov throwing mob when this became the norm?
Additonally. that cute telemetry service consumes a considerable amount of cpu and disk power from time to time.
and no, Linux is not an alternative. It never was. There is proprietary software and driver sets used for lab equipment and machines that cannot run under linux, noone will ever have the time to tool something for it and the user base is too specific to hope for any community solution.
sidenote: even Level 0 STILL transmits data. I want mode -14 -
Hi, my name is bohr and I'm a recovering distro hopper.
It all started with Ubuntu, out of my frustrations with the unintuitive nature of DOS I gravitated to a Unix environment which Ubuntu naturally solved. But I quickly became annoyed with the laggy nature of it's daily usage. So I switched to Linux mint. Loving the HTML/css/js configuration aspect of cinnamon I thought it was the answer to all my problems. But I became annoyed with apt and it's lack of a few programs I wanted. This got me to look into an arch based distro, because pacman seemed like the answer to my problems. Unfortunately there are way too many arch distros to use. I experimented with antegros' many DE options: gnome, kde, i3, deepin, openbox... Always finding something wrong. I tried manjaro and it's many flavors, still being annoyed with minute aspects of the os. Out of frustration, with the deep configuration settings I was getting into and the need to actually focus on the work being done on the computer I crawled back to Linux mint. But now my friends, I have decided that maybe it's time to just use a more established distro? Maybe gnome isn't actually that bad? Maybe I need to give it another try? And that is why, I promise, this is the last hop for me. Arch Linux, Gnome here I come and I'm ready to commit this time!...
But have you guys seen POP!_OS? Woah, I bet it would solve all of my problems....6 -
I am building a website inspired by devrant but have never built a server network before, and as im still a student I have no industry experience to base a design on, so was hoping for any advice on what is important/ what I have fucked up in my plan.
The attached image is my currently planned design. Blue is for the main site, and is a cluster of app servers to handle any incoming requests.
Green is a subdomain to handle images, as I figured it would help with performance to have image uploads/downloads separated from the main webpage content. It also means I can keep cache servers and app servers separated.
Pink is internal stuff for logging and backups and probably some monitoring stuff too.
Purple is databases. One is dedicated for images, that way I can easily back them up or load them to a cache server, and the other is for normal user data and posts etc.
The brown proxy in the middle is sorta an internal proxy which the servers need to authenticate with to connect to, that way I can just open the database to the internal proxy, and deny all other requests, and then I can have as many app servers as I want and as long as they authenticate with the proxy, they can access the database without me changing any firewall rules. The other 2 proxies just distribute requests between the available servers in the pool.
Any advice would be greatly appreciated! Thanks in advanced :D13 -
I’ve spent 2 weeks trying to simply automate logging into my damn school’s blackboard but this ducking popup won’t freaking let me access it. I’ve tried selenium. I’ve used beautifulsoup and requests. I’ve even tried a tool called mechanize with python
But I’ve now realized I simply have no damn idea what I’m doing. I’ve read and tried way too many stack overflow articles and I’m just sick of this damn popup
If I can’t figure it out by the end of the upcoming thanksgiving break I’m dropping this damn project until I learn enough to utilize the blackboard API’s. I’m a little sure those will help16 -
Windows 10 updates. I see many posts about singular events that people have experienced, so I thought I'd try to sum up all the problems I have had.
Home computer, always on:
Is scheduled to update during 'inactive hours' but the options for that window are too narrow. So almost daily the 'required updates' overlay pops up WHILE I'M DOING STUFF and I have to say 'Ok' then close the update settings window that opens automatically so I can get on with what I'm doing.
Now, if I'm just browsing, writing or something like that, it's just really annoying.
But when I'm gaming and it causes the game to freeze up (because, you know, ubisoft and ea and such) and I lose my progress, that pisses me off.
When I'm hosting movie night with my friends and the movie gets interrupted, that pisses me off.
Even when I'm just trying to relax with a good show after a hard day and THAT gets interrupted, it really bugs me.
And then when there's a major update and I don't want to schedule it right away, they decide that I probably meant 'do it in an hour'. And then a message pops up every hour with only the option to postpone one more hour. What happened to all the options for scheduling it for several days in the future? Nope! Can't decide? We'll do it RIGHT NOW, NO TAKEBACKS, THAT'S FINAL!
I cannot fathom that they can't find a way to ACTUALLY do the 'inactive hours' thing.
And then there's the work computer. For the last two years, that has been a laptop that I shut down and take home every day. The common problem with that is that it always tells me it has to update when I want to shut down for the day because I have to go home. I can't leave the pc turned on in my bag, it would overheat. So since there is no option to shut down without updating anymore, I have had to rely on the fact that using the power button to shut down circumvents the update.
And if I don't remember to update at home, it's then going to waste my time the next morning at work.
Just give me the option to delay for a bit, then remind me NON-INTRUSIVELY so I can do it when I have the time.
And then there was the update that prevented the machine from booting and I had to waste TWO working days reinstalling EVERYTHING! And we were about 6-7 people hit by that update in our organization.
So yeah. Windows updates are a real fucking problem. Yes, I wan't critical fixes for security problems and other serious software flaws.
But the current policy of 'fuck you, we're doing this' is just not fucking acceptable in any way.3 -
This might be a long post. I need some serious advice.
For the past 6-7 months, My friend and I have been working with these two guys "Managers" on their startup idea. He managed the backend and I was managing the 2 frontend systems for them. The Managers are non-technical.
For the longest time, the Managers were very stubborn on how they wanted things to be implemented in my code or how they wanted something to look. Initially, this was not a bother as we thought that their experience bought some insight that we lacked, but after changing dozens of things back to how we originally made them, we started feeling unhappy. I specifically was more affected by this as most of their changes were related to the front end.
This caused a lot of rifts between us and sometimes led to heated conversations. I won't say that it's all on them. I do have an attitude issue. But then, it's the same with them.
Other than that, one of the Managers is very condescending. He used to talk badly, discredit my work and even say things like "Ohh, so you can't do it" for things that I said will take too much time to implement. This was seriously affecting my mental health.
Nevertheless, we completed the system, which was originally supposed to be just an MVP, over the course of these months and now have our sites up and running with almost 100-200 daily hits. But because it's an e-commerce site, that too with a very different model, the revenue has not started yet.
Yesterday, one of the Managers called me and in so many words told me that I should exit, because of my attitude, with my current equity which is just 3% which amounts to nothing as the company has no value right now. On top of that, I, an idiot, had not taken any remuneration for the first 4 months.
Although I too want to leave, now that I have seen their real face and also because of my mental health. I feel that the system I have made is worth more than 3% equity, way more than that. One of them is a multi-featured seller dashboard to manage products, finances, orders, and a ton of complex features like bulk uploads using excel, image cropping for products, and region selection. The other is a highly optimized dynamic site using Nuxt which is used as the store, with SEO good enough to often list it as one of the top results of various google searches. I'll drop the dev links in the comments if you are interested.
But I don't know how to go about it. I do have complete control over my code and have not signed any formal contract with them, but I feel bad about jeopardizing the company at this stage. Not to mention all that work will just go to waste as well.20 -
Check in, check out, punch in punch, out, wax on (my balls), wax off. Do your duty. Be a good citizen. Work overtime. Conserve the environment: buy a tesla that runs on afghan lithium conflict minerals. Post your life to facebook. Get married. Have exactly 2.5 kids.
Use jquery. Use knockout. Use react. Use vue. Use svlete. Use heroin. Used needles. Used people. Used toilet paper. Toilet paper apocalypse. Social trends. Be a good citizen.
Watch tv. Watch nightly news. CNN says. Fox news says. Hey, did you read this article by important funny guy on tv? American taliban. Scary. Be afraid. Hey did you read this article on cute puppies? Funny! Did you see this meme? What a funny meme! HAHAHA. Do we need prisons for dissidents? Do we need to release all the prisoners in federal prison? Should we round up people who dont follow health authorities? Science says. Science is wrong. Science is right. Man in robe agrees with me. Man in robe disagrees with me. You're evil. These people are bad. Is doing bad always wrong? Should we tolerate intolerance? Its time to stop tolerating intolerance. Be an individual, like everyone else. Be you. Be the best you that you can be. Individualism. But we're all in this together. We're all different and unique. But we're all the same. Love each other. Love humanity. But not these guys over here. Punch a nazi. Punch a commie. Isn't it time we punched a nazi? Isn't it time we had socialism? Isn't it time the old get out of the way for the young? Why are the old hateful? Why do they horde all the money? Do we need rent controls? We need rent controls. Its time for rent controls. I think I believe what others believe. Believe different. Think different. Apple. An apple a day keeps the windows away. Open windows, a breathe of fresh air. Is climate change real? We need to have a national conversation about climate change! The world is freezing. The world is flooding. We're all gonna drown. The world is overpopulated. We need to talk about overpopulation. People who have too many kids are polluting the world. America doesnt have enough kids! Is it time to bring in more immigrants to have more kids? Who will work the fields? Thats racist. Is racism an epidemic? Is white flight an epidemic? Lets talk about epidemics. Lets have a conversation about mandatory vaccination. Lets have a national conversation about mandatory pandemics. I mean, vaccinations. Lets change the world. Trust the science. Don't trust the science. Bu-bu-bu-bu-bu I'm loving it. Love who you are. Live love laugh. If you don't love me at my best, then you can't handle me at my worst. People who disagree with [current year] are the worst. Is it time to regulate speech? Its time to regulate speech. Should there be laws against hatespeech. I think there should be laws against hatespeech. People who upset me should go to jail. Its current year. Think big. Think outside the bun. Have it your way. All the time, always. All for freedom, freedom for all. Because this is america, and current year. I like to work hard. But you have to remember to play hard too. Work hard. Play hard. With a childlike sense of wonder. Be you. Belong anywhere. Just do it. Challenge Everything. Because you're worth it. Save money...live better...have an abortion. You're in good hands. Democracy dies in darkness. Is it time to regulate hatespeech. Politician in current year is hurting our democracy. War is a racket. We need to liberate afghanistan. Why are we bombing afghanistan? Its there culture. They're oppressing people! Don't criticize anyones culture. Be kind. Rewind. Go further. Lets go places. Because Impossible is Nothing.
Lets change the world. I'm a smart passionate funny guy with a childlike sense of wonder and play. You ever want to travel? I want to travel. See the world. Eat new food. Eat. Love. Pray. Eat love. kill. Is meat murder? I think meat is murder. Go vegan. Go home. Order out. Support your local economy. Think global, act local. I'm a good corporate citizen. Be the change you want to see. Did you hear about this local brewery? Do you like craft beer? Hey try this new IPA. I shared it on twitter. Twitter is a very important part of my life. I think what other people say matters, and them reading what I think matters. What I ate for lunch matters. Hey what did you eat for lunch? I LOVE FOOD. You want to order door dash. There new commercial is amazing. Commercials are SO FUNNY. Hey did you see this meme of this commercial? I shared it on tiktok. Heres a funny dance. Watch these nurses dance. I wish I could dance like that. They're so overworked. So brave. Our hospitals are overflowing. People are dying. Hey did you see this new dance trend on tiktok? I like tiktok. I think its a very important part of life to share your life with others. Nurses are dying. Look at this image of hospitals. Scared. Very scary. Very bad. Bad and scary. Big thoughts! Thoughts and prayers!
Because Yes we can!
Beep boop.7 -
Funny thing the brain is.
TL;DR; being in the zone is nice. But there is another level of it and, fuck it, I'm loving it!!!
level 0: phased-out, relaxed state. Not focused on anything in particular. Just going with the flow
level 1: aware of the situation and of what's going on, not engaging too much
level 2: alert, ready to react. Constant concentration
level 3: THE ZONE. Time continuum is broken by concentration on the task in front of you - while working on it, time passes faster by magnitudes than when you're in any lower level. Surroundings and periphery do not exist. On;y the task currently in hand exists. Restroom breaks can wait.
level 4: body works on the task by itself. Any cognitive engagement with any of it will only make matters worse. The body knows it better, just let it do the work - let your consciousness sit back and relax, think about something nice. It's a sort of biological version of DMA (direct memory access), bypassing the CPU.
I've only reached level 4 several times, briefly and only while playing BeatSaber. The boxes are flying at me and hands just hit 'em the right way by themselves. Only after the hit, do I realise what my hands did and how cool it actually is. If I try to intentionally look at the boxed and aim for them, I mess it all up. And it's not like muscle memory - level 4 copes with any non-Camellia Expert level, regardless of whether have I played it in the past many times or just a few, several months ago.
I love that feeling!6 -
I need to rant about life decisions, and choosing a dev career probably too early. Not extremely development related, but it's the life of a developer.
TL;DR: I tried a new thing and that thing is now my thing. The new thing is way more work than my old thing but way more rewarding & exciting. Try new things.
I taught myself to program when I was a kid (11 or 12 years old), and since then I have always been absolutely sure that I wanted to be a games programmer. I took classes in high school and college with that aim, and chose a games programming degree. Everything was so simple, nail the degree, get a job programming something, and take the first games job that I could and go from there.
I have always had random side hobbies that I liked to teach myself, just like programming. And in uni I decided that I wanted to learn another language (natural, not programming) because growing up in England meant that I only learned English and was rarely exposed to anything else. The idea of knowing another fascinated me.
So I dabbled in a few different languages, tried to find a culture that seemed to fit my style and attitude to life and others, and eventually found myself learning Korean. That quickly became something I was doing every single day, and I decided I needed to go to Korea and see what life there could be like.
I found out that my university offered a free summer school program for a couple of weeks, all I had to pay for was the flights. So a few months later I was there and it was literally the best thing I'd done in my life to that point. I'd found two things that made me feel even better than the idea of becoming the games programmer I'd always wanted to be. Travelling and using my other language to communicate with people that I couldn't in English. At that point I was still just a beginner, but even the simple conversations with people who couldn't speak English felt awesome.
So when I returned home, I found that that trip had completely thrown a spanner into my life plan. All I could think about after that was improving my language skills and going back there for as long as possible. Who knows what to do.
I did exactly that. I studied harder than I'd ever studied for anything and left the next year to go and study in Korea, now with intermediate language skills, everyday conversations no longer being a problem at all.
Now I live here, I will be here for the next year and I have to return to England for one year to finish my degree. Then instead of having my simple plan of becoming a developer, I can think of nothing I want to do less than just stay in England doing the same job every day, nothing to do with language. I need to be at least travelling to Korea, and using my language skills in at least some way.
The current WIP plan is to take intensive language classes here (from next week, every single weekday), build awesome dev side projects and contribute to open source stuff. Then try to build a life of freelance translation/interpreting/language teaching and software development (maybe here, maybe Korea).
So the point of this rant is that before, I had a solid plan. Now I am sat in my bed in Korea writing this, thinking about how I have almost no idea how I'm going to build the life that I want. And yet somehow, the uncertainty makes this so much more exciting and fulfilling. There's a lot more worrying, planning and deciding to do. But I think the fact that I completely changed my life goals just through a small decision one day to satisfy a curiosity is a huge life lesson for me. And maybe reading this will help other people decide to just try doing something different for once, and see if your life plan holds up.
If it does, never stop trying new things. If it doesn't (like mine), then you now know that you've found something that you love as much as or even more that your plan before. Something that you might have lived your whole life never finding.
I don't expect many people to read this all, but writing it here has been very cathartic for me, and it's still a rant because now I have so much more work and planning to do. But it's the good kind of work.
Things aren't so simple now, but they're way more worth it.3 -
!rant
I would like to present you the story that I tell everyone who is afraid of expectations, stressed to impress interviewers etc. Story about how I got my first job.
A little of backstory:
I always was good with computers, not like expert, but good. Of course parents were against giving me admin rights, so I just played games or such. When time came to choose my path throgh life, I've chosen to go medicine-related way, and chosen high school with such profile. I did my exams terribly, cause I never cared about marks, so I applied to uni for Information and Communication Technology course. I've learned basics of coding there, much stuff I don't really need right now, but in the end it was the best choice I've made.
With that way too long prologue...
I had to do internship for my uni and decided to try and find some year earlier. There was a lecture about multiplatform coding held by company my uni had partnership with. I've filled a questionare and few weeks later they invited me for assessment - event where they will choose who is good enough.
Of course I didn't believe in my chances to win an internship (1st place got full time job). There were 3 stages:
- solo coding (C/C++ own implementation of list)
- group designing (UML and presentation according to specification)
- interview (talking about code from stage 1, some questions, theory)
I failed 1st stage miserably... so I decided to don't give a shit and bravely presented our group project. A guy asked why we did not included a thing on UML, so I told him that it was not in specification - he was suprised but took it as big +. We "won" that part. When it came to interview... I was myself, cool headed, admited when I don't know things.
I thought that was it.
Few weeks later I received email - they invited me for internship.
They put me into Python project, language that noone in our trainee team knew. Told us 2/4 will be hired. At first I was not interested, wanted to finish my degree. But they convinced me. Now I'm here +2 years.
I am aware there are not many companies like that. Here, the people matters - you don't have to know everything, as long as you are getting along with others.
My tip for you though is: BE YOURSELF, NO MATTER WHAT THEY SAY 🎶
And I wish us more companies like that.😉1 -
rant="""
It's too many features for me to keep up with. And the client just bounces between this matrix of all the possible permutations of them, refusing to admit that he is asking for mutually exclusive behavior in more than one place. I have mentioned to him at least 12 times a year that there is too much going on, not organized, we need to simplify, prioritize, or we will have 100 half baked untested features.
Of course it is more or less made it out to be that this is all my fault, or at least it's hard not to feel that way when I say:
It will be a long time before X will be working, we need 25 other things first.;
Next day he asks:
Have you made any progress on X;
I reply: Now we need 24 things to be done at this rate it will be a month.;
He replies:
Ok but I need this yesterday. How about if you add a new feature Y that does everything X does without those 24 things?;
I reply: That will not work at all like X. Y is just X + 1 more feature.
He replies: Ok well I need Y so when you're done with X I need a way to do it like Y also. I just thought it'd be easier.
EASIER TO ADD MORE FUCKING FEATURES YEAH SURE THATS EASY AS FUCK YOU FUCK FUCK FUCK. He's a nice enough guy, pretty smart compared to my first few paying gigs, but wtf really? How do I come out and tell you I need 25 days and you ADD more work? This was one example.
IN TWO days he has added 12 features. And during the week has asked for 29 UI interfaces to be COMPLETELY different. This is becoming COMMONPLACE. Every week there is either a huge change, or a conversation like about that finds its way into the entire business flow inside an dout.
The worst thing is: I TOTALLY understand what he needs. I feel that HE doesn't. This weekend I spent literally HALF of his retainer on getting equipment into my hands to bring it back to find out it DOESNT WORK. Why aisn't HE doing this so I can finish the features from NOVEMBER that HE NEEDS in order to PROCESS SALES.
I've tried and tried but I just can't get through to this client what a tremendous waste of time his \"process\" is, for lack of a better word. Constant changes, contsant additions, lack of clarity, needless repetition and contradictions, constantly adding moonshot ideas to compete with every industry in the region, and not beta testing anything until something goes wrong.
Fuck this guy! His business is failing and I felt responsible for the longest time but it is clear to me that if I wanted to save his business I would have to ignore 95% of his feature requests. I ignore 50% now because of the stress in trying to determine which of the 3 different paradigms he is talking about changing. I will lose this client, and I feel like he will sue me to get all of his money back. He holds me to very little honestly - BUT WEEKLY reminds me that he won't be able to pay me next month if feature XY and Z arent ready!
If a developer is CLEARLY overwhelmed, it makes NO sense at all to continue to PILE ON feature after feature
"""
try:
while true:
rant+=", after feature"
except DevHeadExplodes as inevitable:
raise YourDevsRatesOrLookElsewhere(inevitable)8 -
Small company, sole engineer. Non-tech management. Increasingly fancy job titles despite working alone most of the time, with the promise of hiring someone (again) I can actually manage soon.
Backlog of projects/tasks is truly a mindfuck, with new things being added each week. This backlog will never ever get done, and nothing matters anyway because the next idea is "the future", all the time.
While I have influence on some aspects of decision making, it usually ends up being what the boss wants. Actively opposed a project because it's just too big of an undertaking, it was forced through anyway. I'm trying to keep the scope manageable as I'm building it now, and it's hard.
"It's the future, we absolutely have to do this. It will be the biggest thing we've ever done."
Boss's excitement then quickly faded since it's actually in development, now nobody really seems to want to know where it's at, or how it will all work. I need to scope it out, with the knowledge that many decisions boss signed off will be questioned when he actually looks at it. We now have even more "exciting" ideas of utter grandeur. Stuff that I can't even begin to comprehend the complexity of, while struggling to keep a self imposed deadline on the current one.
Every single morning we sit on Zoom for a "valuable" "catch-up". This is absolutely perfect for one thing: Completely destroying whatever drive and focus I have going into the day. Unrelated topics, marketing conversations, even more ideas, ideas for ideas sake, small problems blown out of proportion, the list goes on. I recently argued in detail why it should be scrapped or at least be optional to attend. No luck, it's "valuable".
Today a new idea was announced, and we absolutely have to do it ASAP because it can only be better than the current solution. I raise my concerns, saying it's not as easy as you make it out to be, we should properly think about it. Nope! We'll botch something to prove that it works... So you'll base your decision whether it's good on some half ass botch job that nobody really has the mental capacity to actually pay attention to. What a reliable way to measure!
"Our analytics data isn't useful enough to tell us the impact of things we do. We (you) have to fix this." Over the last 2 or so years, I've been pushing for an overhaul and expansion of our data analysis capabilities for exactly this reason. Integrating different data sources into a unified solution so we can easily see what we're doing, etc. Nope, never happened.
The new project idea which is based on wild assumptions is ALWAYS more important than the groundwork.
Now when I mentioned that this is what I wanted to do all along, it got brushed aside. "We don't need to do anything complicated, just fix this, add that, and it's done. It should be an easy thing to do. This is very important for our decision making." Fine, have it your way.
I'm officially burned out. It's so fucking hard to get myself to focus on my work for more than an hour or two. I started a side project, and even that effort is falling victim to my day-job-induced apathy.
I'm tempted to hand in my resignation without another offer on the table. I just need time to rediscover my passion, and go job hunting from that position, instead of the utter desperation of right now.
If you've read through all this rambling, kudos to you!8 -
I hate the idea of dog whistles.
For those who do not know what I am talking about: A dog whistle, next to being a physical object you blow in that makes a sound dogs can hear, but is too high in frequency for most humans to hear, can also refer to a hidden sign for a group or ideology that is supposed to be only known by its members.
Here, in Germany, we usually use it for Nazi groups. Hey, 88 is a dog whistle for Nazis, because, the 8th letter in the alphabet is the 'H', and 'HH' stands for Heil Hitler. Alright, got it.
But how the fuck am I supposed to know it? I am not a member of those groups. Well, other people, who look at them tell closely, told me. In a way, you want me to keep up with them, so I can know the newest dog whistles to avoid them?
Another famous one is the attempt to claim the okay sign is a symbol for white power. But here I stand and say, no. I was making this sign all along. I did not signal white power. I was signalling that everything is okay.
And isn't that racist in the first place. Black people cannot swim stereotype. And then they choose the white power signal from diver's sign language? Because they knew, no black person was a diver? Don't mind me, I am just taking the piss.
Then there was Elon Musk. I don't like Elon, I think he's an idiot. I also think that he made it possible for lots of tax money to flow into SpaceX and pay really smart people to work on rockets, which I like. Somehow, in a modern world, we have to do that instead of just funding NASA. Anyway, he is accused of doing a Nazi salute.
But if that was a Nazi salute, that was the sloppiest Nazi salute ever. It was akin to a dog whistle to a Nazi salute. Every proper Nazi should tell him how embarrassing his salute was. But instead, the Overton window on a Nazi salute widens.
We should make fun of him not being capable of doing it right. He would then obviously publicly state he is no Nazi. And some Nazis will believe them.
Ever wondered why in war some national leaders will tout obvious lies? That's because, often due to an information bubble, sometimes because of confirmation bias, many will believe them. If they said the truth, every single one listening would know the truth. If they lied, there is a substantial part of the population ill-informed or invested enough who wants to believe them. And if that's a preferable state, a leader will lie.
Why do we assume that dog whistles are just something we don't understand, but somehow, without writing publicly available guides or news broadcast spelling it out, the subgroup that uses that dog whistle, perfectly understands its meaning.
Recently AfD, German right wing party, had a party conference, and the number and position of the flags on stage was somehow aligned with the number of... what was it... SS branches or something in the third reich? Come one, you're reaching now. You tell me that right wingers are so well informed history buffs that they would ace any history exam about it and equate every subliminal message?
I probably had a dozen dog whistles in this text that I don't know of. Do you know how those groups actually learn about their own dog whistles? Standard media tells them that is their groups dog whistle and they copy it. Copy cat. Funny side note, that's how satanism actually started. Copy cats from stories from the church. They tried to scare people about those evildoers. At least that's one popular hypothesis. Aleister Crowley, not Church of Satan satanism.
Anyway, I hate dog whistles. We commit them constantly, we cannot avoid it and it incriminates everyone. It keeps broadening the definition of every forbidden/frowned upon action. It's shit. If you argue dog whistle, I think you're a moron.46 -
At work one morning, I was asked in chat for a way to edit an xml file on a Mac. They couldn't open it due to permissions. I told them to open Terminal and run sudo vi /path/to/file.xml. Never got a message back about it, so I assumed everything was OK. Later that afternoon, I received another question: "I'm in, I've made the changes, now what? How do I get out?" It wasn't funny until I realized how many memes existed for this. I'd imagined they'd quickly opened and edited it and spent hours unable to exit it; though, realistically, it probably wasn't attempted until the afternoon. Truthfully, I was new to it, too, and have no idea why I suggested vi over something else.
-
If you wanna think that I'm a bad programmer, that's ok, but I can't put up anymore with Xcode.
Jesus Christ. An entire afternoon spent trying to make an array with two dimensions. I tried every fucking way I found in SO, in the apple site and in every another site that I found in my way.
First: For every example for Swift 3 there's another 10 for Swift <3.
Second: Mutable arrays, as I'm noticing, aren't a thing anymore, so, to declaring array size we go! Except it's impossible to. Tried 3 different ways. Not a single one worked.
Third: Actually, one of the 3 tries worked, for int arrays, and for some obscure reason it won't work for strings, as declaring the array as [String] is too general for swift, I mean, I completely agree with it, a [String] array could contain anything right???? FUCK NO. IT CONTAINS STRINGS YOU FUCKER!!!!
I swear, if the equipment was mine and not from the office, I would have thrown that piece of shit which disconnects from the fucking computer every 30 seconds that apple calls keyboard out of the window already.
Why the fuck do I need to develop for iOS in swift/xcode?? There's so many cross platform alternatives out there, good ones in fact, but no, we must build the applications natively or else the phone will catch on fire according to my boss.
I kinda liked Apple until now.
From now on? Fuck Apple.10 -
Fucking telecom and their shady ways of providing "service". Don't even need to consider paying for porn sites when my isp comes along with its own, overpriced service to fuck a customer in every way possible.
Probably other providers as well, but for now I'm fucking pissed at them because they already scammed my grandmother twice, when it comes to internet speed, probably because they thought she wouldn't notice either way.
My grandmother's residence can receive up too 200mbps, so she got a plan according to that. Installation of the router was included as a one time fee.
This is where they first scammed her, imo. They installed a router, that can route 100mbps at max. At first I though she got a plan for that speed.
An elder telecom technician, who was investing a completely irrelevant issue, switched it out for one than can handle uo to 1tbps. He had no obligation to do so and he didn't charge anything.
Seriously, probs to that one guy. He openly stated that telecoms pulls off this scam and switched it for free, since they have many of routers lying around anyways (I wonder why 🤔🤔🤔)
Anyways, guy switched out the router and BAMM! from ~80mbps to ~170, iirc.
Fast forward a couple of months I notice internet speed is capped out at 76mpbs. Capped out way to perfectly, to just blame the cable. But obviously the guys over at customer support do exactly that.
Calls telecom: "yeah, your contact only goes up to 100, 76 because of the cable. You need to pay extra to get up to 176".
Excuse me, what the fuck did you just say, shit nugget? We should pay extra for something you contest from us?
Yo, Mister ChromosomOverflow, don't think that relaying the responsibility to another number to call will put you out of the fucking shit you tried to pull off.
Edit: The contract states up to 1000, 200 or 100mpbs download depending on what the cables allow and in case of 200 there's 100mbps upload, but we also get capped out there at 20. I wish these fucker one gang rape per non-received mpbs2 -
So after 7 months of soul crushing searching I was able to land an awesome job I never thought I'd get! I didn't really get hired for my projects, I think I was more of a culture fit that knew enough of what they were talking about. My colleagues are awesome, helpful people but they are also clearly way ahead of me as devs. I know that many new hires have similar feelings and it's more a matter of drive + time. I understand that and I'm ready for the marathon ahead of me but I have one HUGE concern... I don't understand unit testing. I've never written unit tests in JavaScript or Java (just on paper I wrote random assert statements for a college exam question that somehow turned out correct). More importantly, I don't understand when to write unit tests and what my main objectives should be when writing them. At work they talk about unit testing like it's just as basic as understanding version control or design patterns, both of which I have had no problems asking questions about because I at least understood them generally. I come here looking for resources, mainly things I can go through over the weekend. I understand that I'm going to have to ask my colleagues for help at some point but I DON'T want to ask for help without any solid base knowledge on unit testing. I would feel much more comfortable if I could understand the concepts of unit testing generally, and then ask my team members for help on how to best apply that knowledge. I'm sorry for begging, I'll definitely be looking for resources on my own too. But if anyone could point me to resources they found to be helpful & comprehensive, or resources that they'd want their co-workers to use if they were in my position I would be very grateful!!!!4
-
My biggest regret was leaving school for the workforce. I had aspirations of climbing the corporate ladder and maybe even being a leader or CEO someday myself.
It unfortunately took me too many years to realize it’s all a complete scam. You end up wasting away working on the most soul crushing of stuff, all to support someone else’s dream, and the people on top are not those who deserve to be there, but those who schemed and manipulated their way to the top. They often have zero idea what they’re doing and you end up having to do their job for them, while they take the credit and the big bonuses.
I had (and still have) many brilliant ideas for creations, but not one of my employers has cared about anything other than their bottom line. You are nothing but livestock to them, and they will treat you as such.
I wish now I’d just stayed in school and worked on my ideas and theories in an academic environment. If you think for a second companies will give a shit about you, think again.1 -
I think, right now, it's bitting more than I can chew.
I get my hands on way too many projects because they're easy and then problems pile and I end up being behind schedule on everything.
That, and maybe sometimes subconsciously thinking I'm invincible. It's a direct psych response to those telling me I can't do shit, and then I do shit out of pure stubbornness, and then I have super-confidence for a short while. (Even if I don't show it)
I just don't think it's healthy. -
TO ANY UWP DEV HERE.
If you aren't handling it in a different way,
//hide mobile status bar
if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
var i = StatusBar.GetForCurrentView().HideAsync();
}
this is ALL you have to friggin add to hide that hideous white space above in the app on windows 10 mobile.
Coming across too many apps which don't implement this simple thing.2 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
!rant
How to earn a lot of money as a programmer?
So this question might sound a little naive and too simple, but earning a lot of money is what we all want after all right? Collecting experiences from people in the business should be a good idea.
So this is the position I am in:
I am a German student in my 13th year of school (which means I will graduate this summer) and I am very interested in information technology. I know C++ pretty well by now and I have built a rendering engine for a game I want to make using openGL already, which I am very proud of.
I would love to turn this passion into my profession and thats why I plan to attend a dual course of computer science next year (dual means that I will be employed at a company (or similar) in parallel to the studying course).
But what direction should I be going in if I want to make big money later on? I am ready to spend a lot of time and work on this life project but I don't know which directions are the most promising. I hate being a tiny gear in a huge machine that just has to keep spinning to keep the machine alive, I want to be part of a real project (like most people probably) and possibly sell a product (because I think that is how you really make money).
Now I know there is no magic answer to this, but I bet many people here have made experiences they can share and this could help a lot of people directing their path in a more success oriented way.
I personally am especially interested in fields which are relatively low-level and close to memory (C++), go hand in hand with physics and 3D simulation and are somewhat creative and allow new solutions. (These are no hard lines, I just thought I should give a little direction to what I know already and what I am interested in)
But really, I am interested in any work you are likely to earn a lot of money with.12 -
I am a manager of an entry-level employee who share with another manager. Our shared employee, let’s call her “Jane,” is terrific — a hard worker, very smart, quick, and organized. Jane has been with us over two years and we would like to promote her, something she’s clearly earned, but our progress has been stalled by the pandemic. And though we’re working to push the promotion forward as quickly as possible, with budget cuts to contend with, this has been slower and more difficult than expected.
Meanwhile, Jane has shared with our team (including my boss, her grandboss) that she’s interested in returning to school for graduate study but was not sure when she’d want to attend. However, later Jane confidentially asked me to write her a recommendation letter to include in an application for study beginning this fall. I happily agreed and we discussed that she didn’t want this shared more widely, so I wrote the letter and kept it to myself. A few weeks ago, Jane texted me that she’d been accepted to grad school. I was thrilled for her but concerned about her departure. She stated that it was her intention to defer until 2021 due to the pandemic. We love Jane and I’m happy to have her as long as she’d like to stay, and again kept it to myself per her wishes.
Today, to my surprise, my boss called my attention to a tweet that Jane had shared, publicly on her personal account, announcing that she’d been accepted to grad school. My boss was blindsided since she didn’t think of this as an immediate plan and was particularly upset because HER boss (my grandboss and Jane’s great-grandboss, our president) was the one who saw it and alerted her of it. What’s worse is that my boss’s boss has been the one doing the hard work in negotiating Jane’s promotion with HR. Worse worse, after sharing this development, my co-manager (who shares management of Jane with me) revealed that she too had learned of Jane’s acceptance on Twitter. For the record, this tweet is about 10 days old at this point — time for Jane to have made a plan to speak directly and openly about it at work if she chose to.
I’m all for private use of social media and the right to have an online presence that is separate from your work. However, this puts me in an embarrassing position. I was honest with my boss when confronted, confessing that I did know about her acceptance and had provided a reference, but I can’t help but feel a little taken advantage of after Jane had asked me to keep it confidential. Additionally, her other boss heard of this news on social media and so did people above her who are gunning for her promotion — valued coworkers of mine and superiors of Jane who now feel disrespected for being out of the loop. I do not believe that Jane’s attendance at or deferment from grad school should affect her eligibility for a promotion, but it will surely be another hurdle to overcome among many other pandemic-related ones now that the news is out in this manner.
Extra notes: 1) Jane has previously announced 10-day vacations on Instagram (plane tickets booked) before asking for the time off. 2) Jane runs our company social media channels, so people look at her personal ones with scrutiny.
I feel compelled to speak with Jane in a friendly but direct way to explain that it’s her choice how or with whom she’d like to share her news, but that social media is not the place for bosses, grandbosses, or great-grandbosses should discover employment-altering news. Ever, really, but particularly when we’re working hard for her promotion. How can I do this without overstepping? Am I overstepping?8 -
Time for a rant about shitstaind, suspend/hibernate, and if there's room for it at the end probably swappiness, and Windows' way of dealing with this.
So yesterday I wanted to suspend my laptop like usual, to get those goddamn fans to shut up when I'm sleeping. Shitstaind.. pinnacle of init systems.. nope, couldn't do it. Hibernation on the other hand, no problem mate! So I hibernated the laptop and resumed it just now. I'm baffled by this.
I'll oversimplify a bit here (but feel free to comment how there's more to it regardless) but basically with suspend you keep your memory active as well as some blinkenlights, and everything else goes down. Simple enough.. except ACPI and I will not get into that here, curse those foul lands of ACPI.
With hibernation you do exactly the same, but on top of that, you also resume the system after suspending it, and freeze it. While frozen, you send all the memory contents to the designated swap file/partition. Regarding the size of the swap file, it only needs to be big enough to fit the memory that's currently in use. So in a 16GB RAM system with 8GB swap, as long as your used memory is under 8GB, no problem! It will fit. After you've moved all the memory into swap, you can shut down the entire system.
Now here's the problem with how shitstaind handled this... It's blatantly obvious that hibernation is an extension of suspend (sometimes called S3, see e.g. https://wiki.ubuntu.com/Kernel/...) and that therefore the hibernation shouldn't have been possible either. The pinnacle of init systems.. can't even suspend a system, yet it can hibernate it. Shitstaind sure works in mysterious ways!
On Windows people would say it's a hardware issue though, so let's talk a bit about that clusterfuck too. And I'll even give you a life hack that saves 30GB of storage on your Windows system!
Now I use Windows 7 only, next to my Linux systems. Reason for it is it's the least fucked up version of Windows in my opinion, and while it's falling apart in terms of web browsing (not that you should on an EOL system), it's good enough for le games. With that out of the way... So when you install Windows, you'll find that out of the box it uses around 40GB of storage. Fairly substantial, and only ~12GB of it is actually system data. The other 30-ish GB are used by a hibernation file (size of your RAM, in C:\hiberfil.sys) and the page file (C:\pagefile.sys, and a little less than your total RAM.. don't ask me why). Disable both of those and on a 16GB RAM system, you'll save around 30GB storage. You can thank me later.
What I find strange though is that aside from this obscene amount of consumed storage, is that the pagefile and hibernation file are handled differently. In Linux both of those are handled by the swap, and it's easy to see why. Both are enabled by the concept of virtual memory. When hibernating, the "real" memory locations are simply being changed to those within swap. And what is the pagefile? Yep.. virtual memory. It's one thing to take an obscene amount of storage, but only Windows would go the extra mile and do it twice. Must be a hardware issue as well.
Oh, and swappiness. This is a concept that many Linux users seem to misunderstand. Intuitively you'd think that the swappiness determines what percentage of memory it takes for the kernel to start swapping, but this is not true. Instead, it's a ratio of sorts that the kernel uses when determining how important the memory and swap are. Each bit of memory has a chance to be put into either depending on the likelihood of it being used soon after, and with the swappiness you're tuning this likelihood to be either in favor of memory or swap. This is why a swappiness of 60 is default most of the time, because both are roughly equally important, and swap being on disk is already taken into account. When your system is swapping only and exactly the memory that's unlikely to be used again, you know you've succeeded. And even on large memory systems, having some swap is usually not a bad idea. Although I'd definitely recommend putting it on SSD in a partition, so that there's no filesystem overhead and so that it's still sufficiently fast, even when several GB of memory are being dumped in.6 -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
Fuck I wish I knew what to do about low motivation!!! I have some ideas I think are really great, some that might be profitable, and fuck I just don’t do any of them. I spend more time panicking about what to do than anything else. But damn so much time wasted when I just needed a little guidance or a little planning or a little like less than $100 more money. That frustrates me to no end.
There’s so much bullshit to everything. This does follow up to my wk106 rant, where I’m trying to rationalize the tons of code that are behind the smallest features. How many thousands of builds go into a deploy. Just swallowing how much rite in software.
I feel like a failure at my job at times but what sucks is I’m just in the middle. Not the most experienced dev, not the least. I’ve got my feet wet in a number of things, but not a solid enough stack for a lot.
BUT SOMEHOW I GOTTA BE MOTIVATED TO LEARN. FFS I CAN DO BETTER BUT MY INSIDE IS BROKEN SOMETIMES AND I JUST WANK OFF FUCK GET IT TOGETHER.
Yea, I fight with myself a lot. I have a big ego and I’m a piece of shit at the same time. Idk. That is annoying too. If only I could get really motivated and focused on some of these projects I could do amazing things. I’ve never struggled with a subject I applied myself to. I just wasn’t motivated. I don’t know how to fix it and I wish I did. I also don’t know what the end game for me holds.
This whole complex really scares me for later life. I will have regrets because my mind builds impossible plans for good, but if I achieve any of it I WILL THINK damn I should have not dealt with this and done x. Like I could make world peace but be like damn coulda rebuilt cars or some stupid shit.
So I’ll conclude with that I’ve done a lot of jobs around the house, and yes working with drywall sucks. So sometimes I’ll think about that. But damn. That doesn’t last because I know I can do it well if I apply myself.
All this leads to getting overextended which is another huge motivation killer. I’m trying to learn self control and focus. But also I need small victories along the way. Very annoying.
Well at least I was motivated to finish this rant. I have a few weekly rants I wanted to participate in but couldn’t even find the motivation for that. There was a toxic person in my life then and I’m slowly getting back to normal but I know that even normal me struggles with motivation. Plus that toxic person was my friend and I’ve lost a lot of (long term) friends recently and that is a real drag. But they needed to go. But I wish they had just shut up sometimes then they wouldn’t have been so toxic. But I digress.
I know I have so many ideas I can’t do them all even if I am motivated and for some time is of the essence.
So look out for some collabs. And grab that motivation wherever you can find it.1 -
This weekend, I have been grinding a lot on leetcode. Even though I am grinding part of me believe that the interview process is broken for relying too much on those questions. I know it's a way to filter but I still think it's broken. But I guess I have no choice since that's how the interviews work .
I guess from now to next 1-2 months I will be busy with leetcode. I also have to read some system design questions.
Fuck, so many things to prepare4 -
!devrant.
More like 'relationship' rant.
The following is gonna be kinda crude and not work appropriate just fyi.
First, whats with this trend of 'shave your pussy", and small tits? Shit just a few years ago it was the opposite! Who wants to fuck a women who looks like an undeveloped boy. Give me a good medium pair of knockers and a (slightly) hairy pussy anyday and I'm in heaven.
On that note, all these guys whining and fucking whinging about "fat" women. Like I'm not chasing deathfat women or anything, but come on dudes. If you're gonna demand 'thin beautiful women' put in the fucking work! Just saying it now. Kinda pudgy, not a deal breaker for me. She have a pretty face, looks good in make up? Fuck it, I'll give her the time of day. Don't come at me with "hurrr...fat is unhealthy! Wheres your standards?"
Wheres YOUR fucking standards? Shit, I could take a 'heavy' girl and in a few months time have her trim. Its about the WORK you put in. All these fucking guys, all these fucking guys man, they all want something for nothing and chicks for free. No one wants to put in the fucking EFFORT anymore. I can't name on one hand the number of 'fat ugly chicks' everyone ignored from school (well except for me), who are now bombshells. If I stayed connected with people maybe I'd be with one of em right now, but I just get tired of this attitude that no one invests any time in others any more. It's all about 'me me me'.
Shes fat, maybe only a few extra pounds? Fat and 'not beautiful'? Fucking DO THE WORK and make her beautiful you bitch! Be her coach, like those fucking instagram couples you see sweating it out. Make her sexy. Become sexy, together.
Get her a fucking treadmill. Get her two. And jog together. Make her *feel* sexy.
More importantly get to *know* her. Why does she get out of bed in the morning? What drive her NOT to get out of bed? When does she feel lousy? What makes her feel that way? In addition to all the other shit men should know how to do, you should learn to play doctor phil, because every girl needs one. Women bond by talking, men bond by doing things together. Relationships should involve both.
Jesus fucking christ, this is basic bitch advice, and it annoys me I keep on coming across these spergs that don't fucking get it. Women are not cars you can stick your key in and just go 'vroom'.
They require maintenance, same as anything, any 'relationship' (because really, what are relationships in 2020, with instagram and fucking tinder and antisocial distancing?). You're a *team*, and i don't mean that in an inspirational way. You're a literal team. And far too many people prioritize the well being and success and concern of 'I' over' 'us'.
In short, if she ain't coming, you shouldn't be either. And if you expect her to on-the-regular put sharp objects on her fucking nether regions, don't expect any blowjobs unless you're doing the same thing for yourself!
Ideally you should be doing it to each other.
After all, you're partners. You trust her to put sharp objects near your groin, right?
Aren't relationships supposed to be about mutual trust?28 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
There has been a post today about the existence of too many js frameworks. Which reminds me of this awesome post https://hackernoon.com/how-it-feels...
At first I thought someone was corpseposting, as it is my understanding that the js ecosystem is calming down a bit. But then I noticed that post got almost 20 upvotes. So here's my thoughts:
(I'm not sure what I'm ranting about here, as it feels kinda broad after writing it. I think it's kinda valid anyhow.)
I'm ok with someone expressing frustration with js. But complaining about progress is definitely off to me.
How is too many frameworks a bad thing?
How does the variety and creation of more modern frameworks affect negatively developers?
Does it make it hard to understand each of these new frameworks?
Well, there's no need to. Just because it has a logo and some nice badges and says it will make you happy doesn't mean you should use it.
You just stick to the big boys in the ecosystem and you'll be fine for a while.
Does it make you feel compelled to migrate the stack of every project you did?
Well, don't. If you don't like being on the bleeding edge of js, then just stick to whatever you're using, as long as it's good code.
But if a lot of companies decided to migrate to react (among others frameworks), it's because they like the upsides: the code is faster to write, easier to test and more performant.
In general, I'm more understanding/empathic with beginner js programmers.
But I have for real heard experienced devs in real life complain about having to learn new frameworks, like they hate it.
"I just want to learn a single framework and just master it throughout my life" and I think they're lowering the bar.
There's people that for real expect occupying positions for life, make money, but never learn a new framework.
We hold other practitioners to high standards (like pilots or doctors), but for some reason, some programmers feel like they're ok with what they know for life.
As if they couldn't translate all they learned with one framework to another.
Meanwhile our lives are becoming more and more intertwined with technology and demand some pretty high standards. Standards that historically have not been met, according to thousands of people screaming to their devices screens.
Even though I think the "js can be frustrating" sentiment is valid, the statement 'too many js frameworks is bad' is not.
I think a statement like 'js frameworks can go obsolete very quickly' is more appropriate.
By saying too many js frameworks is a bad thing you're
1) Making a conspiracy theory as if js devs were working in tandem to make the ecosystem hard,
But people do whatever they want. Some create packages, others star/clone/use them.
2) Making a taboo out of a normal itch, creating.
"hey you're a libdev? just stop, ok? stop"
"Are you a creative person? Do you know a way to solve a problem in an easier way than some famous package? it doesn't matter, don't you dare creating a new package."
I'm not gonna say the js world is perfect. The js world is frantic, savage, evolves aggressively.
You could say that it (accidentally) gives the middle finger to end users, but you could also say that it just sets the bar higher.
I liked writing jquery code in the past, but at the same time I didn't like adding features/fixing bugs on it. It was painful.
So I'm fine with a better framework coming along after a few years and stealing their userbase, as it happens almost universally in the programming world, the difference with js is that the cycle is faster.
Even jquery's creator embraced React.
This post explains also
https://medium.com/@chrisdaviesgeek...13 -
No no no. That's it. Less than 2 years experience supposed to be leading a team of 12 soon to be 17 most of which have more experience than me! Been given sever admin responsibilities, training and managing 2 large frame works in addition to everything else I was doing before.
With the current set of projects we were given half the amount of time to do over twice the amount of work. Management seems to expect constant over time. And I keep being nagged by management to finish x,y,z. Every thing is high piority and I keep being asked to switch between tasks every hour or so nothing gets completed when this happens every time I make them aware this happens. The worse thing is that the CEO has a way of naming and shaming people who fall behind work infront of the entire company.
I have only been surviving thanks to a few saints in the team who just get on with the work without argument but now found out a bunch of these are moving to better companies!!!
I like helping people but with everything that is going on I can't find time to and I know at times I end up coming across inpatient with them that they don't deserve. But if you are part of a team please try and solve your issue yourself before asking others every half an hour there are too many of you and I need to get things done too.
And why is it so damn hot sitting at the desk sweating.
Ok I am prob on my meriod and being over the top grumpy. I want to find a new job but so tired in the evenings that I just want to collapse on my bed and do nothing. At end of writing this and feel a little better.2 -
I need some opinions on Rx and MVVM. Its being done in iOS, but I think its fairly general programming question.
The small team I joined is using Rx (I've never used it before) and I'm trying to learn and catch up to them. Looking at the code, I think there are thousands of lines of over-engineered code that could be done so much simpler. From a non Rx point of view, I think we are following some bad practises, from an Rx point of view the guys are saying this is what Rx needs to be. I'm trying to discuss this with them, but they are shooting me down saying I just don't know enough about Rx. Maybe thats true, maybe I just don't get it, but they aren't exactly explaining it, just telling me i'm wrong and they are right. I need another set of eyes on this to see if it is just me.
One of the main points is that there are many places where network errors shouldn't complete the observable (i.e. can't call onError), I understand this concept. I read a response from the RxSwift maintainers that said the way to handle this was to wrap your response type in a class with a generic type (e.g. Result<T>) that contained a property to denote a success or error and maybe an error message. This way errors (such as incorrect password) won't cause it to complete, everything goes through onNext and users can retry / go again, makes sense.
The guys are saying that this breaks Rx principals and MVVM. Instead we need separate observables for every type of response. So we have viewModels that contain:
- isSuccessObservable
- isErrorObservable
- isLoadingObservable
- isRefreshingObservable
- etc. (some have close to 10 different observables)
To me this is overkill to have so many streams all frequently only ever delivering 1 or none messages. I would have aimed for 1 observable, that returns an object holding properties for each of these things, and sending several messages. Is that not what streams are suppose to do? Then the local code can use filters as part of the subscriptions. The major benefit of having 1 is that it becomes easier to make it generic and abstract away, which brings us to point 2.
Currently, due to each viewModel having different numbers of observables and methods of different names (but effectively doing the same thing) the guys create a new custom protocol (equivalent of a java interface) for each viewModel with its N observables. The viewModel creates local variables of PublishSubject, BehavorSubject, Driver etc. Then it implements the procotol / interface and casts all the local's back as observables. e.g.
protocol CarViewModelType {
isSuccessObservable: Observable<Car>
isErrorObservable: Observable<String>
isLoadingObservable: Observable<Void>
}
class CarViewModel {
isSuccessSubject: PublishSubject<Car>
isErrorSubject: PublishSubject<String>
isLoadingSubject: PublishSubject<Void>
// other stuff
}
extension CarViewModel: CarViewModelType {
isSuccessObservable {
return isSuccessSubject.asObservable()
}
isErrorObservable {
return isSuccessSubject.asObservable()
}
isLoadingObservable {
return isSuccessSubject.asObservable()
}
}
This has to be created by hand, for every viewModel, of which there is one for every screen and there is 40+ screens. This same structure is copy / pasted into every viewModel. As mentioned above I would like to make this all generic. Have a generic protocol for all viewModels to define 1 Observable, 1 local variable of generic type and handle the cast back automatically. The method to trigger all the business logic could also have its name standardised ("load", "fetch", "processData" etc.). Maybe we could also figure out a few other bits too. This would remove a lot of code, as well as making the code more readable (less messy), and make unit testing much easier. While it could never do everything automatically we could test the basic responses of each viewModel and have at least some testing done by default and not have everything be very boilerplate-y and copy / paste nature.
The guys think that subscribing to isSuccess and / or isError is perfect Rx + MVVM. But for some reason subscribing to status.filter(success) or status.filter(!success) is a sin of unimaginable proportions. Also the idea of multiple buttons and events all "reacting" to the same method named e.g. "load", is bad Rx (why if they all need to do the same thing?)
My thoughts on this are:
- To me its indentical in meaning and architecture, one way is just significantly less code.
- Lets say I agree its not textbook, is it not worth bending the rules to reduce code.
- We are already breaking the rules of MVVM to introduce coordinators (which I hate, as they are adding even more unnecessary code), so why is breaking it to reduce code such a no no.
Any thoughts on the above? Am I way off the mark or is this classic Rx?16 -
- have/share an agenda as soon as possible
- each talking point should identify a problem. Make a list of strategic questions answers to which would make it perfectly clear what and by whom has to be done to resolve them.
- plan meeting duration according to the list of questions. Make sure you meeting room reservation gives you enough time
- take notes
- be prepared for a need for another meeting(s), if during that meeting it comes clear that:
> more/other people need to be engaged
> some things are not clear and need more investigation before going further
> you have run out of time
> there are other problems tgat need to be worked out and it might cobsume too much time to do this in a current meeting
- do not turn the meeting into a chat. It's counter-productive, tiring to the listeners and a waste of time
- do not try to cover many topics. The less, the better. Unless they are very tightly coupled.
- do not invite people you do not need or there is a very slim chance you will need.
- only schedule meetings when the situation needs to be DISCUSSED among multiple parties
- that being said, do not schedule meetings when it's more convenient to communicate otherwise, like email, chat, etc.
- after the meeting make a summary and send it our to all the participants. They might reply and clarify if you have misunderstood smth or missed some important point.
- during the meeting assign tasks to each other. Verbally. Make notes. After the meeting reflect them in jira, rally, wtv.
- while assigning tasks nake sure the assignees have no blockers to work on them and make sure they understand what, when and how should be done. Some tasks might be dependedt on each other, work the sequence out.
- while assigning tasks ask "for ETAs. They might be as silly as 1-hour-to-2-weeks, but they still let you know what to expect.
- offer your assistance to the task assignees if they need any while working on their tasks
- work on your language, grammar, syntax, etc. Reading texts with typos/mistakes is repelling
- be a leader, an authority everyone is looking up to. Not a boss.
- avoid saying NOs. Be more of a "do we really need this; can we do this some other way/time; I can't promise anythibg but I'll see what I can do about it" kind of person. -
!dev but if i have been catching covid it is because of these strangers hugging strangers and the group of regulars joining tables (not sql) and way too many masks on arms or below the nose. germans are yet dumber than i thought.5
-
I'm shitting there hammering out some code butchering some real problems when I suddenly realise I'm surrounded. I look around and yes it's the bloody committee.
The committee is what I call the rest of the department and it is dominated by the old guard which comprises of the programmers that have been around for longer.
None of the old guard can program particularly well but because they had been around the longest they'd all grown senior. The committee had free reign but anyone else doing anything differently has to get approval from the committee.
The only way to code otherwise was to copy and paste existing code then to primarily rename things. If anyone did anything that hadn't been seen before then it would have to be approved by the committee. Individual action was not permitted unless you were old guard.
I swept my headphones away expecting it to be something unimportant. It was.
First things first they announce. We're going to add extraneous commas to the last element of all possible lists separated by comma including parameters or so they say. Ask but why so I do.
Because the language now supports it. They added support for it so it must be the right way someone proclaimed. Does it? I didn't realise we were waiting for it. Why do we want it though?
Didn't you hear? It's all over the blogosphere. It massively improves merge requests. But how I ask?
Five minutes later I grow tired of the chin stroking, elbow harnessing, slanted gazes into the yonder and occasionally hearing maybe its because and ask if they mean when you for example add an element the last element registers as changed from adding a comma. Turns out that's all it is.
How often do we see that tiny distraction and isn't it pointless to make the code ugly just for a tiny transient reduction in diff noise I ask. Everyone's stumped. This went on and on and got worse and worse. But it makes moving things around easy half of them say in unison like the bunch of slobs that they are. I mean really. It doesn't make expanding and contracting statements from multiline to single line easy and it's such a stupid thing. Is that all they do all day? Move multi-line method parameters up and down all day? If their coding conventions weren't totally whack they wouldn't have so many multiline method prototypes with stupid amounts of parameters with stupidly long types and names. They all use the same smart IDE which can also surely handle fixing the last comma and why is that even a concern given all the other outrageously verbose and excessive conventions for readability?
But you know what, who cares, fine, whatever. Lets put commas all over the shop and then we can all go to the pub and woo the ladies with how cool and trendy we are up to date with all the latest trends and fashions then we go home with ten babes hanging off each arm and get so laid we have to take a sick day the following to go to the STD clinic. Make way for we are conformists.
But then someone had to do it. They had to bring up PSR. Yes, another braindead committee that produces stupid decisions. Should brackets be same line or next line, I know, lets do both they decided. Now we have to do PSR and aren't allowed to use sensible conventions.
But why, I ask after explaining it's actually quite useful as a set of documents we can plagiarise as a starting point but then modify but no, we have to do exactly what PSR says. We're all too stupid apparently you see. Apparently we're not on their level. We're mere mortals. The reason or so I'm told, is so that anyone can come in and is they know PSR coding styles be able to read and write the code. That's not how it works. If you can't adjust to a different style, a more consistent style, that's not massively bizarre or atypical but rather with only minor differences from standard styles, you're useless. That's not even an argument, it's a confession that you've got a lump of coal where your brain's supposed to be.
Through all of this I don't really care because I long ago just made my own code generators or transpilers that work two ways and switch things between my shit and their shit but share my wisdom anyway because I'm a greedy scumbag like that.
Where the shit really hit the fan is that I pointed out that PSR style guide doesn't answer all questions nor covers all cases so what do we do then. If it's not in PSR? Then we're fucked.4 -
A quick rant about dependency injection.
I see far too often in projects, a huge over-reliance on dependency injection / IOC frameworks which permeate throughout the entire codebase.
I cringe every time I see a constructor annotated with @Inject and 10 params.
The benefit of these frameworks is how easy they make it to manage many dependencies. What I dislike about them, is exactly that. I feel that they make it TOO easy to manage many dependencies.
How trivial is it to simply add another constructor param? exactly. And people then wonder why their dependency tree looks insane.
I am a strong believer in injecting dependencies the traditional way, via the constructor with no fancy framework. The reason being that it forces you to think more about the dependencies you are adding to your classes, and consider if they are really all needed.
The other problem I have with it, is it basically encourages you to inject everything because its so easy. The purpose of dependency injection is inversion of control and allowing classes to depend on abstraction rather than concrete implementation. All that goes out the window when you @Inject 6 different concrete classes.
Use dependency injection for its intended purpose, not as an excuse to be lazy and avoid thinking about dependencies.3 -
When you have to use Google to find the page one of Microsoft's many broken links tried to send you too...
This, Microsoft, is one of the many reasons I still use Google rather than Bing. Which by three way makes me think of Chandler Bing from friends, maybe that's the point? An airheaded product named after a goofy sitcom star. -
How much zucchini is too much zucchini?
I know I have WAY too much...
I knew at least when 1st considering D20 zucchini breads.
then when i began to wonder if the remaining batter would work with my death star waffle iron...ill know tomorrow!
....ran out of typical pans, incl foil ones(normal and mini for easy gifting)
- gave 1 away (similar sized as in pic)
- approx. 2 lg zucchini bread loaves in fridge (gave away 2, ate a ½)
- cut up\froze enough onions\peppers\pak choi to a min. acceptable zucchini : everything else stir fry ratio... x20 servings
- similarly, green onions, pak choi, marinated sesame fried tofu bits, zucchini and miso (quick miso soup) x16
- thinly sliced enough to layer it into ~20 lg servings of lasagna.
... zucchini in pic is slightly larger than the one that made the many aforementioned and pictured loaves of zucchini bread
apparently, in a week tops, I'm gonna have at least another 3 more THAT size needing to be picked
anyone in the continental US want some zucchini bread? or, if in michigan, zucchinis?
i didnt even plant much... actually only about ½ of other years.
i am also having some serious overflows coming of (at least) grapes and watermelons.
grapes...
when i bought this place, this odd, square, surrounded by cement walkways, area, with an increasingly problematic tree (risking cable\electric lines, foundation, etc) and so dense with weeds that I learned, dandelions have a giant, bush-like form, with heights beyond 8ft tall.
i grew up hanging out in the nearby woods, noticing that weeds lost the fight vs raspberry\blackberry plants. being handicapped\lazy\experimental, w\ev, i figured id just kill it all then fill it with random berries... knew nothing about grapes so just got 4+ random types... apparently they are all fancy\expensive grapes... and reeeeeaally produce. i already had to pick ~10lbs.
watermelons-
idr if i planted normal ones and little ones or just little ones... idk how to tell without cutting them open or maybe just watching a long time to see if they stopped growing?
anyone with advice (or seeking watermelons) is welcome.
assuming (hoping) they are mini ones there's at least 2dz that are at least ping pong ball size.... and around 100 little yellow flowers still.
i totally get that my frustrating problem with produce here would be beyond welcomed by most people... but seriously... wtf do i do with a few dozen to over a hundred (hopefully mini) watermelons, so many zucchini that, despite personal daily consumption and at least a half dozen friends that love zucchini bread and\or my secretly healthy lasagna(my friends tend to be guys), but have their limits capping out, plus mine, at less than ½ whats rapidly being produced and, apparently, thousands of dollars worth of hundreds of pounds of fancy grapes???
there's an interesting old lady across the street who'll take at least what her and husband can possibly consume,.. even makes grape jam, but thats still only a few dz lbs tops.
it seems wrong to kill the plants (or even to remove a large amount of blossoms and feed them all to JSON (lil tortoise)... pretty sure he's already getting tired of them just from the few that fell off in the wind or something.
i wish i knew some farmers that do farmers market things... but that kinda seems super suspicious... 'hey mr farmer... want a large supply of expensive grapes, watermelon and zucchini, for free? you can sell them to random people, or just give them away. i dont want money or anything...' idk... seems like the beginning of one of those movies that either has evil alien plants assimilating all land mammals, or where there's some crazed medical researcher convinced that there's a massive, underrated threat without enough attention for vaccination production funds-- so they are gonna release some deadly virus supposedly to save the world.
ive been cooking too long.
ideas pl0x?86 -
Merry Grav-Mass!
So I saw many „Merry Christmas“ posts here lately.
But many of you may have forgotten that 25th of December is the birthday of the greatest physician and mathematician of all time — Isaac Newton! So let's celebrate the existence of comprehensible physical laws!
One way to celebrate Grav-Mass is to decorate a tree with apples and other fruits. Glue them or attach them, but not too well! The idea is that occasionally a fruit should fall. Put them on the tree no more than 2 feet up, so that they won't get damaged or hurt anybody when they fall. Investigating and perfecting the methods for doing this is a great way expose a child to the process of scientifically studying the behavior of the physical world.
Merry Grav-Mass and happy New Year! 🍎
Further reading: https://stallman.org/grav-mass.html4 -
So I now bought an iphone 6 again for development and tried just for fun to make it a daily driver and it feels really limited, especially because apparently theres no jailbreak yet for 11.2.5. (I feel near everything could be solved as soon as cydia etc. get fully released to the alibaba jailbreak)
I didnt even remember, that it doesnt have any option to have haptic feedback when typing, such a basic feature has to be jailbroken..? I thought I remembered that it had it, last time I had one - did they remove such a basic feature?
Also the fingerprint reader is really weird compared to other phones from the same year, first getting it to actually fill all fingerprint lines without saying "try again" or it trolling you and vibrating as if it recognized your finger, but actually didnt (really frustrating when its the last 2 lines...) - is a real challenge, might be that I have some mutant fingerprints, but when I asked my s/o to try it out, it also failed most of the times, so you have to position your finger in a very specific position for it to work, even if you add the max amount of 5 fingerprints.
Most ads on iphones feel HORRIBLE, the amount of lag some can add is incredible, wait till it loaded or youre fucked and besides using some shady adblocker vpn, theres no way to block them, without again - a jailbreak.
Another feature that I used many times on my android phone, is controlling it from the desktop, connect it via usb and then just use it for demonstration purposes on a projector or to instruct how things work - theres no such function without a jailbreak, even if you use osx..
Then theres the feature, that instead of just setting your cursor to a specific location, you have to hold and it zooms in, not sure if I just got too used to the android way of doing it, but I can see myself making less mistakes of where I positioned it with the ios way.
The hardware mute switch feels like a great feature, its just sometimes weird, so if you were inside an app that was playing sound and you mute it, it still plays it until you either close and open that app or just change to another one temporarily, so its not an actual hardware switch as I usually thought, more like a request to mute the phone.
The cable that comes with it is too thin, I am afraid to even unwind it, as it would probably break, so I had to get another one.
Please don't turn this into a shitfest from any of the fanboys, I really just wanted to share my image of finally being able to try it first hand again.4 -
I am not a php dev and I have nearly 0 knowledge of php. All I know about php is that xampp is your friend and you have to write that $ everywhere. But that one day I had to setup phpLDAPadmin on apache2.
I have nothing against php, but I just don't want to have anything in common, since I'm just perfectly fine with my java.
So I had to make it work. Fought my way through different incompatible versions of php and phpldapadmin only to see "not found" on phpldapadmin.
I thought, like, wtf?? Especially when index.php of apache2 is displaying just fine? I mean, I can "edit" some php code, but configs and php setups are just something like out of my world. Tried setuping it on different vms - same result. I've buried way too many hours into this with no result. Finally I gave up and contacted a friend of mine which is like php god for me. He did same thing as I did in ~ 10 mins, but the result was the same. Tweaked some configs - same. Scratched his head, sat for 5 more minutes, did something and boom - it works!
I've asked him, what is that php magic and the answer killed me:
"Index.html was missing"
At that moment I just wanted to exit through the window. Sadly, there were no way to open it.
Yes, I am this stupid in php. But I still miss all these wasted hours...2 -
For some reason I keep over engineering stuff to the point I spend 2 hours thinking the best way to do something. I'm making the backend for a project of mine and I wanted somewhat decent error handling and useful error responses. I won't go into detail here but let's say that in any other (oo) language it would be a no-brainer to do this with OOP inheritance, but Rust does OOP by composition (and there's no way to upcast traits and downcasting is hard). I ended up wasting so much time thinking of how to do something generic enough, easily extendable and that doesn't involve any boilerplate or repeated code with no success. What I didn't realize is that my API will not be public (in the sense that the API is not the service I offer), I'm the only one who needs to figure out why I got a 400 or a 403. There's no need to return a response stating exactly which field had a wrong value or exactly what resource had it's access denied to the user. I can just look at the error code, my documentation and the request I made to infer what caused the error. If that does not work I can always take a quick look at the source code of the server to see what went wrong. So In short I ended up thrashing all the refactoring I had done and stayed with my current solution for error-handling. I have found a few places that could use some improvement, but it's nothing compared to the whole revamp I was doing of the whole thing.
This is not the first time I over engineer stuff (and probably won't be the last). I think I do it in order to be future-proof. I make my code generic enough so in case any requirements change in the future I don't have to rewrite everything, but that adds no real value to my stuff since I'm always working solo, the projects aren't super big and a rewrite wouldn't take too long. In the end I just end up wasting time, sanity and keystrokes on stuff that will just slow down my development speed further down the road without generating any benefits.
Why am I like this? Oh well, I'm just glad I figured out this wasn't necessary before putting many hours of work into it. -
Old old organization makes me feel like I'm stuck in my career. I'm hanging out with boomer programmers when I'm not even 30.
I wouldn't call myself an exceptional programmer. But the way the organization does it's software development makes me cringe sometimes.
1. They use a ready made solution for the main system, which was coded in PL/SQL. The system isn't mobile friendly, looks like crap and cannot be updated via vendor (that you need to pay for anyway) because of so many code customizations being done to it over the years. The only way to update it is to code it yourself, making the paid solutions useless
2. Adding CloudFlare in the middle of everything without knowing how to use it. Resulting in some countries/networks not being able to access systems that are otherwise fine
3. When devs are asked to separate frontend and backend for in house systems, they have no clue about what are those and why should we do it (most are used to PHP spaghetti where everything is in php&html)
4. Too dependent on RDBMS that slows down development time due to having to design ERD and relationships that are often changed when users ask for process revisions anyway
5. Users directly contact programmers, including their personal whatsapp to ask for help/report errors that aren't even errors. They didn't read user guides
6. I have to become programmer-sysadm-helpdesk-product owner kind of thing. And blamed directly when theres one thing wrong (excuse me for getting one thing wrong, I have to do 4 kind of works at one time)
7. Overtime is sort of expected. It is in the culture
If you asked me if these were normal 4 years ago I would say no. But I'm so used to it to the point where this becomes kinda normal. Jack of all trades, master of none, just a young programmer acting like I was born in the era of PASCAL and COBOL9 -
Why things are fucking hard when you're not too good and not too bad at work. I'm like normal dev just throw things at me give me any task any framework I will learn it, I will solve production issues, I will help my co-workers to get their shit done even my JIRA is clean but it feels like I'm going nowhere. I'm like an average guy who knows many things other than normal guys or devs (by considering I'm junior and the people who are working with me).
I'm feeling like I'm in a fucking loop, where every day is same.
Is there anything I can do? which will make me feel little better?
I think every guy on earth have some innovative ideas even I have some(of course some of them are implemented already even they are kinda same, even some ideas are totally new, some are not possible, some requires much knowledge of certain field). But by just having an awesome idea doesn't change anything.
Maybe I'm not trying hard, there are several other reasons which are coming in my way but of course, I shouldn't tell any reasons. -
I swear I'll snap if someone tells me it's weird that I resize applications to be taller than they are wide. I keep them that way because widescreen monitors came into existence when computers became mainstream and the market shifted to the plebs who only used them to watch videos and wanted to not see any bars on screen, and now we all have to suffer.
Web pages are organized vertically so it makes no sense for me to browse the web in full screen, it wastes space where otherwise all the content is contained and distraction free, most pages strip the side-bars so you'll also see a few less ads. I can also use and organize multiple apps how I want. Small thing too but browsing the web in full screen means pages can find the exact dimensions of your screen and learn more about you (I don't care about this but it's also worth mentioning).
I promise you there are so many good reasons to not use apps in full screen.
Thank you for coming to my Ted Talk.17 -
Rant!!!
Fuck!!!
Clowns!!!
And it is only Monday!!!!
Involved in a pretty large it project. Several years endevour. Global. Tens and tens of millions of dollar budget.
It is obvious for all that this waterfall approach will cause enormous pain. Pain and suffering.
Multiple consultant firms involved. Loads of management, leads and the likes. Several with no it background.
🙄
Yes. No real concept of a database or what not. I mean. It is an actual IT project.
Several leads. One of the managers have no idea what he is doing. None. One would guess he should have his shit together regarding NON-it stuff. But no. And they work with this full-time and can’t even setup a descent way of working in a sub-sub-sub-project.
Clowns.
One would imagine in a waterfall setup that things is…formal. But no. It’s just people doing their thing. Lots of words. Lots of words.
I think there are nice problems to solve at the end. When it is delivered and done. So I will plan to stay and learn as much as possible. But I have to do the clowns work. Which sucks so much I can’t believe. But there are so many people involved so I guess I can get away with it in one piece without too much effort.
I am not even going to write a single line of code. 😬
All is fine.
Fucking Monday.5 -
I was thinking about the problems one of our clients faced with the launch of their project the other day, because things were rushed, stuff was omitted and in the end they could not meet the launch date, and I started making a list of hard lessons I learned over the years that would have helped them avoid this situation.
Feel free to add yours in the comments.
- Never deploy on Friday
- Never make infrastructure changes right before a launch
- Always have backups. Always!
- Version control is never optional
- A missed deadline is better than a failed launch
- If everything is urgent, nothing is important
- Fast and cheap, cheap and quality, quality and fast. Only one pair at a time can be achieved
- Never rush the start or the end of a project
- Stability is always better that speed
- Make technical decisions based on the needs of the project two years from now
- Code like you will be the only maintainor of the project two years from now. You probably will...
- Always test before you deploy
- You can never have too many backups (see above)
- Code without documentation is a tool without instructions
- Free or famous does not necessarily mean useful or good
- If you need multiple sentences to explain a method, you should probably refactor
- If your logic is checked beforehand, writing the code becomes way easier
- Never assume you understand a request the first time around. Always follow up and confirm
There are many more that should be on this list, but this is what came to mind now.2 -
Serverless and death of Programming?!
_TL;DR_
I hate serverless at work, love it at home, what's your advice?
- Is this the way things be from now on, suck it up.
- This will mature soon and Code will be king again.
- Look for legacy code work on big Java monolith or something.
- Do front-end which is not yet ruined.
- Start my own stuff.
_Long Rant_
Once one mechanic told me "I become mechanic to escape electrical engineering, but with modern cars...". I'm having similar feelings about programming now.
_Serverless Won_
All of the sudden everyone is doing Serverless, so I looked into it too, accidentally joined the company that does enterprise scale Serverless mostly.
First of all, I like serverless (AWS Lambda in specific) and what it enables - it makes 100% sense and 100% business sense for 80% of time.
So all is great? Not so much... I love it as independent developer, as it enables me to quickly launch products I would have been hesitant due to effort required before. However I hate it in my work - to be continued bellow...
_I'm fake engineer_
I love programming! I love writing code. I'm not really an engineer in the sense that I don't like hustle with tools and spending days fixing obscure environment issues, I rather strive for clean environment where there's nothing between me and code. Of course world is not perfect and I had to tolerate some amounts of hustle like Java and it's application servers, JVM issues, tools, environments... JS tools (although pain is not even close to Java), then it was Docker-ization abuse everywhere, but along the way it was more or less programming at the center. Code was the king, devOps and business skills become very important to developers but still second to code. Distinction here is not that I can't or don't do engineering, its that it requires effort, while coding is just natural thing that I can do with zero motivation.
_Programming is Dead?!_
Why I hate Serverless at work? Because it's a mess - I had a glimpse of this mess with microservices, but this is way worse...
On business/social level:
- First of all developers will be operations now and it's uphill battle to push for separation on business level and also infrastructure specifics are harder to isolate. I liked previous dev-devops collaboration before - everyone doing the thing that are better at.
- Devs now have to be good at code, devOps and business in many organisations.
- Shift of power balance - Code is no longer the king among developers and I'm seeing it now. Code quality drops, junior devs have too hard of the time to learn proper coding practices while AWS/Terraform/... is the main productivity factors. E.g. same code guru on code reviews in old days - respectable performer and source of Truth, now - rambling looser who couldn't get his lambda configured properly.
On not enjoying work:
- Lets start with fact - Code, Terraform, AWS, Business mess - you have to deal with all of it and with close to equal % amount of time now, I want to code mostly, at least 50% of time.
- Everything is in the air ("cloud computing" after all) - gone are the days of starting application and seeing results. Everything holds on assumptions that will only be tested in actual environment. Zero feedback loop - I assume I get this request/SQS message/..., I assume I have configured all the things correctly in sea of Terraform configs and modules from other repos - SQS queues, environment variables... I assume I taken in consideration tens of different terraform configurations of other lambdas/things that might be affected...
It's a such a pleasure now, after the work to open my code editor and work on my personal React.js app...2 -
Recently, our backend team has gotten smaller. The company has stopped the collaboration with the company of the backend lead developer.
We are currently lacking backend developers while we have way too many frontend developers right now (compared to backend).
How can I, as a front-end developer, switch to back-end?4 -
How do ya deal with pressure?
I recently engaged in way too many.. let's call them projects, one has it's deadline this monday
As a beginner i take every opportunity that occurs .
I engaged to help a friend who needs help with an website wich idk why must be write with Dreamweaver, that's what his boss told him
Anyway , i got the worst headache, also i don't have electricty home :/
How would u face a bunch of projects5 -
Im looking for some advice. Im rendering a 3d warehouse with three.js it works fine until I do not have more than 50 locations per level in length, then its slows down horribly. every location is an object, simple square, every level is locations stacked in two rows with a place for the robots to move in the middle, every aisle is an object with levels stacked on each other, and finally the warehouse is aisles stacked next to each other. This seemed the logical approach, its created programmatically. What would be the way to speed this thing up? I don't know the reason of slowing, too many objects or too many polygons?32
-
!rant
So I have bought a new laptop and this time instead of straight up booting linux I had an idea of giving micro$oft a try, so I have decided to use only their services for 2 weeks.
To be honest, I really did not expect windows to use do much cpu and hdd during updates and background tasks, but after a day it was ok and windows feels snappier than during my last encounrer (maybe cause the new hw?).
I was even so dedicated that I started to use cortana and I have to tell, that she is dumb as fuck, since she fails to understand even the basic tasks and if u want something advanced, she refers to the next update. But boy, tell her to open Visual Studio and she asks if you want VS Code or Visual Studio, which seems great. But my response was 'Code' then she insisted that I said Coke. Im like OK, Im not native english speaker, lets try Visual Studio Code, where she told me that there is no such thing and Spelling VS - Code ended me in bing search for Unesco :/
I really want to like Cortana, she has nice name, nice history, but she is like that A girl from class, who looks gorgeous, has great voice, but then u reallise that she just eats a book before exam and after that she is that dumb basic hoe.
I also gave a shot to Bing and Edge. Bing is something between Google and DuckDuckGo, since it gives you a liiitle less results from search history, yet if you want to find something in different language its even possible to tell you that what are you trying to find does not exist.
But I have to tell, that I like Edge and I mean it. Like... Its fast and has some good features, like pushing all your open tavs away, so you can open them Later. It also does not have that stupid ass feature that lets you control tab from left to right, not by chronological order, so you wont end up in infinity loop of 2 tabs. And even if people make fun of M$ trying to convince you to use Edge by being too aggresive. God go on edge and try to use some Google Service(You still dont use chrome?!).
I also tried to play with .Net core and I have to tell that against java they are a bit further. I liked some small features, but what I just simply loved was rhe fucking documentation. You basically dont need google, sincw they give you examples and explain in a human way.
What I didnt quite get was the 'big' Visual Studio. Tje dark theme to me feels strange(personal and irrelevant). Why the hell I do need to press 2 shortcuts to duplicate line?! Why is it so hard to find a plugin to give me back my coloured brackets and why the fuck it takes like a second to Cut one line of code on a damn i7?!
Visual studio Code was something different. It shows how dark theme should be done, the plugin market is full of stuff and the damn shortcuts are not made for octopi. So I have to recommend it ^^.
I even gave a shot to word and office as a whole and fuck I never knew that there are so many templates. It really made my life easier, since all you need to do is find the right one in the app, instead of browsing templates online, where half of them are for another version of your text editor.
Android Launcher was fast, had a clever widget of notes and the sync was pretty handy to be honest so I liked that one as well.
What made me furious was using the CLI. Godfucking damn what the fuck is ipconfig?! :/
Last thing what made me superbhappy was using stuff without wine and all of the addional shit. Especially using stuff like Afinity Designer and having good looking apps in general. I mean Open source has great tools l sometimes with better functionality. But I found out, that what is pleasure to look at, is pleasure to work with.
To Summarize a bit.
It wasnt that bad as I expected. I see where they are heading with building yet another ecosystem of It just works and that they are aiming at professionals once again.
So I would rate it 6/10, would be 7 if that shit was Posix compatible.
I know that for Balmer is a special place in hell... But with that new CEO, Microsoft at the end may make it to purgatory..5 -
Ok finally, I can tell now.
There's a college project I'm in with 2 more people that uses Python and AnyLogic (separately).
We also need to write some LaTeX, so as I was already using PyCharm for the Pyshit, I used it for the LaTeX and for Git.
I used it for Git too because I didn't know how it used Git and was worried that if I used the console it didn't recognize something or glitched out or something. And what the hell, it's a mature IDE, what could be so hard or possibly go wrong?
I had to re download the repo a couple of times because between pushes, pulls, merges and commits something happened and the repo ended in a weird state.
These are all the things I do:
Add, commit, create branches, merge, push, pull and delete branches.
So, I hadn't opened in some time. The last time I tried to bring something from another branch, and stayed up late to finish something. I was waiting for my classmates to join the call when I thought something like "Hey, I should commit what I did until now, it worked great.". When I examined the IDE I found out I was in the middle of a rebase or something. I start clicking buttons to at least try to commit. I press "Skip Commit". I lose everything.
What the fuck‽ As you can see in the comprehensive list above, I never do something similar to a rebase. Apparently when I tried to merge a couple of branches, the stupid IDE thought I tried to do a rebase and never asked me to finish it. Why do something I have never asked? Plus, why haven't you prompted me to finish the operation? That's so stupid. I'm never trusting IDEs again.
I was so lit for losing so many hours of work I did a couple of weeks before, I would have to think it and do it all over again because of something I never asked.
We spent an hour looking for a way to recover the lost code.
Why an hour, you ask, if you can use the Local History for that in PyCharm?
Because none of us had used it before and the articles we found said that you had to open it from the toolbar. From the toolbar it was greyed out.
Then I found the option in the contextual menu of the files. Recovered the LaTeX files but on the AnyLogic files, it was greyed out.
I had to open the Local History of the folder containing the AnyLogic file.
And that was that.
I almost faint.
Fuck Python, fuck PyCharm.8 -
My company never used unit tests. And i would love to educate but i do not know how to unit test properly. I always en up with: if i want to properly test all ins and outs of this class's + operator. I need to add checks for positive number, negative numbers, nan, infinites, nulls etc. Etc. It needs so many tests for something so stupidly simple, that i don't see a way to motivate people to use it.
Am i missing something? Is there a guideline for "ok coverage"? Is testing just that much work and is that why nobody cares until it is too late?
I have been reading a book about working with legacy code. But still i got no answers. Halp!7 -
wk195 sounds like people are describing the weirdest places they had sex. Lmao, I'm sure this has gone through somebody's mind at one point.
Let's see, what else to vent about. Ah yes, today I took the public transport because I had to be somewhere in the evening and I wanted to avoid traffic congestion. Guess what? I ended up sandwiched between hordes of people in public transport. I hate that much more than sitting in my car dragging the clutch. At least I was somewhat relaxed and I had my own space (so to speak). Being smooshed between a horde of stressed people? And pushy people trying to ram their way through others "I have to get out, I have to get off here" while the others are clearly heading out too? No, that's not for me.
And I know what's gone through one's mind at one point: "Look at this sad state of the world, look at the highway inefficiently and disrespectfully stuffed, look at these people, most of them wearing sad looks on their faces from the routine of life and their subconscious dissatisfactions. The current system has many shortcomings. In fact, the entire system is wrong."
Well, I'm glad I'm home now. Space, temporal as well as physical and psychological, is indeed a core component of one's space (no pun intended). It's at times like these we need to look at our lives and make the necessary changes to change at least our own lives, there that the system is hard to change.4 -
I'm 22 years old and 1.5 years into my first Startup Job. (and second Dev job)
I feel kind of uncomfortable now and I would like to ask your opinions.
I'll start with the work related description of my situation and later add a bit of my life situation.
I develop as hobby since I can think. I'm pretty engaged and love to do things right. So I quickly found myself in the position of the de-facto lead fullstack Developer.
Although, to be clear, were only a few devs - which are now replaced by not so many other devs. I feel often like the only person able to design and decide and implement in a way that won't kill us later (and I spend half of my time fixing technical debt).
I mostly like what I do , because it's a challenge and I feel needed. I learn new things and I am pretty flexible in work time. (but I also often work till late in the night, sacrificing friendship time)
But there are so many things I would love to do and used to do, but now I have no motivation to develop outside of my job.
I don't really feel that what my company is doing is something I find valuable. (Image rights management)
I earn pretty well - in comparison to what I'm used to: 20€/hour, Brutto 2.800 / month for 32 hours a week. In Berlin. (Minus tax and stuff it's 1.800€). It's more than enough for what I need.
But when I see what others in similar positions earn (~4.000), I feel weird. I got promised a raise since nearly a year now. I don't feel I could demand it. I also got the hint that I could get virtual shares. But nothing happened.
Now what further complicates the situation is that I will go to Portugal in April for at least half a year, for joining a social project I love. My plan used to be that I work from there for a few hours a week - but I'm starting to hesitate as I fear that I will actually work more and it will keep me from fully being there.
So, I kind of feel emotionally attached - I like (some of) the people, I know (or at least believe) that the company will have a big problem without me. (I hold a lot of the knowledge for legacy applications) .
But I also feel like I'm putting too much of myself into the company and it is not really giving me back. And it's also not so much worth it... Or is it?
Should I stick to the company and keep my pretty secure position and be financially supported during my time in Portugal, while possibly sacrificing my time there?
Should I ask for a raise (possibly even retroactively) and then still quit later? (they will probably try to get my 1 month of cancelation period upped to 3).
Also, is this a risk for my "career"?question work-life what? purpose startup safety hobby work-life balance life career career advice bugfixing7 -
I have lost now another device to planned obscolence (how is that still legal), my g3 officially took its last breath two days ago, first it was its battery dying (thousands of devices broke that way [exactly two years after buying it] and at that time there was no batteries to replace it with) - whoever was brave enough to hold onto his device for longer than the battery failure - he then faced the simcard reader breaking and that was my case now too.
I asked many colleagues for help and even found a guy that does repairs for the oldest phones (got too excited), but even he couldnt find the issue, besides a guess that its the main chip that partially died on purpose or it got somewhere desoldered by the always and poorly managed overheating issue, which would cost almost the same to replace as just getting a new phone in the end and even then, theres probably a third switch they planned, to give you the final bullet.
I got a Xiaomi Redmi Note 4 now and really gotta say they have an amazing near vanilla android experience and their "two phone" isolated spaces are quite handy to seperate work and private notifications, apps and files.
It was even compatible with lineageOS and has a simple website to unlock the bootloader (a first for me, never saw any company making it that easy), but after trying their version of it, I don't even have to switch.
I will still miss the vibration motor of the g3, the feedback of it when typing is still to this day the best one I ever tried.8 -
During my first-ever technical interview, the interviewer asked me "Do you know the FizzBuzz problem?"
"Uhh, not really." (I was just thinking ok this problem has a name, must be some algorithm problem)
"So the problem is basically to give you the numbers 1 to 100, if the number is divisible by 3, print 'Fizz', if divisible by 5, print 'Buzz', if divisible by 3 and 5, print 'FizzBuzz'. For other numbers just print out the number itself."
After hearing the problem, I felt so many ideas popping out of my stressed brain.
I thought for a bit and said "ok, so if the digit sum of a number is a multiple of 3, then the number is divisible by 3, and if the last digit is either 0 or 5, it's divisible by 5."
Then I started to code out my solution until the interviewer said "there's an easier solution. Can you think of it?"
This stressed me out even more.
I thought for a bit and said "well, starting from 3, keep a counter that records how many iterations are done after 3. When the counter hits 3, that number would be divisible by 3 for sure. Should I try this solution?"
The interviewer said "Sure." So I started again.
However, I struggled for about another 3min until I realized this solution is a lot harder to implement. The interviewer probably saw my struggle too.
This was the point where he stepped in and asked me "Ummmm there's an easy way of solving this. Have you heard of the MODULO OPERATOR?"
In sheer embarrassment, I finished the code in 30s.
Of course, there was no further question after this, and I felt the need to seriously reevaluate my intelligence afterwards.11 -
YGGG IM SO CLOSE I CAN ALMOST TASTE IT.
Register allocation pretty much done: you can still juggle registers manually if you want, but you don't have to -- declaring a variable and using it as operand instead of a register is implicitly telling the compiler to handle it for you.
Whats more, spilling to stack is done automatically, keeping track of whether a value is or isnt required so its only done when absolutely necessary. And variables are handled differently depending on wheter they are input, output, or both, so we can eliminate making redundant copies in some cases.
Its a thing of beauty, defenestrating the difficult aspects of assembly, while still writting pure assembly... well, for the most part. There's some C-like sugar that's just too convenient for me not to include.
(x,y)=*F arg0,argN. This piece of shit is the distillation of my very profound meditations on fuckerous thoughtlessness, so let me break it down:
- (x,y)=; fuck you in the ass I can return as many values as I want. You dont need the parens if theres only a single return.
- *F args; some may have thought I was dereferencing a pointer but Im calling F and passing it arguments; the asterisk indicates I want to jump to a symbol rather than read its address or the value stored at it.
To the virtual machine, this is three instructions:
- bind x,y; overwrite these values with Fs output.
- pass arg0,argN; setup the damn parameters.
- call F; you know this one, so perform the deed.
Everything else is generated; these are macro-instructions with some logic attached to them, and theres a step in the compilation dedicated to walking the stupid program for the seventh fucking time that handles the expansion and optimization.
So whats left? Ah shit, classes. Disinfect and open wide mother fucker we're doing OOP without a condom.
Now, obviously, we have to sanitize a lot of what OOP stands for. In general, you can consider every textbook shit, so much so that wiping your ass with their pages would defeat the point of wiping your ass.
Lets say, for simplicity, that every program is a data transform (see: computation) broken down into a multitude of classes that represent the layout and quantity of memory required at different steps, plus the operations performed on said memory.
That is most if not all of the paradigm's merit right there. Everything else that I thought to have found use for was in the end nothing but deranged ways of deriving one thing from another. Telling you I want the size of this worth of space is such an act, and is indeed useful; telling you I want to utilize this as base for that when this itself cannot be directly used is theoretically a poorly worded and overly verbose bitch slap.
Plainly, fucktoys and abstract classes are a mistake, autocorrect these fucking misspelled testicle sax.
None of the remaining deeper lore, or rather sleazy fanfiction, that forms the larger cannon of object oriented as taught by my colleagues makes sufficient sense at this level for me to even consider dumping a steaming fat shit down it's execrable throat, and so I will spare you bearing witness to the inevitable forced coprophagia.
This is what we're left with: structures and procedures. Easy as gobblin pie.
Any F taking pointer-to-struc as it's first argument that is declared within the same namespace can be fetched by an instance of the structure in question. The sugar: x ->* F arg0,argN
Where ->* stands for failed abortion. No, the arrow by itself means fetch me a symbol; the asterisk wants to jump there. So fetch and do. We make it work for all symbols just to be dicks about it.
Anyway, invoking anything like this passes the caller to the callee. If you use the name of the struc rather than a pointer, you get it as a string. Because fuck you, I like Perl.
What else is there to discuss? My mind seems blank, but it is truly blank.
Allocating multitudes of structures, with same or different types, should be done in one go whenever possible. I know I want to do this, and I know whichever way we settle for has to be intuitive, else this entire project has failed.
So my version of new always takes an argument, dont you just love slurping diarrhea. If zero it means call malloc for this one, else it's an address where this instance is to be stored.
What's the big idea? Only the topmost instance in any given hierarchy will trigger an allocation. My compiler could easily perform this analysis because I am unemployed.
So where do you want it on the stack on the heap yyou want to reutilize any piece of ass, where buttocks stands for some adequately sized space in memory -- entirely within the realm of possibility. Furthermore, evicting shit you don't need and replacing it with something else.
Let me tell you, I will give your every object an allocator if you give the chance. I will -- nevermind. This is not for your orifices, porridges, oranges, morpheousness.
Walruses.16 -
I have a rant. A genuine rant, not a funny story, etc.
I want a keyboard. I need one. It can cost €500, as long as it won't break in a year and fulfils all my needs. Make it a €1000, I don't care. What are my needs then? Well...
It has to be a split keyboard - two halves. But wireless in every aspect, ergonomic, with multimedia keys on its outer edges (preferably pointing outwards, not up) and a heavy metal trackball on the right outer edge (preferably upper right corner). That's a bare minimum.
On top of that it probably some magnetic scrolls for things like navigating pages, changing volume and fidgeting in general wouldn't hurt. Also I'd prefer it to snap back into a one-piece whenever I need it to lie on my knees, e.g. when I type while sitting on a coach (I have a coach PC setup, no desk, and there's a reason). Why do I need it to split then...?
I had an accident. Kind of broke my back when I was 11. It's mostly okay now after couple years of rehabilitation and many more years of careful living. Luckily the only two wheels I ride on are powered by a 105.97 hp @ 9,970 rpm engine. Still, I try to be careful so I tried tons of work hygiene techniques over the years and I found out anything over 2 hours is best done while lying flat.
Coding while lying flat has its challenges, mostly focused around screen and input. Ever since I got a VR headset half of them got solved but the other half - acquiring a suitable keyboard - it's very hard to satisfy. I tried that with a one-piece keyboard lying on my stomach. Turns out actively bending elbows quickly wears them out (hello tennis players). So a split keyboard it has to be. So far I tried 4 different ones and I had to modify the cable connecting both halves in each and every one of them so that it'd be long enough to go behind my back. The main cable itself I only had to modify once because usually there're extensions available.
Apart from cables, all of those keyboards had issues. Starting from some kind of de-syncing when keys from both halves would randomly register in a wrong order - I didn't know it's possible with a cable connected halves... I did try two generic WiFi keyboards (using one for each hand) and they unfortunately suffered from that very same issue but I was sure it wouldn't happen if the device was designed to be a one unit from the very beginning, right? And yet it in 2 of the tested devices.
Other than that, plugs disconnecting on their own forcing me to take off the headset and fiddle around, too high key travel that'd strain the wrists after a few hours, even the noise that would wake up my girlfriend sleeping in a separate room were all a common issue (I briefly had an almost completely silent WiFi mechanical keyboard from Logitech we both really liked, but it was a one-piece). Once I got a split keyboard that was "natively" WiFi but not only the two halves were still connected with a cable that turned out to be way too short for my needs, it also had a very noticeable lag despite the high price - a lag way higher than any of the cheap WiFi keyboards I owned in the past. So I sent it back. Now IDK what to do because AFAICT there are no more models available, at least where I live.
So yeah, I need a keyboard and I'll probably have to make one myself. Sorry, just had to vent.5 -
Job rant.
There is something terribly wrong with job search portals. The portals are suppose to point me to jobs from companies. Instead staffing companies flood these portals and make them impure. So, when under job and apply essentially they take me to their own portal and ask me to sign up.
If your portal was good then I would have signed up.
I looked at job description and loved it. Then half way the form I realise this company is asking too many questions.. realised I am not apply for job but creating profile on some another portal.
Damn all of you for playing with a jobless engineer's feelings. -
almost end of working day... jobless...
me : *running `uptime` on a server*
*for no reason* : runs `uptime --pretty`
interesting output... ( that I have seen so many times on my personal machine because I have `uptime` aliased to `uptime --pretty` )
*thinks to self* : didn't we create that program that computed a similar output? Wonder if the code is similar...
*brain gets excited about the source code of `uptime`*
goes hunting for the source code of `uptime`... finds it... ( wasn't too hard anyway )
now here I am comparing my code with the source code of `uptime`
what a way to end the day... 🤦 FML!1 -
!rant
You knoe, my first insights into computer programming came out of spite. I thought windows to be garbage and wanted to blame someone other than myself for my machine constantly crashing. Thus I discovered programming and down the rabbit hole. But my interest in computer science came from videogames. Portal in particular. I found the idea of GlaDOS fascinating and thought that artificial intelligence would be something interesting to research. The web then gave me Lisp, and boy was the language different from all the other languages I went through. I remember feeling super excited when Racket, Common Lisp and eventually Clojure would help me discover many different ideas. Every time I work with reduce or maps or stuff like that in other languages I always thank languages such as Clojure for having me descipher different ways of manipulating data to get a result. To this day I feel sad whenever I find that my languages do not have the same constructs that Clojure has. I mention Clojure because it is my favorite flavor of Lisp. But one thing that always remains grest to me is firing up Emacs and plugin my code to Slime or Cider and see the repl pop up waiting for something to happen. This feeling is beautiful.
Please guys, if you have not tried it, do so! You might hate it at first or push it aside. But trust me, once you get it it will really change the way you think about programming in general. Try the great Clojure for the Brave and true, and go through the third chapter succesfully. If you do not like Lisp by them then no harm done! You would at least know that there are other options.
Now, here are some cool things:
For the standard implementation, try Common Lisp
For a more modern Scheme, try Racket or Guile
For targetting the JVM try Clojure (more akin to Common Lisp) or Kawa (scheme like)
For the python AST get Hy (pun totally intended)
For JS try Clojurescript
For emacs scripting try Emacs Lisp (has way too many disasdvantages but still relatively close to common lisp)
Honorific mention to more pure functional programming languages for Haskell, F#, Ocaml.
Also worth mentioning that Js , Ruby and Python have great functional constructs.
(println "you will not regret it!")2 -
Without a doubt it has to be the internal company search engine/file finding tool @thewamz and I wrote.
The company has a wide UNC network with files scattered all over the place and they need a way to keep track of where the files get moved to (they can and do get moved). The original tool was written in Java/Tomcat and didn't use any frameworks or utilities beyond custom written ones, no orms, and the SQL was just raw strings. The program didn't take into account that files might be moved or deleted so it never removed anything from the database, it just kept adding files and never removing them.
It however never stores files itself, just links to files elsewhere on the UNC network.
It took six months to get it into what might be a stable beta or release candidate state. The user interface is good, very simple and intuitive, the whole thing was rewritten in python/django, there were issues with utf 8 (and mysql not fully supporting utf 8 in its own utf 8 mode), we added a regex search mode (which was sorely lacking), the search used to take up to fifteen minutes however we sped it up to less than a minute (worst case when a user simply puts "^$" as the regex search). It has a multi threaded design which does some checks to ensure it doesn't spawn too many threads and get stuck in constant Gil switching. Still some bugs to fix, like moving the processing of results returned by the server in a web worker so that the content widget doesn't lock up processing millions of search results and moving the back end to use asynchronous python might gain a performance boost. But on the whole I think the system is ready to replace the older system that all the users are frustrated with and constantly complain about.
However the annoying bit is... How to actually get the new system online, while I am responsible for the development of tools and their maintenance, I am not responsible for their initial deployment and that means I have no idea when (or even if) my new tool will even ever be released :/ -
I have a ton of nostalgia for ROBLOX, but everything seems to get broken over time. As ROBLOX updates, something changes about the way the code works. Enough to the point where things that usually work stop working. I mean, look at literally all of the old gear; Many of them are completely broken. I've seen many old, fun games completely die because the devs stopped fixing the problems the ROBLOX devs were causing by constantly revising the engine. I'm afraid to make something too big and complicated because then it'll eventually stop working, and it will be a nightmare to figure out what I need to revise.
-
I joined engineering to learn a lot of things and build cool stuff with other classmates and lecturers. But the college,universty and all students were only focused on grades, literally no one wants to learn anything , they just memorize the information , write it in exam and forget by next semester. Lot of students werent even able to build a demo web application projects , they just borrow it from their seniors,buy it or anyway except building by themselves.
I somehow didnt like this process and was always opposed to the process, i didnt study last night for many exams , just wrote what i knew , i was able to pass most of the exams , but some failed too may be because i wasnt that good at that subject or the valuator needs answer as exactly as in his book. I went on to learn it all by myself , ignoring my grades , as it takes lot of time to maintain grades, and is way too less exciting than programming.
I m building an interesting project for my final year and have worked as freelancer to develop and implement few web and mobile applications.
Now, at the end of the college, they have the job , i have only have skills.
I even feel that if that kind of guys can get selected there, then i should not be there.2 -
I'm just fed up with the industry. There are so much stupidity and so much arrogance.
My professional experience comes mainly from the frontend and I feel like it's not as bad on the backend but I'm still convinced it's not really different:
I'm now about to start my 3rd job. It's always the same. The frontend codebase is complete shit. It's not because some juniors messed up not at all. It's always some highly paid self-proclaimed full-stack developer that didn't really care somehow hacked together most of the codebase.
That person got a rediculous salary considering the actual skill and effort that went into the code, at some point things became difficult, issues started to occur and that person left. If I search for that person I find next to the worst code via gitlens on Linkedin it's somebody that has changed companies at least two times after leaving and works now for a lot of money as tech-lead at some company.
There's never any tests. At the same time the company takes pride in having decent test coverage on the backend. In the end this only results in pushing a lot of business logic to the frontend because it would just take way to long to implement it on the backend.
Most of the time I'm getting told on my first day that the code quality is really high or some bullshit.
It's always a redux app written by people, that just connect everything to the store and never tried to reflect about their use of redux.
Usually it's people, that never even considered or tried not using redux, even if it's just to learn and experiment.
At the same time you could have the most awesome projects on github but people look at your CV, sum up the years and if you invested a lot of time, worked way harder to be better than other developers with the same amount of experience, it's totally irrelevant.
At the same time all companies are just the worst crybabies about not being able to find enough developers.
HR and recruiters are generally happy to invite somebody for an interview, even if that person does not have any code available to the public, as long as that person somehow was in some way employed in the industry for a couple of years. At the same time they wouldn't even notice if you're core contributor for some major open-source product if you do not have the necessary number of years in the industry.
I'm just fed up.
By the way, I got my first real job about two years ago. Now I'm about to start my third position because my last job died because of the corona crisis. I didn't complain for some time because I didn't want to look like I'm just complaining about my own situation. With every new job I made more money, now I'm starting for the first time at a position that is labeled "lead" in the contract.
So I did okay. But I know that lots of talented people that worked hard gave up at some point and even those that made it had to deal with way too much rejection.
At the same time there are so many "senior" people in the industry, that don't care, don't even try to get better, that get a lot of money for nothing.
It's ridiculously hard to get a food in the door if you don't have any experience.
But that's not because juniors are actually useless. It's because the code written by many seniors is so low quality, that you need multiple years of experience just to deal with all the traps.
Furthermore those seniors are so busy trying to put out the fires they are responsible for to actually put time into mentoring juniors.
It's just so fucked up.3 -
TL;DR: I have some rambly shit to say...
Update on the Uni stuff: I think I got a pass in all the subjects. Two exams left but I am holding on. It's a big deal to me since last year I could barely do a single subject per semester - a subject I had failed a few times because of lack of interest and good ol' depression. Anyways, I persisted with that subject, got my Bachelor's in Food Technology and now I'm doing that Master's of mine... It probably looks wild to people here that I did that switch but I have always had a relationship with computers as long as I remember myself. So it's not surprising that as soon as I got a choice in what I *actually* wanted to do I chose this kinda thing. But I do have to rant that it took me 10 fucking years to choose! And that I did not choose it before choosing food technology which I will probably never use anyways. I wasted so much of my energy and time on that. I did elect programming as one of the subjects while doing food tech but I really should have moved to something else. But oh well. Guess I had to find out the hard way.
For all those reading, this is what it looks like when you're 30, have very little experience in doing programming for anything else than academics and are doing a major career switch through studies after struggling for 10 years with a 4-year Bachelor's. But such is life.
Also a bit off topic but I just cannot handle people not telling what they mean because of the inability or lesser ability to tell what that is in the first place.
I can't deal with the fact of how fucked human societies are. I just can't. I am way too nice for it. So I listen to stuff like true crime to really get a feel of how evil people can be. I know it's ~problematic~ or whatever, but to me it is a way of engaging with the lesser spoken side of human beings.
And maybe, just maybe, I should get checked for ADHD again because I feel like despite my therapy for depression, nothing really has changed with the ADHD symptoms I was diagnosed with. And maybe for autism since people have labelled me that way and it might explain some stuff... All that is to say I need some good mental care. And this society is shit for it. Hell, apparently one of the psychologists I was under the care of thought depression resulted from ungratefulness. All this while I was legit being abused. But that abuse has stopped now that I found a psychologist that is actually standing up for me. I just mourn for all the time I spent being depressed and how it fucked my memory and stuff. How much it affected me and all. I have no idea why I'm being this vulnerable but it feels somewhat fitting... How do you cope with being 30 and not remembering almost all your life? What you remember being what you managed to write down or has been negative enough it stuck in the brain for forever...
Just why am I fucking supposed to be all happy and shit when I am just tired of life because it is too goddamn much? I have no real reason to look forward to things, online friends and the offline one included. Because ultimately, I have no damn motivation to look forward to anything, really. I am supposedly doing better but in reality I am just getting better at going through the motions. The therapy, while mindblowingly effective, is not actually addressing the core cause of everything and just expecting me to fake it till I make it. And this is me saying that about CBT. Why should I have to tell myself things just to feel human? I am one and as long as I'm alive, nothing will change that. So why do I have to always feel like an alien wherever I am? So out of touch with myself that I don't have a self image or an ability to even tell what the actual fuck I want from life... I am getting better with the latter, but still. It hurts. I wanna shed so many tears but I'm frustratingly unable to do so.
I am just a human trying to human in this ocean of 8 billion humans. Maybe I will find some more connections, maybe I won't.
I wanna end this rambling session by a few things:
1. I will have to go to Canada at some point this year to see my in-laws and some other family over there...
2. I will probably have to seek a job there (for financial reasons it is much better for me to have one there and to work remotely in Georgia) and I have no idea of where to start since I am not the greatest material for it.
3. Life is going alright-ish.
4. I will hear from the startup company at some point this month.
5. I have plans for my future but no idea if they will ever come true at this point.
6. My family arrangement will have to change in more ways than one.
7. I should resume my unofficial first music album and engage in creative stuff because at the core, I have a need to do so.
8. Do I really have to do Duolingo again? I really want to not forget German and Russian, but I just never have practice. And Duolingo is surprisingly easy to forget to do for me.
The end.2 -
Cant believe I just figured out ctrl R in a linux terminal. I have hit the up arrow key way too many times.
-
Connecting rooms by determining which rooms are closest. Some rooms connections cross other rooms. Found out how to eliminate those. Picture as first comment. It stills suffers of hub rooms have way too many connections. So I will have to figure out how to cull connections of rooms that have too many.7
-
I should reinstall winballz, but I have way too many things to back up and re-setup. I hate my life so much in these moments.
-
I hate this feeling.
Changing stuff with a greamripers scythe around my neck called doubt because the available data isn't too convincing.
Then having to go big or nothing as it is an ecosystem change (e.g. changing the cipher suites of TLS, changing protocol - e.g. HTTP 1.1 to 2) so it needs to be consistent as otherwise fun stuff could happen (fun as in the grim reaper cuts off my neck except a few centimeters and plays "now your head is off, now your head is on" ).
To top it off - just few seconds after the change has happened people coming up in the support channel.
My hands are - mysteriously - not sweaty then. Rather cold.
Lil prayer to the heavens and getting the whiskey bottle...
Opening an ongoing discussion in support channel....
And they're discussing whether the page needs to have an additional arrow for going back to the last page or if the default page navigation is enough.
Constantly using @all so everyone gets pissed off due to being pinged every few seconds in a channel that was meant for emergency support.
Now my hands go from a dark red to a bright red, my nostrils flare out, my adrenaline goes through the roof and I literally wanna murder people....
Those days.
I hate those days.
And I hate the timing of some people...
Like they're deliberately fucking with me without knowing it, like the universe told them explicitly to do so just to fuck with me.
*gooozfraba*
And of course, everything else is fine and running smooth like butter, except that said discussion now goes on in a total flamewar so I get even more pings.
Sucks to be in management.
You have way to many rooms where people can annoy you.
To top it off - after being grumpy and pissed and angry for people just annoying the fuck out of me, I have to mediate.
Yeah. Cause the usual person is on vacancy.
*slowly strangling the whiskey bottle like homer does with bart*
Turns out after 15 mins listening to enraged UX designer vs Frontend Team Lead that UX designer meant a completely different thing - uploaded wrong screenshot, whole discussion was unnecessary.
*Nah. Fuck it. Drinking whiskey*
Reminding everyone what the fucking frigging support channel is meant for and that penis fights aka who got the longest schlong don't belong there....
"Yeah it was a mistake, but it wasn't so bad"
...
You pinged fucking 32 people like it was the end of the world, you ignorant fucktwads.
For over 5 mins.
For fucking frigging nothing except your tiny dicks and shitty egos.
*Second round of whiskey*
Back to work after a wasted half hour.
What says monitoring?
Ah. Everything's working.
At least luck hasn't failed me.
Good server. Brave server.
Then I hear this lil voice in my head: no.
The servers know your personality.
They're afraid. Terrified.
Somehow that thought makes me giggle always...
Childish? Maybe. But it helps on those days.... Funnily enough, remaining 3 hours noone said anything in any chat channel.
"I wonder why, I wonder how...."... *hum* -
I subscribe to many copywriting newsletters. Here's an article that shows how it's like on "the other side", marketers struggle, too.
How Kevin's Massive Mistake
Completely Changed His Life
Kevin H. made a huge mistake.
The biggest, he would say, if he could tell you himself.
And he knew it immediately.
It was, he said, "instant regret."
Within milliseconds, he was asking himself "What have I done..."
Kevin, see, had just jumped the rail of the single most popular suicide spot in the world, the Golden Gate Bridge.
On average, the site gets another distraught jumper every two weeks. Kevin was one of them.
It wasn't like he hadn't tried to quiet the voices in his head. Therapy, drugs, hospitalization.
Time to die, those voices still said.
And yet, in the minutes his bus dropped him off at the bridge, he hesitated and paced with tears in his eyes.
"I told myself if just one person comes up to me and asks if I'm okay... if one person asks if they can help... I won't do it. I'll stop and tell them my whole story..."
But nobody did, so he jumped.
It was in those next milliseconds, he would later say, he knew it was the biggest mistake of his life.
He didn't want to die.
But now, he was sure, it was too late.
From its highest point, it's a 245-foot plummet into the icy bay waters below.
Out of the 1,700 people that have jumped from the bridge since it first opened in 1937, only 25 have survived.
Kevin, against all odds, would be one of them.
He slammed into the water like hitting concrete. Three of his vertebrae instantly shattered.
When he surfaced, he couldn't hold his own head above water. But, incredibly, a sea lion kept pushing him up.
The Coast Guard soon arrived and pulled him out.
From there, he began a long recovery that required intense surgery, physical therapy, and psychiatric care.
While still under treatment, a priest urged him to give a talk to a bunch of seventh and eighth graders.
Afterward, they sent him a pile of letters, both encouraging and full of their own pained thoughts.
He also met a woman.
Today, Kevin lives in Atlanta and he's been happily married for the last 12 years.
And he tours the country, sharing his story.
So why re-tell it here?
Obviously -- I hope -- you don't get lots of copywriters looking to snuff it after a flopped headline test.
Just the same...
We've talked a lot in this space about the things one needs to get by in this biz.
My friend and colleague Joe, over at the publishing powerhouse Agora Financial, likes to list requirements.
You need intense curiosity...
You need a killer work ethic...
And you must, MUST have... resilience.
Meaning, you must have or find the capacity to bounce back from failure and flops, even huge ones.
Now, again, Kevin's story is an extreme and in this context -- I hope -- a hyperbolic example of somebody giving up. In the worst way possible.
It is also, though, a metaphor.
See, I get a lot of notes from some of you guys... and at conferences, I get to talk to a lot of people...
And I often get the sense, from some folks, that they're feeling a little more overwhelmed than they let on.
Some are just starting out, and they've got a lot on the line. For some, it's everything. And some are desperate to make it work.
Because they have to, because their pride or livelihoods or a family business is at stake, because it's a dream.
And yet, they're overwhelmed by all the tips and secrets... or by piles of confusing research or ideas...
For others, even had some success, but they're burned out, feel antiquated, or feel like "imposters" that know less than they let on, in an industry that's evolving.
To all those folks... and to you... I can only say, I've been there. And frankly, go back there now and again.
Flops happen, failures happen. And you can and will -- even years and decades into doing this -- make the wrong choices, pick the wrong projects, or botch the right ones.
The legendary Gene Schwartz put it this way, according to a quote spotted recently in fellow writer Ben Settle's e-letter...
" A very good copywriter is going to fail. If the guy doesn't fail, he's no good. He's got to fail. It hurts. But it's the only way to get the home runs the next time."
Once more, nobody -- I hope -- is taking the trials of this profession hard enough to make Kevin's choice.
And believe me, I don't mean to make light of the latter. I just want to make sure we hit this anvil with a big hammer. To drive home the point that, whatever your struggle, be it with this biz or something bigger, that you don't want to give up. Press on.
As Churchill put it, "Success, is the ability to go from failure to failure without losing your enthusiasm."
Or even more succinctly when he said, "If you're going through hell, keep going."
Because it's worth it.
.
John Forde -
Note: I have deleted my previous version of this question as I found it lacking crucial information and therefore being prone to misunderstandings.
Question : In C/C++ you can position the keyword 'const' either left or right of the left-most type specifier. Which variant do you prefer?
I ask that because I'd like to hear your opinion. Although I have been working with C over three decades now, I only learned this a couple of years ago. After some experimentation I decided for myself, that I like the placement to the right more. Although the positioning to the left is taught in literally every book and course, the original placement suits me better.
One reason, of many, is the listing of many member variables in structs or classes. To have them nicely aligned, I always had to put 'const' either on the previous line or put in extra indention to everything non-const. That was quite irritating sometimes.
Another, and my main reason is, that when reading from right to left, the rhs variant just makes more sense than the lhs variant. Reading from left to right almost never makes much sense without straining your eyes. But that is, of course, highly subjective.
This is even more so if you have pointers. The 'const' keyword modifies the type identifier(s) to the left. So if the 'const' is (anywhere) left of the '*', the data is const. If the 'const' is right of the '*', the pointer address itself is const. The same applies to references.
Examples, read right-to-left:
int* const i; // i is a const pointer to int data
int const* i; // i is a pointer to const int data
int const* const obj; // i is a const pointer to const int data
The "classical" or "taught" way, that is found almost everywhere would read, still right-to-left:
int* const i; // i is a const pointer to int data
const int* i; // i is a pointer to int data const
const int* const obj; // i is a const pointer to int data const
Not only that the second "lhs" form reads worse, it also looks worse. In my opinion, the first "rhs" variant makes it simpler to quickly determine that we are dealing with three ints, while on the second "lhs" variant, one has to first get past the 'const' keywords.
I know that this is not only a matter of taste, but of course of agreement, too. You can not just go and switch the 'const' placement in long standing projects. That would surely piss of a lot of people. Or even cost you your job.
But I like to know what you people think and why.
Thanks a lot in advance!5 -
I’m feeling a bit stuck at work recently. I have a new department head and he keeps periodically asking me to do things that are very much not the normal responsibility of my role. These are always very simple things, things I am certainly capable of doing, but should fall outside of my purview. We even have documented methodologies indicating this sort of thing is not the sort of thing I’m expected to be responsible for. The trouble is, I’m not sure if when he’s asking me to do this it’s because he’s still new and not completely up to speed on who does what, or if this is a situation where he is The Boss and if he’s telling me to do it then now it is my responsibility, if not permanently, at least on these specific occasions. I’m also disinclined to just run with it without saying anything because then it really will become my responsibility, and there are good reasons why it currently is not.
I am having difficulty thinking of a way to bring this up that doesn’t sound like I’m refusing to do it. On the one hand, it’s not my job, but I also know that going around saying “that’s not my job” is not appropriate. The situation is not quite that I don’t have the authority to do the task, but that’s closer to the type of reasoning for why my role isn’t responsible for the thing, and it’s always restricted to people in a different role. Part of the internal rationale was a sort of “too many cooks in the kitchen” situation in the past, but there are also other logical reasons why staff in my role are not intended to be involved.
I’m also hesitant to push back at all since I can’t tell if the boss is coming from a place of not knowing or one of reassigning. I don’t want to seem difficult (but also reallllly don’t want this added to my plate). I don’t know the new department head well enough to guess whether it’s more likely a misunderstanding vs a change in policy. I’m struggling with finding the words for how to bring it up without sounding like I am saying “that’s not my job”. Is this the sort of thing that is better handled in the moment, or waiting for a time separate from when he’s making the request to talk about it more generally? Help!1 -
Story of my first successful project
Being part of a great team, I've shared in a lot of successes, one I am particularly proud of is my first attempt to use agile methodologies in a deeply waterfall-managment culture.
Time was June/July-ish and we applied for a national quality award where one key element in the application stated how well we handled customer complaint resolution.
While somewhat true (our customer service is the top-shelf good stuff), we did not have a systematic process in resolving customer complaints. Long story short,
the VP lied on her section of the application. Then came the 'emergency', borderline panic meeting (several VPs, managers, etc) to develop a process to better manage
complaints before the in-house inspection in December.
As most top priority projects go, the dev manager allocated 3 developers, 2 DBAs, and any/all network admins we would need (plus all the bureaucratic management that wanted their thumb in the pie).
Fast forward to August, after many, many planning meetings, lost interest, new shiny bouncing balls, I was the only one left on the project. The VP runs into the dev manager in the hallway and asks "Is my program done yet? If its not ready before December with report-able data, we will not win the award."
The <bleep> hit the fan...dev manager comes by...
Frank: "How the application coming along? Almost done?"
Me:"No, haven't really started coding. You moved Jake and Tom over to James's team, Tina quit, and you've had me sidetracked helping other teams because the DBAs are too busy."
Frank: "So, it's excuses. You really think the national quality award auditors care about your excuses? The specification design document has been done for months. This is unacceptable."
Me: "The VP finished up her section yesterday and according to the process, we can't start coding until the document is signed off."
Frank: "Holy f<bleep>ing sh<bleep>t! No one told you *you* couldn't start. You know how to create tables and write code."
Me: "There is no specification to write to. The design document is all about how they plan on reporting the data, not how call agents will be using the application to serve customers."
Frank: "The f<bleep> it isn't. F<bleep>ing monkeys could code against that specification, I helped write it! NO MORE F<bleep>ING EXCUSES! This is your top priority from now on!"
I was 'cleared' to work directly with the call center manager and the VP to develop a fully integrated customer complaint management system before December (by-passing any of the waterfall processes that would get in the way).
I had heard about this 'agile' stuff, attended a few conference tracks on the subject, read the manifesto, and thought "I could do this.".
Over the next month, I had my own 'sprints' and 'scrums' with the manager (at the time, 'agile' was a dirty word so I had to be careful of my words and what info I shared) and by the 2nd iteration had a working prototype.
Feature here, feature there (documenting the 'whys' and 'whats' along the way), and by October, had a full deployed application.
Not thinking I would get a parade or anything, the dev manager came back from a meeting where the VP was showing off the new app to the other VPs (and how she didn't really 'lie' on the application)
Frank: "Everyone is pleased how well the project turned out, except one thing. Erin said you bothered him too much with too many questions."
Me: "Bothered? Did he really say that?"
Frank: "No, not directly, but he said you would stop by his office every day to show him your progress and if he needed you to change anything. You shouldn't have done that."
Me: "Erin really seemed to like the continuous feedback. What we have now is very different than what we started with."
Frank: "Yes, probably because you kept bothering him and not following the specification document. That is why we spend so much time up front in design is so we don't waste management's time, which is exactly what you did."
Me: "We beat the deadline by two months, so I don't think I wasted anyone's time. In fact, this is kind of a big win for us, right?"
Frank: "Not really. There was breakdown in the process. We need better focus on the process, not in these one-hit-wonders."
End the end, the company won the award (mgmt team got to meet the vice president, yes the #2 guy). I know I played a very small, somewhat insignificant role in that victory, I was extremely proud to be part of the team. -
Let me just say that I've been playing whack a mole with a new feature for while now. And it's becoming very tiring.
TLDR; CTO is changing the way we're going to implement this, every other day.
June 1st,
CEO: let's implement feature AAA,
CTO: we're going to have a call with Andy to tell us all about his product that will make this super easy, call will be June 4th.
Days before June 4th,
Me: Researchs product X, makes demo works flawlessly.
June 4th,
Call all good, few tips from Andy. We come to the pricing section of Product X
CTO: this will not work, pricing doesn't fit on our budget, fair enough.
June 7th -11th
Me: research altenative approach. Makes second demo.
CTO: Works good, seems to have too many moving parts, let's have call with Bob to check Product Y. It should make our lifes easier.
ME: Geee, ok let's check it out.
June 14th,
Call with Bob, all good, product has a fair price, stuff is experimental.
CTO: let's use Product Y, and just use what we get from their api now, and worry about changes later.
Me: Hmmm, that's a bit risky, but ok, you the boss, right?, starts again new demo. API doesn't work as documented.
Lots of trial and error to figure out how the api is working now, finally demo works well,
June 17th,
API changed, now it works as documented, (expected as it is experimental), previous demo doesn't work anymore.
June 18th,
Redoing research. inputs are completely different from Product Y now, need to redo all that is working and do and a lot more of research.
Go live is scheduled for end of next week, I hope that the API is stable now, and that I get to go live on schedule.
It is funny to see, that it would probably been the same if we just waited on the API to stabilize, and check the pricing section before choosing a product? Who knows.
Anyways, I actually feel happy that over the years I developed the patience to work with ever changing situations like this one.4 -
The taboo of not finishing.
(As I prefaced to many posts I made, don't take this too seriously)
It is very normal in the programming world to get recommended to finish projects.
But I was wondering "what if you don't?".
Of course, we can agree that having little patience or persistence is not good for any endeavor.
But what if this recurrent focus on finishing is also bad?
Granted, I have started dozens of things and only finished one or two of them and none have become popular.
So there's not a lot of support to back my take.
But I definitely learned a lot from these projects. And I definitely had a lot of fun at some points.
In fact, I think if I had switched more often early on I would have been less miserable, and maybe I would have learned more by the virtue of not getting stuck with some project.
Of course this applies as long as you stay within the same field; it doesn't help learning gardening one day but karate the following.
But even then, there are so many hobbies in life that the chance of finding the one that you love and are the best at are very slim. So switching out of the least pleasant ones might bring you to a favorite one.
But, let's go back to programming.
Here, people recommend finishing things as means to become profitable. If you want to live as a gamedev, then you need to sell games, and to do that, you need to finish games.
That is understandable.
But if gamedev isn't your main profit, why is finishing games a requirement?
What's the point of publishing a game that you know looks like shit?
Why? Why should you put time and energy, pain and stress, all the way through the end only to finish or even publish a game that you can feel ashamed of how awful it looks? (because most 1st games look awful).
Why would you ever want to finish something that looks horrible?
First tries are always terrible, and that's fine, nothing wrong with that.
What's wrong is this sheepthought that you should publish to the public every turd that you can produce in your early learning stages.
I've been a programmer for almost 8 years now. I'm not the best out there, but I consider myself ok.
And considering I had some pretty deep depression pits thanks to this mentality, here's my advice to folk having stress with unfinished projects: don't give a single fuck.
If a side project has become stressful, shelf that shit, maybe tell someone about your issues with it. But don't care much about it.
In fact, if you manage to finish a project but it has costed you a great deal of stress, maybe that should be the shameful thing.
Life is too short to waste it considering suicide because you're not a prolific programmer.
And i would argue that iterating 100 times on different things is far more productive (and fun) than fetting stuck or spending shitloads of time on the first one, even if you don't finish any of them.2 -
Tl;dr I am incredibly ashamed of my code at work.
I recently started working as a junior dev. I know many aspects of the stack I use, and I feel pretty comfortable when solving simple and specific problems.
But this is the first complete project I make, and I received no peer review until now. And my code sucks.
I tried my best to deliver a good and working code, but it became messy in too many places. Now it's too late to refactor.
Probably I just cannot see the right way of modeling specific situations, I don't feel I should blame the frameworks I'm using, but the point is that my code sucks. Or at least this is how I feel.
I'm going to leave this workplace soon (personal reasons, not related to this topic and/or the company), and I am kinda scared of the shit I'm about to leave to them. It's a very nice environment and they don't deserve this crap. Also I have some other good reasons to worry about this, but I cannot tell them.
My plan is to finish a couple or personal stuff I have to do and then spend as many hours I can on the project trying to finish it asap and make the code better (for now I've been working only 6hr/day).
I'm really thinking that I just suck at this.12 -
I used to fucking love VSCode it visually was great, it was simple, had an integrated terminal that wasn't shit, supported many languages well (while not forcing every extension down your throat), and was straightforward to configure. I also had problems with it, mainly I felt it was way too bloated for an editor.
That good impression I had is gone now. It seems like every time I'm actually using the editor I have to fight with it. Whether that's an update that fucked up my config, or a reinstall and now I have to **convince** my fucking editor to use tabs instead of spaces automatically and I have to specify because holy shit it will not just listen after I set every possible fucking indentation setting to disable spaces or enable/prefer tabs and they keep adding shit like this that I give no shits about that make me sift through the damn settings finding the settings that turn off whatever new visual effect or quirky little automation they've implemented. I can't tell you how much I actively don't want my braces to be matched up by a color that doesn't even have anything to do with my color scheme.
Ive tried switching but holy shit intellisense is such a great feature that helps me so much so I'm not always bouncing between docs and my editor. Which ATM I'm learning go and intellisense has more fucking information on the functions than the docs do. I've seen Neovim (which is what I'm probably switching to) has language servers that are similar to intellisense so I'm intrigued to try that.
I'm just tired of constantly having to avoid all this shit I don't give a fuck about. I just want to get in, do my thing.
I won't be surprised if I'm the only one on this train 🤣8 -
FUCK APPLICATION LEVEL FIREWALLS!
So i cam online today, thought already lets open the shitty outlook webmail client. Holy crap .... thats way to much mails. Many of them are missed teams messages. So i open up teams and holy crap. Like every third dev in my company send me a message screaming "gitab is not working!!!".
Yesterday i updated it so imediately get in panic mode - what the shitty hack have i done?!
So yeah gitlab seems to be working just fine, everything is speedy and responsive, so i call one of my fellow devs and ask him whats wrong? And he is like oh yeah there comes a ldap error saying timeout or something.
I try to login with active directory. Works like a charm. Try another account, same problem?!
Google the problem, search gitlab tickets. Nope there is no open bug or sth. like this.
So alright lets call the network guy. "Yo, can you check if there is something ldap-like getting blocked to the gitlab server?" - He is like oh yeah damn like almost every damn request is getting blocked. Ah wait, there was an firewall update yesterday too. Yeah ldap is no longer ldap. BLOCK THAT SHIT!
After 10 minutes of figuring out what shitty type is detected by the firewall and what needs to be whitelisted to make it fucking work again it seems to work.
But ha no, there is another update rolling on, so same shit like 15 minutes later.
Now it seems to work and i have to inform every damn fcking developer that it works again. And yeah alright you sent a mail, but fuck it, i will call you though! So yeah just answering calls, mails and chat messages. Like why the fuck cant you read your mails like a damn normal person?!1 -
Team of 5 post-grad students working on a single big project for final grade. Been working on this project since last 3 months. 2 of the memebers of my team doens't even know what we are building and we have to present it in 2 weeks, their contribution is less than 5%. How do people not think that its a project for all of us to do and its fucking 30 credits when the course itself is 90. The professors have asked us to give feedback for each member privately and i dont want to give negative feedback about them as they will lose way too many points for it.4
-
Adding more random half-started projects to my hard drive.
I would put them on github but then I'd have WAY too many reps that don't function and I'd feel like I'm wasting storage on github.
At some point I need to get motivation to work on some of these6 -
Oh China, you still continue to amuse me... in that special way where i somehow both expect it and am hilariously, breifly shocked... then it's somber, confirming what we know is real/continues to be a societal and cognitive decline trend with no apparent rock bottom, without all-out demise as a near certainty... nor a hail mary play.
... but hey, what better way to digest the real-time info, indicative of something that should be terrifying, but is all too expected, than this unique type of format?
Seriously though, even if it worked amazingly, why would anyone be using it outside in public? Does it require several hours a day? If not, and it was a worthwhile result for you... wouldn't you just make it part of your morning and/or evening routine...even if it had nothing to do with aesthetics, that cant be sanitary... unless you also carry it in a water-tight container or disinfectant and typically bring/use your toothbrush and toothpaste mid-day or at unusual intervals.
I have sooo many more questions about this... and none are relative to who designed/mass produced this, nor the quality of the silicone. As it was developed/produced by the silicone factory ive done great, professional, no bs, business with for about a decade... which is why i waited years to publicly ridicule this contraption.
Fyi- their primary product lines are things like bongs and dab containers; im on the fence of it that makes this better or worse.
Creepy personal truth... i reeeeally wanna know how much that woman got paid... and do to my skill set (ie. Im near utter certainty that i could find her and ask her... likely easily abd definitely without being caught doing anything suspicious. Pro tip: publicly declaring things like this makes it a bit easier to not end up doing it... obvious premeditation adding significantly more to any sentencing.22 -
The more I refactor a codebase that I have started for 2+ years ago the dumber I feel I have been.
There are too many things that are done completely wrong or in a stupid way.
Currently adding comments like in the picture...1 -
Not a dev question but a cultural question for any of the German devs I’ve seen post here.
My American daughter is living in Germany on an exchange student program. She’s frustrated right now because her host dad and host brother are being really rude and impatient with her over her difficulties with speaking the language. She currently writes it better than she speaks but that and her efforts to keep trying don’t seem to matter to them. This conflict spills over into other social interactions. They constantly berate and make fun of her over everything. The host mom and host sister are nicer and more patient. But they also have to put up with this boorish behavior from the males.
On a train ride home, my daughter was sexually propositioned no less than three times in one hour by three different men. And at festivals she went to where there was lots of drinking, it was even worse.
A German exchange student we once had living with us here in the US regularly broke program rules, slept around, and even downloaded child porn on our network (highly illegal and alarming). My wife was the coordinator for many years to govern the students who came here from many countries and we struggle to think of any but one or two German boys who acted like gentlemen toward ladies.
So is it just a “German guy” thing and commonly accepted in the culture? Or is this type of behavior generally frowned upon and these guys are just in a minority of jerks that we keep having the bad luck of running into?
I know the same question can be and is often asked about American men, too. But I’m more interested in knowing how Germans view Germans who act this way.6 -
Random thoughts on more out of the box tools/environments.
Subject: Pharo
Some time ago I had shown one of my coworkers about Pharo and he quickly got the main idea behind it but mentioned how he didn't like the idea of leaving behind his text editor to deal with source code.
Some time last week I showed the dude some cool 3d animations you can do with Pharo while simultaneously manipulating the code to change them in real time. Now that caught his attention particularly and he decided he wanted to know more about the language but in particular the benefits of fucking around with an image based environment rather than a file based.
Both of us reached the conclusion that image based makes file based dev enviroments seem quaint in comparison, but estimated that it was nothing more than a sentiment rather than a fact.
We then considered what could be the advantage/disadvantages of such environments but I couldn't come up with anything other than the system not having something like Vim or VS Code or whatever which people love, but that it makes up for it with some of the craziest IDE tools I had ever seen. Plugins in this case act like source code repos that you can download and activate into your workflow in what feels something similar to VS Code being extended via plugins written in JS, and since the GUI is maleable as it is(because everything is basically just subsets of morp h windows) then extending functionality becomes so intuitive that its funny
Whereas with Emacs(for example) you have to really grind your gears with Elisp or Vimscript in Vim etc etc, with Pharo your plugin system is basicall you just adding classes that will convert your OS looking IDE into something else.
Because of how light the vm machine is, portability is a non issue, and passing pharo programs arround is not like installing Java in which you need the JVM.
Source code versioning, very important, already integrated into every live environment and can be extended to do pushes through simple key bindings with no hassle.
I dunno, I just feel that the tool is too good to be true. I keep trying to push limits into it but thus far I have found: data visualization and image modeling to work fine, web development with Teapot to be a cakewalk and work fine, therr are even packages for Arduino development.
I think its biggest con would be the image based system, but would really need to look into how this is bad by any reason other than "aww man I want vim!" since apparently some psychos already made Emacs and VS code packages for interfacing with Pharo source trees.
Embedded is certainly out of the question for any real project since its garbage collected and not the most performant cookie in the jar.
For Data science I can see some future, seems just as intuitive and interesting as a Jupyter Notebook actually, but the process can't and will not be the same since I still don't know of a way to save playground snippets unless you literally create classes for it, in which case every model you build gets saved inside of an object, sounds possible but, strange since it is not a the most common workflow in jupyter.
Some of the environment is sometimes glitchy, but it does have continuos development and have not found many hassles.
There is a biased factor from my side: I seem to be wired to understand the syntax and simple object model better than in other languages. To me this feels natural as if I was just writing ideas rather than code, mostly because I feel that there really ain't much in terms of syntax, the language gets out of my way and the IDE feels like the most intuitive environment in the world to me. I can see why some people would find it REALLY weird of counterintuitive tho.
Guess I really am a simple dude. -
Freelancers, what's it like?
Would you recommend it?
What stacks are must have?
What's maintenance like?
What's dealing with hosting like?
Is it mostly webdev? Is there any market for anything else really?
I'm thinking about going that direction. I've been burned by one company too many. I don't know how I can trust a company again. I also that if I have to really manually earn every last cent, might be the best way to make myself care about my work
I'm thinking about it8 -
$rant = new Rant('PHPStorm');
When you work with Drupal 8, you tend to become psychotic because this CMS is just a humongous load of crap. But sometimes, it's just PHPStorm that's fucking with you.
This morning, I lost 2 fucking hours because I was editing a temp file instead of my controller file, and spent way too fucking many time trying to find out where it came from until I discovered the tempfile with good ol' sublime text, and realizing the original file wasn't touched since the beginning.
I wish the huge ass SQL error message I saw to no one, not even my worst enemy.
This afternoon, while refactoring a bit of code, PHPStorm suddenly starts to whine that something is either missing or shouldn't be here (gotta love PHP, heh?). So I spent a time I didn't have to copy the whole fucking function to a notepad, then copying it back bit by bit to get where the error came from.
Guess what? Nothing went wrong, everything was ok from the beginning.2 -
i hate it when comedians smile too much.
it's like they are trying to pander or something. Or compensate the lack of material or humor
God it's so awkward because they smile as if implying that they are funny.
It feels like they are trying to hypnotize the audience into thinking they are funny.
Or as if they were your friends, I don't know what it is, but it's fucking awful.
Isn't smiling back is an evolutionary trait? Marketing folks like to brainwash people with their smiles so there has to be some truth to it.
But the last damn thing I want marketing to corrupt is stand up humor.
Just count how many times jerrod carmichael smiles. Or kate mckinnon.
God fucking dammit, let me decide if you are funny.
You can have good material with meh delivery, but not the other way around, I'm not a fucking baby laughing as a reflex, I can understand sentences.12 -
The one in which I am rn is the reason why so many people dislike php, jquery and Java on the server.
Then previous to this one, classic ASP for the web interface and our desktop components were delphi (OLD ass delphi)
Mind you, these are all tech stacks that I do like (php, java and O Pascal in particular) but really dislike in:
php: we have just your standard procedural spaghetti php on some old ass shit.
Classic ASP: Same as with php, no proper structure, made more apparent by the intense limitations of VBScript, I did enjoy the language tho, had it evolved better It would have been more tolerable, but the hoops i had to take to build a propee API in it....boooooy that shit was an eye opener.
Delphi: Not bad in itself, but the original dev had a shit notion about how architecture should work.....or what architecture is for that matter.
The Java one: this shit was coded when Spring was already an alternative to just fucking around with JSP, or any other framework for that fucking matter. Dude tried....TRIED to implement design patterns in it and it failed on every single fucking component. Worst of all, it was coded in such a shit way that during certain...err...conditions, the bottleneck proved too massive of an ubdertaking and the app chokes and needs to be restarted ... constantly
their use cases for jquery are not bad, but loading all of jquery for the shit they mostly do could have been easily done with just standard vanilla JS.
I got more, but thede are just from the top of my head
I love php, mind you, but shit like this makes me see why some people GREATLY dislikes it.
I alsp have some old web forms in c# and vb net that I loathe, funny enough the code for thise in vb.net is more elegant, almost as if it were from a different developer.3 -
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 -
I’ve become so indecisive in terms of knowing what I want from my career.
All I know is what I don’t want (to end up a in management)
I’m definitely getting a new job and right now it looks like I’ve got 3 offers on the table
Option 1, a previous company I worked for. Still the same problems with the company there as before but the work was interesting and unusual. and my line manager was a good guy.
They have practically no legacy code.
Not much in the way of company benefits but they’re local and it would be nice to see friends again.
So feels like the pull to this is strong.
Option 2, a fully remote company that I’ve been referred to by an ex-workmate.
They’ve not even tech tested me because they’ve read my blogs and GitHub repos instead and said they’re impress. So just had a conversation with them. I feel honoured that they took the time to look at what I’ve done in my own time and use that in their decision.
Benefits are slightly better than option 1 (more hols)
But they’re using .net 6 and get a lot of heavy use on their system and have some big customers. I think the work is integrations to start with and moving services into docker and azure.
Option 3, even though I’ve got an offer from this one but they can’t actually explain the work until We can arrange a call next week (they recruit and then work out what team your in, but Christmas got in the way of me having a call with them straight away)
It’s working on government systems and .net is their least used stack so probably end up switching to Java. Maybe other tech stacks too.
This place has much better benefits than option 1 and 2 (more hols and more pension), but 2 days a week in office.
All of the above pay the same salary.
Having choice feels almost as bad as having no choice.
It’s doing my head in thinking about it , (even tho I might as well not think about it at all until the call with option 3 happens).
On the one hand with option 3, using a tech stack that’s new to me might be refreshing, as I’ve done .net for 10 years.
On the other hand I really like c# and I’m very good at it. So it feels a bit like I should be capitalising on that and using my experience to shape how the dev is done. Not sure I and I can do that with option 3, at least for a while.
C# feels like it’s moving forward nicely and I’m not sure I can say the same for Java or other languages.
I love programming and learning new stuff but so unable to let things go. It’s like I have a fear that c# will move on without me and I’ll end up turning into one of those devs whose skills are a decade out of date.
Maybe the early years of my career formed me in this way.
Early on I worked at a company where there was a high number of Cobol devs who thought they had a job for life.
But then redundancies came and many left. Of those who stayed they had to cross train to Java and they just couldn’t do it.
I don’t think the tech was hard for them, I think they were just so used to not learning that they could no longer adapt.
Think most of them ended up retiring after trying to learn Java for a few years.8 -
Just started playing Rust again after like 9 years and holy shit is this game not noob friendly at all
I play(ed) on a relatively chill server where raiding is only enabled in the last week before wipe every month and it's not too many people playing
So I'm out on adventure, I come back and my entire base is raided... Uhm okay, I did sort of have an uneasy feeling that I left the door open when I left so okay, my dumb mistake. Lesson learned: Always make sure doors are definitely closed
So I farmed hours more to get all my stuff back, repaired a vehicle, built a nice little garage, upgraded all my windows to reinforced windows so that nobody can interact with the car or my horse inside the house, just in case that allows you mount and get in the house that way, no clue
This day I log back in. Base completely cleaned the fuck out again
Actually what the fuck man. I did *everything* right, made sure every door is locked and closed, replaced all accessible windows with reinforced ones, had 27 days of upkeep materials and still, my entire progress of 10 hours of playing is gone again
What did I do wrong? After talking with people in chat apparently I had wooden frames for the doors, which apparently are just always destroyable by anyone... Even on a damn server where raiding is disabled. Yea sure makes sense
I like Rust but holy shit, this core game mechanic of raiding is still one I cannot get over. It's so stupid to be cleaned out over night while you're not even online. It's just fucking frustrating to start all over AGAIN farming and farming and farming. I didn't really want to play because the game always looked like a meta gaming sweat fest and this just proves that it's exactly that. You have to know every single meta game mechanic to even have your damn base survive overnight
On a positive note I did figure out that unity's concurrent garbage collection doesn't seem to be a big problem for a proper fps game though, so that's something4 -
AI is a long overdue economic miracle the world needs right now:
- It will create a _lot_ of jobs — even a monkey can be trained to be a “prompt engineer”.
- It will shake up and shuffle stale old corporate status quo. You had a contract with Microsoft, then Amazon introduced some AI in AWS, and you jumped ships. Microsoft then caught up, so the market didn’t change, but got shuffled. That’s good! Many new big contracts signed = fat bonuses for a lot of people they will spend on stupid luxury shit with huge markup.
- “We have no fucking idea how to solve X” -> “AI”. A lot of people with more money than sense will spend big on wannabe startups that will hire a lot of people, pay a lot of salaries/office space rent, and then go under without a lawsuit filed. They would’ve kept that money in their offshore accounts otherwise, e.g. where it can help no one but their cum troph… I mean children.
- Lifes of a lot of people will be improved should they be caught in this grift. But not many people will lose their jobs — AI is still stupid AF. Good enough to impress gullible people with money, but bad enough to not actually have any meaningful impact. Perfectly balanced, as things should be.
- If you’re a junior dev, adding AI to the list of things you show people so they hire you will improve your chances of getting a job. You won’t be replaced — with all my insight and the access to all major enterprise AI models there are, I wasn’t able to make it write passable code, let alone good code.
- If you’re a senior dev, just spend an evening reading some buzzword guide so you know how to use those buzzwords, and you’ll be fine.
- AI consumes way less power than crypto!
- That said, AI still has its uses, and I use it daily. It _can_ do useful things if you know how to use it — ask retoor.
TL;DR: it will make a lot of rich people spend a lot of money (we’re talking cash, not stocks), it will create a lot of new jobs. It won’t replace anyone’s job bc it’s still too stupid to do that.13 -
Freelancing is overrated, all that hype about being your own boss and working on your own timings.
But your clients are your bosses and you still have to meet their deadlines.
All that advertising was to get more ppl into that business and now they have, there are just way too many that freelancers outnumber clients.
If ya know what I mean ;p1 -
A question to game devs : which design/architecture patterns do you use ?
Everytime I try to take a look at game development, I feel like there is a lack of guidelines, mostly about architecture.
It's something strange to me as a web dev, as we use much of these patterns on a daily basis. Of course I think about the near omnipresence of MVC and its variants, but not just that. Most of frameworks we do use are essentially focused on architecture, and we litterally have access to unlimited tutorials and resources about how to structure code depending on projects types ans needs.
Let's say I want to code a 2D RPG. This has been done millions of time across the world now. So I assume there should be guidelines and patterns about how to structure your code basis and how to achieve practical use-cases (like the best way to manage hero experience for example, or how to code a turn-based battle system). However I feel these are much harder to find and identify than the equivalent guidelines in the web dev world.
And the old-school RPG case is just an example. I feel the same about puzzle games or 3D games... Sure there are some frameworks and tools but they seems to focus more on physics engine and graphic features than code architecture. There are many tutorials too, but they are actually reinforcing my feeling : like if every game developer (at least every game company) has his on guidelines and methods and doesn't share much.
So... Am I wrong ? Hope to.
What are the tools and patterns you can reuse on many projects ? Where can I find proper game architectures guidelines that reached consensus ?6 -
stateofjs survey reminds me of all that's wrong with JavaScript: too many frameworks each of which has to reinvent the wheel and depend on too many node_modules child dependencies, most don't support TypeScript properly (ever tried to convert a node-express-mongoose tutorial to TS?), there is still no proper type support in JS core language, and browser features get added in form of overly complex APIs instead of handy DOM methods.
Instead the community gets excited about micro-improvements like optional chaining which has been possible in other languages for decades.
At least there is something like TypeScript, but I don't like its syntax either, it's overly verbose and adds too much "Java feeling" to JavaScript in my opinion.
Also there is too much JS in web development, as CSS and HTML seem to have missed adding enough native functionality that works reliable cross browser to build websites in a descriptive way without misunderstanding web dev for application engineering.
After all, I'd rather have frontend PHP than more JavaScript everywhere.
Anyway, at least the survey has the option to choose how satisfied or unsatisfied people are about certain aspects of JS. But I already suspect that most respondents will seem to be very happy and eager to learn the latest hype train frameworks or stick to their beloved React in the future.5 -
Holy fucking shit bois. This is gonna be a long one.
So, its my last studying year for me. I found a nice apprenticeship in a dev company for which i'll have to make apps and stuff, so, I'll work at the company and at school.
Now it's good innit? Well here's the catch. I have to sign a contract for this. And the CUNT who is filling this shit is retarded enough to fuck up.
This bitch, a 40 yo accountant, surely filled many goddamn contracts before mine, but nooo, this wanker fucked this, the contract was missing important infos and some of them were incorrect, in short, it's not valid, 0/10, will never sign this.
Now here's the fun part, this cunt asked me for my infos, i gave them to him so that he could fill the document : he misinterpreted them, filling the paper with junk.
Today, I heard that he is unhappy of my behaviour towards him, and that I shouldn't insult his work with these accusations, saying that if I gave them more info (for which they didn't ask), there would be no problems.
He then called me, while I was in class, he acted smugly, said I was unclear and that I should gather more info for them, in other terms, "lmao do this yourself cunt"
"Fuck you, you cumstain, if you would've asked me, I would've been able to give you these infos right away, but you didn't, it's your fault for this, you're breaking mah balls yadda yadda"
(Roughly what I said, especially the insults)
I'm now forced to fill the contract myself because this bitch isn't able to google shit for 5 minutes to find everything he needed.
I have had so many problems with people of his kind, that I can't stand them now. Are they like animals? Do they feel my hate for them?
Sorry for dat long post, but fuck this, if the contract isn't filled, signed, and validated before the end of the month, I'm fucked, since i won't be able to sign up for the school.
Does anyone have had any problems like this? Like, a very egocentric cunt that isn't able to do something good because he is too proud to ask, so he prefers doing things his own way?1 -
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD. -
One day I decided I wanted to build robots.
And not kidding the reason I wanted to build them was because I wanted someone interesting to talk to and stil not kidding I even fantasized about a robot girlfriend... Lame I know I think I was a lonely little guy back then, though even after 7 years or so it doesn't feel as though it's that long ago. Maybe because things didn't change that much. Which is worrying but it's not the topic so I will pass on that future-past worries bullcrapper. After learning how robots worked and what made them function so things gradually led up to me being more interested in machine learning applications and software. I learned Arduino at first, I think I still have some messy circuits and old arduinos around. I only finished one robot though and it couldn't even support it's own weight. The servo motors were taking too many amps that heated up the little arduino even with a fan attached. Provably I should have made use of mechanics for robots books and calculated things first. But even though it couldn't walk properly I still felt success and I loved it like my own kid (me taking it apart was questionable but believe me). After that I focused more on writing code than using my hands to make things which was a pain in the ass if I might add.
After learning arduino and making that failed project of mine. I then picked up C++ wrote hello world program usual things a starter would do. It was the language I wrote my first game which I finished and this time it worked. But I never released it which was partly because I didn't want to spend a hundred bucks on a license for the engine and I also knew that it was a shit game. If I were to describe; lines in different colors come from the top you need to hit the lines with the same colored columns to break them. The columns changed their height and location on random. The lines sped up and gap between them decreased. Now that I think about it it wasn't half bad. But the code was written in game maker studio's version of C so I have no way to salvage it.
But I learned a lot of things from that project and that was the goal, so I would call it a win. I don't remember but after sometime I switched to python. And I'm glad I did, it's fun to code in which was the main reason I coded in the first place. Fun.
Life happens and time passes,
Now I'm waiting to enter college exams in a few months after hopefully passing them. My goal is to get into computer engineering which will be extremely challenging because it's the highest point department in the university I'm aiming at. But hey if the challenge is great the reward is greater right ? To be honest I'm still not sure about my career path. Too many choices. So I will just let my own road called <millions of similarly random events that are actually caused by deterministic reactions, to affect you and your surroundings leading up to a future which only the Laplace's demon can forsee> guide me. Wish me luck.1 -
TLDR, need suggestions for a small team, ALM, or at least Requirements, Issue and test case tracking.
Okay my team needs some advice.
Soo the powers at be a year ago or so decided to move our requirement tracking process, test case and issue tracking from word, excel and Visio. To an ALM.. they choice Siemens Polarion for whatever reason assuming because of team center some divisions use it..
Ohhh and by the way we’ve been all engineering shit perfectly fine with the process we had with word, excel and Visio.. it wasn’t any extra work, because we needed to make those documents regardless, and it’s far easier to write the shit in the raw format than fuck around with the Mouse and all the config fields on some web app.
ANYWAY before anyone asks or suggests a process to match the tool, here’s some back ground info. We are a team of about 10-15. Split between mech, elec, and software with more on mech or elec side.
But regardless, for each project there is only 1 engineer of each concentration working on the project. So one mech, one elec and one software per project/product. Which doesn’t seem like a lot but it works out perfectly actually. (Although that might be a surprise for the most of you)..
ANYWAY... it’s kinda self managed, we have a manger that that directs the project and what features when, during development and pre release.
The issue is we hired a guy for requirements/ Polarion secretary (DevOps) claims to be the expert.. Polarion is taking too long too slow and too much config....
We want to switch, but don’t know what to. We don’t wanna create more work for us. We do peer reviews across the entire team. I think we are Sudo agile /scrum but not structured.
I like jira but it’s not great for true requirements... we get PDFs from oems and converting to word for any ALM sucks.. we use helix QAC for Misra compliance so part of me wants to use helix ALM... Polarion does not support us unless we pay thousands for “support package” I just don’t see the value added. Especially when our “DevOps” secretary is sub par.. plus I don’t believe in DevOps.. no value added for someone who can’t engineer only sudo direct. Hell we almost wanna use our interns for requirements tracking/ record keeping. We as the engineers know what todo and have been doing shit the old way for decades without issues...
Need suggestions for small team per project.. 1softwar 1elec 1mech... but large team over all across many projects.
Sorry for the long rant.. at the bar .. kinda drunk ranting tbh but do need opinions... -
Browser automation is a PITA. I’m going on my fourth side mission with this crap and I honestly still look like a newbie. I’ve tried Java Selenium with Chrome, Excel VBA with IE9, Vanilla JS in the browser console, and tonight I’m thinking to concoct some kind of hybrid CDP & Selenium approach in Chrome. Never used CDP before, not even sure where to start but I heard it sucks like anything else unless you get some extra libraries and plugins and stuff.
It doesn’t help that I can’t get just anything I want from our IT Department. It would be another PITA to ask for puppeteer. If puppeteer is totally legit please let me know.
Selenium sucks. The buttons don’t click, the waits don’t wait. Its unusable. Iframes are annoying as all hell but I can deal with that. HTML Tables suck too. It doesn’t help I have to restart my whole java program and whole Chrome every time an element doesn’t get picked correctly. Scripting one single element can take all fucking night.
Chrome dev tools what the fuck. Why the fuck is the DOM explorer in the same window as the web page I’m working on?? I can’t undock it. Am I supposed to use a fucking TV screen to work with this bastard?? If I use the remote chrome tools on port 9225 or whatever - It Still Renders The Whole Fucking Page Alongside The Console. Get Out Of My Way!!! The nested HTML CODE IS ONE CHARACTER WIDE ALL THE TIME. I can’t for the life of me figure out what the fuck I’m looking at. Haven’t you people ever heard of A HORIZONTAL SCROLL BAR at least.
Fuck I tried using getElementById, and the Xpath thing and its not all that great seeing I have seemingly 1000s of nested Divs all over the god damned place oftentimes containing a single element. I’m finally on chrome now should I learn Jquery now? I mean seriously wtf.
I use this one no code tool for dev it has web automation built in. As you can imagine its just as broken as anything else!! I have 10 screens to navigate it gets stuck on the second screen all the damn time. Fuck I love clicking the buttons when my script misses and playing catch up with it.
So as a work around to Selenium not waiting even 1 millisecond when I use explicit wait or implicit wait or fluent wait, I’m guessing maybe I can attach both Chrome Dev Tools Protocol (CDP as ive called it earlier) and selenium to the same browser and maybe I can use CDP to perform a Wait with any degree of success. Selenium will do nothing more than execute vanilla javascript Element.click(); This is the only way I know to even ACTUALLY use selenium beyond the simplest html documents possible. Hell I guess CDP can execute js idk.
I can’t get the new selenium that has CDP but I do have some buggy ass selenium from a few years back. Yeah, I remember reading there was a pretty impactful regression defect in the version I have. Maybe I’m being gaslighted by some shit copy of selenium?
The worst part is that I do seem to be having issues that the rest of the internet’s devs do not seem to be having. People act like browser automation is totally viable and pretty OK. How in the fuck hell is my Selenium Test Suite going to be more reliable my application under test?!!?? I’ll have more fucking bugs in my test suite than in my application. Today, I have less than half a test script and, I. already. fucking. do.
I am still SUPER PISSED at the months of 12 hour days (always 8 hours spent on normal sprint work btw only 4 to automation) I spent trying to automate our regression tests. I got NOWHERE.
I did learn a lot about HTML and JS though like I’m not that mad…but I’m just trying to emphasize my achievement on my task was zero.
The buttons don’t click. There are so many divs and I swear you sometimes need to select a div somewhere in the middle sometimes to get it working. The waits don’t wait. XHR requests are invisible. Java crashes 100 times before I find an xpath and thread.sleep() combo that works. I have no failure modes to use — Sometimes I click the same element 20x in a script because I have no way to know if it clicked the first time! Sometimes you gotta scroll the page to make the click work. So many click methods all broken. So many wait methods all broken. Its not just the elements don’t click! There are so many ways to click that almost work but surely they all fail the same in the end. ok at this point I’m just repeating myself…
there yet even more issues that I can’t remember…and will soon remember as I journey into this project yet again…
thanks for reading I hope I entertained and would love to hear your experience!5 -
"Averice - a serial novel"
2021 - found on the remnents of an old 'youtube' server rack.
A gaunt but handsome man walks into the view finder. Adjusts the camera. "Hi guys and girls." he smiles weakly. rubs his blonde unshaved stubble, running his hand over his mouth, inhaling as if trying to find the right words.
"How can I say this. god. ...americas fucked and rapidly going down the shitter,
college is a fucking scam,
all success in the modern day is based on fraud, bullshit, mythmaking, and "who you know."
we're on the verge of a new cold war, the merger of the fed and the treasury combine with negative oil is the legit death signal of the petrodollar, we're gonna go through a *50% haircut* in living standards and a doubling of taxes on *everything* in the next six months, the tech bubble is gonna burst taking with it half the industry jobs overnight, the credit bubble will burst even as the fucking stock market climbs higher, a quarter or more of all retail will shut down leaving empty assets turning every state property market into the equivalent of fucking detroit. MAD as a protective doctrine is dead with the spread of hypersonic weapons so enjoy living with the constant threat of being obliterated without warning, my entire generation basically has no meaningful or stable future to look forward to, and none of us have really had an actual, genuine say in anything involving society for decades."
He exhalled visibly on camera, as if exhausted by the demons of anxiety he'd poured forth, a torrent of fears, uncertainties, and revelations like the tormented ghost of christmas past
A long pull from a bottle of southern comfort.
"look. we have an out of control intelligence apparatus that are in their operation more orwellian than the real life stasi ever were, a government at both the federal and state level thats made of millionaires and billionaires who give no fucks at all except for their own power, out of control and absolutely dogshit-corrupt *local* leaders, nothing is audited, nothing is meaningfully transparented, rampant fraud, destruction of evidence, witness tampering, railroading, intimidation, violence, threats of violence, skyrocketing cost of living, skyrocketing spending, skyrocketing taxes, skyrocketing policies of total control by police, skyrocketing homelessness, fatherlessness, poverty, political corruption, drug abuse, massive politically funded thinly veiled state propaganda, collapsing and decaying infrastructure, the loss of all tradition, culture, community cohesion we might have had, and on and on and on and on.
and all I want right now is to get my dick sucked. drink a beer and blow my motherfucking brains out.
and when people start fighting in the streets over some bullshit and it turns into race riots, because the motherfuckers in the media serving wallstreet always make it about race or some stupid shit like that, I wont be in america to put up with it.
do us all a favor. when you're hanging bankers, hang some fucking journalists too. they never tell the truth. doesnt matter which side they are on
they only divide people and advocate for more of the same bullshit, expanded state powers, more federal dollars, more workers for their campaign, more privileges. they're fucking cancer. yes even your favorite journalist. they're a tumor on society.
our government has become hostile to us even being *alive* anymore. it has for me become intolerable, and in time I have grown to hate it.
there is no way to change it. no way to salvage it. I cannot see any hope for the future anymore. And if you search yourself I know many of you feel the same."
He took another long pull from the bottle.
"we no longer have a voice in america and no means to air our grievances peacefully.
theres nothing in it left worth saving when it all can be taken away at a moments notice by a deaf and hostile bureucratic government. I should have voted for bernie last year. At least he would have destroyed it.
many of you will disagree with this sentiment, thinking things can still work out. because you still have your creature comforts. your apartment which you cant afford. your car with its maintenace bills and monthly payments you've fallen behind on same as half the country now out of work, but in a short few months, a year at most, you will learn what I have learned, and the reason I drink, what I knew about as early as june of 2019, that this is it. this was as good as it was ever going to get. and that the good days, the best days are behind us. that all that you hold dear could be taken. all that you worked for, was already gone, and you just havent realized it yet. I've set this to autoupload once it's done recording. I built a company just to watch the people who dont want any of us to succeed burn america down around it. Im done. Goodbye america."
The man got up from his chair, camera still recording, and left. Only the red flashing dot remained, the only witness to the silence.12 -
!rant
Experienced devs please tell help me.
Learning software development has been a challenge. Many times it's frustrating.
I also learn languages and I find them to share one trait with software development, which is complexity.
At first I looked at languages the way I'm currently doing with software. I'd look in a new language and after decided it's cool to learn it, I would stare at it for a few weeks trying to realize what the heck I was going to do. I wouldn't even know how to get started.
Eventually this stage goes away and I think that is about to happen with me with software.
But then a new challenge would come, which is me not making progress as I wanted. That's sort of happening with me by learning software as well, bit in language I now know how to deal with it.
That's because I work full time with something that isn't in my interests and when I arrive home Im tired and want to relax. So I decided my language learning had to go slower as long as I have this job, meaning no hours spent in front of books or a pc studying - that's what I could do with English, I was a teenager and had 12 hours a day to do whatever I wanted.
So I usually spent 5 minutes here and there learning something in my target language when I can, no frustration needed, my only rule is: practice everyday, even if I don't learn anything new.
With software, that doesn't apply though.
So, what I mean by tracing a parallel between these to fields is that I have a strong conviction is that once you get the principles on how a certain kind of learning works, you can apply it everywhere in the field. But with software it's been harder.
Anyways, I see that are some principles that apply, cause trying to learn software is changinge and teaching a lot of things like:
*you have to read a lot (of documentation) . At first I thought all documentation was painful to read and understand, but I found out some software are well documented and one can use those only to get used with it.
*immersion / discipline are important. I'm not very disciplined, I'm better with immersion but both are important if you need to acquire complex subjects/skills
*how to deal with complexity. I installed Arch Linux a few days ago. Just to install it I ended up reading more than 20 pages of documentation (install guide, Wpa supplicant, systemd, networkd, xorg, etc etc). Gradually I'm realizing that when you have to install/tweak something in that distro you necessarily spend a bunch of time trying to understand how it works, otherwise you don't get too far like in Ubuntu or Debian.
*and lastly the one that bothers me. Constantly getting frustrated and feeling crap about my poor skills. No matter how much I progress, it still seems like I'm stuck.
(that's when I ask your help/opinion :) )4 -
Absolutely brutal if you don't have 60% throughout ur academics and/or not getting campus selection. (Indian here).
The only way for me to get a job to begin with was to take a massive hit to my salary expectations.
I have only worked for service based companies and it really depends on what kinda colleagues you end up working with.
Now I feel like there are too many options to choose from whether it's only backend/frontend or both.1 -
- I love blowing my mind. Even if it is the most confusing thing. Things like security mechanisms, neurons' behaviors, mathematics (even tho I hate it when I fail lol), electronics, medical terminology and chemistry.
- I love collecting rare coins, personally never-seen stones and put them into my collection. I love to be a designer. Not only on my laptop. I have a book shelf and within that book shelf I put stones that create the yin yang sign while pushing the books to two sides. That makes them look like they are levitating. I have stones (including obsidian) that create a triangle and a knife hanging down the wall of my room.
- I love visiting touristic, historic, naturally-beautiful but also non-touristic (non-touristic? yes. by that I mean visiting e.g. the areas of touristic cities which are dangerous, because you can easily fall down off of a slippery ground and take serious injuries) places around the globe, talk to complete strangers in public (I am trying to be an extrovert), take pictures with my camera and collecting antiquities.
- I love taking risks (no. I don't play any poker games etc on the internet) without trying to put other people in risk. Driving insanely with whatever I have. Car, bike, you name it.
- I love reading books. Books that are about human psychology, fantasy novels and books about programming languages.
- I love to cook (I am at the beginning).
- I love to use the konMari method of tidying up my room.
- I love plants.
- I love having everything in my room tidied up (even if I am too busy with other stuff and skip this cleaning process for a week upto a month sometimes. Sorry, room.).
- I love doing sports. But mostly sport that I have never tried before. This can be, because of my greedy wish for an adrenaline kick. That led me into taking a balloon flight at 4 am (sunrise) and to paragliding at sunset above Mediterranean sea btw. (I am normally afraid of flying, but paragliding was awesome).
- I love swimming. Like, you cannot pull me out of the sea for a minimum of 2 hours, if it is not important.
- I love laying above the sea water and let the sea carry me to somewhere else.
- I love being alone. I love the silence. I love to be free in my thoughts.
- I love watching the sunset, the light that shines through the forest, the moonlight and the stars at night.
- I love dreaming. No, like, lucid dreaming for example.
- I love being open to any opinions.
- I love to learn about other people's views about the world and their religion.
- I love pets and would do anything to keep them alive when they are ill. It hurts my heart seeing them like this.
- I love watching demonic "A: Holy shit! Did you see this thing, too?! B: Yes!" YouTube videos just for the fun of it, but I hate horror movies and games.
- I love trying out new things. The creation of music and video for example.
- I love to give my hair and beard a shape, if I am too lazy to go to the barbershop lol. By that I don't mean just going to the barbershop, but taking an electric razor and cutting my hair myself even if I get bad results from time to time that can be corrected by letting any family member tell me in which area of of my head the hair problem is.
- I don't like disco clubs.
- I don't like toxic people even though I can be a quite toxic person myself without realizing it. If I appear toxic to you, inform me about it. Having so much testosterone in that moment, can make me do things that I don't want to do.
- I don't like drugs even tho I have to admit that I am trying a few from time to time (maybe 6 months in-between) to have a dopamine kick. I am not an addict.
- I hate myself for things that I did in the past.
- I used to watch MMA videos etc.
- I used to use a telescope, but I can't find it anymore.
- I used to have a microscope, but I can't find it anywhere and besides of that the seller did literally piss in it before selling it to me many years ago. Don't want to touch it tbh.
- I used to play games, but I don't enjoy games anymore. That makes me feel sad.
- I miss the old moments of my life.
In conclusion:
I like how things went and go so far. It changed me so much. It made me a good and a bad person. I became more open and confident, but it also particularly made me a leader who can say "fuck off" in a bad way to his family. I would like to undo this particular part of me.5 -
I am working on my website getmeroof.com, and I am using Angular 5. I have used many different packages due to which vendor size is too big now, now Is there any good way to figure out which library or package I am not using, because going through each and every file is taking too much time, any help?13
-
So at the moment, I'm currently reviewing the API specifications that got written up as the other developers haven't bothered to update it themselves. When you think about it, that's kind of dumb. If you are in charge of a particular function, it should be your responsibility to maintain documentation.
Anyway I'm cross referencing to what I see that has been done in the source code and finding way too many inconsistencies across specifications and implementations. Even parts where they have the exact same data, the structures are completely different. Or some parts have been documented but are not in the implementation, or vice versa. SO I can't tell which is the correct one! -
Relatively often the OpenLDAP server (slapd) behaves a bit strange.
While it is little bit slow (I didn't do a benchmark but Active Directory seemed to be a bit faster but has other quirks is Windows only) with a small amount of users it's fine. slapd is the reference implementation of the LDAP protocol and I didn't expect it to be much better.
Some years ago slapd migrated to a different configuration style - instead of a configuration file and a required restart after every change made, it now uses an additional database for "live" configuration which also allows the deployment of multiple servers with the same configuration (I guess this is nice for larger setups). Many documentations online do not reflect the new configuration and so using the new configuration style requires some knowledge of LDAP itself.
It is possible to revert to the old file based method but the possibility might be removed by any future version - and restarts may take a little bit longer. So I guess, don't do that?
To access the configuration over the network (only using the command line on the server to edit the configuration is sometimes a bit... annoying) an additional internal user has to be created in the configuration database (while working on the local machine as root you are authenticated over a unix domain socket). I mean, I had to creat an administration user during the installation of the service but apparently this only for the main database...
The password in the configuration can be hashed as usual - but strangely it does only accept hashes of some passwords (a hashed version of "123456" is accepted but not hashes of different password, I mean what the...?) so I have to use a single plaintext password... (secure password hashing works for normal user and normal admin accounts).
But even worse are the default logging options: By default (atleast on Debian) the log level is set to DEBUG. Additionally if slapd detects optimization opportunities it writes them to the logs - at least once per connection, if not per query. Together with an application that did alot of connections and queries (this was not intendet and got fixed later) THIS RESULTED IN 32 GB LOG FILES IN ≤ 24 HOURS! - enough to fill up the disk and to crash other services (lessons learned: add more monitoring, monitoring, and monitoring and /var/log should be an extra partition). I mean logging optimization hints is certainly nice - it runs faster now (again, I did not do any benchmarks) - but ther verbosity was way too high.
The worst parts are the error messages: When entering a query string with a syntax errors, slapd returns the error code 80 without any additional text - the documentation reveals SO MUCH BETTER meaning: "other error", THIS IS SO HELPFULL... In the end I was able to find the reason why the input was rejected but in my experience the most error messages are little bit more precise.2 -
https://youtu.be/yYUuWWnfRsk
I used to dream of systems which were built into the infrastructure for a variety of reasons
One was I didn’t feel object detection was likely good enough to handle various objects say to stock shelves in warehouse like stores
The other was power
If the stretch works one might wonder how many of them they’d have to employ to schedule them to recharge themselves throughout the day
It’s a shame humans as is can’t be trusted with too much free time given how the boomer generation and before willfully poisoned the minds of so many of their offspring creating this mess
We might have reached a point where life was mostly personal Enrichment and study and exercise and leisure where we all lived over a 100 years had minimal offspring reduced our destructive footprint on the world and well you get the idea
With more people working in closed shops we might have even reached this tech sooner
I wonder how prohibitive the price tag is how fast it runs out of power how destructive it is to non durable goods and the what other faults that have kept us from advancing into the golden age the last time I posted this before way way back now
Or maybe rich perverts don’t want to give up their monopoly of control over other peoples lives once were forced to change our lives economic system to adapt
Issue of course is population size
The replacement to honest labor and ingenuity or making a better world in the USA has been a short cut we commonly call slavery and that creates incentive for them most of evil people to breed continually and sell their children
Population in a time period of extreme leisure under normal circumstance would likely fall off
Humans would want to enjoy endless travel which is another problem if we keep cars that are based off fossil fuel
Much like increased tech has the trade off of increased usage of energy that is dirty like our nuclear plant problem in the USA where many places aren’t even carting their waste to Nevada down the 10 mile tunnel they’re supposed to be
So we’re stuck
Oh well
Hopefully there is reincarnation
Maybe I’ll come back as a cat
People just had to pull their insane shit when I was alive
Why couldn’t it have Ben something Normal like war or occupation or just hardship of some form instead of designed hardship to control good people and pattern bastards into this weird shit I see all around me because they’re both evil and afraid of losing what they have
Doesn’t this seem familiar ?
It should
Just like the competitors to Boston dynamics I’m looking up have been spawned as a result of YouTube presenting me with the same video as part of its algorithm heh
And also be because I mentioned that before6 -
And here it comes bois, the famous Monday Morning Mumbling is back, for everyone's pleasure.
Do you remember your uni years, when you had wonderful coding lessons, and you learned sick languages ?
I do aswell, since I'm still in uni.
But why, WHY, IN ALL OF GOD THOUGHTS, DO I STILL HAVE TO TAKE MATHS LESSONS ?
It's my fourth fucking uni year, and I'm still supposed to deal with math lessons which are about what I learned 6 years ago. And guess what ? I still failed the test since I fucking don't understand a single shit in maths.
"Uuuuh if yu wan tu derivate a function u hav to multiply ur derivated function basic expression with the derivate itself lul xDDD so funi"
FUCK OFF DUDES I DON'T GIVE A SINGLE SICK BIRD SHIT ABOUT MATHS. I WASTED THREE YEARS OF MY LIFE LEARNING ABOUT BINARY TREES, MATHEMATICALS WAYS OF SPILLING YOUR CEREAL BOWL WHEN YOU HAVE TO LEAVE IN FIVE MINUTES, NUMERIC WAY OF OPTIMIZE YOUR SINK SPACE WHEN YOU'RE TOO LAZY TO DO THE DISHES, JUST LET ME FUCKING WRITE CODE INSTEAD OF ANNOYING ME WITH UNEXPLAINABLE MATHS SHIT NOW !
I know maths are important, okay ? But I'm so fucking tired of learning this shit again and again and still failing those shitty tests where they only give you maths problems without any other goal than messing with your grades.
Fuck this shit I'm pissed off on so many levels, I wasted tons of money on a private school to enhance my résumé history, and now I'm stuck with some strange "f'(x)" boi that will ruin my year.
RT's appreciated, if you recognised yourself in this story, don't forget to send some biscuits to my postal address.
TL;DR : Why wasting your time on theoritical lessons when you could use your time to learn new dynamic technos, like C++98 ?2 -
Hello everybody! =)
I'm currently looking for a Trello / planning program for Linux that doesn't require an email signup nor requires a monthly payment (I know I R super cheap), since I have way too many tabs open as is and I just need something to help me keep on track with my projects easily and preferably in a visual manner. I would really appreciate any help and/or tips you wonderful guys and gals might have.
(>^-^)> Here's a cookie and some coffee in advance. <(^-^<)21 -
!rant !dev
So, following up my last rant.
https://devrant.com/rants/2433162
I quit on Friday, this is what I said to my bosses.
"In the last week I had, 2 panic attacks, and I have 2 theories for this, one is that I have underlying psychological problems, the other theory is that we are under an impossible task, I choose to say now that I have to quit because I have psychological issues, but if you are willing to hear my other theory, that involves saying that meeting the deadline is not viable, then I can tell you that, so do want to listen that part?.
Bosses: No, we heard enough, we are going to have your contract terminated in order, and we will let you know when you can come and pick your paycheck."
So, that's them. Now about me and how I re-discovered GTD, or more precisely how I organized my whole weekend using taskwarrior with GTD, and why I think is going to be useful as a freelancer.
Before I feel good about telling you about my weekend I have to tell you a few things about myself.
I am a very impulsive person, I have a lot of energy in short surges, so I have to be able to maximize my activity when I'm in a surge, and I have to maximize my rest when I am not.
That's hard to do, it requires a balanced lifestyle, I am also very prone to being neurotic, and overwhelmed by the amount of stuff that I want to do.
And on top of that, when I am resting, I have surges of things that I want to have, do, or implement, it could be software related, as "Doing an app that will be the Uber of home services", to house improvements like, "I have to fix that leaking roof", and all the sort of stuff that happens in between hardware and software. That surge of consciousness doesn't allow me to have the proper rest that I need before I engage with activities again.
Because of this I have a very cyclic rhythm, with whole weeks burning my energy into doing stuff, and weeks resting doing very little and thinking too much.
Now about my weekend. Friday night I was browsing the web, and a thought came to my head. "The way you use your terminal, says a lot about your personality", and I got curious, so I searched for, "Show me your terminal", and found a post in dev.to to see all kind of nice terminal setups, from the very minimalist to very feature rich oh-my-zsh themes with plugins for git, aws and what not. One of these pictures really got my attention, a guy had set up his terminal to show him, how many task has he done in the day, and how many cups of coffee has he had.
So by investigating how he set up his terminal to show in the prompt the number of successfully completed tasks in the day, I found out that he was using taskwarrior, he was also kind enough to share the source code of his prompt setup, which I bookmarked to later incorporate that into my oh-my-zsh config.
After reading about taskwarrior, I also got a reference to GTD, I don't remember if this was one of those thoughts that I have and follow immediately, or if I read something that led me to a YouTube video summarizing GTD.
In the end, after watching that GTD video, I decided to give it a try to organize my life, and help me find a remote job, keep my house in order, plan my social activities as "hang out with friends", "visit mom and dad", and give the proper amount of attention to my GF, with whom I am deeply in love, and willing to spend the remaining of my years with her.
So my fist task was.
task add Ask for GF's parents blessing.
Which of course I have no intention of doing right now, but is one of the things that I will eventually have to do.
Then it started, I started adding tasks, and things to do, and go through the whole Capture phase of GTD.
Now it is a good time to write a small summary of what I think GTD is.
GTD is a life habit of organizing your life in todo-lists. And it was a very specific core method, that in the video summary that I watched was called CPR.
Capture, Process and Review.
Capture:
When you capture you just add your tasks to a bucket list.
So I took a notebook and started writing down everything that I wanted to have done. I also started to capture ideas as they came up to me, I did this by writing a telegram saved message in my phone, or directly adding it as a task in TW.
Process:
I read my telegram messages and put them into my task warrior list, then I started to organize my tasks into projects, breaking down every task that was not an atomic unit.
* And different projects started to emerge from this. One of them was project:Housekeeping.
And here's my screenshot of what I did this weekend, also the number of projects that I have, and all the things that I have to do in order to have what I think would be a very balanced, fun, and productive life.
You'll be able to see in the screenshot, that there's a blocked task, yes, tw allows you to organize dependencies too, so one task is delegated, and blocked by the delegation task.1 -
Hey, internet! Does chrome/FF have any plugins enabling any tab to become a monitoring dashboard? I have too many monitoring tools to keep an eye on at the same time... Opening multiple chrome windows and tiling them on the screen is one way, but tile 6 windows and the desktop gets cluttered by taskbars/arrdessbars/other stuff. Doing it all in one tab would save space.
Soo.. anyone knows the right tool for the job? TIA1 -
I think I just realized what my biggest gripe about our career paths that I hate the most.
This is something that has worsened over time, especially the last 2 to 3 years.
As developers, we have far too many options. Some of the most powerful apps are written with languages that have hard, and I mean HARD, guardrails in place. If the app is written in a language that does not meet this criteria usually a framework has been used to install those guardrails.
We just get our minds so wrapped around the possibilities and the opportunities in the software, that we just can't focus on the end result. We're like puppies that are excited about something and we just piss all over everything.
In my career I have met far too many developers that don't have the capacity and mental fortitude to take control of their actions. Because of this I think the only way for us to stop this corruption, that I feel we are nurturing, the solutions/services that we use need to push back on us and install those guardrails for us.
All this came from a change that Microsoft put in place that seems well intended, but introduces yet another choice and a multitude of opinions in how you release code.
It used to be a simple check box. If it was checked it was pre-release, if it was unchecked it was a production release. That's it. On or off. The simplest choice you ever needed to make on a release.
Now though, there are two check boxes. One for a pre-release and one for a latest release. You can also not check either for some "ephemeral" release? So now something as easy as on or off has been made into a difficult decision on how this works within my pipeline. Now every time I make a release I have to ask myself, "which one do I check?"
I shouldn't need to spend more than a second to identify a path forward on simple shit like this, but here we are with a third choice.
Can we just stop overcomplicating shit?6 -
!comforting
TL;DR - I’ve done some thinking about operating systems and sticking to one
Mk
so I, like many of you, have seen far more than my fair share of “X operating system is perfect for it all, so don’t use Y operating system because it’s just awful” posts.
Over this week i’ve really done some thinking and experimenting with multiple devices and OSes and programs for various tasks. People coming from windows over to linux (like myself) tend to diss windows (rightfully so for the most part, but still). I’ve also noticed that the android vs. apple debate can get heated among users.
Listen guys,
iOS has its shortcomings obviously, UI being kinda a big one; but no one can deny that apple shoves some of the nicest hardware into their devices. Yes, this stuff is pricey as hell obviously, but the new macs come with an i9 and quite a bit of memory as well. Apple devices tend to have longer lasting batteries too - i cant count the times where i’ve just turned on my mobile hotspot, and stuck my android in my pocket to use my iphone (its a wifi-only 5s). the applications run nicely on apple hardware.
i couldnt learn even half as much programming as i do on my android though; Termux is a godsend, and im able to run and test scripts right there in the palm of my hand. can’t get that on an iphone.
Some of my favorite game developers only develop for windows; I’m dual booting for that sole reason (warframe and the epic games launcher don’t properly run through wine).
Just boil it down inside for a second; You might have come from a more “user friendly” operating system, to learn on one that is less so - wether you wanted the freedom and wiggle room for customization, or just a more developer friendly working environment (God bless conky and its devs) - so you didn’t have to be locked down into one way of seeing things. Putting a previously used OS down directly violates that thougjt process, and at that point you’re just another windows hater, or arch junkie, or whatever. I think we need to be open to appreciating the pros of every system, even if we almost never use some of them, and we should try not to put down other devs-to-be or csci/sec enthusiasts down because of that either.2 -
I’ve made a list of things I want to learn. Languages, frameworks, etc and i don’t really have too many things on the list that way I can learn them well.
I’ve been struggling with this choice because I’m honestly not sure whether or not I should consider Rust to be on the list.
I like the modern features it contains, and I don’t mind the syntax.
I don’t like it’s way of memory management, I’ve heard it’s performance can be very lacking, and I’ve heard a lot of negative things about the compiler and the efficiency of the language (although I feel like efficiency comes down to the person and how the code is written)
So please redpill me on Rust and try to convince me to add it to my list because it’s close.2 -
In a country, a long time ago there was a programmer by the name of Alex. He was a programming genius and apart from a few hours of sleep, he was busy developing unique programs for new generation technology firms. Alex was a bachelor and he happily and proudly lived the way he wanted to. He did not have duties, authority over him, bosses to report to, children to take care of, and distractions. He could sit and code for the entire day without getting any break or feeling a bit tired. However, he had no idea that everything in his life was soon going to turn around. Before Marriage: The Bachelor’s Life Alex was the epitome of a modern ‘Play Boy ‘ or every man’s dream. He was fairly dressed, had a classy house, a snazzy car, and a good-paying job. He was in the habit of spending his mornings drinking coffee while browsing through the different coding topics. He comes in the afternoon and spends the evening part of the day with his friends. Life has never been this good. Alex was able to work hard and the more he was innovative, he enjoyed it. It illustrates how a young person would sit for many hours coding at night and not bother about other people around him. He was alone as a bird and as per him, that’s what he wanted to be. He had no peer to tell the truth to, no wife to prepare meals for, no maids to babysit his mess. A man could chow down a pizza for breakfast, lunch, and supper with not even a raised eyebrow from onlookers. He was profiting from living the best life he possibly could. After Marriage: Married Life: Alex & Sarah The climax for Alex is when he marries Sarah on a sunny morning on a fine day. Young people met, and after becoming enamored, started a family and got married to find a new home. Sarah was friendly with people and it was very easy for her to make friends; however, she had little knowledge of technology. Alex had it in his mind that marriage does not change the life you lead and how wrong he was. It was a fairy-tale to have such a perfect life for several days after the marriage. Their nights would be spent in front of the television set with their arms wrapped around each other, eating takeout. Despite this, when the number of days stretched into weeks, and the weeks into months, Alex felt the beginning of a shift in his behavior. The Coding Cave That Transformed into A Home Office Due to the pandemic the coding cave Alex used to have became a home office. Sarah had made up her mind to open her business from home, therefore, she required a home office. Thus, she moved inside the cubicle that Alex had created as his coding cave and left him with no space to code. He now had to code in the living room, because Sarah would incessantly request him to either lower the auditory input of the keys he was typing or to switch off the LCD screen. The Once-Clean Apartment Turns into a Mess Alex was a neat freak, and he adored tidiness, especially in his apartment. But after marriage, his once clean and neat-looking apartment was changed into a dirty one. Although Sarah was not very neat, she used to litter her things anywhere she felt like without being conscious of it. Alex was a programmer and his coding notes were mixed with Sarah's business papers, it irritated him so much. Alex’s to-do list before marriage The to-do list before marriage only comprised coding-related tasks. At marriage, however, he seemed to have developed a longer list of things to do than ever before. Instead of just going to the grocery store to buy some food, Alex seemed to have endless tasks to do mostly around the house. He had to cook for himself, sweep the house, and wash the dishes among other things. This was a new world as far as he was concerned. The Pizza Days Are Over Gone there is no more time for Alex could eat pizza in the morning, afternoon as well and evening. Sarah was very conscious of what she took as food or what her family took as food and therefore ensured that Alex took healthy home-cooked foods. He could not have the pizza anymore but the meals prepared by Sarah were really tasty. Conclusion Therefore from a life before marriage to the life after marriage, it was evident that Alex led two different lives. He went from a playful man with not much responsibility to a man with more responsibilities as a husband and a father. Still, he wouldn’t have it any other way, despite these changes. Later he cherished Sarah and the life they had, and nothing in this world could make him exchange what he had now. Essentially, it was a tricky business being married, but a blessing, and an addition of love, company, and much hilarity too. Therefore, if you are a bachelor reading this, embrace your coding cave and your pizza days because once you utter the words ‘I do,’ all those will be things of the past.But trust me, it's all worth it.
-
Thinking very VERY seriously about pushing the button on this.
iMac 10-core Xeon W, 64GB DDR4, Radeon Pro Vega 64X, 2TB SSD
$6,727 plus tax $403.62 and then another hundred for shipping before fucking December in 'rona.
Could sign up for Apple Pay and do $600 payments for 12 months 0 APR... shouldn't be too bad of a problem provided the world holds together that long... And if it doesn't, then this is my last computer... and I guess it'd be nice to go into the afterworld with a freshly upgraded rig.
IDK, Please talk some sense into me about how stupid this would be.
Also to factor in... I need to buy a new machine one way or another SOON. Or else I need to wipe my main and be out of commission for at least 3-4 days which could cost me a few grand on its own... and then also still buy a lesser mac for my daughter.
Why an iMac and not a cheese grater similarly priced? If I get the iMac I can give my current iMac to my daughter for school. My old 2015 iMac isn't holding up to my use anymore, but should be fine for a few more years for a high schooler to work on. If I get a cheese grader fine, but factor in at least another $300 for a minimum 27" 2K monitor.
Any reason to even think of a refurb trash can design? Are they too old now?
General thoughts on why this entire rant is retarded? Like. I too dislike Apple, but I need them. It's love/hate. But god if I do this I'm buckling in for the next 5 years... tax write off would be nice I guess.
Can't really back down the specs any because I dual boot windows and do some gaming. Need 2TB so I can give Windows and Mac a TB each (and I still have 8TB external).
Don't really want to go lower than the Vega 64X because even that benchmarks poorly against many cheaper cards... for gaming (but does do better for some other tasks)...
Ugh... talk me into or out of buying another god awful expensive mac.26 -
Most developers are morons.
Because the field of software development has a relatively low barrier of entry, we naturally have a large and steady supply of under-trained and clueless keyboard monkeys, hereby referred to as zombies.
The reason the industry is set up this way is because companies need a steady supply of new talent. Big Tech is so greedy, they snatch most good talent and bench them, leaving the scraps for everyone else. Other companies lower their standards and hire anybody that can copy and paste. Most entry-level software work at smaller companies is usually low risk and high churn and that's where the low barrier of entry comes in.
I have nothing against zombie developers, so long as they know their place.
I've seen too many zombies think they're CTO material after 2 years of fixing javascript bugs, or think that if they watch just enough egghead.io videos, they'll be promoted to senior.
Typically a zombie developer will go down one of two paths: 1) they either burn out and realize that software isn't what they're meant for (most common scenario) or 2) they actually get good and decide to stick around.
The ones who stick around though usually do so because it hits a sweet spot for them. To them, software is:
- Interesting enough to do it for a full-time job
- Good enough at it to secure a steady job at a two-bit company
- Pays enough to pay the bills
These people don't have a deep passion for software. It's basically just a full-time hobby for them.
And I have nothing against that. The market is satisfied, they're satisfied and I'm satisfied so long as they don't start thinking that they and I are on the same level.
Know your place, zombie devs.2 -
Dreaming of a challenging adventure and from sleeping in my very comfortable mint, had some coffee and tried some freshly-picked and good-to-go debian for fun, it was a great morning. Nice logo it has I feel so cool, what a good day to have, a blessing to try things let's sing some praises, hallelujah! But my friend debian's not so friendly even gave me a deadly look --It was a nightmare from installation to even shutting it down, so many versions to install, very limited explanation on internet and terminal doesn't work, crap it's 03:00 and I haven't slept for a while my eyes are shedding pure regret while I am looking for a way out. What is this, after all my training am I still too weak to handle this kind of power, or maybe my friend just need some more persuasion?
-
9 Ways to Improve Your Website in 2020
Online customers are very picky these days. Plenty of quality sites and services tend to spoil them. Without leaving their homes, they can carefully probe your company and only then decide whether to deal with you or not. The first thing customers will look at is your website, so everything should be ideal there.
Not everyone succeeds in doing things perfectly well from the first try. For websites, this fact is particularly true. Besides, it is never too late to improve something and make it even better.
In this article, you will find the best recommendations on how to get a great website and win the hearts of online visitors.
Take care of security
It is unacceptable if customers who are looking for information or a product on your site find themselves infected with malware. Take measures to protect your site and visitors from new viruses, data breaches, and spam.
Take care of the SSL certificate. It should be monitored and updated if necessary.
Be sure to install all security updates for your CMS. A lot of sites get hacked through vulnerable plugins. Try to reduce their number and update regularly too.
Ride it quick
Webpage loading speed is what the visitor will notice right from the start. The war for milliseconds just begins. Speeding up a site is not so difficult. The first thing you can do is apply the old proven image compression. If that is not enough, work on caching or simplify your JavaScript and CSS code. Using CDN is another good advice.
Choose a quality hosting provider
In many respects, both the security and the speed of the website depend on your hosting provider. Do not get lost selecting the hosting provider. Other users share their experience with different providers on numerous discussion boards.
Content is king
Content is everything for the site. Content is blood, heart, brain, and soul of the website and it should be useful, interesting and concise. Selling texts are good, but do not chase only the number of clicks. An interesting article or useful instruction will increase customer loyalty, even if such content does not call to action.
Communication
Broadcasting should not be one-way. Make a convenient feedback form where your visitors do not have to fill out a million fields before sending a message. Do not forget about the phone, and what is even better, add online chat with a chatbot and\or live support reps.
Refrain from unpleasant surprises
Please mind, self-starting videos, especially with sound may irritate a lot of visitors and increase the bounce rate. The same is true about popups and sliders.
Next, do not be afraid of white space. Often site owners are literally obsessed with the desire to fill all the free space on the page with menus, banners and other stuff. Experiments with colors and fonts are rarely justified. Successful designs are usually brilliantly simple: white background + black text.
Mobile first
With such a dynamic pace of life, it is important to always keep up with trends, and the future belongs to mobile devices. We have already passed that line and mobile devices generate more traffic than desktop computers. This tendency will only increase, so adapt the layout and mind the mobile first and progressive advancement concepts.
Site navigation
Your visitors should be your priority. Use human-oriented terms and concepts to build navigation instead of search engine oriented phrases.
Do not let your visitors get stuck on your site. Always provide access to other pages, but be sure to mention which particular page will be opened so that the visitor understands exactly where and why he goes.
Technical audit
The site can be compared to a house - you always need to monitor the performance of all systems, and there is always a need to fix or improve something. Therefore, a technical audit of any project should be carried out regularly. It is always better if you are the first to notice the problem, and not your visitors or search engines.
As part of the audit, an analysis is carried out on such items as:
● Checking robots.txt / sitemap.xml files
● Checking duplicates and technical pages
● Checking the use of canonical URLs
● Monitoring 404 error page and redirects
There are many tools that help you monitor your website performance and run regular audits.
Conclusion
I hope these tips will help your site become even better. If you have questions or want to share useful lifehacks, feel free to comment below.
Resources:
https://networkworld.com/article/...
https://webopedia.com/TERM/C/...
https://searchenginewatch.com/2019/...
https://macsecurity.net/view/... -
TESTED AND TRUSTED BITCOIN/USDT RECOVERY EXPERT CONTACT SPARTAN TECH GROUP RETRIEVAL
The cryptocurrency market is extremely unpredictable, and many people have fallen victim to internet fraud and lost some of their cryptocurrency investments. I too fell for phony Telegram personnel. Due to a security breach at my wallet address, I lost all of my cryptocurrency coins totaling $178,000. My home may have been forfeited if I hadn't been able to successfully recover my crypto coins, which made up the majority of my savings and assets. This grieved and depressed me greatly. I complained online, and Spartan Tech Group Retrieval was suggested to me. Email; contact@spartantechgroupretrieval.org
By assisting me in recouping all of my losses in under six hours, this cryptocurrency recovery company saved my life. To complete the successful recovery of my cryptocurrency assets, I provided the essential requirements and pertinent information. I was ecstatic when I got my coins back. My ordeal began when I naively trusted some individuals on Telegram who claimed to be investment experts. Their convincing demeanor and promises of high returns led me to invest heavily. However, it quickly became apparent that I had been deceived when a security breach occurred, and my wallet address was compromised. The devastating loss of $178,000, which represented my life savings and a substantial portion of my assets, left me in a state of despair. The prospect of losing my home and financial stability was overwhelming. Desperate for a solution, I turned to the internet to find any possible way to recover my lost cryptocurrency. Amidst my frantic search, I came across numerous accounts of people who had experienced similar losses. Among the many recommendations, Spartan Tech Group Retrieval stood out. The testimonials about their effectiveness and reliability gave me a glimmer of hope. With nothing to lose, I decided to reach out to them. From the very first interaction. They responded promptly to my inquiry and requested all pertinent information regarding the security breach and the details of my lost investments. Their clear communication and transparent approach immediately put me at ease. They assured me that they would do everything in their power to recover my lost funds. The speed and efficiency with which Spartan Tech Group Retrieval operated were nothing short of miraculous. Within six hours of providing them with the necessary details, they had traced and recovered all my lost cryptocurrency. Their expertise in blockchain technology and their thorough understanding of cryptocurrency transactions were evident in their swift action. The relief and joy I felt upon seeing my coins back in my wallet were indescribable. Spartan Tech Group Retrieval not only helped me recover my lost assets but also provided invaluable guidance on how to safeguard my investments in the future. They educated me on best practices for securing my wallet and recognizing potential scams. This education was crucial in restoring my confidence in the cryptocurrency market and ensuring that I am better prepared to protect my assets moving forward. Their regulatory compliance further solidified my trust in them. Spartan Tech Group Retrieval operates with the highest standards of transparency and integrity, ensuring that their clients' interests are always protected. Spartan Tech Group Retrieval has been nothing short of life-changing. Their unparalleled professionalism, expertise, and dedication to client satisfaction make them a beacon of hope for anyone who has fallen victim to cryptocurrency fraud. If you ever find yourself in a similar position, I highly recommend reaching out to Spartan Tech Group Retrieval . Thank you, Spartan Tech Group Retrieval for the great work done and for saving my assets.
WhatsApp; +1 (562) 270‑4565 -
At work I have to multitask on way too many projects and to make it worse there is a lot of red tape and I have to waste a lot of time surfing buggy documentation websites, switching VPNs and praying for CI/CD to work rather than writing code in the fucking editor and for me repetitive tasks and context switching are productivity killers since they prevent me to enter in a state of flow and I keep daydreaming or distracting myself.
-
Opinion Essay Give You the Freedom to State Your Viewpoint
Following a Good Essay Structure will enhance Your Opinion Essay
We come across many types of essays in our day to day lives. Some of these include descriptive essays, truth and courage essays, evaluation essays, process essays etc. Substantial time and effort has to be allocated to researching the subject and writing a good essay with perfect tips https://uk-essays.org/coursework-he.... Out of the various forms of essays, opinion essay is an enjoyable work of writing which gives the writer the freedom to express his or her own viewpoint. Following is an overview of how best to write this essay.
Appropriate Writhing Method
From the time we enter middle school it is compulsory to write essays as writing essays improves our skills in terms of general writing skills, expressions, language handling, analysis, creativity etc. As we progress to high school and college level, the essays will be more complicated. Therefore you need to be clear of what is expected of different types of essays so that you will apply the appropriate method to the required essay.
What is an Opinion Essay
What is an opinion essay? An opinion essay is a piece of writing written with the author’s point of view. However, the essay topic which upon which an opinion is formed on should have evidence and examples to back it up. The opinion presented need not be a controversial one. Essay writer is free to express his ideas any way he sees fit.
Essay Topic
The first step in beginning to write an opinion essay is to come up with what you will be forming your opinion on. Decide if you will write in favor of it or not. Once this is decided you can begin writing your essay. In selecting an interesting essay topic you should consider the following key criteria.
1. Is it interesting to me and to the reader?
2. Would I be able to back up my opinion with valid evidence?
3. Would the topic I select allow me to provide a justifiable and candid opinion?
4. Are the topic and my opinion on the subject too controversial for the audience?
5. Will I be able to present my opinion in a convincing fashion?
Essay Format
There are three parts to your essay; these are the introduction, body and the essay conclusion. The introduction lets you state the importance of the problem. It should not be too long, a few sentences should suffice. It should also include your thesis statement. The body o your essay will explain, using examples that your opinion is valid. In this part of your essay you add credibility to your thesis statement. The conclusion is the end of the essay. This will summarize all which was said in the essay. No new information should be introduced at this point. You will leave the reader with the impression that you have finished stating your opinion in a very clear and coherent manner. Following this essay format can help you organize the essay in proper manner which can make it more professional and effective reading material.
Essay Help
If you are still unsure as to how you should proceed with writing your opinion essay (https://wikihow.com/Write-an-Opinio...), then there are sample online essays that you can refer to. There will also be many sites that offer coursework resource help that can be considered. On last resort, if you decide to buy essay instead of writing it, then you will need to seek help from a well established writing service that can write your essay professionally and to very high standard21